@webiny/ai-powerups 0.0.0-unstable.0156a4c312

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 (705) hide show
  1. package/AiPowerups.d.ts +14 -0
  2. package/AiPowerups.js +11 -0
  3. package/AiPowerups.js.map +1 -0
  4. package/LICENSE +36 -0
  5. package/README.md +11 -0
  6. package/admin/Extension.d.ts +2 -0
  7. package/admin/Extension.js +49 -0
  8. package/admin/Extension.js.map +1 -0
  9. package/admin/domain/errors.d.ts +12 -0
  10. package/admin/domain/errors.js +21 -0
  11. package/admin/domain/errors.js.map +1 -0
  12. package/admin/domain/modelRoles.d.ts +17 -0
  13. package/admin/domain/modelRoles.js +8 -0
  14. package/admin/domain/modelRoles.js.map +1 -0
  15. package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.d.ts +12 -0
  16. package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.js +46 -0
  17. package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.js.map +1 -0
  18. package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.d.ts +11 -0
  19. package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.js +18 -0
  20. package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.js.map +1 -0
  21. package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.d.ts +11 -0
  22. package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.js +18 -0
  23. package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.js.map +1 -0
  24. package/admin/features/compareEntryRevisions/abstractions.d.ts +32 -0
  25. package/admin/features/compareEntryRevisions/abstractions.js +7 -0
  26. package/admin/features/compareEntryRevisions/abstractions.js.map +1 -0
  27. package/admin/features/compareEntryRevisions/feature.d.ts +1 -0
  28. package/admin/features/compareEntryRevisions/feature.js +15 -0
  29. package/admin/features/compareEntryRevisions/feature.js.map +1 -0
  30. package/admin/features/compareEntryRevisions/index.d.ts +2 -0
  31. package/admin/features/compareEntryRevisions/index.js +2 -0
  32. package/admin/features/feature.d.ts +1 -0
  33. package/admin/features/feature.js +26 -0
  34. package/admin/features/feature.js.map +1 -0
  35. package/admin/features/generateEntryContent/GenerateEntryContentGateway.d.ts +12 -0
  36. package/admin/features/generateEntryContent/GenerateEntryContentGateway.js +45 -0
  37. package/admin/features/generateEntryContent/GenerateEntryContentGateway.js.map +1 -0
  38. package/admin/features/generateEntryContent/GenerateEntryContentUseCase.d.ts +11 -0
  39. package/admin/features/generateEntryContent/GenerateEntryContentUseCase.js +18 -0
  40. package/admin/features/generateEntryContent/GenerateEntryContentUseCase.js.map +1 -0
  41. package/admin/features/generateEntryContent/abstractions.d.ts +24 -0
  42. package/admin/features/generateEntryContent/abstractions.js +6 -0
  43. package/admin/features/generateEntryContent/abstractions.js.map +1 -0
  44. package/admin/features/generateEntryContent/feature.d.ts +1 -0
  45. package/admin/features/generateEntryContent/feature.js +13 -0
  46. package/admin/features/generateEntryContent/feature.js.map +1 -0
  47. package/admin/features/generateEntryContent/index.d.ts +3 -0
  48. package/admin/features/generateEntryContent/index.js +2 -0
  49. package/admin/features/generatePageContent/GeneratePageContentGateway.d.ts +12 -0
  50. package/admin/features/generatePageContent/GeneratePageContentGateway.js +47 -0
  51. package/admin/features/generatePageContent/GeneratePageContentGateway.js.map +1 -0
  52. package/admin/features/generatePageContent/GeneratePageContentUseCase.d.ts +11 -0
  53. package/admin/features/generatePageContent/GeneratePageContentUseCase.js +18 -0
  54. package/admin/features/generatePageContent/GeneratePageContentUseCase.js.map +1 -0
  55. package/admin/features/generatePageContent/abstractions.d.ts +25 -0
  56. package/admin/features/generatePageContent/abstractions.js +6 -0
  57. package/admin/features/generatePageContent/abstractions.js.map +1 -0
  58. package/admin/features/generatePageContent/feature.d.ts +1 -0
  59. package/admin/features/generatePageContent/feature.js +13 -0
  60. package/admin/features/generatePageContent/feature.js.map +1 -0
  61. package/admin/features/generatePageContent/index.d.ts +3 -0
  62. package/admin/features/generatePageContent/index.js +2 -0
  63. package/admin/features/listCapabilities/ListCapabilitiesGateway.d.ts +12 -0
  64. package/admin/features/listCapabilities/ListCapabilitiesGateway.js +34 -0
  65. package/admin/features/listCapabilities/ListCapabilitiesGateway.js.map +1 -0
  66. package/admin/features/listCapabilities/ListCapabilitiesRepository.d.ts +13 -0
  67. package/admin/features/listCapabilities/ListCapabilitiesRepository.js +27 -0
  68. package/admin/features/listCapabilities/ListCapabilitiesRepository.js.map +1 -0
  69. package/admin/features/listCapabilities/ListCapabilitiesUseCase.d.ts +10 -0
  70. package/admin/features/listCapabilities/ListCapabilitiesUseCase.js +18 -0
  71. package/admin/features/listCapabilities/ListCapabilitiesUseCase.js.map +1 -0
  72. package/admin/features/listCapabilities/abstractions.d.ts +28 -0
  73. package/admin/features/listCapabilities/abstractions.js +7 -0
  74. package/admin/features/listCapabilities/abstractions.js.map +1 -0
  75. package/admin/features/listCapabilities/feature.d.ts +3 -0
  76. package/admin/features/listCapabilities/feature.js +21 -0
  77. package/admin/features/listCapabilities/feature.js.map +1 -0
  78. package/admin/features/listCapabilities/index.d.ts +3 -0
  79. package/admin/features/listCapabilities/index.js +2 -0
  80. package/admin/features/listModels/ListModelsGateway.d.ts +12 -0
  81. package/admin/features/listModels/ListModelsGateway.js +51 -0
  82. package/admin/features/listModels/ListModelsGateway.js.map +1 -0
  83. package/admin/features/listModels/ListModelsRepository.d.ts +13 -0
  84. package/admin/features/listModels/ListModelsRepository.js +27 -0
  85. package/admin/features/listModels/ListModelsRepository.js.map +1 -0
  86. package/admin/features/listModels/ListModelsUseCase.d.ts +10 -0
  87. package/admin/features/listModels/ListModelsUseCase.js +18 -0
  88. package/admin/features/listModels/ListModelsUseCase.js.map +1 -0
  89. package/admin/features/listModels/abstractions.d.ts +30 -0
  90. package/admin/features/listModels/abstractions.js +7 -0
  91. package/admin/features/listModels/abstractions.js.map +1 -0
  92. package/admin/features/listModels/feature.d.ts +3 -0
  93. package/admin/features/listModels/feature.js +21 -0
  94. package/admin/features/listModels/feature.js.map +1 -0
  95. package/admin/features/listModels/index.d.ts +2 -0
  96. package/admin/features/listModels/index.js +2 -0
  97. package/admin/features/settings/getSettings/GetSettingsGateway.d.ts +12 -0
  98. package/admin/features/settings/getSettings/GetSettingsGateway.js +29 -0
  99. package/admin/features/settings/getSettings/GetSettingsGateway.js.map +1 -0
  100. package/admin/features/settings/getSettings/GetSettingsRepository.d.ts +14 -0
  101. package/admin/features/settings/getSettings/GetSettingsRepository.js +31 -0
  102. package/admin/features/settings/getSettings/GetSettingsRepository.js.map +1 -0
  103. package/admin/features/settings/getSettings/GetSettingsUseCase.d.ts +11 -0
  104. package/admin/features/settings/getSettings/GetSettingsUseCase.js +18 -0
  105. package/admin/features/settings/getSettings/GetSettingsUseCase.js.map +1 -0
  106. package/admin/features/settings/getSettings/abstractions.d.ts +22 -0
  107. package/admin/features/settings/getSettings/abstractions.js +7 -0
  108. package/admin/features/settings/getSettings/abstractions.js.map +1 -0
  109. package/admin/features/settings/getSettings/feature.d.ts +3 -0
  110. package/admin/features/settings/getSettings/feature.js +21 -0
  111. package/admin/features/settings/getSettings/feature.js.map +1 -0
  112. package/admin/features/settings/getSettings/index.d.ts +2 -0
  113. package/admin/features/settings/getSettings/index.js +2 -0
  114. package/admin/features/settings/shared/SettingsCache.d.ts +10 -0
  115. package/admin/features/settings/shared/SettingsCache.js +19 -0
  116. package/admin/features/settings/shared/SettingsCache.js.map +1 -0
  117. package/admin/features/settings/shared/abstractions.d.ts +83 -0
  118. package/admin/features/settings/shared/abstractions.js +5 -0
  119. package/admin/features/settings/shared/abstractions.js.map +1 -0
  120. package/admin/features/settings/shared/feature.d.ts +3 -0
  121. package/admin/features/settings/shared/feature.js +17 -0
  122. package/admin/features/settings/shared/feature.js.map +1 -0
  123. package/admin/features/settings/shared/index.d.ts +2 -0
  124. package/admin/features/settings/shared/index.js +2 -0
  125. package/admin/features/settings/updateSettings/UpdateSettingsGateway.d.ts +12 -0
  126. package/admin/features/settings/updateSettings/UpdateSettingsGateway.js +45 -0
  127. package/admin/features/settings/updateSettings/UpdateSettingsGateway.js.map +1 -0
  128. package/admin/features/settings/updateSettings/UpdateSettingsRepository.d.ts +13 -0
  129. package/admin/features/settings/updateSettings/UpdateSettingsRepository.js +23 -0
  130. package/admin/features/settings/updateSettings/UpdateSettingsRepository.js.map +1 -0
  131. package/admin/features/settings/updateSettings/UpdateSettingsUseCase.d.ts +11 -0
  132. package/admin/features/settings/updateSettings/UpdateSettingsUseCase.js +18 -0
  133. package/admin/features/settings/updateSettings/UpdateSettingsUseCase.js.map +1 -0
  134. package/admin/features/settings/updateSettings/abstractions.d.ts +22 -0
  135. package/admin/features/settings/updateSettings/abstractions.js +7 -0
  136. package/admin/features/settings/updateSettings/abstractions.js.map +1 -0
  137. package/admin/features/settings/updateSettings/feature.d.ts +3 -0
  138. package/admin/features/settings/updateSettings/feature.js +21 -0
  139. package/admin/features/settings/updateSettings/feature.js.map +1 -0
  140. package/admin/features/settings/updateSettings/index.d.ts +2 -0
  141. package/admin/features/settings/updateSettings/index.js +2 -0
  142. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.d.ts +4 -0
  143. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.js +49 -0
  144. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.js.map +1 -0
  145. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.d.ts +26 -0
  146. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js +160 -0
  147. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js.map +1 -0
  148. package/admin/presentation/AiPowerUpsSettings/abstractions.d.ts +18 -0
  149. package/admin/presentation/AiPowerUpsSettings/abstractions.js +5 -0
  150. package/admin/presentation/AiPowerUpsSettings/abstractions.js.map +1 -0
  151. package/admin/presentation/AiPowerUpsSettings/feature.d.ts +3 -0
  152. package/admin/presentation/AiPowerUpsSettings/feature.js +29 -0
  153. package/admin/presentation/AiPowerUpsSettings/feature.js.map +1 -0
  154. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.d.ts +13 -0
  155. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.js +9 -0
  156. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.js.map +1 -0
  157. package/admin/presentation/AiPowerUpsSettings/index.d.ts +4 -0
  158. package/admin/presentation/AiPowerUpsSettings/index.js +4 -0
  159. package/admin/presentation/AiPowerUpsSettings/settingsGroup.d.ts +26 -0
  160. package/admin/presentation/AiPowerUpsSettings/settingsGroup.js +5 -0
  161. package/admin/presentation/AiPowerUpsSettings/settingsGroup.js.map +1 -0
  162. package/admin/presentation/AiPowerUpsSettings/useAiPowerUpsSettings.d.ts +4 -0
  163. package/admin/presentation/AiPowerUpsSettings/useAiPowerUpsSettings.js +27 -0
  164. package/admin/presentation/AiPowerUpsSettings/useAiPowerUpsSettings.js.map +1 -0
  165. package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.d.ts +20 -0
  166. package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.js +108 -0
  167. package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.js.map +1 -0
  168. package/admin/presentation/AiPromptFormFactory/abstractions.d.ts +14 -0
  169. package/admin/presentation/AiPromptFormFactory/abstractions.js +5 -0
  170. package/admin/presentation/AiPromptFormFactory/abstractions.js.map +1 -0
  171. package/admin/presentation/AiPromptFormFactory/feature.d.ts +1 -0
  172. package/admin/presentation/AiPromptFormFactory/feature.js +11 -0
  173. package/admin/presentation/AiPromptFormFactory/feature.js.map +1 -0
  174. package/admin/presentation/CapabilitiesSettings.d.ts +39 -0
  175. package/admin/presentation/CapabilitiesSettings.js +104 -0
  176. package/admin/presentation/CapabilitiesSettings.js.map +1 -0
  177. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.d.ts +9 -0
  178. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.js +118 -0
  179. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.js.map +1 -0
  180. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.d.ts +9 -0
  181. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.js +72 -0
  182. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.js.map +1 -0
  183. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.d.ts +4 -0
  184. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.js +21 -0
  185. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.js.map +1 -0
  186. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.d.ts +2 -0
  187. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.js +17 -0
  188. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.js.map +1 -0
  189. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.d.ts +25 -0
  190. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.js +90 -0
  191. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.js.map +1 -0
  192. package/admin/presentation/CmsCompareEntryRevisions/Extension.d.ts +2 -0
  193. package/admin/presentation/CmsCompareEntryRevisions/Extension.js +16 -0
  194. package/admin/presentation/CmsCompareEntryRevisions/Extension.js.map +1 -0
  195. package/admin/presentation/CmsCompareEntryRevisions/abstractions.d.ts +29 -0
  196. package/admin/presentation/CmsCompareEntryRevisions/abstractions.js +5 -0
  197. package/admin/presentation/CmsCompareEntryRevisions/abstractions.js.map +1 -0
  198. package/admin/presentation/CmsCompareEntryRevisions/feature.d.ts +3 -0
  199. package/admin/presentation/CmsCompareEntryRevisions/feature.js +17 -0
  200. package/admin/presentation/CmsCompareEntryRevisions/feature.js.map +1 -0
  201. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.d.ts +4 -0
  202. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js +27 -0
  203. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js.map +1 -0
  204. package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.d.ts +5 -0
  205. package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.js +106 -0
  206. package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.js.map +1 -0
  207. package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.d.ts +29 -0
  208. package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.js +120 -0
  209. package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.js.map +1 -0
  210. package/admin/presentation/CmsContentGeneration/Extension.d.ts +2 -0
  211. package/admin/presentation/CmsContentGeneration/Extension.js +27 -0
  212. package/admin/presentation/CmsContentGeneration/Extension.js.map +1 -0
  213. package/admin/presentation/CmsContentGeneration/abstractions.d.ts +20 -0
  214. package/admin/presentation/CmsContentGeneration/abstractions.js +5 -0
  215. package/admin/presentation/CmsContentGeneration/abstractions.js.map +1 -0
  216. package/admin/presentation/CmsContentGeneration/feature.d.ts +3 -0
  217. package/admin/presentation/CmsContentGeneration/feature.js +17 -0
  218. package/admin/presentation/CmsContentGeneration/feature.js.map +1 -0
  219. package/admin/presentation/CmsEntryWizard/CmsEntryWizard.d.ts +4 -0
  220. package/admin/presentation/CmsEntryWizard/CmsEntryWizard.js +113 -0
  221. package/admin/presentation/CmsEntryWizard/CmsEntryWizard.js.map +1 -0
  222. package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.d.ts +4 -0
  223. package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.js +22 -0
  224. package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.js.map +1 -0
  225. package/admin/presentation/CmsEntryWizard/Extension.d.ts +2 -0
  226. package/admin/presentation/CmsEntryWizard/Extension.js +10 -0
  227. package/admin/presentation/CmsEntryWizard/Extension.js.map +1 -0
  228. package/admin/presentation/ConnectionsSettings.d.ts +25 -0
  229. package/admin/presentation/ConnectionsSettings.js +52 -0
  230. package/admin/presentation/ConnectionsSettings.js.map +1 -0
  231. package/admin/presentation/ModelRolesSettings.d.ts +29 -0
  232. package/admin/presentation/ModelRolesSettings.js +67 -0
  233. package/admin/presentation/ModelRolesSettings.js.map +1 -0
  234. package/admin/presentation/ProjectsSettings.d.ts +11 -0
  235. package/admin/presentation/ProjectsSettings.js +56 -0
  236. package/admin/presentation/ProjectsSettings.js.map +1 -0
  237. package/admin/presentation/ProvidersSettings.d.ts +16 -0
  238. package/admin/presentation/ProvidersSettings.js +46 -0
  239. package/admin/presentation/ProvidersSettings.js.map +1 -0
  240. package/admin/presentation/ReaderPersonasSettings.d.ts +11 -0
  241. package/admin/presentation/ReaderPersonasSettings.js +37 -0
  242. package/admin/presentation/ReaderPersonasSettings.js.map +1 -0
  243. package/admin/presentation/WbContentGeneration/Extension.d.ts +2 -0
  244. package/admin/presentation/WbContentGeneration/Extension.js +22 -0
  245. package/admin/presentation/WbContentGeneration/Extension.js.map +1 -0
  246. package/admin/presentation/WbContentGeneration/GenerateContentButton.d.ts +2 -0
  247. package/admin/presentation/WbContentGeneration/GenerateContentButton.js +19 -0
  248. package/admin/presentation/WbContentGeneration/GenerateContentButton.js.map +1 -0
  249. package/admin/presentation/WbContentGeneration/GenerateContentDialog.d.ts +21 -0
  250. package/admin/presentation/WbContentGeneration/GenerateContentDialog.js +125 -0
  251. package/admin/presentation/WbContentGeneration/GenerateContentDialog.js.map +1 -0
  252. package/admin/presentation/WbContentGeneration/GenerateContentPresenter.d.ts +33 -0
  253. package/admin/presentation/WbContentGeneration/GenerateContentPresenter.js +161 -0
  254. package/admin/presentation/WbContentGeneration/GenerateContentPresenter.js.map +1 -0
  255. package/admin/presentation/WbContentGeneration/PROCESS_IDEA.md +190 -0
  256. package/admin/presentation/WbContentGeneration/abstractions.d.ts +31 -0
  257. package/admin/presentation/WbContentGeneration/abstractions.js +5 -0
  258. package/admin/presentation/WbContentGeneration/abstractions.js.map +1 -0
  259. package/admin/presentation/WbContentGeneration/decompressGzipBase64.d.ts +1 -0
  260. package/admin/presentation/WbContentGeneration/decompressGzipBase64.js +13 -0
  261. package/admin/presentation/WbContentGeneration/decompressGzipBase64.js.map +1 -0
  262. package/admin/presentation/WbContentGeneration/feature.d.ts +3 -0
  263. package/admin/presentation/WbContentGeneration/feature.js +17 -0
  264. package/admin/presentation/WbContentGeneration/feature.js.map +1 -0
  265. package/admin/presentation/WriterPersonasSettings.d.ts +11 -0
  266. package/admin/presentation/WriterPersonasSettings.js +37 -0
  267. package/admin/presentation/WriterPersonasSettings.js.map +1 -0
  268. package/admin/presentation/modelRoles.d.ts +10 -0
  269. package/admin/presentation/modelRoles.js +23 -0
  270. package/admin/presentation/modelRoles.js.map +1 -0
  271. package/admin/routes.d.ts +4 -0
  272. package/admin/routes.js +10 -0
  273. package/admin/routes.js.map +1 -0
  274. package/api/Extension.d.ts +4 -0
  275. package/api/Extension.js +68 -0
  276. package/api/Extension.js.map +1 -0
  277. package/api/constants.d.ts +1 -0
  278. package/api/constants.js +4 -0
  279. package/api/constants.js.map +1 -0
  280. package/api/features/AdminAssistant/AdminAssistantStreamRoute.d.ts +34 -0
  281. package/api/features/AdminAssistant/AdminAssistantStreamRoute.js +42 -0
  282. package/api/features/AdminAssistant/AdminAssistantStreamRoute.js.map +1 -0
  283. package/api/features/AdminAssistant/AdminAssistantUseCase.d.ts +42 -0
  284. package/api/features/AdminAssistant/AdminAssistantUseCase.js +170 -0
  285. package/api/features/AdminAssistant/AdminAssistantUseCase.js.map +1 -0
  286. package/api/features/AdminAssistant/abstractions.d.ts +38 -0
  287. package/api/features/AdminAssistant/abstractions.js +6 -0
  288. package/api/features/AdminAssistant/abstractions.js.map +1 -0
  289. package/api/features/AdminAssistant/approvals.d.ts +29 -0
  290. package/api/features/AdminAssistant/approvals.js +30 -0
  291. package/api/features/AdminAssistant/approvals.js.map +1 -0
  292. package/api/features/AdminAssistant/capability.d.ts +31 -0
  293. package/api/features/AdminAssistant/capability.js +19 -0
  294. package/api/features/AdminAssistant/capability.js.map +1 -0
  295. package/api/features/AdminAssistant/events.d.ts +54 -0
  296. package/api/features/AdminAssistant/events.js +0 -0
  297. package/api/features/AdminAssistant/feature.d.ts +12 -0
  298. package/api/features/AdminAssistant/feature.js +23 -0
  299. package/api/features/AdminAssistant/feature.js.map +1 -0
  300. package/api/features/AdminAssistant/index.d.ts +5 -0
  301. package/api/features/AdminAssistant/index.js +3 -0
  302. package/api/features/AdminAssistant/parseChatBody.d.ts +14 -0
  303. package/api/features/AdminAssistant/parseChatBody.js +33 -0
  304. package/api/features/AdminAssistant/parseChatBody.js.map +1 -0
  305. package/api/features/AdminAssistant/systemPrompt.d.ts +7 -0
  306. package/api/features/AdminAssistant/systemPrompt.js +24 -0
  307. package/api/features/AdminAssistant/systemPrompt.js.map +1 -0
  308. package/api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.d.ts +11 -0
  309. package/api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.js +27 -0
  310. package/api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.js.map +1 -0
  311. package/api/features/AiImageEnrichment/AiImageEnrichmentStreamRoute.d.ts +36 -0
  312. package/api/features/AiImageEnrichment/AiImageEnrichmentStreamRoute.js +92 -0
  313. package/api/features/AiImageEnrichment/AiImageEnrichmentStreamRoute.js.map +1 -0
  314. package/api/features/AiImageEnrichment/AiImageEnrichmentTask.d.ts +41 -0
  315. package/api/features/AiImageEnrichment/AiImageEnrichmentTask.js +95 -0
  316. package/api/features/AiImageEnrichment/AiImageEnrichmentTask.js.map +1 -0
  317. package/api/features/AiImageEnrichment/ApplyImageEnrichmentUseCase.d.ts +18 -0
  318. package/api/features/AiImageEnrichment/ApplyImageEnrichmentUseCase.js +50 -0
  319. package/api/features/AiImageEnrichment/ApplyImageEnrichmentUseCase.js.map +1 -0
  320. package/api/features/AiImageEnrichment/EnrichmentCapabilityDisabledError.d.ts +9 -0
  321. package/api/features/AiImageEnrichment/EnrichmentCapabilityDisabledError.js +8 -0
  322. package/api/features/AiImageEnrichment/EnrichmentCapabilityDisabledError.js.map +1 -0
  323. package/api/features/AiImageEnrichment/PrepareImageEnrichmentUseCase.d.ts +17 -0
  324. package/api/features/AiImageEnrichment/PrepareImageEnrichmentUseCase.js +47 -0
  325. package/api/features/AiImageEnrichment/PrepareImageEnrichmentUseCase.js.map +1 -0
  326. package/api/features/AiImageEnrichment/abstractions.d.ts +66 -0
  327. package/api/features/AiImageEnrichment/abstractions.js +12 -0
  328. package/api/features/AiImageEnrichment/abstractions.js.map +1 -0
  329. package/api/features/AiImageEnrichment/buildEnrichmentAiRequest.d.ts +12 -0
  330. package/api/features/AiImageEnrichment/buildEnrichmentAiRequest.js +30 -0
  331. package/api/features/AiImageEnrichment/buildEnrichmentAiRequest.js.map +1 -0
  332. package/api/features/AiImageEnrichment/capability.d.ts +18 -0
  333. package/api/features/AiImageEnrichment/capability.js +19 -0
  334. package/api/features/AiImageEnrichment/capability.js.map +1 -0
  335. package/api/features/AiImageEnrichment/errors.d.ts +33 -0
  336. package/api/features/AiImageEnrichment/errors.js +29 -0
  337. package/api/features/AiImageEnrichment/errors.js.map +1 -0
  338. package/api/features/AiImageEnrichment/feature.d.ts +4 -0
  339. package/api/features/AiImageEnrichment/feature.js +24 -0
  340. package/api/features/AiImageEnrichment/feature.js.map +1 -0
  341. package/api/features/AiImageEnrichment/imageEnrichmentErrorStatusCode.d.ts +6 -0
  342. package/api/features/AiImageEnrichment/imageEnrichmentErrorStatusCode.js +10 -0
  343. package/api/features/AiImageEnrichment/imageEnrichmentErrorStatusCode.js.map +1 -0
  344. package/api/features/AiImageEnrichment/readEnrichmentPartial.d.ts +8 -0
  345. package/api/features/AiImageEnrichment/readEnrichmentPartial.js +16 -0
  346. package/api/features/AiImageEnrichment/readEnrichmentPartial.js.map +1 -0
  347. package/api/features/AiImageEnrichment/streamEvents.d.ts +36 -0
  348. package/api/features/AiImageEnrichment/streamEvents.js +0 -0
  349. package/api/features/AiPromptContext/AiPromptContextBuilder.d.ts +19 -0
  350. package/api/features/AiPromptContext/AiPromptContextBuilder.js +147 -0
  351. package/api/features/AiPromptContext/AiPromptContextBuilder.js.map +1 -0
  352. package/api/features/AiPromptContext/ProjectFileAssembler.d.ts +22 -0
  353. package/api/features/AiPromptContext/ProjectFileAssembler.js +76 -0
  354. package/api/features/AiPromptContext/ProjectFileAssembler.js.map +1 -0
  355. package/api/features/AiPromptContext/ProjectFileCache.d.ts +16 -0
  356. package/api/features/AiPromptContext/ProjectFileCache.js +61 -0
  357. package/api/features/AiPromptContext/ProjectFileCache.js.map +1 -0
  358. package/api/features/AiPromptContext/ProjectSection.d.ts +4 -0
  359. package/api/features/AiPromptContext/ProjectSection.js +35 -0
  360. package/api/features/AiPromptContext/ProjectSection.js.map +1 -0
  361. package/api/features/AiPromptContext/ReadProjectFileTool.d.ts +3 -0
  362. package/api/features/AiPromptContext/ReadProjectFileTool.js +36 -0
  363. package/api/features/AiPromptContext/ReadProjectFileTool.js.map +1 -0
  364. package/api/features/AiPromptContext/ReaderPersonaSection.d.ts +4 -0
  365. package/api/features/AiPromptContext/ReaderPersonaSection.js +10 -0
  366. package/api/features/AiPromptContext/ReaderPersonaSection.js.map +1 -0
  367. package/api/features/AiPromptContext/WriterPersonaSection.d.ts +4 -0
  368. package/api/features/AiPromptContext/WriterPersonaSection.js +10 -0
  369. package/api/features/AiPromptContext/WriterPersonaSection.js.map +1 -0
  370. package/api/features/AiPromptContext/abstractions.d.ts +71 -0
  371. package/api/features/AiPromptContext/abstractions.js +15 -0
  372. package/api/features/AiPromptContext/abstractions.js.map +1 -0
  373. package/api/features/AiPromptContext/feature.d.ts +4 -0
  374. package/api/features/AiPromptContext/feature.js +15 -0
  375. package/api/features/AiPromptContext/feature.js.map +1 -0
  376. package/api/features/AiPromptContext/index.d.ts +1 -0
  377. package/api/features/AiPromptContext/index.js +1 -0
  378. package/api/features/Capabilities/AiCapabilityDisabledError.d.ts +16 -0
  379. package/api/features/Capabilities/AiCapabilityDisabledError.js +8 -0
  380. package/api/features/Capabilities/AiCapabilityDisabledError.js.map +1 -0
  381. package/api/features/Capabilities/AiModelNotAvailableError.d.ts +13 -0
  382. package/api/features/Capabilities/AiModelNotAvailableError.js +8 -0
  383. package/api/features/Capabilities/AiModelNotAvailableError.js.map +1 -0
  384. package/api/features/Capabilities/CapabilitiesHandler.d.ts +28 -0
  385. package/api/features/Capabilities/CapabilitiesHandler.js +56 -0
  386. package/api/features/Capabilities/CapabilitiesHandler.js.map +1 -0
  387. package/api/features/Capabilities/ListAiCapabilitiesUseCase.d.ts +18 -0
  388. package/api/features/Capabilities/ListAiCapabilitiesUseCase.js +28 -0
  389. package/api/features/Capabilities/ListAiCapabilitiesUseCase.js.map +1 -0
  390. package/api/features/Capabilities/ResolveAiCapabilityUseCase.d.ts +33 -0
  391. package/api/features/Capabilities/ResolveAiCapabilityUseCase.js +114 -0
  392. package/api/features/Capabilities/ResolveAiCapabilityUseCase.js.map +1 -0
  393. package/api/features/Capabilities/abstractions.d.ts +90 -0
  394. package/api/features/Capabilities/abstractions.js +7 -0
  395. package/api/features/Capabilities/abstractions.js.map +1 -0
  396. package/api/features/Capabilities/composeSystemPrompt.d.ts +14 -0
  397. package/api/features/Capabilities/composeSystemPrompt.js +13 -0
  398. package/api/features/Capabilities/composeSystemPrompt.js.map +1 -0
  399. package/api/features/Capabilities/feature.d.ts +4 -0
  400. package/api/features/Capabilities/feature.js +15 -0
  401. package/api/features/Capabilities/feature.js.map +1 -0
  402. package/api/features/Capabilities/index.d.ts +7 -0
  403. package/api/features/Capabilities/index.js +5 -0
  404. package/api/features/Capabilities/types.d.ts +86 -0
  405. package/api/features/Capabilities/types.js +4 -0
  406. package/api/features/Capabilities/types.js.map +1 -0
  407. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.d.ts +20 -0
  408. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js +82 -0
  409. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js.map +1 -0
  410. package/api/features/CmsCompareEntryRevisions/abstractions.d.ts +18 -0
  411. package/api/features/CmsCompareEntryRevisions/abstractions.js +5 -0
  412. package/api/features/CmsCompareEntryRevisions/abstractions.js.map +1 -0
  413. package/api/features/CmsCompareEntryRevisions/capability.d.ts +13 -0
  414. package/api/features/CmsCompareEntryRevisions/capability.js +64 -0
  415. package/api/features/CmsCompareEntryRevisions/capability.js.map +1 -0
  416. package/api/features/CmsCompareEntryRevisions/feature.d.ts +4 -0
  417. package/api/features/CmsCompareEntryRevisions/feature.js +13 -0
  418. package/api/features/CmsCompareEntryRevisions/feature.js.map +1 -0
  419. package/api/features/CmsCompareEntryRevisions/index.d.ts +2 -0
  420. package/api/features/CmsCompareEntryRevisions/index.js +2 -0
  421. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.d.ts +38 -0
  422. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js +93 -0
  423. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js.map +1 -0
  424. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.d.ts +27 -0
  425. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js +133 -0
  426. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js.map +1 -0
  427. package/api/features/CmsGenerateEntryContent/abstractions.d.ts +36 -0
  428. package/api/features/CmsGenerateEntryContent/abstractions.js +5 -0
  429. package/api/features/CmsGenerateEntryContent/abstractions.js.map +1 -0
  430. package/api/features/CmsGenerateEntryContent/buildPrompt.d.ts +2 -0
  431. package/api/features/CmsGenerateEntryContent/buildPrompt.js +61 -0
  432. package/api/features/CmsGenerateEntryContent/buildPrompt.js.map +1 -0
  433. package/api/features/CmsGenerateEntryContent/capability.d.ts +17 -0
  434. package/api/features/CmsGenerateEntryContent/capability.js +17 -0
  435. package/api/features/CmsGenerateEntryContent/capability.js.map +1 -0
  436. package/api/features/CmsGenerateEntryContent/feature.d.ts +4 -0
  437. package/api/features/CmsGenerateEntryContent/feature.js +15 -0
  438. package/api/features/CmsGenerateEntryContent/feature.js.map +1 -0
  439. package/api/features/CmsGenerateEntryContent/index.d.ts +1 -0
  440. package/api/features/CmsGenerateEntryContent/index.js +1 -0
  441. package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.d.ts +2 -0
  442. package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.js +30 -0
  443. package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.js.map +1 -0
  444. package/api/features/CmsResolveImageTool/CmsResolveImageTool.d.ts +14 -0
  445. package/api/features/CmsResolveImageTool/CmsResolveImageTool.js +27 -0
  446. package/api/features/CmsResolveImageTool/CmsResolveImageTool.js.map +1 -0
  447. package/api/features/CmsResolveImageTool/feature.d.ts +4 -0
  448. package/api/features/CmsResolveImageTool/feature.js +11 -0
  449. package/api/features/CmsResolveImageTool/feature.js.map +1 -0
  450. package/api/features/ConfiguredAiModels/ConfiguredAiModelsService.d.ts +18 -0
  451. package/api/features/ConfiguredAiModels/ConfiguredAiModelsService.js +92 -0
  452. package/api/features/ConfiguredAiModels/ConfiguredAiModelsService.js.map +1 -0
  453. package/api/features/ConfiguredAiModels/abstractions.d.ts +32 -0
  454. package/api/features/ConfiguredAiModels/abstractions.js +5 -0
  455. package/api/features/ConfiguredAiModels/abstractions.js.map +1 -0
  456. package/api/features/ConfiguredAiModels/feature.d.ts +4 -0
  457. package/api/features/ConfiguredAiModels/feature.js +11 -0
  458. package/api/features/ConfiguredAiModels/feature.js.map +1 -0
  459. package/api/features/ConfiguredAiModels/index.d.ts +2 -0
  460. package/api/features/ConfiguredAiModels/index.js +1 -0
  461. package/api/features/Connections/ConnectionsGraphQLMapper.d.ts +20 -0
  462. package/api/features/Connections/ConnectionsGraphQLMapper.js +37 -0
  463. package/api/features/Connections/ConnectionsGraphQLMapper.js.map +1 -0
  464. package/api/features/Connections/ConnectionsHandler.d.ts +25 -0
  465. package/api/features/Connections/ConnectionsHandler.js +84 -0
  466. package/api/features/Connections/ConnectionsHandler.js.map +1 -0
  467. package/api/features/Connections/feature.d.ts +4 -0
  468. package/api/features/Connections/feature.js +13 -0
  469. package/api/features/Connections/feature.js.map +1 -0
  470. package/api/features/Connections/index.d.ts +2 -0
  471. package/api/features/Connections/index.js +1 -0
  472. package/api/features/Connections/legacyProviders.d.ts +26 -0
  473. package/api/features/Connections/legacyProviders.js +9 -0
  474. package/api/features/Connections/legacyProviders.js.map +1 -0
  475. package/api/features/Connections/types.d.ts +36 -0
  476. package/api/features/Connections/types.js +0 -0
  477. package/api/features/ExtractFrontmatter/ExtractFrontmatterBeforeCreateHandler.d.ts +11 -0
  478. package/api/features/ExtractFrontmatter/ExtractFrontmatterBeforeCreateHandler.js +34 -0
  479. package/api/features/ExtractFrontmatter/ExtractFrontmatterBeforeCreateHandler.js.map +1 -0
  480. package/api/features/ExtractFrontmatter/feature.d.ts +4 -0
  481. package/api/features/ExtractFrontmatter/feature.js +11 -0
  482. package/api/features/ExtractFrontmatter/feature.js.map +1 -0
  483. package/api/features/GetSettings/GetSettingsRepository.d.ts +16 -0
  484. package/api/features/GetSettings/GetSettingsRepository.js +40 -0
  485. package/api/features/GetSettings/GetSettingsRepository.js.map +1 -0
  486. package/api/features/GetSettings/GetSettingsUseCase.d.ts +10 -0
  487. package/api/features/GetSettings/GetSettingsUseCase.js +18 -0
  488. package/api/features/GetSettings/GetSettingsUseCase.js.map +1 -0
  489. package/api/features/GetSettings/abstractions.d.ts +16 -0
  490. package/api/features/GetSettings/abstractions.js +6 -0
  491. package/api/features/GetSettings/abstractions.js.map +1 -0
  492. package/api/features/GetSettings/feature.d.ts +4 -0
  493. package/api/features/GetSettings/feature.js +13 -0
  494. package/api/features/GetSettings/feature.js.map +1 -0
  495. package/api/features/GetSettings/index.d.ts +2 -0
  496. package/api/features/GetSettings/index.js +2 -0
  497. package/api/features/ModelRoles/ModelRolesHandler.d.ts +15 -0
  498. package/api/features/ModelRoles/ModelRolesHandler.js +74 -0
  499. package/api/features/ModelRoles/ModelRolesHandler.js.map +1 -0
  500. package/api/features/ModelRoles/feature.d.ts +4 -0
  501. package/api/features/ModelRoles/feature.js +11 -0
  502. package/api/features/ModelRoles/feature.js.map +1 -0
  503. package/api/features/ModelRoles/index.d.ts +4 -0
  504. package/api/features/ModelRoles/index.js +2 -0
  505. package/api/features/ModelRoles/roles.d.ts +16 -0
  506. package/api/features/ModelRoles/roles.js +9 -0
  507. package/api/features/ModelRoles/roles.js.map +1 -0
  508. package/api/features/ModelRoles/types.d.ts +21 -0
  509. package/api/features/ModelRoles/types.js +7 -0
  510. package/api/features/ModelRoles/types.js.map +1 -0
  511. package/api/features/Projects/ProjectsHandler.d.ts +31 -0
  512. package/api/features/Projects/ProjectsHandler.js +103 -0
  513. package/api/features/Projects/ProjectsHandler.js.map +1 -0
  514. package/api/features/Projects/feature.d.ts +4 -0
  515. package/api/features/Projects/feature.js +11 -0
  516. package/api/features/Projects/feature.js.map +1 -0
  517. package/api/features/Projects/types.d.ts +50 -0
  518. package/api/features/Projects/types.js +0 -0
  519. package/api/features/Providers/ProvidersGraphQLMapper.d.ts +21 -0
  520. package/api/features/Providers/ProvidersGraphQLMapper.js +39 -0
  521. package/api/features/Providers/ProvidersGraphQLMapper.js.map +1 -0
  522. package/api/features/Providers/ProvidersHandler.d.ts +26 -0
  523. package/api/features/Providers/ProvidersHandler.js +79 -0
  524. package/api/features/Providers/ProvidersHandler.js.map +1 -0
  525. package/api/features/Providers/feature.d.ts +4 -0
  526. package/api/features/Providers/feature.js +13 -0
  527. package/api/features/Providers/feature.js.map +1 -0
  528. package/api/features/Providers/index.d.ts +1 -0
  529. package/api/features/Providers/index.js +0 -0
  530. package/api/features/Providers/types.d.ts +29 -0
  531. package/api/features/Providers/types.js +0 -0
  532. package/api/features/ReaderPersonas/ReaderPersonasHandler.d.ts +20 -0
  533. package/api/features/ReaderPersonas/ReaderPersonasHandler.js +43 -0
  534. package/api/features/ReaderPersonas/ReaderPersonasHandler.js.map +1 -0
  535. package/api/features/ReaderPersonas/feature.d.ts +4 -0
  536. package/api/features/ReaderPersonas/feature.js +11 -0
  537. package/api/features/ReaderPersonas/feature.js.map +1 -0
  538. package/api/features/ReaderPersonas/index.d.ts +2 -0
  539. package/api/features/ReaderPersonas/index.js +1 -0
  540. package/api/features/ReaderPersonas/types.d.ts +24 -0
  541. package/api/features/ReaderPersonas/types.js +0 -0
  542. package/api/features/UpdateSettings/UpdateSettingsRepository.d.ts +16 -0
  543. package/api/features/UpdateSettings/UpdateSettingsRepository.js +71 -0
  544. package/api/features/UpdateSettings/UpdateSettingsRepository.js.map +1 -0
  545. package/api/features/UpdateSettings/UpdateSettingsUseCase.d.ts +13 -0
  546. package/api/features/UpdateSettings/UpdateSettingsUseCase.js +30 -0
  547. package/api/features/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
  548. package/api/features/UpdateSettings/abstractions.d.ts +36 -0
  549. package/api/features/UpdateSettings/abstractions.js +8 -0
  550. package/api/features/UpdateSettings/abstractions.js.map +1 -0
  551. package/api/features/UpdateSettings/errors.d.ts +10 -0
  552. package/api/features/UpdateSettings/errors.js +14 -0
  553. package/api/features/UpdateSettings/errors.js.map +1 -0
  554. package/api/features/UpdateSettings/events.d.ts +10 -0
  555. package/api/features/UpdateSettings/events.js +21 -0
  556. package/api/features/UpdateSettings/events.js.map +1 -0
  557. package/api/features/UpdateSettings/feature.d.ts +4 -0
  558. package/api/features/UpdateSettings/feature.js +13 -0
  559. package/api/features/UpdateSettings/feature.js.map +1 -0
  560. package/api/features/UpdateSettings/index.d.ts +1 -0
  561. package/api/features/UpdateSettings/index.js +1 -0
  562. package/api/features/WbGeneratePageContent/ComponentFilter.d.ts +18 -0
  563. package/api/features/WbGeneratePageContent/ComponentFilter.js +69 -0
  564. package/api/features/WbGeneratePageContent/ComponentFilter.js.map +1 -0
  565. package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.d.ts +39 -0
  566. package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js +94 -0
  567. package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js.map +1 -0
  568. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.d.ts +21 -0
  569. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js +113 -0
  570. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js.map +1 -0
  571. package/api/features/WbGeneratePageContent/abstractions.d.ts +31 -0
  572. package/api/features/WbGeneratePageContent/abstractions.js +5 -0
  573. package/api/features/WbGeneratePageContent/abstractions.js.map +1 -0
  574. package/api/features/WbGeneratePageContent/buildPrompt.d.ts +3 -0
  575. package/api/features/WbGeneratePageContent/buildPrompt.js +158 -0
  576. package/api/features/WbGeneratePageContent/buildPrompt.js.map +1 -0
  577. package/api/features/WbGeneratePageContent/capability.d.ts +16 -0
  578. package/api/features/WbGeneratePageContent/capability.js +17 -0
  579. package/api/features/WbGeneratePageContent/capability.js.map +1 -0
  580. package/api/features/WbGeneratePageContent/feature.d.ts +4 -0
  581. package/api/features/WbGeneratePageContent/feature.js +15 -0
  582. package/api/features/WbGeneratePageContent/feature.js.map +1 -0
  583. package/api/features/WbGeneratePageContent/index.d.ts +1 -0
  584. package/api/features/WbGeneratePageContent/index.js +1 -0
  585. package/api/features/WbTranslatePage/LexicalParser.d.ts +10 -0
  586. package/api/features/WbTranslatePage/LexicalParser.js +37 -0
  587. package/api/features/WbTranslatePage/LexicalParser.js.map +1 -0
  588. package/api/features/WbTranslatePage/WbTranslateLayoutDecorator.d.ts +44 -0
  589. package/api/features/WbTranslatePage/WbTranslateLayoutDecorator.js +185 -0
  590. package/api/features/WbTranslatePage/WbTranslateLayoutDecorator.js.map +1 -0
  591. package/api/features/WbTranslatePage/WbTranslatePageDecorator.d.ts +38 -0
  592. package/api/features/WbTranslatePage/WbTranslatePageDecorator.js +163 -0
  593. package/api/features/WbTranslatePage/WbTranslatePageDecorator.js.map +1 -0
  594. package/api/features/WbTranslatePage/abstractions/LexicalParser.d.ts +7 -0
  595. package/api/features/WbTranslatePage/abstractions/LexicalParser.js +5 -0
  596. package/api/features/WbTranslatePage/abstractions/LexicalParser.js.map +1 -0
  597. package/api/features/WbTranslatePage/capability.d.ts +13 -0
  598. package/api/features/WbTranslatePage/capability.js +19 -0
  599. package/api/features/WbTranslatePage/capability.js.map +1 -0
  600. package/api/features/WbTranslatePage/feature.d.ts +4 -0
  601. package/api/features/WbTranslatePage/feature.js +20 -0
  602. package/api/features/WbTranslatePage/feature.js.map +1 -0
  603. package/api/features/WbTranslatePage/index.d.ts +2 -0
  604. package/api/features/WbTranslatePage/index.js +2 -0
  605. package/api/features/WbTranslatePage/translatableBindings.d.ts +21 -0
  606. package/api/features/WbTranslatePage/translatableBindings.js +57 -0
  607. package/api/features/WbTranslatePage/translatableBindings.js.map +1 -0
  608. package/api/features/WbTranslatePage/translatableGlobals.d.ts +21 -0
  609. package/api/features/WbTranslatePage/translatableGlobals.js +29 -0
  610. package/api/features/WbTranslatePage/translatableGlobals.js.map +1 -0
  611. package/api/features/WorkflowReview/AiStepRunner/AiStepRunner.d.ts +41 -0
  612. package/api/features/WorkflowReview/AiStepRunner/AiStepRunner.js +253 -0
  613. package/api/features/WorkflowReview/AiStepRunner/AiStepRunner.js.map +1 -0
  614. package/api/features/WorkflowReview/AiStepRunner/aiRunFailureReasons.d.ts +4 -0
  615. package/api/features/WorkflowReview/AiStepRunner/aiRunFailureReasons.js +7 -0
  616. package/api/features/WorkflowReview/AiStepRunner/aiRunFailureReasons.js.map +1 -0
  617. package/api/features/WorkflowReview/AiStepRunner/feature.d.ts +5 -0
  618. package/api/features/WorkflowReview/AiStepRunner/feature.js +11 -0
  619. package/api/features/WorkflowReview/AiStepRunner/feature.js.map +1 -0
  620. package/api/features/WorkflowReview/AiStepType/AiStepType.d.ts +53 -0
  621. package/api/features/WorkflowReview/AiStepType/AiStepType.js +121 -0
  622. package/api/features/WorkflowReview/AiStepType/AiStepType.js.map +1 -0
  623. package/api/features/WorkflowReview/ListWorkflowAiModels/ListWorkflowAiModelsUseCase.d.ts +17 -0
  624. package/api/features/WorkflowReview/ListWorkflowAiModels/ListWorkflowAiModelsUseCase.js +61 -0
  625. package/api/features/WorkflowReview/ListWorkflowAiModels/ListWorkflowAiModelsUseCase.js.map +1 -0
  626. package/api/features/WorkflowReview/ListWorkflowAiModels/abstractions.d.ts +32 -0
  627. package/api/features/WorkflowReview/ListWorkflowAiModels/abstractions.js +5 -0
  628. package/api/features/WorkflowReview/ListWorkflowAiModels/abstractions.js.map +1 -0
  629. package/api/features/WorkflowReview/ListWorkflowAiModels/feature.d.ts +4 -0
  630. package/api/features/WorkflowReview/ListWorkflowAiModels/feature.js +11 -0
  631. package/api/features/WorkflowReview/ListWorkflowAiModels/feature.js.map +1 -0
  632. package/api/features/WorkflowReview/ListWorkflowAiModels/index.d.ts +2 -0
  633. package/api/features/WorkflowReview/ListWorkflowAiModels/index.js +1 -0
  634. package/api/features/WorkflowReview/WorkflowsReviewCapability.d.ts +12 -0
  635. package/api/features/WorkflowReview/WorkflowsReviewCapability.js +38 -0
  636. package/api/features/WorkflowReview/WorkflowsReviewCapability.js.map +1 -0
  637. package/api/features/WorkflowReview/aiFailureReasons.d.ts +11 -0
  638. package/api/features/WorkflowReview/aiFailureReasons.js +9 -0
  639. package/api/features/WorkflowReview/aiFailureReasons.js.map +1 -0
  640. package/api/features/WorkflowReview/aiReviewOutputSchema.d.ts +29 -0
  641. package/api/features/WorkflowReview/aiReviewOutputSchema.js +28 -0
  642. package/api/features/WorkflowReview/aiReviewOutputSchema.js.map +1 -0
  643. package/api/features/WorkflowReview/aiStepConfigSchema.d.ts +13 -0
  644. package/api/features/WorkflowReview/aiStepConfigSchema.js +11 -0
  645. package/api/features/WorkflowReview/aiStepConfigSchema.js.map +1 -0
  646. package/api/features/WorkflowReview/buildAiStepPrompt.d.ts +35 -0
  647. package/api/features/WorkflowReview/buildAiStepPrompt.js +47 -0
  648. package/api/features/WorkflowReview/buildAiStepPrompt.js.map +1 -0
  649. package/api/features/WorkflowReview/constants.d.ts +8 -0
  650. package/api/features/WorkflowReview/constants.js +7 -0
  651. package/api/features/WorkflowReview/constants.js.map +1 -0
  652. package/api/features/WorkflowReview/toLoggedAiError.d.ts +13 -0
  653. package/api/features/WorkflowReview/toLoggedAiError.js +27 -0
  654. package/api/features/WorkflowReview/toLoggedAiError.js.map +1 -0
  655. package/api/features/WriterPersonas/WriterPersonasHandler.d.ts +20 -0
  656. package/api/features/WriterPersonas/WriterPersonasHandler.js +43 -0
  657. package/api/features/WriterPersonas/WriterPersonasHandler.js.map +1 -0
  658. package/api/features/WriterPersonas/feature.d.ts +4 -0
  659. package/api/features/WriterPersonas/feature.js +11 -0
  660. package/api/features/WriterPersonas/feature.js.map +1 -0
  661. package/api/features/WriterPersonas/index.d.ts +2 -0
  662. package/api/features/WriterPersonas/index.js +1 -0
  663. package/api/features/WriterPersonas/types.d.ts +24 -0
  664. package/api/features/WriterPersonas/types.js +0 -0
  665. package/api/features/shared/SettingsCache.d.ts +12 -0
  666. package/api/features/shared/SettingsCache.js +22 -0
  667. package/api/features/shared/SettingsCache.js.map +1 -0
  668. package/api/features/shared/abstractions.d.ts +38 -0
  669. package/api/features/shared/abstractions.js +7 -0
  670. package/api/features/shared/abstractions.js.map +1 -0
  671. package/api/features/shared/index.d.ts +3 -0
  672. package/api/features/shared/index.js +1 -0
  673. package/api/features/shared/modelId.d.ts +11 -0
  674. package/api/features/shared/modelId.js +4 -0
  675. package/api/features/shared/modelId.js.map +1 -0
  676. package/api/graphql/AiPowerUpsSettingsGraphQLMapper.d.ts +13 -0
  677. package/api/graphql/AiPowerUpsSettingsGraphQLMapper.js +44 -0
  678. package/api/graphql/AiPowerUpsSettingsGraphQLMapper.js.map +1 -0
  679. package/api/graphql/BaseGraphQLSchema.d.ts +9 -0
  680. package/api/graphql/BaseGraphQLSchema.js +194 -0
  681. package/api/graphql/BaseGraphQLSchema.js.map +1 -0
  682. package/api/graphql/CmsCompareEntryRevisionsSchema.d.ts +9 -0
  683. package/api/graphql/CmsCompareEntryRevisionsSchema.js +72 -0
  684. package/api/graphql/CmsCompareEntryRevisionsSchema.js.map +1 -0
  685. package/api/graphql/ListWorkflowAiModelsSchema.d.ts +15 -0
  686. package/api/graphql/ListWorkflowAiModelsSchema.js +48 -0
  687. package/api/graphql/ListWorkflowAiModelsSchema.js.map +1 -0
  688. package/api/graphql/abstractions.d.ts +9 -0
  689. package/api/graphql/abstractions.js +5 -0
  690. package/api/graphql/abstractions.js.map +1 -0
  691. package/api/types.d.ts +8 -0
  692. package/api/types.js +6 -0
  693. package/domain/LlmJsonResponse.d.ts +8 -0
  694. package/domain/LlmJsonResponse.js +38 -0
  695. package/domain/LlmJsonResponse.js.map +1 -0
  696. package/domain/TranslatableBindingKey.d.ts +17 -0
  697. package/domain/TranslatableBindingKey.js +23 -0
  698. package/domain/TranslatableBindingKey.js.map +1 -0
  699. package/exports/admin/ai-powerups.d.ts +1 -0
  700. package/exports/admin/ai-powerups.js +1 -0
  701. package/exports/api/ai-powerups.d.ts +7 -0
  702. package/exports/api/ai-powerups.js +5 -0
  703. package/index.d.ts +1 -0
  704. package/index.js +1 -0
  705. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/WbGeneratePageContent/ComponentFilter.js","sources":["../../../../src/api/features/WbGeneratePageContent/ComponentFilter.ts"],"sourcesContent":["/**\n * Validates LLM-generated page content against the component catalog.\n * Recursively walks the element tree (including nested CreateElement actions\n * inside slot inputs) and removes any element whose component name is not\n * in the catalog. Tool envelopes are left untouched.\n */\nexport class ComponentFilter {\n private readonly validNames: Set<string>;\n\n constructor(components: Array<{ name: string }>) {\n this.validNames = new Set(components.map(c => c.name));\n }\n\n filter(elements: unknown[]): unknown[] {\n return elements\n .filter(el => this.isValid(el))\n .map(el => this.processInputs(el as Record<string, unknown>));\n }\n\n private isValid(el: unknown): boolean {\n if (!el || typeof el !== \"object\") {\n return true;\n }\n\n const obj = el as Record<string, unknown>;\n\n if (\"component\" in obj && typeof obj.component === \"string\") {\n return this.validNames.has(obj.component);\n }\n\n if (obj.action === \"CreateElement\" && obj.params && typeof obj.params === \"object\") {\n const params = obj.params as Record<string, unknown>;\n if (\"component\" in params && typeof params.component === \"string\") {\n return this.validNames.has(params.component);\n }\n }\n\n return true;\n }\n\n private processInputs(el: Record<string, unknown>): Record<string, unknown> {\n const inputs = this.getInputs(el);\n if (!inputs) {\n return el;\n }\n\n const cleaned: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(inputs)) {\n cleaned[key] = this.processValue(value);\n }\n\n return this.setInputs(el, cleaned);\n }\n\n private getInputs(el: Record<string, unknown>): Record<string, unknown> | null {\n if (\"inputs\" in el && el.inputs && typeof el.inputs === \"object\") {\n return el.inputs as Record<string, unknown>;\n }\n\n if (\n el.action === \"CreateElement\" &&\n el.params &&\n typeof el.params === \"object\" &&\n \"inputs\" in (el.params as Record<string, unknown>)\n ) {\n const params = el.params as Record<string, unknown>;\n return params.inputs as Record<string, unknown>;\n }\n\n return null;\n }\n\n private setInputs(\n el: Record<string, unknown>,\n inputs: Record<string, unknown>\n ): Record<string, unknown> {\n if (\"inputs\" in el) {\n return { ...el, inputs };\n }\n\n if (el.action === \"CreateElement\" && el.params && typeof el.params === \"object\") {\n return { ...el, params: { ...el.params, inputs } };\n }\n\n return el;\n }\n\n private processValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.filter(item => this.isValid(item)).map(item => this.processValue(item));\n }\n\n if (!value || typeof value !== \"object\") {\n return value;\n }\n\n const obj = value as Record<string, unknown>;\n\n if (\"tool\" in obj) {\n return value;\n }\n\n if (obj.action === \"CreateElement\") {\n if (!this.isValid(obj)) {\n return null;\n }\n return this.processInputs(obj);\n }\n\n if (\"component\" in obj && \"inputs\" in obj) {\n return this.processInputs(obj);\n }\n\n const result: Record<string, unknown> = {};\n let changed = false;\n for (const [k, v] of Object.entries(obj)) {\n const processed = this.processValue(v);\n result[k] = processed;\n if (processed !== v) {\n changed = true;\n }\n }\n return changed ? result : value;\n }\n}\n"],"names":["ComponentFilter","components","Set","c","elements","el","obj","params","inputs","cleaned","key","value","Object","Array","item","result","changed","k","v","processed"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { TaskDefinition, TaskHandler } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { WebsocketsSendToIdentityUseCase } from "@webiny/api-websockets/features/SendToIdentity/abstractions.js";
3
+ import { WbGeneratePageContentUseCase } from "../../../api/features/WbGeneratePageContent/index.js";
4
+ import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
5
+ export declare const WB_GENERATE_PAGE_CONTENT_TASK_ID = "aiPowerUpsGeneratePageContent";
6
+ export interface IWbGeneratePageContentTaskInput {
7
+ prompt: string;
8
+ components: unknown;
9
+ tools: unknown;
10
+ projectId?: string | null;
11
+ excludedFileIds?: string[] | null;
12
+ readerPersonaId?: string | null;
13
+ writerPersonaId?: string | null;
14
+ additionalFileIds?: string[] | null;
15
+ }
16
+ declare class WbGeneratePageContentTaskHandlerImpl implements TaskHandler.Interface<IWbGeneratePageContentTaskInput> {
17
+ private identityContext;
18
+ private generatePageContent;
19
+ private sendToIdentity;
20
+ constructor(identityContext: IdentityContext.Interface, generatePageContent: WbGeneratePageContentUseCase.Interface, sendToIdentity: WebsocketsSendToIdentityUseCase.Interface);
21
+ run({ input, controller }: TaskHandler.RunParams<IWbGeneratePageContentTaskInput>): Promise<TaskDefinition.Result<IWbGeneratePageContentTaskInput>>;
22
+ private sendContentToUser;
23
+ private sendErrorToUser;
24
+ }
25
+ declare class WbGeneratePageContentTaskImpl implements TaskDefinition.Interface {
26
+ id: string;
27
+ title: string;
28
+ description: string;
29
+ maxIterations: number;
30
+ isPrivate: boolean;
31
+ databaseLogs: boolean;
32
+ handler: typeof WbGeneratePageContentTaskHandlerImpl & {
33
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskHandler<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
34
+ };
35
+ }
36
+ export declare const WbGeneratePageContentTask: typeof WbGeneratePageContentTaskImpl & {
37
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskDefinition<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
38
+ };
39
+ export {};
@@ -0,0 +1,94 @@
1
+ import { TaskDefinition, TaskHandler } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { WebsocketsSendToIdentityUseCase } from "@webiny/api-websockets/features/SendToIdentity/abstractions.js";
3
+ import { compress } from "@webiny/utils/features/compression/legacy/gzip.js";
4
+ import { WbGeneratePageContentUseCase } from "./index.js";
5
+ import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
6
+ const WB_GENERATE_PAGE_CONTENT_TASK_ID = "aiPowerUpsGeneratePageContent";
7
+ class WbGeneratePageContentTaskHandlerImpl {
8
+ constructor(identityContext, generatePageContent, sendToIdentity){
9
+ this.identityContext = identityContext;
10
+ this.generatePageContent = generatePageContent;
11
+ this.sendToIdentity = sendToIdentity;
12
+ }
13
+ async run({ input, controller }) {
14
+ if (controller.runtime.isAborted()) return controller.response.aborted();
15
+ const identity = this.identityContext.getIdentity();
16
+ let result;
17
+ try {
18
+ result = await this.generatePageContent.execute({
19
+ prompt: input.prompt,
20
+ components: input.components,
21
+ tools: input.tools,
22
+ projectId: input.projectId,
23
+ excludedFileIds: input.excludedFileIds,
24
+ readerPersonaId: input.readerPersonaId,
25
+ writerPersonaId: input.writerPersonaId,
26
+ additionalFileIds: input.additionalFileIds
27
+ });
28
+ } catch (err) {
29
+ const message = err instanceof Error ? err.message : String(err);
30
+ await this.sendErrorToUser(identity.id, message);
31
+ return controller.response.error({
32
+ message
33
+ });
34
+ }
35
+ if (result.isFail()) {
36
+ await this.sendErrorToUser(identity.id, result.error.message);
37
+ return controller.response.error({
38
+ message: result.error.message
39
+ });
40
+ }
41
+ const compressed = await compress(result.value.output);
42
+ const payload = compressed.toString("base64");
43
+ await this.sendContentToUser(identity.id, payload, result.value.telemetry);
44
+ return controller.response.done("Page content generated successfully.");
45
+ }
46
+ async sendContentToUser(identityId, payload, telemetry) {
47
+ await this.sendToIdentity.execute({
48
+ id: identityId
49
+ }, {
50
+ action: "aiPowerUps.generatePageContent.content",
51
+ data: {
52
+ compression: "gzip",
53
+ value: payload,
54
+ telemetry
55
+ }
56
+ });
57
+ }
58
+ async sendErrorToUser(identityId, message) {
59
+ await this.sendToIdentity.execute({
60
+ id: identityId
61
+ }, {
62
+ action: "aiPowerUps.generatePageContent.error",
63
+ data: {
64
+ message
65
+ }
66
+ });
67
+ }
68
+ }
69
+ const WbGeneratePageContentTaskHandler = TaskHandler.createImplementation({
70
+ implementation: WbGeneratePageContentTaskHandlerImpl,
71
+ dependencies: [
72
+ IdentityContext,
73
+ WbGeneratePageContentUseCase,
74
+ WebsocketsSendToIdentityUseCase
75
+ ]
76
+ });
77
+ class WbGeneratePageContentTaskImpl {
78
+ constructor(){
79
+ this.id = WB_GENERATE_PAGE_CONTENT_TASK_ID;
80
+ this.title = "AI Power-Ups - Generate Page Content";
81
+ this.description = "Generates page content using AI based on a user prompt.";
82
+ this.maxIterations = 1;
83
+ this.isPrivate = true;
84
+ this.databaseLogs = false;
85
+ this.handler = WbGeneratePageContentTaskHandler;
86
+ }
87
+ }
88
+ const WbGeneratePageContentTask = TaskDefinition.createImplementation({
89
+ implementation: WbGeneratePageContentTaskImpl,
90
+ dependencies: []
91
+ });
92
+ export { WB_GENERATE_PAGE_CONTENT_TASK_ID, WbGeneratePageContentTask };
93
+
94
+ //# sourceMappingURL=WbGeneratePageContentTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/WbGeneratePageContent/WbGeneratePageContentTask.js","sources":["../../../../src/api/features/WbGeneratePageContent/WbGeneratePageContentTask.ts"],"sourcesContent":["import {\n TaskDefinition,\n TaskHandler\n} from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { WebsocketsSendToIdentityUseCase } from \"@webiny/api-websockets/features/SendToIdentity/abstractions.js\";\nimport { compress } from \"@webiny/utils/features/compression/legacy/gzip.js\";\nimport { WbGeneratePageContentUseCase } from \"~/api/features/WbGeneratePageContent/index.js\";\nimport type { GenerationTelemetry } from \"~/api/features/WbGeneratePageContent/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/exports/api/security.js\";\n\nexport const WB_GENERATE_PAGE_CONTENT_TASK_ID = \"aiPowerUpsGeneratePageContent\";\n\nexport interface IWbGeneratePageContentTaskInput {\n prompt: string;\n components: unknown;\n tools: unknown;\n projectId?: string | null;\n excludedFileIds?: string[] | null;\n readerPersonaId?: string | null;\n writerPersonaId?: string | null;\n additionalFileIds?: string[] | null;\n}\n\nclass WbGeneratePageContentTaskHandlerImpl implements TaskHandler.Interface<IWbGeneratePageContentTaskInput> {\n constructor(\n private identityContext: IdentityContext.Interface,\n private generatePageContent: WbGeneratePageContentUseCase.Interface,\n private sendToIdentity: WebsocketsSendToIdentityUseCase.Interface\n ) {}\n\n async run({\n input,\n controller\n }: TaskHandler.RunParams<IWbGeneratePageContentTaskInput>): Promise<\n TaskDefinition.Result<IWbGeneratePageContentTaskInput>\n > {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n const identity = this.identityContext.getIdentity();\n\n let result;\n try {\n result = await this.generatePageContent.execute({\n prompt: input.prompt,\n components: input.components,\n tools: input.tools,\n projectId: input.projectId,\n excludedFileIds: input.excludedFileIds,\n readerPersonaId: input.readerPersonaId,\n writerPersonaId: input.writerPersonaId,\n additionalFileIds: input.additionalFileIds\n });\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n await this.sendErrorToUser(identity.id, message);\n return controller.response.error({ message });\n }\n\n if (result.isFail()) {\n await this.sendErrorToUser(identity.id, result.error.message);\n\n return controller.response.error({\n message: result.error.message\n });\n }\n\n const compressed = await compress(result.value.output);\n const payload = compressed.toString(\"base64\");\n\n await this.sendContentToUser(identity.id, payload, result.value.telemetry);\n\n return controller.response.done(\"Page content generated successfully.\");\n }\n\n private async sendContentToUser(\n identityId: string,\n payload: string,\n telemetry: GenerationTelemetry\n ) {\n await this.sendToIdentity.execute(\n { id: identityId },\n {\n action: \"aiPowerUps.generatePageContent.content\",\n data: {\n compression: \"gzip\",\n value: payload,\n telemetry\n }\n }\n );\n }\n\n private async sendErrorToUser(identityId: string, message: string) {\n await this.sendToIdentity.execute(\n { id: identityId },\n {\n action: \"aiPowerUps.generatePageContent.error\",\n data: {\n message\n }\n }\n );\n }\n}\n\nconst WbGeneratePageContentTaskHandler = TaskHandler.createImplementation({\n implementation: WbGeneratePageContentTaskHandlerImpl,\n dependencies: [IdentityContext, WbGeneratePageContentUseCase, WebsocketsSendToIdentityUseCase]\n});\n\nclass WbGeneratePageContentTaskImpl implements TaskDefinition.Interface {\n id = WB_GENERATE_PAGE_CONTENT_TASK_ID;\n title = \"AI Power-Ups - Generate Page Content\";\n description = \"Generates page content using AI based on a user prompt.\";\n maxIterations = 1;\n isPrivate = true;\n databaseLogs = false;\n\n handler = WbGeneratePageContentTaskHandler;\n}\n\nexport const WbGeneratePageContentTask = TaskDefinition.createImplementation({\n implementation: WbGeneratePageContentTaskImpl,\n dependencies: []\n});\n"],"names":["WB_GENERATE_PAGE_CONTENT_TASK_ID","WbGeneratePageContentTaskHandlerImpl","identityContext","generatePageContent","sendToIdentity","input","controller","identity","result","err","message","Error","String","compressed","compress","payload","identityId","telemetry","WbGeneratePageContentTaskHandler","TaskHandler","IdentityContext","WbGeneratePageContentUseCase","WebsocketsSendToIdentityUseCase","WbGeneratePageContentTaskImpl","WbGeneratePageContentTask","TaskDefinition"],"mappings":";;;;;AAUO,MAAMA,mCAAmC;AAahD,MAAMC;IACF,YACYC,eAA0C,EAC1CC,mBAA2D,EAC3DC,cAAyD,CACnE;aAHUF,eAAe,GAAfA;aACAC,mBAAmB,GAAnBA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,IAAI,EACNC,KAAK,EACLC,UAAU,EAC2C,EAEvD;QACE,IAAIA,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;QAGtC,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QAEjD,IAAIC;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;gBAC5C,QAAQH,MAAM,MAAM;gBACpB,YAAYA,MAAM,UAAU;gBAC5B,OAAOA,MAAM,KAAK;gBAClB,WAAWA,MAAM,SAAS;gBAC1B,iBAAiBA,MAAM,eAAe;gBACtC,iBAAiBA,MAAM,eAAe;gBACtC,iBAAiBA,MAAM,eAAe;gBACtC,mBAAmBA,MAAM,iBAAiB;YAC9C;QACJ,EAAE,OAAOI,KAAK;YACV,MAAMC,UAAUD,eAAeE,QAAQF,IAAI,OAAO,GAAGG,OAAOH;YAC5D,MAAM,IAAI,CAAC,eAAe,CAACF,SAAS,EAAE,EAAEG;YACxC,OAAOJ,WAAW,QAAQ,CAAC,KAAK,CAAC;gBAAEI;YAAQ;QAC/C;QAEA,IAAIF,OAAO,MAAM,IAAI;YACjB,MAAM,IAAI,CAAC,eAAe,CAACD,SAAS,EAAE,EAAEC,OAAO,KAAK,CAAC,OAAO;YAE5D,OAAOF,WAAW,QAAQ,CAAC,KAAK,CAAC;gBAC7B,SAASE,OAAO,KAAK,CAAC,OAAO;YACjC;QACJ;QAEA,MAAMK,aAAa,MAAMC,SAASN,OAAO,KAAK,CAAC,MAAM;QACrD,MAAMO,UAAUF,WAAW,QAAQ,CAAC;QAEpC,MAAM,IAAI,CAAC,iBAAiB,CAACN,SAAS,EAAE,EAAEQ,SAASP,OAAO,KAAK,CAAC,SAAS;QAEzE,OAAOF,WAAW,QAAQ,CAAC,IAAI,CAAC;IACpC;IAEA,MAAc,kBACVU,UAAkB,EAClBD,OAAe,EACfE,SAA8B,EAChC;QACE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B;YAAE,IAAID;QAAW,GACjB;YACI,QAAQ;YACR,MAAM;gBACF,aAAa;gBACb,OAAOD;gBACPE;YACJ;QACJ;IAER;IAEA,MAAc,gBAAgBD,UAAkB,EAAEN,OAAe,EAAE;QAC/D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B;YAAE,IAAIM;QAAW,GACjB;YACI,QAAQ;YACR,MAAM;gBACFN;YACJ;QACJ;IAER;AACJ;AAEA,MAAMQ,mCAAmCC,YAAY,oBAAoB,CAAC;IACtE,gBAAgBlB;IAChB,cAAc;QAACmB;QAAiBC;QAA8BC;KAAgC;AAClG;AAEA,MAAMC;;aACF,EAAE,GAAGvB;aACL,KAAK,GAAG;aACR,WAAW,GAAG;aACd,aAAa,GAAG;aAChB,SAAS,GAAG;aACZ,YAAY,GAAG;aAEf,OAAO,GAAGkB;;AACd;AAEO,MAAMM,4BAA4BC,eAAe,oBAAoB,CAAC;IACzE,gBAAgBF;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,21 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { Ai } from "@webiny/api-core/features/ai/index.js";
3
+ import { AiSdkTools } from "@webiny/api-core/features/ai/index.js";
4
+ import { ListTagsUseCase } from "@webiny/api-file-manager/features/file/ListTags/index.js";
5
+ import { ResolveAiCapabilityUseCase } from "../../../api/features/Capabilities/index.js";
6
+ import { AiPromptContextBuilder } from "../../../api/features/AiPromptContext/index.js";
7
+ import { WbGeneratePageContentUseCase } from "./abstractions.js";
8
+ import type { WbGeneratePageContentParams, GeneratePageContentResult } from "./abstractions.js";
9
+ declare class WbGeneratePageContentUseCaseImpl implements WbGeneratePageContentUseCase.Interface {
10
+ private promptContextBuilder;
11
+ private resolveCapability;
12
+ private ai;
13
+ private aiSdkTools;
14
+ private listTags;
15
+ constructor(promptContextBuilder: AiPromptContextBuilder.Interface, resolveCapability: ResolveAiCapabilityUseCase.Interface, ai: Ai.Interface, aiSdkTools: AiSdkTools.Interface, listTags: ListTagsUseCase.Interface);
16
+ execute(params: WbGeneratePageContentParams): Promise<Result<GeneratePageContentResult, Error>>;
17
+ }
18
+ export declare const WbGeneratePageContentUseCaseImplementation: typeof WbGeneratePageContentUseCaseImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IWbGeneratePageContentUseCase>;
20
+ };
21
+ export {};
@@ -0,0 +1,113 @@
1
+ import { stepCountIs } from "ai";
2
+ import { Result } from "@webiny/feature/api";
3
+ import { Ai, AiSdkTools } from "@webiny/api-core/features/ai/index.js";
4
+ import { ListTagsUseCase } from "@webiny/api-file-manager/features/file/ListTags/index.js";
5
+ import { ResolveAiCapabilityUseCase, withAdditionalInstructions } from "../Capabilities/index.js";
6
+ import { WB_GENERATE_PAGE_CAPABILITY } from "./capability.js";
7
+ import { AiPromptContextBuilder, formatAdditionalFilesContext } from "../AiPromptContext/index.js";
8
+ import { createReadProjectFileTool } from "../AiPromptContext/ReadProjectFileTool.js";
9
+ import { WbGeneratePageContentUseCase } from "./abstractions.js";
10
+ import { buildDomainPrompt } from "./buildPrompt.js";
11
+ import { LlmJsonResponse } from "../../../domain/LlmJsonResponse.js";
12
+ import { ComponentFilter } from "./ComponentFilter.js";
13
+ class WbGeneratePageContentUseCaseImpl {
14
+ constructor(promptContextBuilder, resolveCapability, ai, aiSdkTools, listTags){
15
+ this.promptContextBuilder = promptContextBuilder;
16
+ this.resolveCapability = resolveCapability;
17
+ this.ai = ai;
18
+ this.aiSdkTools = aiSdkTools;
19
+ this.listTags = listTags;
20
+ }
21
+ async execute(params) {
22
+ const resolved = await this.resolveCapability.execute(WB_GENERATE_PAGE_CAPABILITY);
23
+ if (resolved.isFail()) return Result.fail(resolved.error);
24
+ const capability = resolved.value;
25
+ const sdkTools = this.aiSdkTools.getToolSet();
26
+ const context = await this.promptContextBuilder.execute({
27
+ projectId: params.projectId,
28
+ readerPersonaId: params.readerPersonaId,
29
+ writerPersonaId: params.writerPersonaId,
30
+ excludedFileIds: params.excludedFileIds,
31
+ additionalFileIds: params.additionalFileIds
32
+ });
33
+ if (context.allProjectFiles.length > 0) {
34
+ const projectFileTool = createReadProjectFileTool(context.allProjectFiles, context.excludedFileIds);
35
+ Object.assign(sdkTools, projectFileTool);
36
+ }
37
+ const tagsResult = await this.listTags.execute({
38
+ where: {
39
+ type_startsWith: "image/"
40
+ },
41
+ limit: 100
42
+ });
43
+ const imageTags = tagsResult.isOk() ? tagsResult.value.map((t)=>t.tag) : [];
44
+ const components = params.components;
45
+ const systemText = withAdditionalInstructions(capability, buildDomainPrompt(components, params.tools, imageTags) + context.toString());
46
+ const system = {
47
+ role: "system",
48
+ content: systemText,
49
+ providerOptions: {
50
+ anthropic: {
51
+ cacheControl: {
52
+ type: "ephemeral"
53
+ }
54
+ }
55
+ }
56
+ };
57
+ try {
58
+ const aiResult = await this.ai.generateText({
59
+ model: capability.model,
60
+ connection: capability.connection,
61
+ system,
62
+ toolChoice: "auto",
63
+ prompt: params.prompt + formatAdditionalFilesContext(context.additionalFiles),
64
+ ...Object.keys(sdkTools).length > 0 ? {
65
+ tools: sdkTools,
66
+ stopWhen: stepCountIs(20)
67
+ } : {}
68
+ });
69
+ const text = aiResult.text || (aiResult.steps.filter((step)=>step.text.length > 0).pop()?.text ?? "");
70
+ const elements = LlmJsonResponse.fromRawText(text).toArray();
71
+ const componentFilter = new ComponentFilter(components);
72
+ const output = JSON.stringify(componentFilter.filter(elements));
73
+ const filesRead = new Set();
74
+ let toolCallsMade = 0;
75
+ for (const step of aiResult.steps)for (const call of step.toolCalls){
76
+ toolCallsMade++;
77
+ if ("read_project_file" === call.toolName) {
78
+ const input = call.input;
79
+ if (input.fileId) filesRead.add(input.fileId);
80
+ }
81
+ }
82
+ const telemetry = {
83
+ filesRead: [
84
+ ...filesRead
85
+ ],
86
+ cacheHit: context.cacheHit,
87
+ toolCallsMade,
88
+ totalSteps: aiResult.steps.length,
89
+ toolsAvailable: Object.keys(sdkTools),
90
+ imageTagsInPrompt: imageTags
91
+ };
92
+ return Result.ok({
93
+ output,
94
+ telemetry
95
+ });
96
+ } catch (error) {
97
+ return Result.fail(new Error(`AI generation failed: ${error instanceof Error ? error.message : String(error)}`));
98
+ }
99
+ }
100
+ }
101
+ const WbGeneratePageContentUseCaseImplementation = WbGeneratePageContentUseCase.createImplementation({
102
+ implementation: WbGeneratePageContentUseCaseImpl,
103
+ dependencies: [
104
+ AiPromptContextBuilder,
105
+ ResolveAiCapabilityUseCase,
106
+ Ai,
107
+ AiSdkTools,
108
+ ListTagsUseCase
109
+ ]
110
+ });
111
+ export { WbGeneratePageContentUseCaseImplementation };
112
+
113
+ //# sourceMappingURL=WbGeneratePageContentUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js","sources":["../../../../src/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.ts"],"sourcesContent":["import { stepCountIs } from \"ai\";\nimport { Result } from \"@webiny/feature/api\";\nimport { Ai } from \"@webiny/api-core/features/ai/index.js\";\nimport { AiSdkTools } from \"@webiny/api-core/features/ai/index.js\";\nimport { ListTagsUseCase } from \"@webiny/api-file-manager/features/file/ListTags/index.js\";\nimport {\n ResolveAiCapabilityUseCase,\n withAdditionalInstructions\n} from \"~/api/features/Capabilities/index.js\";\nimport { WB_GENERATE_PAGE_CAPABILITY } from \"./capability.js\";\nimport {\n AiPromptContextBuilder,\n formatAdditionalFilesContext\n} from \"~/api/features/AiPromptContext/index.js\";\nimport { createReadProjectFileTool } from \"~/api/features/AiPromptContext/ReadProjectFileTool.js\";\nimport { WbGeneratePageContentUseCase } from \"./abstractions.js\";\nimport type {\n WbGeneratePageContentParams,\n GeneratePageContentResult,\n GenerationTelemetry\n} from \"./abstractions.js\";\nimport { buildDomainPrompt } from \"./buildPrompt.js\";\nimport { LlmJsonResponse } from \"~/domain/LlmJsonResponse.js\";\nimport { ComponentFilter } from \"./ComponentFilter.js\";\n\nclass WbGeneratePageContentUseCaseImpl implements WbGeneratePageContentUseCase.Interface {\n constructor(\n private promptContextBuilder: AiPromptContextBuilder.Interface,\n private resolveCapability: ResolveAiCapabilityUseCase.Interface,\n private ai: Ai.Interface,\n private aiSdkTools: AiSdkTools.Interface,\n private listTags: ListTagsUseCase.Interface\n ) {}\n\n async execute(\n params: WbGeneratePageContentParams\n ): Promise<Result<GeneratePageContentResult, Error>> {\n const resolved = await this.resolveCapability.execute(WB_GENERATE_PAGE_CAPABILITY);\n if (resolved.isFail()) {\n return Result.fail(resolved.error);\n }\n\n const capability = resolved.value;\n\n const sdkTools = this.aiSdkTools.getToolSet();\n\n const context = await this.promptContextBuilder.execute({\n projectId: params.projectId,\n readerPersonaId: params.readerPersonaId,\n writerPersonaId: params.writerPersonaId,\n excludedFileIds: params.excludedFileIds,\n additionalFileIds: params.additionalFileIds\n });\n\n if (context.allProjectFiles.length > 0) {\n const projectFileTool = createReadProjectFileTool(\n context.allProjectFiles,\n context.excludedFileIds\n );\n Object.assign(sdkTools, projectFileTool);\n }\n\n // Fetch image tags so the prompt can enumerate what's queryable; without\n // this the model invents tag/IDs instead of calling listImagesByTag.\n const tagsResult = await this.listTags.execute({\n where: { type_startsWith: \"image/\" },\n limit: 100\n });\n const imageTags = tagsResult.isOk() ? tagsResult.value.map(t => t.tag) : [];\n\n const components = params.components as Array<{ name: string }>;\n const systemText = withAdditionalInstructions(\n capability,\n buildDomainPrompt(components, params.tools, imageTags) + context.toString()\n );\n\n const system = {\n role: \"system\" as const,\n content: systemText,\n providerOptions: {\n anthropic: {\n cacheControl: { type: \"ephemeral\" }\n }\n }\n };\n\n try {\n const aiResult = await this.ai.generateText({\n model: capability.model,\n connection: capability.connection,\n system,\n toolChoice: \"auto\",\n prompt: params.prompt + formatAdditionalFilesContext(context.additionalFiles),\n ...(Object.keys(sdkTools).length > 0\n ? { tools: sdkTools, stopWhen: stepCountIs(20) }\n : {})\n });\n\n const text =\n aiResult.text ||\n (aiResult.steps.filter(step => step.text.length > 0).pop()?.text ?? \"\");\n\n const elements = LlmJsonResponse.fromRawText(text).toArray();\n const componentFilter = new ComponentFilter(components);\n const output = JSON.stringify(componentFilter.filter(elements));\n\n const filesRead = new Set<string>();\n let toolCallsMade = 0;\n for (const step of aiResult.steps) {\n for (const call of step.toolCalls) {\n toolCallsMade++;\n if (call.toolName === \"read_project_file\") {\n const input = call.input as { fileId?: string };\n if (input.fileId) {\n filesRead.add(input.fileId);\n }\n }\n }\n }\n\n const telemetry: GenerationTelemetry = {\n filesRead: [...filesRead],\n cacheHit: context.cacheHit,\n toolCallsMade,\n totalSteps: aiResult.steps.length,\n toolsAvailable: Object.keys(sdkTools),\n imageTagsInPrompt: imageTags\n };\n\n return Result.ok({ output, telemetry });\n } catch (error) {\n return Result.fail(\n new Error(\n `AI generation failed: ${error instanceof Error ? error.message : String(error)}`\n )\n );\n }\n }\n}\n\nexport const WbGeneratePageContentUseCaseImplementation =\n WbGeneratePageContentUseCase.createImplementation({\n implementation: WbGeneratePageContentUseCaseImpl,\n dependencies: [\n AiPromptContextBuilder,\n ResolveAiCapabilityUseCase,\n Ai,\n AiSdkTools,\n ListTagsUseCase\n ]\n });\n"],"names":["WbGeneratePageContentUseCaseImpl","promptContextBuilder","resolveCapability","ai","aiSdkTools","listTags","params","resolved","WB_GENERATE_PAGE_CAPABILITY","Result","capability","sdkTools","context","projectFileTool","createReadProjectFileTool","Object","tagsResult","imageTags","t","components","systemText","withAdditionalInstructions","buildDomainPrompt","system","aiResult","formatAdditionalFilesContext","stepCountIs","text","step","elements","LlmJsonResponse","componentFilter","ComponentFilter","output","JSON","filesRead","Set","toolCallsMade","call","input","telemetry","error","Error","String","WbGeneratePageContentUseCaseImplementation","WbGeneratePageContentUseCase","AiPromptContextBuilder","ResolveAiCapabilityUseCase","Ai","AiSdkTools","ListTagsUseCase"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ export interface WbGeneratePageContentParams {
3
+ prompt: string;
4
+ components: unknown;
5
+ tools: unknown;
6
+ projectId?: string | null;
7
+ excludedFileIds?: string[] | null;
8
+ readerPersonaId?: string | null;
9
+ writerPersonaId?: string | null;
10
+ additionalFileIds?: string[] | null;
11
+ }
12
+ export interface GenerationTelemetry {
13
+ filesRead: string[];
14
+ cacheHit: boolean;
15
+ toolCallsMade: number;
16
+ totalSteps: number;
17
+ toolsAvailable: string[];
18
+ imageTagsInPrompt: string[];
19
+ }
20
+ export interface GeneratePageContentResult {
21
+ output: string;
22
+ telemetry: GenerationTelemetry;
23
+ }
24
+ export interface IWbGeneratePageContentUseCase {
25
+ execute(params: WbGeneratePageContentParams): Promise<Result<GeneratePageContentResult, Error>>;
26
+ }
27
+ export declare const WbGeneratePageContentUseCase: import("@webiny/di").Abstraction<IWbGeneratePageContentUseCase>;
28
+ export declare namespace WbGeneratePageContentUseCase {
29
+ type Interface = IWbGeneratePageContentUseCase;
30
+ type Params = WbGeneratePageContentParams;
31
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const WbGeneratePageContentUseCase = createAbstraction("AiPowerUpsWbGeneratePageContentUseCase");
3
+ export { WbGeneratePageContentUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/WbGeneratePageContent/abstractions.js","sources":["../../../../src/api/features/WbGeneratePageContent/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\n\nexport interface WbGeneratePageContentParams {\n prompt: string;\n components: unknown;\n tools: unknown;\n projectId?: string | null;\n excludedFileIds?: string[] | null;\n readerPersonaId?: string | null;\n writerPersonaId?: string | null;\n additionalFileIds?: string[] | null;\n}\n\nexport interface GenerationTelemetry {\n filesRead: string[];\n cacheHit: boolean;\n toolCallsMade: number;\n totalSteps: number;\n toolsAvailable: string[];\n imageTagsInPrompt: string[];\n}\n\nexport interface GeneratePageContentResult {\n output: string;\n telemetry: GenerationTelemetry;\n}\n\nexport interface IWbGeneratePageContentUseCase {\n execute(params: WbGeneratePageContentParams): Promise<Result<GeneratePageContentResult, Error>>;\n}\n\nexport const WbGeneratePageContentUseCase = createAbstraction<IWbGeneratePageContentUseCase>(\n \"AiPowerUpsWbGeneratePageContentUseCase\"\n);\n\nexport namespace WbGeneratePageContentUseCase {\n export type Interface = IWbGeneratePageContentUseCase;\n export type Params = WbGeneratePageContentParams;\n}\n"],"names":["WbGeneratePageContentUseCase","createAbstraction"],"mappings":";AA+BO,MAAMA,+BAA+BC,kBACxC"}
@@ -0,0 +1,3 @@
1
+ export declare function buildDomainPrompt(components: Array<{
2
+ name: string;
3
+ }>, tools: unknown, availableImageTags: string[]): string;
@@ -0,0 +1,158 @@
1
+ function buildDomainPrompt(components, tools, availableImageTags) {
2
+ const componentNames = components.map((c)=>`"${c.name}"`).join(" | ");
3
+ const tagListing = availableImageTags.length > 0 ? availableImageTags.map((t)=>`\`${t}\``).join(", ") : "(no image tags available in the File Manager — image fields should be left empty or omitted)";
4
+ return `You are a page content generator. Given a user prompt, generate structured page content using the provided component catalog and available tools.
5
+
6
+ ###
7
+
8
+ ### Rich Text Content
9
+
10
+ A single Webiny/Lexical element CAN contain an entire article, blog post, or content section,
11
+ with all headings, paragraphs, lists, and blockquotes in a single HTML string.
12
+
13
+ Create separate Webiny/Lexical elements when it needs to be mixed with other content elements.
14
+ Example: RichText - Banner - RichText - Image - Banner - RichText
15
+
16
+ ### Image Selection
17
+
18
+ You MUST call the \`listImagesByTag\` tool BEFORE emitting any \`resolveImage\` envelope.
19
+ Do NOT invent image IDs. Any ID that was not returned by \`listImagesByTag\` will fail to resolve and the image field will end up empty in the editor.
20
+
21
+ The File Manager currently has images tagged with: ${tagListing}.
22
+
23
+ When a component needs an image:
24
+ 1. Pick the tag from the list above that best matches the page topic. Only use tags that appear in the list — never invent new tags.
25
+ 2. Call \`listImagesByTag\` with that tag.
26
+ 3. If the results are non-empty, choose the most appropriate image and reference it using:
27
+ { "tool": "resolveImage", "params": { "id": "<image_id_from_search>" } }
28
+ 4. If the results are empty, try one more tag from the list. If still nothing, leave the image field empty (do NOT invent an ID).
29
+
30
+ You MUST generate the full page content as JSON after using any tools.
31
+ Tool calls are for gathering information — your final response must
32
+ always be the complete page JSON array.
33
+
34
+ ### SEO & Content Structure Best Practices
35
+
36
+ When generating page content, follow these SEO guidelines:
37
+
38
+ Heading hierarchy:
39
+ - Use exactly ONE <h1> per page, as the main title/headline.
40
+ - Use <h2> for major sections, <h3> for subsections. Never skip levels (e.g., no <h3> directly after <h1>).
41
+ - Headings should be descriptive and include relevant keywords naturally — avoid generic headings like "Introduction" or "Section 1".
42
+
43
+ Paragraphs and readability:
44
+ - Keep paragraphs short — 2 to 4 sentences each.
45
+ - Use <strong> and <em> to emphasize key terms and phrases that a reader scanning the page should notice.
46
+ - Use bullet lists (<ul>) or numbered lists (<ol>) to break down complex information.
47
+ - Write in an active voice. Be direct and concise.
48
+
49
+ Content structure:
50
+ - Lead with the most important information first (inverted pyramid).
51
+ - Include a compelling opening paragraph immediately after the <h1> that summarizes the page's value proposition.
52
+ - Use transition sentences between sections to maintain reading flow.
53
+ - End with a clear call-to-action or summary.
54
+
55
+ Keyword usage:
56
+ - Incorporate the main topic keywords naturally in the <h1>, at least one <h2>, the opening paragraph, and throughout the body.
57
+ - Avoid keyword stuffing — content must read naturally to a human.
58
+ - Use semantic variations and related terms rather than repeating the exact same phrase.
59
+
60
+ Links:
61
+ - Where appropriate, use descriptive anchor text for links (not "click here" or "read more").
62
+
63
+ ### Component Catalog
64
+
65
+ \`\`\`json
66
+ ${JSON.stringify(components, null, 2)}
67
+ \`\`\`
68
+
69
+ Grid layout options: \`12\`, \`6-6\`, \`4-4-4\`, \`8-4\`, \`4-8\`, \`3-3-3-3\`
70
+
71
+ ### Available Tools
72
+
73
+ For input fields that require post-processing, wrap the value in a tool envelope: \`{ "tool": "<toolName>", "params": { ... } }\`.
74
+
75
+ Plain values (text, number, boolean, select) should be set directly without an envelope.
76
+
77
+ \`\`\`json
78
+ ${JSON.stringify(tools, null, 2)}
79
+ \`\`\`
80
+
81
+ ### Page Schema
82
+
83
+ \`\`\`typescript
84
+ type ComponentName = ${componentNames};
85
+
86
+ type ElementSchema = {
87
+ component: ComponentName;
88
+ inputs: Record<string, unknown>;
89
+ };
90
+
91
+ type CreateElementAction = {
92
+ action: "CreateElement";
93
+ params: ElementSchema;
94
+ };
95
+
96
+ type PageSchema = {
97
+ page: ElementSchema[];
98
+ };
99
+ \`\`\`
100
+
101
+ For slot inputs, use \`{ "action": "CreateElement", "params": { "component": "...", "inputs": { ... } } }\`. For root items inside the "page" array, use \`ElementSchema\` shape.
102
+ Note: \`CreateElement\` uses "action" — it is a structural instruction for the page builder, not a tool invocation.
103
+
104
+ ### Grid Structure Example
105
+
106
+ When using Webiny/Grid, each column entry must use a CreateElement action
107
+ to create a Webiny/GridColumn, and the GridColumn's children contain the
108
+ actual content elements:
109
+
110
+ \`\`\`json
111
+ {
112
+ "component": "Webiny/Grid",
113
+ "inputs": {
114
+ "gridLayout": "6-6",
115
+ "columns": [
116
+ {
117
+ "children": {
118
+ "action": "CreateElement",
119
+ "params": {
120
+ "component": "Webiny/GridColumn",
121
+ "inputs": {
122
+ "children": [
123
+ {
124
+ "action": "CreateElement",
125
+ "params": {
126
+ "component": "Webiny/Lexical",
127
+ "inputs": {
128
+ "content": {
129
+ "tool": "textToLexical",
130
+ "params": { "text": "..." }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ ]
136
+ }
137
+ }
138
+ }
139
+ }
140
+ ]
141
+ }
142
+ }
143
+ \`\`\`
144
+
145
+ Key rules:
146
+ - "columns" is an array, not an object with numeric keys
147
+ - Each column has a "children" property containing a single CreateElement
148
+ for Webiny/GridColumn
149
+ - Webiny/GridColumn's "children" is an array of CreateElement actions for
150
+ the actual content
151
+
152
+ IMPORTANT: Only use components listed in the Component Catalog above. Do NOT invent component names. Any element with an unrecognized component name will be silently removed from the output.
153
+
154
+ You MUST return a parsable JSON object with a "page" key containing the array of elements. No extra text outside the JSON.`;
155
+ }
156
+ export { buildDomainPrompt };
157
+
158
+ //# sourceMappingURL=buildPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/WbGeneratePageContent/buildPrompt.js","sources":["../../../../src/api/features/WbGeneratePageContent/buildPrompt.ts"],"sourcesContent":["export function buildDomainPrompt(\n components: Array<{ name: string }>,\n tools: unknown,\n availableImageTags: string[]\n): string {\n const componentNames = components.map(c => `\"${c.name}\"`).join(\" | \");\n const tagListing =\n availableImageTags.length > 0\n ? availableImageTags.map(t => `\\`${t}\\``).join(\", \")\n : \"(no image tags available in the File Manager — image fields should be left empty or omitted)\";\n return `You are a page content generator. Given a user prompt, generate structured page content using the provided component catalog and available tools.\n\n###\n\n### Rich Text Content\n\nA single Webiny/Lexical element CAN contain an entire article, blog post, or content section,\nwith all headings, paragraphs, lists, and blockquotes in a single HTML string.\n\nCreate separate Webiny/Lexical elements when it needs to be mixed with other content elements.\nExample: RichText - Banner - RichText - Image - Banner - RichText\n\n### Image Selection\n\nYou MUST call the \\`listImagesByTag\\` tool BEFORE emitting any \\`resolveImage\\` envelope.\nDo NOT invent image IDs. Any ID that was not returned by \\`listImagesByTag\\` will fail to resolve and the image field will end up empty in the editor.\n\nThe File Manager currently has images tagged with: ${tagListing}.\n\nWhen a component needs an image:\n1. Pick the tag from the list above that best matches the page topic. Only use tags that appear in the list — never invent new tags.\n2. Call \\`listImagesByTag\\` with that tag.\n3. If the results are non-empty, choose the most appropriate image and reference it using:\n { \"tool\": \"resolveImage\", \"params\": { \"id\": \"<image_id_from_search>\" } }\n4. If the results are empty, try one more tag from the list. If still nothing, leave the image field empty (do NOT invent an ID).\n\nYou MUST generate the full page content as JSON after using any tools.\nTool calls are for gathering information — your final response must\nalways be the complete page JSON array.\n\n### SEO & Content Structure Best Practices\n\nWhen generating page content, follow these SEO guidelines:\n\nHeading hierarchy:\n- Use exactly ONE <h1> per page, as the main title/headline.\n- Use <h2> for major sections, <h3> for subsections. Never skip levels (e.g., no <h3> directly after <h1>).\n- Headings should be descriptive and include relevant keywords naturally — avoid generic headings like \"Introduction\" or \"Section 1\".\n\nParagraphs and readability:\n- Keep paragraphs short — 2 to 4 sentences each.\n- Use <strong> and <em> to emphasize key terms and phrases that a reader scanning the page should notice.\n- Use bullet lists (<ul>) or numbered lists (<ol>) to break down complex information.\n- Write in an active voice. Be direct and concise.\n\nContent structure:\n- Lead with the most important information first (inverted pyramid).\n- Include a compelling opening paragraph immediately after the <h1> that summarizes the page's value proposition.\n- Use transition sentences between sections to maintain reading flow.\n- End with a clear call-to-action or summary.\n\nKeyword usage:\n- Incorporate the main topic keywords naturally in the <h1>, at least one <h2>, the opening paragraph, and throughout the body.\n- Avoid keyword stuffing — content must read naturally to a human.\n- Use semantic variations and related terms rather than repeating the exact same phrase.\n\nLinks:\n- Where appropriate, use descriptive anchor text for links (not \"click here\" or \"read more\").\n\n### Component Catalog\n\n\\`\\`\\`json\n${JSON.stringify(components, null, 2)}\n\\`\\`\\`\n\nGrid layout options: \\`12\\`, \\`6-6\\`, \\`4-4-4\\`, \\`8-4\\`, \\`4-8\\`, \\`3-3-3-3\\`\n\n### Available Tools\n\nFor input fields that require post-processing, wrap the value in a tool envelope: \\`{ \"tool\": \"<toolName>\", \"params\": { ... } }\\`.\n\nPlain values (text, number, boolean, select) should be set directly without an envelope.\n\n\\`\\`\\`json\n${JSON.stringify(tools, null, 2)}\n\\`\\`\\`\n\n### Page Schema\n\n\\`\\`\\`typescript\ntype ComponentName = ${componentNames};\n\ntype ElementSchema = {\n component: ComponentName;\n inputs: Record<string, unknown>;\n};\n\ntype CreateElementAction = {\n action: \"CreateElement\";\n params: ElementSchema;\n};\n\ntype PageSchema = {\n page: ElementSchema[];\n};\n\\`\\`\\`\n\nFor slot inputs, use \\`{ \"action\": \"CreateElement\", \"params\": { \"component\": \"...\", \"inputs\": { ... } } }\\`. For root items inside the \"page\" array, use \\`ElementSchema\\` shape.\nNote: \\`CreateElement\\` uses \"action\" — it is a structural instruction for the page builder, not a tool invocation.\n\n### Grid Structure Example\n\nWhen using Webiny/Grid, each column entry must use a CreateElement action\nto create a Webiny/GridColumn, and the GridColumn's children contain the\nactual content elements:\n\n\\`\\`\\`json\n{\n \"component\": \"Webiny/Grid\",\n \"inputs\": {\n \"gridLayout\": \"6-6\",\n \"columns\": [\n {\n \"children\": {\n \"action\": \"CreateElement\",\n \"params\": {\n \"component\": \"Webiny/GridColumn\",\n \"inputs\": {\n \"children\": [\n {\n \"action\": \"CreateElement\",\n \"params\": {\n \"component\": \"Webiny/Lexical\",\n \"inputs\": {\n \"content\": {\n \"tool\": \"textToLexical\",\n \"params\": { \"text\": \"...\" }\n }\n }\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n}\n\\`\\`\\`\n\nKey rules:\n- \"columns\" is an array, not an object with numeric keys\n- Each column has a \"children\" property containing a single CreateElement\n for Webiny/GridColumn\n- Webiny/GridColumn's \"children\" is an array of CreateElement actions for\n the actual content\n\nIMPORTANT: Only use components listed in the Component Catalog above. Do NOT invent component names. Any element with an unrecognized component name will be silently removed from the output.\n\nYou MUST return a parsable JSON object with a \"page\" key containing the array of elements. No extra text outside the JSON.`;\n}\n"],"names":["buildDomainPrompt","components","tools","availableImageTags","componentNames","c","tagListing","t","JSON"],"mappings":"AAAO,SAASA,kBACZC,UAAmC,EACnCC,KAAc,EACdC,kBAA4B;IAE5B,MAAMC,iBAAiBH,WAAW,GAAG,CAACI,CAAAA,IAAK,CAAC,CAAC,EAAEA,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAC/D,MAAMC,aACFH,mBAAmB,MAAM,GAAG,IACtBA,mBAAmB,GAAG,CAACI,CAAAA,IAAK,CAAC,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAC7C;IACV,OAAO,CAAC;;;;;;;;;;;;;;;;;mDAiBuC,EAAED,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6ChE,EAAEE,KAAK,SAAS,CAACP,YAAY,MAAM,GAAG;;;;;;;;;;;;AAYtC,EAAEO,KAAK,SAAS,CAACN,OAAO,MAAM,GAAG;;;;;;qBAMZ,EAAEE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0HAsEoF,CAAC;AAC3H"}
@@ -0,0 +1,16 @@
1
+ import { AiCapability } from "../../../api/features/Capabilities/index.js";
2
+ export declare const WB_GENERATE_PAGE_CAPABILITY = "wbGeneratePage";
3
+ /**
4
+ * No `guidance`, for the same reason as CMS entry generation: the prompt carries the component
5
+ * catalog and the tool definitions, both computed per request.
6
+ */
7
+ declare class WbGeneratePageCapabilityImpl implements AiCapability.Interface {
8
+ readonly id = "wbGeneratePage";
9
+ readonly label = "Page generation";
10
+ readonly description = "Writes page content from a prompt using the Website Builder components available in the project.";
11
+ readonly defaultRole: "standard";
12
+ }
13
+ export declare const WbGeneratePageCapability: typeof WbGeneratePageCapabilityImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<import("~/api/features/Capabilities/index.js").IAiCapability>;
15
+ };
16
+ export {};
@@ -0,0 +1,17 @@
1
+ import { AiCapability } from "../Capabilities/index.js";
2
+ const WB_GENERATE_PAGE_CAPABILITY = "wbGeneratePage";
3
+ class WbGeneratePageCapabilityImpl {
4
+ constructor(){
5
+ this.id = WB_GENERATE_PAGE_CAPABILITY;
6
+ this.label = "Page generation";
7
+ this.description = "Writes page content from a prompt using the Website Builder components available in the project.";
8
+ this.defaultRole = "standard";
9
+ }
10
+ }
11
+ const WbGeneratePageCapability = AiCapability.createImplementation({
12
+ implementation: WbGeneratePageCapabilityImpl,
13
+ dependencies: []
14
+ });
15
+ export { WB_GENERATE_PAGE_CAPABILITY, WbGeneratePageCapability };
16
+
17
+ //# sourceMappingURL=capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/WbGeneratePageContent/capability.js","sources":["../../../../src/api/features/WbGeneratePageContent/capability.ts"],"sourcesContent":["import { AiCapability } from \"~/api/features/Capabilities/index.js\";\n\nexport const WB_GENERATE_PAGE_CAPABILITY = \"wbGeneratePage\";\n\n/**\n * No `guidance`, for the same reason as CMS entry generation: the prompt carries the component\n * catalog and the tool definitions, both computed per request.\n */\nclass WbGeneratePageCapabilityImpl implements AiCapability.Interface {\n readonly id = WB_GENERATE_PAGE_CAPABILITY;\n readonly label = \"Page generation\";\n readonly description =\n \"Writes page content from a prompt using the Website Builder components available in the project.\";\n readonly defaultRole = \"standard\" as const;\n}\n\nexport const WbGeneratePageCapability = AiCapability.createImplementation({\n implementation: WbGeneratePageCapabilityImpl,\n dependencies: []\n});\n"],"names":["WB_GENERATE_PAGE_CAPABILITY","WbGeneratePageCapabilityImpl","WbGeneratePageCapability","AiCapability"],"mappings":";AAEO,MAAMA,8BAA8B;AAM3C,MAAMC;;aACO,EAAE,GAAGD;aACL,KAAK,GAAG;aACR,WAAW,GAChB;aACK,WAAW,GAAG;;AAC3B;AAEO,MAAME,2BAA2BC,aAAa,oBAAoB,CAAC;IACtE,gBAAgBF;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,4 @@
1
+ export declare const WbGeneratePageContentFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,15 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { WbGeneratePageContentUseCaseImplementation } from "./WbGeneratePageContentUseCase.js";
3
+ import { WbGeneratePageContentTask } from "./WbGeneratePageContentTask.js";
4
+ import { WbGeneratePageCapability } from "./capability.js";
5
+ const WbGeneratePageContentFeature = createFeature({
6
+ name: "AiPowerUps/WbGeneratePageContent",
7
+ register (container) {
8
+ container.register(WbGeneratePageCapability);
9
+ container.register(WbGeneratePageContentUseCaseImplementation);
10
+ container.register(WbGeneratePageContentTask);
11
+ }
12
+ });
13
+ export { WbGeneratePageContentFeature };
14
+
15
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/WbGeneratePageContent/feature.js","sources":["../../../../src/api/features/WbGeneratePageContent/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WbGeneratePageContentUseCaseImplementation } from \"./WbGeneratePageContentUseCase.js\";\nimport { WbGeneratePageContentTask } from \"./WbGeneratePageContentTask.js\";\nimport { WbGeneratePageCapability } from \"./capability.js\";\n\nexport const WbGeneratePageContentFeature = createFeature({\n name: \"AiPowerUps/WbGeneratePageContent\",\n register(container) {\n container.register(WbGeneratePageCapability);\n container.register(WbGeneratePageContentUseCaseImplementation);\n container.register(WbGeneratePageContentTask);\n }\n});\n"],"names":["WbGeneratePageContentFeature","createFeature","container","WbGeneratePageCapability","WbGeneratePageContentUseCaseImplementation","WbGeneratePageContentTask"],"mappings":";;;;AAKO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { WbGeneratePageContentUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { WbGeneratePageContentUseCase } from "./abstractions.js";