@webiny/ai-powerups 6.4.12-beta.5 → 6.5.0-beta.0

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 (336) hide show
  1. package/admin/Extension.js +7 -1
  2. package/admin/Extension.js.map +1 -1
  3. package/admin/domain/modelRoles.d.ts +17 -0
  4. package/admin/domain/modelRoles.js +8 -0
  5. package/admin/domain/modelRoles.js.map +1 -0
  6. package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.d.ts +12 -0
  7. package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.js +46 -0
  8. package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.js.map +1 -0
  9. package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.d.ts +11 -0
  10. package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.js +18 -0
  11. package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.js.map +1 -0
  12. package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.d.ts +11 -0
  13. package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.js +18 -0
  14. package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.js.map +1 -0
  15. package/admin/features/compareEntryRevisions/abstractions.d.ts +32 -0
  16. package/admin/features/compareEntryRevisions/abstractions.js +7 -0
  17. package/admin/features/compareEntryRevisions/abstractions.js.map +1 -0
  18. package/admin/features/compareEntryRevisions/feature.d.ts +1 -0
  19. package/admin/features/compareEntryRevisions/feature.js +15 -0
  20. package/admin/features/compareEntryRevisions/feature.js.map +1 -0
  21. package/admin/features/compareEntryRevisions/index.d.ts +2 -0
  22. package/admin/features/compareEntryRevisions/index.js +2 -0
  23. package/admin/features/feature.js +4 -0
  24. package/admin/features/feature.js.map +1 -1
  25. package/admin/features/generateEntryContent/GenerateEntryContentGateway.d.ts +12 -0
  26. package/admin/features/generateEntryContent/GenerateEntryContentGateway.js +45 -0
  27. package/admin/features/generateEntryContent/GenerateEntryContentGateway.js.map +1 -0
  28. package/admin/features/generateEntryContent/GenerateEntryContentUseCase.d.ts +11 -0
  29. package/admin/features/generateEntryContent/GenerateEntryContentUseCase.js +18 -0
  30. package/admin/features/generateEntryContent/GenerateEntryContentUseCase.js.map +1 -0
  31. package/admin/features/generateEntryContent/abstractions.d.ts +24 -0
  32. package/admin/features/generateEntryContent/abstractions.js +6 -0
  33. package/admin/features/generateEntryContent/abstractions.js.map +1 -0
  34. package/admin/features/generateEntryContent/feature.d.ts +1 -0
  35. package/admin/features/generateEntryContent/feature.js +13 -0
  36. package/admin/features/generateEntryContent/feature.js.map +1 -0
  37. package/admin/features/generateEntryContent/index.d.ts +3 -0
  38. package/admin/features/generateEntryContent/index.js +2 -0
  39. package/admin/features/generatePageContent/GeneratePageContentGateway.js +2 -0
  40. package/admin/features/generatePageContent/GeneratePageContentGateway.js.map +1 -1
  41. package/admin/features/generatePageContent/abstractions.d.ts +1 -0
  42. package/admin/features/generatePageContent/abstractions.js.map +1 -1
  43. package/admin/features/listCapabilities/ListCapabilitiesGateway.d.ts +12 -0
  44. package/admin/features/listCapabilities/ListCapabilitiesGateway.js +34 -0
  45. package/admin/features/listCapabilities/ListCapabilitiesGateway.js.map +1 -0
  46. package/admin/features/listCapabilities/ListCapabilitiesRepository.d.ts +13 -0
  47. package/admin/features/listCapabilities/ListCapabilitiesRepository.js +27 -0
  48. package/admin/features/listCapabilities/ListCapabilitiesRepository.js.map +1 -0
  49. package/admin/features/listCapabilities/ListCapabilitiesUseCase.d.ts +10 -0
  50. package/admin/features/listCapabilities/ListCapabilitiesUseCase.js +18 -0
  51. package/admin/features/listCapabilities/ListCapabilitiesUseCase.js.map +1 -0
  52. package/admin/features/listCapabilities/abstractions.d.ts +28 -0
  53. package/admin/features/listCapabilities/abstractions.js +7 -0
  54. package/admin/features/listCapabilities/abstractions.js.map +1 -0
  55. package/admin/features/listCapabilities/feature.d.ts +3 -0
  56. package/admin/features/listCapabilities/feature.js +21 -0
  57. package/admin/features/listCapabilities/feature.js.map +1 -0
  58. package/admin/features/listCapabilities/index.d.ts +3 -0
  59. package/admin/features/listCapabilities/index.js +2 -0
  60. package/admin/features/listModels/ListModelsGateway.js +18 -1
  61. package/admin/features/listModels/ListModelsGateway.js.map +1 -1
  62. package/admin/features/listModels/abstractions.d.ts +2 -0
  63. package/admin/features/listModels/abstractions.js.map +1 -1
  64. package/admin/features/settings/shared/abstractions.d.ts +58 -25
  65. package/admin/features/settings/shared/abstractions.js.map +1 -1
  66. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.d.ts +2 -2
  67. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.js +3 -4
  68. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.js.map +1 -1
  69. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js +13 -1
  70. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js.map +1 -1
  71. package/admin/presentation/AiPowerUpsSettings/feature.js +6 -2
  72. package/admin/presentation/AiPowerUpsSettings/feature.js.map +1 -1
  73. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.d.ts +13 -0
  74. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.js +9 -0
  75. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.js.map +1 -0
  76. package/admin/presentation/AiPowerUpsSettings/index.d.ts +1 -0
  77. package/admin/presentation/AiPowerUpsSettings/index.js +1 -0
  78. package/admin/presentation/AiPowerUpsSettings/settingsGroup.d.ts +6 -0
  79. package/admin/presentation/AiPowerUpsSettings/settingsGroup.js.map +1 -1
  80. package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.d.ts +20 -0
  81. package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.js +108 -0
  82. package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.js.map +1 -0
  83. package/admin/presentation/AiPromptFormFactory/abstractions.d.ts +14 -0
  84. package/admin/presentation/AiPromptFormFactory/abstractions.js +5 -0
  85. package/admin/presentation/AiPromptFormFactory/abstractions.js.map +1 -0
  86. package/admin/presentation/AiPromptFormFactory/feature.d.ts +1 -0
  87. package/admin/presentation/AiPromptFormFactory/feature.js +11 -0
  88. package/admin/presentation/AiPromptFormFactory/feature.js.map +1 -0
  89. package/admin/presentation/CapabilitiesSettings.d.ts +39 -0
  90. package/admin/presentation/CapabilitiesSettings.js +104 -0
  91. package/admin/presentation/CapabilitiesSettings.js.map +1 -0
  92. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.d.ts +9 -0
  93. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.js +118 -0
  94. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.js.map +1 -0
  95. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.d.ts +9 -0
  96. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.js +72 -0
  97. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.js.map +1 -0
  98. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.d.ts +4 -0
  99. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.js +21 -0
  100. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.js.map +1 -0
  101. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.d.ts +2 -0
  102. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.js +17 -0
  103. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.js.map +1 -0
  104. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.d.ts +25 -0
  105. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.js +90 -0
  106. package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.js.map +1 -0
  107. package/admin/presentation/CmsCompareEntryRevisions/Extension.d.ts +2 -0
  108. package/admin/presentation/CmsCompareEntryRevisions/Extension.js +16 -0
  109. package/admin/presentation/CmsCompareEntryRevisions/Extension.js.map +1 -0
  110. package/admin/presentation/CmsCompareEntryRevisions/abstractions.d.ts +29 -0
  111. package/admin/presentation/CmsCompareEntryRevisions/abstractions.js +5 -0
  112. package/admin/presentation/CmsCompareEntryRevisions/abstractions.js.map +1 -0
  113. package/admin/presentation/CmsCompareEntryRevisions/feature.d.ts +3 -0
  114. package/admin/presentation/CmsCompareEntryRevisions/feature.js +17 -0
  115. package/admin/presentation/CmsCompareEntryRevisions/feature.js.map +1 -0
  116. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.d.ts +4 -0
  117. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js +27 -0
  118. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js.map +1 -0
  119. package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.d.ts +5 -0
  120. package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.js +106 -0
  121. package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.js.map +1 -0
  122. package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.d.ts +29 -0
  123. package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.js +120 -0
  124. package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.js.map +1 -0
  125. package/admin/presentation/CmsContentGeneration/Extension.d.ts +2 -0
  126. package/admin/presentation/CmsContentGeneration/Extension.js +27 -0
  127. package/admin/presentation/CmsContentGeneration/Extension.js.map +1 -0
  128. package/admin/presentation/CmsContentGeneration/abstractions.d.ts +20 -0
  129. package/admin/presentation/CmsContentGeneration/abstractions.js +5 -0
  130. package/admin/presentation/CmsContentGeneration/abstractions.js.map +1 -0
  131. package/admin/presentation/CmsContentGeneration/feature.d.ts +3 -0
  132. package/admin/presentation/CmsContentGeneration/feature.js +17 -0
  133. package/admin/presentation/CmsContentGeneration/feature.js.map +1 -0
  134. package/admin/presentation/CmsEntryWizard/CmsEntryWizard.d.ts +4 -0
  135. package/admin/presentation/CmsEntryWizard/CmsEntryWizard.js +113 -0
  136. package/admin/presentation/CmsEntryWizard/CmsEntryWizard.js.map +1 -0
  137. package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.d.ts +4 -0
  138. package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.js +19 -0
  139. package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.js.map +1 -0
  140. package/admin/presentation/CmsEntryWizard/Extension.d.ts +2 -0
  141. package/admin/presentation/CmsEntryWizard/Extension.js +10 -0
  142. package/admin/presentation/CmsEntryWizard/Extension.js.map +1 -0
  143. package/admin/presentation/ConnectionsSettings.d.ts +25 -0
  144. package/admin/presentation/ConnectionsSettings.js +52 -0
  145. package/admin/presentation/ConnectionsSettings.js.map +1 -0
  146. package/admin/presentation/ModelRolesSettings.d.ts +29 -0
  147. package/admin/presentation/ModelRolesSettings.js +67 -0
  148. package/admin/presentation/ModelRolesSettings.js.map +1 -0
  149. package/admin/presentation/ProjectsSettings.js +4 -4
  150. package/admin/presentation/ProjectsSettings.js.map +1 -1
  151. package/admin/presentation/ProvidersSettings.js +1 -1
  152. package/admin/presentation/ProvidersSettings.js.map +1 -1
  153. package/admin/presentation/WbContentGeneration/GenerateContentButton.js +2 -2
  154. package/admin/presentation/WbContentGeneration/GenerateContentButton.js.map +1 -1
  155. package/admin/presentation/WbContentGeneration/GenerateContentDialog.d.ts +2 -2
  156. package/admin/presentation/WbContentGeneration/GenerateContentDialog.js +2 -2
  157. package/admin/presentation/WbContentGeneration/GenerateContentDialog.js.map +1 -1
  158. package/admin/presentation/WbContentGeneration/GenerateContentPresenter.d.ts +4 -12
  159. package/admin/presentation/WbContentGeneration/GenerateContentPresenter.js +12 -94
  160. package/admin/presentation/WbContentGeneration/GenerateContentPresenter.js.map +1 -1
  161. package/admin/presentation/modelRoles.d.ts +10 -0
  162. package/admin/presentation/modelRoles.js +23 -0
  163. package/admin/presentation/modelRoles.js.map +1 -0
  164. package/api/Extension.js +16 -0
  165. package/api/Extension.js.map +1 -1
  166. package/api/features/AiImageEnrichment/AiImageEnrichmentTask.d.ts +10 -8
  167. package/api/features/AiImageEnrichment/AiImageEnrichmentTask.js +37 -42
  168. package/api/features/AiImageEnrichment/AiImageEnrichmentTask.js.map +1 -1
  169. package/api/features/AiImageEnrichment/capability.d.ts +13 -0
  170. package/api/features/AiImageEnrichment/capability.js +19 -0
  171. package/api/features/AiImageEnrichment/capability.js.map +1 -0
  172. package/api/features/AiImageEnrichment/feature.js +2 -0
  173. package/api/features/AiImageEnrichment/feature.js.map +1 -1
  174. package/api/features/AiPromptContext/AiPromptContextBuilder.d.ts +8 -1
  175. package/api/features/AiPromptContext/AiPromptContextBuilder.js +46 -2
  176. package/api/features/AiPromptContext/AiPromptContextBuilder.js.map +1 -1
  177. package/api/features/AiPromptContext/abstractions.d.ts +3 -0
  178. package/api/features/AiPromptContext/abstractions.js +9 -1
  179. package/api/features/AiPromptContext/abstractions.js.map +1 -1
  180. package/api/features/AiPromptContext/index.d.ts +1 -1
  181. package/api/features/AiPromptContext/index.js +1 -1
  182. package/api/features/Capabilities/CapabilitiesHandler.d.ts +28 -0
  183. package/api/features/Capabilities/CapabilitiesHandler.js +56 -0
  184. package/api/features/Capabilities/CapabilitiesHandler.js.map +1 -0
  185. package/api/features/Capabilities/ListAiCapabilitiesUseCase.d.ts +18 -0
  186. package/api/features/Capabilities/ListAiCapabilitiesUseCase.js +28 -0
  187. package/api/features/Capabilities/ListAiCapabilitiesUseCase.js.map +1 -0
  188. package/api/features/Capabilities/ResolveAiCapabilityUseCase.d.ts +30 -0
  189. package/api/features/Capabilities/ResolveAiCapabilityUseCase.js +88 -0
  190. package/api/features/Capabilities/ResolveAiCapabilityUseCase.js.map +1 -0
  191. package/api/features/Capabilities/abstractions.d.ts +77 -0
  192. package/api/features/Capabilities/abstractions.js +7 -0
  193. package/api/features/Capabilities/abstractions.js.map +1 -0
  194. package/api/features/Capabilities/composeSystemPrompt.d.ts +14 -0
  195. package/api/features/Capabilities/composeSystemPrompt.js +13 -0
  196. package/api/features/Capabilities/composeSystemPrompt.js.map +1 -0
  197. package/api/features/Capabilities/feature.d.ts +4 -0
  198. package/api/features/Capabilities/feature.js +15 -0
  199. package/api/features/Capabilities/feature.js.map +1 -0
  200. package/api/features/Capabilities/index.d.ts +5 -0
  201. package/api/features/Capabilities/index.js +3 -0
  202. package/api/features/Capabilities/types.d.ts +86 -0
  203. package/api/features/Capabilities/types.js +4 -0
  204. package/api/features/Capabilities/types.js.map +1 -0
  205. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.d.ts +20 -0
  206. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js +82 -0
  207. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js.map +1 -0
  208. package/api/features/CmsCompareEntryRevisions/abstractions.d.ts +18 -0
  209. package/api/features/CmsCompareEntryRevisions/abstractions.js +5 -0
  210. package/api/features/CmsCompareEntryRevisions/abstractions.js.map +1 -0
  211. package/api/features/CmsCompareEntryRevisions/capability.d.ts +13 -0
  212. package/api/features/CmsCompareEntryRevisions/capability.js +64 -0
  213. package/api/features/CmsCompareEntryRevisions/capability.js.map +1 -0
  214. package/api/features/CmsCompareEntryRevisions/feature.d.ts +4 -0
  215. package/api/features/CmsCompareEntryRevisions/feature.js +13 -0
  216. package/api/features/CmsCompareEntryRevisions/feature.js.map +1 -0
  217. package/api/features/CmsCompareEntryRevisions/index.d.ts +2 -0
  218. package/api/features/CmsCompareEntryRevisions/index.js +2 -0
  219. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.d.ts +33 -0
  220. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js +84 -0
  221. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js.map +1 -0
  222. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.d.ts +27 -0
  223. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js +133 -0
  224. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js.map +1 -0
  225. package/api/features/CmsGenerateEntryContent/abstractions.d.ts +36 -0
  226. package/api/features/CmsGenerateEntryContent/abstractions.js +5 -0
  227. package/api/features/CmsGenerateEntryContent/abstractions.js.map +1 -0
  228. package/api/features/CmsGenerateEntryContent/buildPrompt.d.ts +2 -0
  229. package/api/features/CmsGenerateEntryContent/buildPrompt.js +61 -0
  230. package/api/features/CmsGenerateEntryContent/buildPrompt.js.map +1 -0
  231. package/api/features/CmsGenerateEntryContent/capability.d.ts +17 -0
  232. package/api/features/CmsGenerateEntryContent/capability.js +17 -0
  233. package/api/features/CmsGenerateEntryContent/capability.js.map +1 -0
  234. package/api/features/CmsGenerateEntryContent/feature.d.ts +4 -0
  235. package/api/features/CmsGenerateEntryContent/feature.js +15 -0
  236. package/api/features/CmsGenerateEntryContent/feature.js.map +1 -0
  237. package/api/features/CmsGenerateEntryContent/index.d.ts +1 -0
  238. package/api/features/CmsGenerateEntryContent/index.js +1 -0
  239. package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.d.ts +2 -0
  240. package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.js +30 -0
  241. package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.js.map +1 -0
  242. package/api/features/CmsResolveImageTool/CmsResolveImageTool.d.ts +14 -0
  243. package/api/features/CmsResolveImageTool/CmsResolveImageTool.js +27 -0
  244. package/api/features/CmsResolveImageTool/CmsResolveImageTool.js.map +1 -0
  245. package/api/features/CmsResolveImageTool/feature.d.ts +4 -0
  246. package/api/features/CmsResolveImageTool/feature.js +11 -0
  247. package/api/features/CmsResolveImageTool/feature.js.map +1 -0
  248. package/api/features/Connections/ConnectionsGraphQLMapper.d.ts +20 -0
  249. package/api/features/Connections/ConnectionsGraphQLMapper.js +37 -0
  250. package/api/features/Connections/ConnectionsGraphQLMapper.js.map +1 -0
  251. package/api/features/Connections/ConnectionsHandler.d.ts +25 -0
  252. package/api/features/Connections/ConnectionsHandler.js +84 -0
  253. package/api/features/Connections/ConnectionsHandler.js.map +1 -0
  254. package/api/features/Connections/feature.d.ts +4 -0
  255. package/api/features/Connections/feature.js +13 -0
  256. package/api/features/Connections/feature.js.map +1 -0
  257. package/api/features/Connections/index.d.ts +2 -0
  258. package/api/features/Connections/index.js +1 -0
  259. package/api/features/Connections/legacyProviders.d.ts +26 -0
  260. package/api/features/Connections/legacyProviders.js +9 -0
  261. package/api/features/Connections/legacyProviders.js.map +1 -0
  262. package/api/features/Connections/types.d.ts +36 -0
  263. package/api/features/Connections/types.js +0 -0
  264. package/api/features/GetSettings/GetSettingsRepository.js +1 -1
  265. package/api/features/GetSettings/GetSettingsRepository.js.map +1 -1
  266. package/api/features/GetSettings/index.d.ts +1 -0
  267. package/api/features/GetSettings/index.js +1 -0
  268. package/api/features/ModelRoles/ModelRolesHandler.d.ts +15 -0
  269. package/api/features/ModelRoles/ModelRolesHandler.js +68 -0
  270. package/api/features/ModelRoles/ModelRolesHandler.js.map +1 -0
  271. package/api/features/ModelRoles/feature.d.ts +4 -0
  272. package/api/features/ModelRoles/feature.js +11 -0
  273. package/api/features/ModelRoles/feature.js.map +1 -0
  274. package/api/features/ModelRoles/index.d.ts +4 -0
  275. package/api/features/ModelRoles/index.js +2 -0
  276. package/api/features/ModelRoles/roles.d.ts +16 -0
  277. package/api/features/ModelRoles/roles.js +9 -0
  278. package/api/features/ModelRoles/roles.js.map +1 -0
  279. package/api/features/ModelRoles/types.d.ts +21 -0
  280. package/api/features/ModelRoles/types.js +7 -0
  281. package/api/features/ModelRoles/types.js.map +1 -0
  282. package/api/features/Providers/ProvidersHandler.js.map +1 -1
  283. package/api/features/Providers/types.d.ts +2 -2
  284. package/api/features/UpdateSettings/UpdateSettingsRepository.js +2 -2
  285. package/api/features/UpdateSettings/UpdateSettingsRepository.js.map +1 -1
  286. package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.d.ts +4 -3
  287. package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js +25 -15
  288. package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js.map +1 -1
  289. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.d.ts +3 -5
  290. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js +16 -23
  291. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js.map +1 -1
  292. package/api/features/WbGeneratePageContent/abstractions.d.ts +1 -0
  293. package/api/features/WbGeneratePageContent/abstractions.js.map +1 -1
  294. package/api/features/WbGeneratePageContent/capability.d.ts +16 -0
  295. package/api/features/WbGeneratePageContent/capability.js +17 -0
  296. package/api/features/WbGeneratePageContent/capability.js.map +1 -0
  297. package/api/features/WbGeneratePageContent/feature.js +2 -0
  298. package/api/features/WbGeneratePageContent/feature.js.map +1 -1
  299. package/api/features/WbTranslatePage/LexicalParser.d.ts +10 -0
  300. package/api/features/WbTranslatePage/LexicalParser.js +37 -0
  301. package/api/features/WbTranslatePage/LexicalParser.js.map +1 -0
  302. package/api/features/WbTranslatePage/WbTranslatePageDecorator.d.ts +29 -0
  303. package/api/features/WbTranslatePage/WbTranslatePageDecorator.js +143 -0
  304. package/api/features/WbTranslatePage/WbTranslatePageDecorator.js.map +1 -0
  305. package/api/features/WbTranslatePage/abstractions/LexicalParser.d.ts +7 -0
  306. package/api/features/WbTranslatePage/abstractions/LexicalParser.js +5 -0
  307. package/api/features/WbTranslatePage/abstractions/LexicalParser.js.map +1 -0
  308. package/api/features/WbTranslatePage/capability.d.ts +13 -0
  309. package/api/features/WbTranslatePage/capability.js +19 -0
  310. package/api/features/WbTranslatePage/capability.js.map +1 -0
  311. package/api/features/WbTranslatePage/feature.d.ts +4 -0
  312. package/api/features/WbTranslatePage/feature.js +15 -0
  313. package/api/features/WbTranslatePage/feature.js.map +1 -0
  314. package/api/features/WbTranslatePage/index.d.ts +2 -0
  315. package/api/features/WbTranslatePage/index.js +2 -0
  316. package/api/features/shared/abstractions.d.ts +6 -1
  317. package/api/features/shared/abstractions.js.map +1 -1
  318. package/api/features/shared/modelId.d.ts +11 -0
  319. package/api/features/shared/modelId.js +4 -0
  320. package/api/features/shared/modelId.js.map +1 -0
  321. package/api/graphql/BaseGraphQLSchema.js +58 -1
  322. package/api/graphql/BaseGraphQLSchema.js.map +1 -1
  323. package/api/graphql/CmsCompareEntryRevisionsSchema.d.ts +8 -0
  324. package/api/graphql/CmsCompareEntryRevisionsSchema.js +68 -0
  325. package/api/graphql/CmsCompareEntryRevisionsSchema.js.map +1 -0
  326. package/api/types.d.ts +3 -0
  327. package/api/types.js +3 -0
  328. package/{api/features/WbGeneratePageContent → domain}/LlmJsonResponse.d.ts +1 -0
  329. package/{api/features/WbGeneratePageContent → domain}/LlmJsonResponse.js +3 -0
  330. package/domain/LlmJsonResponse.js.map +1 -0
  331. package/exports/admin/ai-powerups.d.ts +1 -0
  332. package/exports/admin/ai-powerups.js +1 -0
  333. package/exports/api/ai-powerups.d.ts +2 -0
  334. package/exports/api/ai-powerups.js +2 -0
  335. package/package.json +33 -26
  336. package/api/features/WbGeneratePageContent/LlmJsonResponse.js.map +0 -1
@@ -2,10 +2,13 @@ import { CoreGraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstra
2
2
  import { ErrorResponse, Response } from "@webiny/handler-graphql/responses.js";
3
3
  import { AiModelRegistry } from "@webiny/api-core/features/ai/index.js";
4
4
  import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
5
+ import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
5
6
  import { GetSettingsUseCase } from "../features/GetSettings/index.js";
6
7
  import { UpdateSettingsUseCase } from "../features/UpdateSettings/index.js";
8
+ import { ListAiCapabilitiesUseCase } from "../features/Capabilities/index.js";
7
9
  import { AiPowerUpsSettingsGraphQLMapper } from "./abstractions.js";
8
10
  import { WB_GENERATE_PAGE_CONTENT_TASK_ID } from "../features/WbGeneratePageContent/WbGeneratePageContentTask.js";
11
+ import { CMS_GENERATE_ENTRY_CONTENT_TASK_ID } from "../features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js";
9
12
  class BaseGraphQLSchemaImpl {
10
13
  async execute(builder) {
11
14
  builder.addTypeDefs(`
@@ -14,10 +17,20 @@ class BaseGraphQLSchemaImpl {
14
17
  providerName: String!
15
18
  modelId: String!
16
19
  modelName: String!
20
+ deprecated: Date
21
+ endOfLife: Date
22
+ }
23
+
24
+ type AiCapability {
25
+ id: String!
26
+ label: String!
27
+ description: String!
28
+ defaultRole: String!
17
29
  }
18
30
 
19
31
  type AiPowerUpsQuery {
20
32
  listModels: [AiModel!]!
33
+ listCapabilities: [AiCapability!]!
21
34
  getSettings: JSON
22
35
  }
23
36
 
@@ -43,6 +56,16 @@ class BaseGraphQLSchemaImpl {
43
56
  excludedFileIds: [String!]
44
57
  readerPersonaId: String
45
58
  writerPersonaId: String
59
+ additionalFileIds: [String!]
60
+ ): JSON!
61
+ generateEntryContent(
62
+ prompt: String!
63
+ modelId: String!
64
+ projectId: String
65
+ excludedFileIds: [String!]
66
+ readerPersonaId: String
67
+ writerPersonaId: String
68
+ additionalFileIds: [String!]
46
69
  ): JSON!
47
70
  }
48
71
 
@@ -69,6 +92,13 @@ class BaseGraphQLSchemaImpl {
69
92
  ],
70
93
  resolver: (registry)=>async ()=>registry.listModels()
71
94
  });
95
+ builder.addResolver({
96
+ path: "AiPowerUpsQuery.listCapabilities",
97
+ dependencies: [
98
+ ListAiCapabilitiesUseCase
99
+ ],
100
+ resolver: (useCase)=>async ()=>useCase.execute()
101
+ });
72
102
  builder.addResolver({
73
103
  path: "AiPowerUpsQuery.getSettings",
74
104
  dependencies: [
@@ -96,7 +126,34 @@ class BaseGraphQLSchemaImpl {
96
126
  projectId: args.projectId ?? null,
97
127
  excludedFileIds: args.excludedFileIds ?? null,
98
128
  readerPersonaId: args.readerPersonaId ?? null,
99
- writerPersonaId: args.writerPersonaId ?? null
129
+ writerPersonaId: args.writerPersonaId ?? null,
130
+ additionalFileIds: args.additionalFileIds ?? null
131
+ }
132
+ });
133
+ if (result.isFail()) throw result.error;
134
+ return {
135
+ id: result.value.id
136
+ };
137
+ }
138
+ });
139
+ builder.addResolver({
140
+ path: "AiPowerUpsMutation.generateEntryContent",
141
+ dependencies: [
142
+ TaskService,
143
+ WcpContext
144
+ ],
145
+ resolver: (taskService, wcp)=>async ({ args })=>{
146
+ if (!wcp.canUseAiEntryGeneration()) throw new Error("AI entry generation cannot be used because your project license does not permit it.");
147
+ const result = await taskService.trigger({
148
+ definition: CMS_GENERATE_ENTRY_CONTENT_TASK_ID,
149
+ input: {
150
+ prompt: args.prompt,
151
+ modelId: args.modelId,
152
+ projectId: args.projectId ?? null,
153
+ excludedFileIds: args.excludedFileIds ?? null,
154
+ readerPersonaId: args.readerPersonaId ?? null,
155
+ writerPersonaId: args.writerPersonaId ?? null,
156
+ additionalFileIds: args.additionalFileIds ?? null
100
157
  }
101
158
  });
102
159
  if (result.isFail()) throw result.error;
@@ -1 +1 @@
1
- {"version":3,"file":"api/graphql/BaseGraphQLSchema.js","sources":["../../../src/api/graphql/BaseGraphQLSchema.ts"],"sourcesContent":["import { CoreGraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.core.js\";\nimport { Response, ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { AiModelRegistry } from \"@webiny/api-core/features/ai/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { GetSettingsUseCase } from \"~/api/features/GetSettings/index.js\";\nimport { UpdateSettingsUseCase } from \"~/api/features/UpdateSettings/index.js\";\nimport { AiPowerUpsSettingsGraphQLMapper } from \"./abstractions.js\";\nimport {\n WB_GENERATE_PAGE_CONTENT_TASK_ID,\n type IWbGeneratePageContentTaskInput\n} from \"~/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js\";\n\nclass BaseGraphQLSchemaImpl implements CoreGraphQLSchemaFactory.Interface {\n async execute(\n builder: CoreGraphQLSchemaFactory.SchemaBuilder\n ): Promise<CoreGraphQLSchemaFactory.SchemaBuilder> {\n builder.addTypeDefs(/* GraphQL */ `\n type AiModel {\n providerId: String!\n providerName: String!\n modelId: String!\n modelName: String!\n }\n\n type AiPowerUpsQuery {\n listModels: [AiModel!]!\n getSettings: JSON\n }\n\n type AiPowerUpsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AiPowerUpsSettingsResponse {\n data: JSON\n error: AiPowerUpsError\n }\n\n type AiPowerUpsMutation {\n updateSettings(input: JSON!): AiPowerUpsSettingsResponse!\n generatePageContent(\n prompt: String!\n components: JSON!\n tools: JSON!\n projectId: String\n excludedFileIds: [String!]\n readerPersonaId: String\n writerPersonaId: String\n ): JSON!\n }\n\n extend type Query {\n aiPowerUps: AiPowerUpsQuery\n }\n\n extend type Mutation {\n aiPowerUps: AiPowerUpsMutation\n }\n `);\n\n builder.addResolver({\n path: \"Query.aiPowerUps\",\n resolver: () => () => ({})\n });\n\n builder.addResolver({\n path: \"Mutation.aiPowerUps\",\n resolver: () => () => ({})\n });\n\n builder.addResolver({\n path: \"AiPowerUpsQuery.listModels\",\n dependencies: [AiModelRegistry],\n resolver: (registry: AiModelRegistry.Interface) => {\n return async () => registry.listModels();\n }\n });\n\n builder.addResolver({\n path: \"AiPowerUpsQuery.getSettings\",\n dependencies: [GetSettingsUseCase, AiPowerUpsSettingsGraphQLMapper],\n resolver: (\n useCase: GetSettingsUseCase.Interface,\n mapper: AiPowerUpsSettingsGraphQLMapper.Interface\n ) => {\n return async () => {\n const result = await useCase.execute();\n if (result.isFail()) {\n throw result.error;\n }\n\n return mapper.toApi(result.value);\n };\n }\n });\n\n builder.addResolver<IWbGeneratePageContentTaskInput>({\n path: \"AiPowerUpsMutation.generatePageContent\",\n dependencies: [TaskService],\n resolver: (taskService: TaskService.Interface) => {\n return async ({ args }) => {\n const result = await taskService.trigger<IWbGeneratePageContentTaskInput>({\n definition: WB_GENERATE_PAGE_CONTENT_TASK_ID,\n input: {\n prompt: args.prompt,\n components: args.components,\n tools: args.tools,\n projectId: args.projectId ?? null,\n excludedFileIds: args.excludedFileIds ?? null,\n readerPersonaId: args.readerPersonaId ?? null,\n writerPersonaId: args.writerPersonaId ?? null\n }\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return { id: result.value.id };\n };\n }\n });\n\n builder.addResolver<{ input: Record<string, unknown> }>({\n path: \"AiPowerUpsMutation.updateSettings\",\n dependencies: [\n GetSettingsUseCase,\n UpdateSettingsUseCase,\n AiPowerUpsSettingsGraphQLMapper\n ],\n resolver: (\n getSettings: GetSettingsUseCase.Interface,\n updateSettings: UpdateSettingsUseCase.Interface,\n mapper: AiPowerUpsSettingsGraphQLMapper.Interface\n ) => {\n return async ({ args }) => {\n const currentResult = await getSettings.execute();\n if (currentResult.isFail()) {\n return new ErrorResponse(currentResult.error);\n }\n\n const assembled = await mapper.fromApi(args.input, currentResult.value);\n const result = await updateSettings.execute(assembled);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(await mapper.toApi(result.value));\n };\n }\n });\n\n return builder;\n }\n}\n\nexport const BaseGraphQLSchema = CoreGraphQLSchemaFactory.createImplementation({\n implementation: BaseGraphQLSchemaImpl,\n dependencies: []\n});\n"],"names":["BaseGraphQLSchemaImpl","builder","AiModelRegistry","registry","GetSettingsUseCase","AiPowerUpsSettingsGraphQLMapper","useCase","mapper","result","TaskService","taskService","args","WB_GENERATE_PAGE_CONTENT_TASK_ID","UpdateSettingsUseCase","getSettings","updateSettings","currentResult","ErrorResponse","assembled","Response","BaseGraphQLSchema","CoreGraphQLSchemaFactory"],"mappings":";;;;;;;;AAYA,MAAMA;IACF,MAAM,QACFC,OAA+C,EACA;QAC/CA,QAAQ,WAAW,CAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6CnC,CAAC;QAEDA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,UAAU,IAAM,IAAO,EAAC;QAC5B;QAEAA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,UAAU,IAAM,IAAO,EAAC;QAC5B;QAEAA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACC;aAAgB;YAC/B,UAAU,CAACC,WACA,UAAYA,SAAS,UAAU;QAE9C;QAEAF,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACG;gBAAoBC;aAAgC;YACnE,UAAU,CACNC,SACAC,SAEO;oBACH,MAAMC,SAAS,MAAMF,QAAQ,OAAO;oBACpC,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;oBAGtB,OAAOD,OAAO,KAAK,CAACC,OAAO,KAAK;gBACpC;QAER;QAEAP,QAAQ,WAAW,CAAkC;YACjD,MAAM;YACN,cAAc;gBAACQ;aAAY;YAC3B,UAAU,CAACC,cACA,OAAO,EAAEC,IAAI,EAAE;oBAClB,MAAMH,SAAS,MAAME,YAAY,OAAO,CAAkC;wBACtE,YAAYE;wBACZ,OAAO;4BACH,QAAQD,KAAK,MAAM;4BACnB,YAAYA,KAAK,UAAU;4BAC3B,OAAOA,KAAK,KAAK;4BACjB,WAAWA,KAAK,SAAS,IAAI;4BAC7B,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,iBAAiBA,KAAK,eAAe,IAAI;wBAC7C;oBACJ;oBAEA,IAAIH,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;oBAGtB,OAAO;wBAAE,IAAIA,OAAO,KAAK,CAAC,EAAE;oBAAC;gBACjC;QAER;QAEAP,QAAQ,WAAW,CAAqC;YACpD,MAAM;YACN,cAAc;gBACVG;gBACAS;gBACAR;aACH;YACD,UAAU,CACNS,aACAC,gBACAR,SAEO,OAAO,EAAEI,IAAI,EAAE;oBAClB,MAAMK,gBAAgB,MAAMF,YAAY,OAAO;oBAC/C,IAAIE,cAAc,MAAM,IACpB,OAAO,IAAIC,cAAcD,cAAc,KAAK;oBAGhD,MAAME,YAAY,MAAMX,OAAO,OAAO,CAACI,KAAK,KAAK,EAAEK,cAAc,KAAK;oBACtE,MAAMR,SAAS,MAAMO,eAAe,OAAO,CAACG;oBAE5C,IAAIV,OAAO,MAAM,IACb,OAAO,IAAIS,cAAcT,OAAO,KAAK;oBAGzC,OAAO,IAAIW,SAAS,MAAMZ,OAAO,KAAK,CAACC,OAAO,KAAK;gBACvD;QAER;QAEA,OAAOP;IACX;AACJ;AAEO,MAAMmB,oBAAoBC,yBAAyB,oBAAoB,CAAC;IAC3E,gBAAgBrB;IAChB,cAAc,EAAE;AACpB"}
1
+ {"version":3,"file":"api/graphql/BaseGraphQLSchema.js","sources":["../../../src/api/graphql/BaseGraphQLSchema.ts"],"sourcesContent":["import { CoreGraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.core.js\";\nimport { Response, ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { AiModelRegistry } from \"@webiny/api-core/features/ai/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { GetSettingsUseCase } from \"~/api/features/GetSettings/index.js\";\nimport { UpdateSettingsUseCase } from \"~/api/features/UpdateSettings/index.js\";\nimport { ListAiCapabilitiesUseCase } from \"~/api/features/Capabilities/index.js\";\nimport { AiPowerUpsSettingsGraphQLMapper } from \"./abstractions.js\";\nimport {\n WB_GENERATE_PAGE_CONTENT_TASK_ID,\n type IWbGeneratePageContentTaskInput\n} from \"~/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js\";\nimport {\n CMS_GENERATE_ENTRY_CONTENT_TASK_ID,\n type ICmsGenerateEntryContentTaskInput\n} from \"~/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js\";\n\nclass BaseGraphQLSchemaImpl implements CoreGraphQLSchemaFactory.Interface {\n async execute(\n builder: CoreGraphQLSchemaFactory.SchemaBuilder\n ): Promise<CoreGraphQLSchemaFactory.SchemaBuilder> {\n builder.addTypeDefs(/* GraphQL */ `\n type AiModel {\n providerId: String!\n providerName: String!\n modelId: String!\n modelName: String!\n deprecated: Date\n endOfLife: Date\n }\n\n type AiCapability {\n id: String!\n label: String!\n description: String!\n defaultRole: String!\n }\n\n type AiPowerUpsQuery {\n listModels: [AiModel!]!\n listCapabilities: [AiCapability!]!\n getSettings: JSON\n }\n\n type AiPowerUpsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AiPowerUpsSettingsResponse {\n data: JSON\n error: AiPowerUpsError\n }\n\n type AiPowerUpsMutation {\n updateSettings(input: JSON!): AiPowerUpsSettingsResponse!\n generatePageContent(\n prompt: String!\n components: JSON!\n tools: JSON!\n projectId: String\n excludedFileIds: [String!]\n readerPersonaId: String\n writerPersonaId: String\n additionalFileIds: [String!]\n ): JSON!\n generateEntryContent(\n prompt: String!\n modelId: String!\n projectId: String\n excludedFileIds: [String!]\n readerPersonaId: String\n writerPersonaId: String\n additionalFileIds: [String!]\n ): JSON!\n }\n\n extend type Query {\n aiPowerUps: AiPowerUpsQuery\n }\n\n extend type Mutation {\n aiPowerUps: AiPowerUpsMutation\n }\n `);\n\n builder.addResolver({\n path: \"Query.aiPowerUps\",\n resolver: () => () => ({})\n });\n\n builder.addResolver({\n path: \"Mutation.aiPowerUps\",\n resolver: () => () => ({})\n });\n\n builder.addResolver({\n path: \"AiPowerUpsQuery.listModels\",\n dependencies: [AiModelRegistry],\n resolver: (registry: AiModelRegistry.Interface) => {\n return async () => registry.listModels();\n }\n });\n\n /*\n * Whatever features registered. The admin screen has no list of its own, so a feature that\n * registers a capability gets a settings row without touching the admin app.\n */\n builder.addResolver({\n path: \"AiPowerUpsQuery.listCapabilities\",\n dependencies: [ListAiCapabilitiesUseCase],\n resolver: (useCase: ListAiCapabilitiesUseCase.Interface) => {\n return async () => useCase.execute();\n }\n });\n\n builder.addResolver({\n path: \"AiPowerUpsQuery.getSettings\",\n dependencies: [GetSettingsUseCase, AiPowerUpsSettingsGraphQLMapper],\n resolver: (\n useCase: GetSettingsUseCase.Interface,\n mapper: AiPowerUpsSettingsGraphQLMapper.Interface\n ) => {\n return async () => {\n const result = await useCase.execute();\n if (result.isFail()) {\n throw result.error;\n }\n\n return mapper.toApi(result.value);\n };\n }\n });\n\n builder.addResolver<IWbGeneratePageContentTaskInput>({\n path: \"AiPowerUpsMutation.generatePageContent\",\n dependencies: [TaskService],\n resolver: (taskService: TaskService.Interface) => {\n return async ({ args }) => {\n const result = await taskService.trigger<IWbGeneratePageContentTaskInput>({\n definition: WB_GENERATE_PAGE_CONTENT_TASK_ID,\n input: {\n prompt: args.prompt,\n components: args.components,\n tools: args.tools,\n projectId: args.projectId ?? null,\n excludedFileIds: args.excludedFileIds ?? null,\n readerPersonaId: args.readerPersonaId ?? null,\n writerPersonaId: args.writerPersonaId ?? null,\n additionalFileIds: args.additionalFileIds ?? null\n }\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return { id: result.value.id };\n };\n }\n });\n\n builder.addResolver<ICmsGenerateEntryContentTaskInput>({\n path: \"AiPowerUpsMutation.generateEntryContent\",\n dependencies: [TaskService, WcpContext],\n resolver: (taskService: TaskService.Interface, wcp: WcpContext.Interface) => {\n return async ({ args }) => {\n // Gated at resolver-time, NOT at feature-registration time: the WCP license is\n // loaded per request, so a register-time check reads the placeholder\n // NullLicense (canUse* → false).\n if (!wcp.canUseAiEntryGeneration()) {\n throw new Error(\n \"AI entry generation cannot be used because your project license does not permit it.\"\n );\n }\n\n const result = await taskService.trigger<ICmsGenerateEntryContentTaskInput>({\n definition: CMS_GENERATE_ENTRY_CONTENT_TASK_ID,\n input: {\n prompt: args.prompt,\n modelId: args.modelId,\n projectId: args.projectId ?? null,\n excludedFileIds: args.excludedFileIds ?? null,\n readerPersonaId: args.readerPersonaId ?? null,\n writerPersonaId: args.writerPersonaId ?? null,\n additionalFileIds: args.additionalFileIds ?? null\n }\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return { id: result.value.id };\n };\n }\n });\n\n builder.addResolver<{ input: Record<string, unknown> }>({\n path: \"AiPowerUpsMutation.updateSettings\",\n dependencies: [\n GetSettingsUseCase,\n UpdateSettingsUseCase,\n AiPowerUpsSettingsGraphQLMapper\n ],\n resolver: (\n getSettings: GetSettingsUseCase.Interface,\n updateSettings: UpdateSettingsUseCase.Interface,\n mapper: AiPowerUpsSettingsGraphQLMapper.Interface\n ) => {\n return async ({ args }) => {\n const currentResult = await getSettings.execute();\n if (currentResult.isFail()) {\n return new ErrorResponse(currentResult.error);\n }\n\n const assembled = await mapper.fromApi(args.input, currentResult.value);\n const result = await updateSettings.execute(assembled);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(await mapper.toApi(result.value));\n };\n }\n });\n\n return builder;\n }\n}\n\nexport const BaseGraphQLSchema = CoreGraphQLSchemaFactory.createImplementation({\n implementation: BaseGraphQLSchemaImpl,\n dependencies: []\n});\n"],"names":["BaseGraphQLSchemaImpl","builder","AiModelRegistry","registry","ListAiCapabilitiesUseCase","useCase","GetSettingsUseCase","AiPowerUpsSettingsGraphQLMapper","mapper","result","TaskService","taskService","args","WB_GENERATE_PAGE_CONTENT_TASK_ID","WcpContext","wcp","Error","CMS_GENERATE_ENTRY_CONTENT_TASK_ID","UpdateSettingsUseCase","getSettings","updateSettings","currentResult","ErrorResponse","assembled","Response","BaseGraphQLSchema","CoreGraphQLSchemaFactory"],"mappings":";;;;;;;;;;;AAkBA,MAAMA;IACF,MAAM,QACFC,OAA+C,EACA;QAC/CA,QAAQ,WAAW,CAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiEnC,CAAC;QAEDA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,UAAU,IAAM,IAAO,EAAC;QAC5B;QAEAA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,UAAU,IAAM,IAAO,EAAC;QAC5B;QAEAA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACC;aAAgB;YAC/B,UAAU,CAACC,WACA,UAAYA,SAAS,UAAU;QAE9C;QAMAF,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACG;aAA0B;YACzC,UAAU,CAACC,UACA,UAAYA,QAAQ,OAAO;QAE1C;QAEAJ,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACK;gBAAoBC;aAAgC;YACnE,UAAU,CACNF,SACAG,SAEO;oBACH,MAAMC,SAAS,MAAMJ,QAAQ,OAAO;oBACpC,IAAII,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;oBAGtB,OAAOD,OAAO,KAAK,CAACC,OAAO,KAAK;gBACpC;QAER;QAEAR,QAAQ,WAAW,CAAkC;YACjD,MAAM;YACN,cAAc;gBAACS;aAAY;YAC3B,UAAU,CAACC,cACA,OAAO,EAAEC,IAAI,EAAE;oBAClB,MAAMH,SAAS,MAAME,YAAY,OAAO,CAAkC;wBACtE,YAAYE;wBACZ,OAAO;4BACH,QAAQD,KAAK,MAAM;4BACnB,YAAYA,KAAK,UAAU;4BAC3B,OAAOA,KAAK,KAAK;4BACjB,WAAWA,KAAK,SAAS,IAAI;4BAC7B,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,mBAAmBA,KAAK,iBAAiB,IAAI;wBACjD;oBACJ;oBAEA,IAAIH,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;oBAGtB,OAAO;wBAAE,IAAIA,OAAO,KAAK,CAAC,EAAE;oBAAC;gBACjC;QAER;QAEAR,QAAQ,WAAW,CAAoC;YACnD,MAAM;YACN,cAAc;gBAACS;gBAAaI;aAAW;YACvC,UAAU,CAACH,aAAoCI,MACpC,OAAO,EAAEH,IAAI,EAAE;oBAIlB,IAAI,CAACG,IAAI,uBAAuB,IAC5B,MAAM,IAAIC,MACN;oBAIR,MAAMP,SAAS,MAAME,YAAY,OAAO,CAAoC;wBACxE,YAAYM;wBACZ,OAAO;4BACH,QAAQL,KAAK,MAAM;4BACnB,SAASA,KAAK,OAAO;4BACrB,WAAWA,KAAK,SAAS,IAAI;4BAC7B,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,iBAAiBA,KAAK,eAAe,IAAI;4BACzC,mBAAmBA,KAAK,iBAAiB,IAAI;wBACjD;oBACJ;oBAEA,IAAIH,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;oBAGtB,OAAO;wBAAE,IAAIA,OAAO,KAAK,CAAC,EAAE;oBAAC;gBACjC;QAER;QAEAR,QAAQ,WAAW,CAAqC;YACpD,MAAM;YACN,cAAc;gBACVK;gBACAY;gBACAX;aACH;YACD,UAAU,CACNY,aACAC,gBACAZ,SAEO,OAAO,EAAEI,IAAI,EAAE;oBAClB,MAAMS,gBAAgB,MAAMF,YAAY,OAAO;oBAC/C,IAAIE,cAAc,MAAM,IACpB,OAAO,IAAIC,cAAcD,cAAc,KAAK;oBAGhD,MAAME,YAAY,MAAMf,OAAO,OAAO,CAACI,KAAK,KAAK,EAAES,cAAc,KAAK;oBACtE,MAAMZ,SAAS,MAAMW,eAAe,OAAO,CAACG;oBAE5C,IAAId,OAAO,MAAM,IACb,OAAO,IAAIa,cAAcb,OAAO,KAAK;oBAGzC,OAAO,IAAIe,SAAS,MAAMhB,OAAO,KAAK,CAACC,OAAO,KAAK;gBACvD;QAER;QAEA,OAAOR;IACX;AACJ;AAEO,MAAMwB,oBAAoBC,yBAAyB,oBAAoB,CAAC;IAC3E,gBAAgB1B;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,8 @@
1
+ import { CoreGraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.core.js";
2
+ declare class CmsCompareEntryRevisionsSchemaImpl implements CoreGraphQLSchemaFactory.Interface {
3
+ execute(builder: CoreGraphQLSchemaFactory.SchemaBuilder): Promise<CoreGraphQLSchemaFactory.SchemaBuilder>;
4
+ }
5
+ export declare const CmsCompareEntryRevisionsSchema: typeof CmsCompareEntryRevisionsSchemaImpl & {
6
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/handler-graphql/graphql/abstractions.public").IGraphQLSchemaFactory>;
7
+ };
8
+ export {};
@@ -0,0 +1,68 @@
1
+ import { CoreGraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.core.js";
2
+ import { CmsCompareEntryRevisionsUseCase } from "../features/CmsCompareEntryRevisions/abstractions.js";
3
+ class CmsCompareEntryRevisionsSchemaImpl {
4
+ async execute(builder) {
5
+ builder.addTypeDefs(`
6
+ type CompareRevisionsResult {
7
+ html: String
8
+ summary: String
9
+ }
10
+
11
+ type CompareRevisionsError {
12
+ message: String
13
+ code: String
14
+ data: JSON
15
+ }
16
+
17
+ type CompareRevisionsResponse {
18
+ data: CompareRevisionsResult
19
+ error: CompareRevisionsError
20
+ }
21
+
22
+ extend type CmsQuery {
23
+ compareEntryRevisions(
24
+ modelId: String!
25
+ revisionId1: String!
26
+ revisionId2: String!
27
+ ): CompareRevisionsResponse!
28
+ }
29
+ `);
30
+ builder.addResolver({
31
+ path: "CmsQuery.compareEntryRevisions",
32
+ dependencies: [
33
+ CmsCompareEntryRevisionsUseCase
34
+ ],
35
+ resolver: (useCase)=>async ({ args })=>{
36
+ try {
37
+ const result = await useCase.execute({
38
+ modelId: args.modelId,
39
+ revisionId1: args.revisionId1,
40
+ revisionId2: args.revisionId2
41
+ });
42
+ return {
43
+ data: result,
44
+ error: null
45
+ };
46
+ } catch (e) {
47
+ const message = e instanceof Error ? e.message : "Unknown error";
48
+ return {
49
+ data: null,
50
+ error: {
51
+ message,
52
+ code: "COMPARE_REVISIONS_ERROR",
53
+ data: null
54
+ }
55
+ };
56
+ }
57
+ }
58
+ });
59
+ return builder;
60
+ }
61
+ }
62
+ const CmsCompareEntryRevisionsSchema = CoreGraphQLSchemaFactory.createImplementation({
63
+ implementation: CmsCompareEntryRevisionsSchemaImpl,
64
+ dependencies: []
65
+ });
66
+ export { CmsCompareEntryRevisionsSchema };
67
+
68
+ //# sourceMappingURL=CmsCompareEntryRevisionsSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/graphql/CmsCompareEntryRevisionsSchema.js","sources":["../../../src/api/graphql/CmsCompareEntryRevisionsSchema.ts"],"sourcesContent":["import { CoreGraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.core.js\";\nimport { CmsCompareEntryRevisionsUseCase } from \"~/api/features/CmsCompareEntryRevisions/abstractions.js\";\n\nclass CmsCompareEntryRevisionsSchemaImpl implements CoreGraphQLSchemaFactory.Interface {\n async execute(\n builder: CoreGraphQLSchemaFactory.SchemaBuilder\n ): Promise<CoreGraphQLSchemaFactory.SchemaBuilder> {\n builder.addTypeDefs(/* GraphQL */ `\n type CompareRevisionsResult {\n html: String\n summary: String\n }\n\n type CompareRevisionsError {\n message: String\n code: String\n data: JSON\n }\n\n type CompareRevisionsResponse {\n data: CompareRevisionsResult\n error: CompareRevisionsError\n }\n\n extend type CmsQuery {\n compareEntryRevisions(\n modelId: String!\n revisionId1: String!\n revisionId2: String!\n ): CompareRevisionsResponse!\n }\n `);\n\n builder.addResolver({\n path: \"CmsQuery.compareEntryRevisions\",\n dependencies: [CmsCompareEntryRevisionsUseCase],\n resolver: (useCase: CmsCompareEntryRevisionsUseCase.Interface) => {\n return async ({\n args\n }: {\n args: {\n modelId: string;\n revisionId1: string;\n revisionId2: string;\n };\n }) => {\n try {\n const result = await useCase.execute({\n modelId: args.modelId,\n revisionId1: args.revisionId1,\n revisionId2: args.revisionId2\n });\n return { data: result, error: null };\n } catch (e: unknown) {\n const message = e instanceof Error ? e.message : \"Unknown error\";\n return {\n data: null,\n error: {\n message,\n code: \"COMPARE_REVISIONS_ERROR\",\n data: null\n }\n };\n }\n };\n }\n });\n\n return builder;\n }\n}\n\nexport const CmsCompareEntryRevisionsSchema = CoreGraphQLSchemaFactory.createImplementation({\n implementation: CmsCompareEntryRevisionsSchemaImpl,\n dependencies: []\n});\n"],"names":["CmsCompareEntryRevisionsSchemaImpl","builder","CmsCompareEntryRevisionsUseCase","useCase","args","result","e","message","Error","CmsCompareEntryRevisionsSchema","CoreGraphQLSchemaFactory"],"mappings":";;AAGA,MAAMA;IACF,MAAM,QACFC,OAA+C,EACA;QAC/CA,QAAQ,WAAW,CAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;QAwBnC,CAAC;QAEDA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACC;aAAgC;YAC/C,UAAU,CAACC,UACA,OAAO,EACVC,IAAI,EAOP;oBACG,IAAI;wBACA,MAAMC,SAAS,MAAMF,QAAQ,OAAO,CAAC;4BACjC,SAASC,KAAK,OAAO;4BACrB,aAAaA,KAAK,WAAW;4BAC7B,aAAaA,KAAK,WAAW;wBACjC;wBACA,OAAO;4BAAE,MAAMC;4BAAQ,OAAO;wBAAK;oBACvC,EAAE,OAAOC,GAAY;wBACjB,MAAMC,UAAUD,aAAaE,QAAQF,EAAE,OAAO,GAAG;wBACjD,OAAO;4BACH,MAAM;4BACN,OAAO;gCACHC;gCACA,MAAM;gCACN,MAAM;4BACV;wBACJ;oBACJ;gBACJ;QAER;QAEA,OAAON;IACX;AACJ;AAEO,MAAMQ,iCAAiCC,yBAAyB,oBAAoB,CAAC;IACxF,gBAAgBV;IAChB,cAAc,EAAE;AACpB"}
package/api/types.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
2
+ import "~/api/features/Connections/types.js";
3
+ import "~/api/features/ModelRoles/types.js";
4
+ import "~/api/features/Capabilities/types.js";
2
5
  import "~/api/features/Providers/types.js";
3
6
  import "~/api/features/Projects/types.js";
4
7
  export interface IAiPowerUpsSettings {
package/api/types.js CHANGED
@@ -1,3 +1,6 @@
1
1
  import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
2
+ import "./features/Connections/types.js";
3
+ import "./features/ModelRoles/types.js";
4
+ import "./features/Capabilities/types.js";
2
5
  import "./features/Providers/types.js";
3
6
  import "./features/Projects/types.js";
@@ -2,6 +2,7 @@ export declare class LlmJsonResponse {
2
2
  private readonly text;
3
3
  private constructor();
4
4
  static fromRawText(raw: string): LlmJsonResponse;
5
+ toJSON<T = unknown>(): T;
5
6
  toArray(): unknown[];
6
7
  toString(): string;
7
8
  }
@@ -15,6 +15,9 @@ class LlmJsonResponse {
15
15
  }
16
16
  return new LlmJsonResponse(text);
17
17
  }
18
+ toJSON() {
19
+ return JSON.parse(this.text);
20
+ }
18
21
  toArray() {
19
22
  const parsed = JSON.parse(this.text);
20
23
  if (Array.isArray(parsed)) return parsed;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain/LlmJsonResponse.js","sources":["../../src/domain/LlmJsonResponse.ts"],"sourcesContent":["export class LlmJsonResponse {\n private constructor(private readonly text: string) {}\n\n static fromRawText(raw: string): LlmJsonResponse {\n let text = raw\n .replace(/^```(?:json)?\\s*\\n?/, \"\")\n .replace(/\\n?```\\s*$/, \"\")\n .trim();\n\n // Models that use tool calls sometimes emit a brief preamble before\n // the JSON (\"Now I have the images, here's the page:\") and/or trailing\n // prose after. Slice to the first `[`/`{` and the matching last\n // `]`/`}` so JSON.parse sees only the structured block.\n const startIdx = text.search(/[\\[{]/);\n if (startIdx > 0) {\n text = text.slice(startIdx);\n }\n if (text.startsWith(\"[\")) {\n const endIdx = text.lastIndexOf(\"]\");\n if (endIdx >= 0) {\n text = text.slice(0, endIdx + 1);\n }\n } else if (text.startsWith(\"{\")) {\n const endIdx = text.lastIndexOf(\"}\");\n if (endIdx >= 0) {\n text = text.slice(0, endIdx + 1);\n }\n }\n\n return new LlmJsonResponse(text);\n }\n\n toJSON<T = unknown>(): T {\n return JSON.parse(this.text);\n }\n\n toArray(): unknown[] {\n const parsed = JSON.parse(this.text);\n\n if (Array.isArray(parsed)) {\n return parsed;\n }\n\n if (parsed && typeof parsed === \"object\") {\n const firstKey = Object.keys(parsed)[0];\n if (firstKey && Array.isArray(parsed[firstKey])) {\n return parsed[firstKey];\n }\n }\n\n return [parsed];\n }\n\n toString(): string {\n return JSON.stringify(this.toArray());\n }\n}\n"],"names":["LlmJsonResponse","text","raw","startIdx","endIdx","JSON","parsed","Array","firstKey","Object"],"mappings":"AAAO,MAAMA;IACT,YAAqCC,IAAY,CAAE;aAAdA,IAAI,GAAJA;IAAe;IAEpD,OAAO,YAAYC,GAAW,EAAmB;QAC7C,IAAID,OAAOC,IACN,OAAO,CAAC,uBAAuB,IAC/B,OAAO,CAAC,cAAc,IACtB,IAAI;QAMT,MAAMC,WAAWF,KAAK,MAAM,CAAC;QAC7B,IAAIE,WAAW,GACXF,OAAOA,KAAK,KAAK,CAACE;QAEtB,IAAIF,KAAK,UAAU,CAAC,MAAM;YACtB,MAAMG,SAASH,KAAK,WAAW,CAAC;YAChC,IAAIG,UAAU,GACVH,OAAOA,KAAK,KAAK,CAAC,GAAGG,SAAS;QAEtC,OAAO,IAAIH,KAAK,UAAU,CAAC,MAAM;YAC7B,MAAMG,SAASH,KAAK,WAAW,CAAC;YAChC,IAAIG,UAAU,GACVH,OAAOA,KAAK,KAAK,CAAC,GAAGG,SAAS;QAEtC;QAEA,OAAO,IAAIJ,gBAAgBC;IAC/B;IAEA,SAAyB;QACrB,OAAOI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;IAC/B;IAEA,UAAqB;QACjB,MAAMC,SAASD,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;QAEnC,IAAIE,MAAM,OAAO,CAACD,SACd,OAAOA;QAGX,IAAIA,UAAU,AAAkB,YAAlB,OAAOA,QAAqB;YACtC,MAAME,WAAWC,OAAO,IAAI,CAACH,OAAO,CAAC,EAAE;YACvC,IAAIE,YAAYD,MAAM,OAAO,CAACD,MAAM,CAACE,SAAS,GAC1C,OAAOF,MAAM,CAACE,SAAS;QAE/B;QAEA,OAAO;YAACF;SAAO;IACnB;IAEA,WAAmB;QACf,OAAOD,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO;IACtC;AACJ"}
@@ -0,0 +1 @@
1
+ export { GetSettingsFeature } from "../../admin/features/settings/getSettings/feature.js";
@@ -0,0 +1 @@
1
+ export { GetSettingsFeature } from "../../admin/features/settings/getSettings/feature.js";
@@ -0,0 +1,2 @@
1
+ export { CmsGenerateEntryContentUseCase } from "../../api/features/CmsGenerateEntryContent/abstractions.js";
2
+ export { GetSettingsUseCase } from "../../api/features/GetSettings/abstractions.js";
@@ -0,0 +1,2 @@
1
+ export { CmsGenerateEntryContentUseCase } from "../../api/features/CmsGenerateEntryContent/abstractions.js";
2
+ export { GetSettingsUseCase } from "../../api/features/GetSettings/abstractions.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/ai-powerups",
3
- "version": "6.4.12-beta.5",
3
+ "version": "6.5.0-beta.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -18,38 +18,45 @@
18
18
  "author": "Webiny Ltd.",
19
19
  "license": "Webiny Enterprise",
20
20
  "dependencies": {
21
- "@webiny/admin-ui": "6.4.12-beta.5",
22
- "@webiny/api-core": "6.4.12-beta.5",
23
- "@webiny/api-file-manager": "6.4.12-beta.5",
24
- "@webiny/api-websockets": "6.4.12-beta.5",
25
- "@webiny/app": "6.4.12-beta.5",
26
- "@webiny/app-admin": "6.4.12-beta.5",
27
- "@webiny/app-website-builder": "6.4.12-beta.5",
28
- "@webiny/app-websockets": "6.4.12-beta.5",
29
- "@webiny/background-tasks": "6.4.12-beta.5",
30
- "@webiny/feature": "6.4.12-beta.5",
31
- "@webiny/icons": "6.4.12-beta.5",
32
- "@webiny/project": "6.4.12-beta.5",
33
- "@webiny/project-aws": "6.4.12-beta.5",
34
- "@webiny/utils": "6.4.12-beta.5",
35
- "ai": "7.0.107",
21
+ "@webiny/admin-ui": "6.5.0-beta.0",
22
+ "@webiny/api-core": "6.5.0-beta.0",
23
+ "@webiny/api-file-manager": "6.5.0-beta.0",
24
+ "@webiny/api-headless-cms": "6.5.0-beta.0",
25
+ "@webiny/api-website-builder": "6.5.0-beta.0",
26
+ "@webiny/api-websockets": "6.5.0-beta.0",
27
+ "@webiny/app": "6.5.0-beta.0",
28
+ "@webiny/app-admin": "6.5.0-beta.0",
29
+ "@webiny/app-headless-cms": "6.5.0-beta.0",
30
+ "@webiny/app-website-builder": "6.5.0-beta.0",
31
+ "@webiny/app-websockets": "6.5.0-beta.0",
32
+ "@webiny/background-tasks": "6.5.0-beta.0",
33
+ "@webiny/di": "1.0.2",
34
+ "@webiny/feature": "6.5.0-beta.0",
35
+ "@webiny/icons": "6.5.0-beta.0",
36
+ "@webiny/languages": "6.5.0-beta.0",
37
+ "@webiny/lexical-converter": "6.5.0-beta.0",
38
+ "@webiny/project": "6.5.0-beta.0",
39
+ "@webiny/project-aws": "6.5.0-beta.0",
40
+ "@webiny/utils": "6.5.0-beta.0",
41
+ "ai": "7.0.34",
36
42
  "front-matter": "4.0.2",
43
+ "happy-dom": "20.11.1",
37
44
  "lodash": "4.18.1",
38
- "mobx": "7.0.3",
39
- "mobx-react-lite": "5.0.3",
45
+ "mobx": "6.16.1",
46
+ "mobx-react-lite": "4.1.1",
40
47
  "react": "18.3.1",
41
48
  "react-dom": "18.3.1",
42
- "zod": "4.6.5"
49
+ "zod": "4.4.3"
43
50
  },
44
51
  "devDependencies": {
45
- "@webiny/build-tools": "6.4.12-beta.5",
46
- "@webiny/handler-aws": "6.4.12-beta.5",
47
- "@webiny/handler-graphql": "6.4.12-beta.5",
48
- "@webiny/project-utils": "6.4.12-beta.5",
49
- "@webiny/wcp": "6.4.12-beta.5",
52
+ "@webiny/build-tools": "6.5.0-beta.0",
53
+ "@webiny/handler-aws": "6.5.0-beta.0",
54
+ "@webiny/handler-graphql": "6.5.0-beta.0",
55
+ "@webiny/project-utils": "6.5.0-beta.0",
56
+ "@webiny/wcp": "6.5.0-beta.0",
50
57
  "rimraf": "6.1.3",
51
- "typescript": "6.0.3",
52
- "vitest": "5.0.1"
58
+ "typescript": "7.0.2",
59
+ "vitest": "4.1.10"
53
60
  },
54
61
  "publishConfig": {
55
62
  "access": "public"
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/features/WbGeneratePageContent/LlmJsonResponse.js","sources":["../../../../src/api/features/WbGeneratePageContent/LlmJsonResponse.ts"],"sourcesContent":["export class LlmJsonResponse {\n private constructor(private readonly text: string) {}\n\n static fromRawText(raw: string): LlmJsonResponse {\n let text = raw\n .replace(/^```(?:json)?\\s*\\n?/, \"\")\n .replace(/\\n?```\\s*$/, \"\")\n .trim();\n\n // Models that use tool calls sometimes emit a brief preamble before\n // the JSON (\"Now I have the images, here's the page:\") and/or trailing\n // prose after. Slice to the first `[`/`{` and the matching last\n // `]`/`}` so JSON.parse sees only the structured block.\n const startIdx = text.search(/[\\[{]/);\n if (startIdx > 0) {\n text = text.slice(startIdx);\n }\n if (text.startsWith(\"[\")) {\n const endIdx = text.lastIndexOf(\"]\");\n if (endIdx >= 0) {\n text = text.slice(0, endIdx + 1);\n }\n } else if (text.startsWith(\"{\")) {\n const endIdx = text.lastIndexOf(\"}\");\n if (endIdx >= 0) {\n text = text.slice(0, endIdx + 1);\n }\n }\n\n return new LlmJsonResponse(text);\n }\n\n toArray(): unknown[] {\n const parsed = JSON.parse(this.text);\n\n if (Array.isArray(parsed)) {\n return parsed;\n }\n\n if (parsed && typeof parsed === \"object\") {\n const firstKey = Object.keys(parsed)[0];\n if (firstKey && Array.isArray(parsed[firstKey])) {\n return parsed[firstKey];\n }\n }\n\n return [parsed];\n }\n\n toString(): string {\n return JSON.stringify(this.toArray());\n }\n}\n"],"names":["LlmJsonResponse","text","raw","startIdx","endIdx","parsed","JSON","Array","firstKey","Object"],"mappings":"AAAO,MAAMA;IACT,YAAqCC,IAAY,CAAE;aAAdA,IAAI,GAAJA;IAAe;IAEpD,OAAO,YAAYC,GAAW,EAAmB;QAC7C,IAAID,OAAOC,IACN,OAAO,CAAC,uBAAuB,IAC/B,OAAO,CAAC,cAAc,IACtB,IAAI;QAMT,MAAMC,WAAWF,KAAK,MAAM,CAAC;QAC7B,IAAIE,WAAW,GACXF,OAAOA,KAAK,KAAK,CAACE;QAEtB,IAAIF,KAAK,UAAU,CAAC,MAAM;YACtB,MAAMG,SAASH,KAAK,WAAW,CAAC;YAChC,IAAIG,UAAU,GACVH,OAAOA,KAAK,KAAK,CAAC,GAAGG,SAAS;QAEtC,OAAO,IAAIH,KAAK,UAAU,CAAC,MAAM;YAC7B,MAAMG,SAASH,KAAK,WAAW,CAAC;YAChC,IAAIG,UAAU,GACVH,OAAOA,KAAK,KAAK,CAAC,GAAGG,SAAS;QAEtC;QAEA,OAAO,IAAIJ,gBAAgBC;IAC/B;IAEA,UAAqB;QACjB,MAAMI,SAASC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;QAEnC,IAAIC,MAAM,OAAO,CAACF,SACd,OAAOA;QAGX,IAAIA,UAAU,AAAkB,YAAlB,OAAOA,QAAqB;YACtC,MAAMG,WAAWC,OAAO,IAAI,CAACJ,OAAO,CAAC,EAAE;YACvC,IAAIG,YAAYD,MAAM,OAAO,CAACF,MAAM,CAACG,SAAS,GAC1C,OAAOH,MAAM,CAACG,SAAS;QAE/B;QAEA,OAAO;YAACH;SAAO;IACnB;IAEA,WAAmB;QACf,OAAOC,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO;IACtC;AACJ"}