@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,15 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ProjectFileCache } from "./ProjectFileCache.js";
3
+ import { ProjectFileAssembler } from "./ProjectFileAssembler.js";
4
+ import { AiPromptContextBuilder } from "./AiPromptContextBuilder.js";
5
+ const AiPromptContextFeature = createFeature({
6
+ name: "AiPowerUps/AiPromptContext",
7
+ register (container) {
8
+ container.register(ProjectFileCache);
9
+ container.register(ProjectFileAssembler);
10
+ container.register(AiPromptContextBuilder);
11
+ }
12
+ });
13
+ export { AiPromptContextFeature };
14
+
15
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/AiPromptContext/feature.js","sources":["../../../../src/api/features/AiPromptContext/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ProjectFileCache } from \"./ProjectFileCache.js\";\nimport { ProjectFileAssembler } from \"./ProjectFileAssembler.js\";\nimport { AiPromptContextBuilder } from \"./AiPromptContextBuilder.js\";\n\nexport const AiPromptContextFeature = createFeature({\n name: \"AiPowerUps/AiPromptContext\",\n register(container) {\n container.register(ProjectFileCache);\n container.register(ProjectFileAssembler);\n container.register(AiPromptContextBuilder);\n }\n});\n"],"names":["AiPromptContextFeature","createFeature","container","ProjectFileCache","ProjectFileAssembler","AiPromptContextBuilder"],"mappings":";;;;AAKO,MAAMA,yBAAyBC,cAAc;IAChD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { AiPromptContextBuilder, formatAdditionalFilesContext, type ResolvedProject, type ResolvedPersona, type ProjectFileContent } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { AiPromptContextBuilder, formatAdditionalFilesContext } from "./abstractions.js";
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A capability someone switched off in settings.
3
+ *
4
+ * Typed, rather than a plain `Error` like the resolver's other failures, because it is the one
5
+ * failure that is not a problem. Every other reason a capability cannot resolve (no model on the
6
+ * role, a deleted connection, a missing key) is a misconfiguration someone should hear about. This
7
+ * one is a decision someone already made, and a caller that runs automatically, on an upload or a
8
+ * page save, should skip quietly instead of reporting it as a failure every time.
9
+ *
10
+ * A caller a user triggered by hand can still show the message: it names the switch to flip.
11
+ */
12
+ export declare class AiCapabilityDisabledError extends Error {
13
+ readonly capabilityId: string;
14
+ readonly code: "AI_CAPABILITY_DISABLED";
15
+ constructor(capabilityId: string, label: string, settingsPath: string);
16
+ }
@@ -0,0 +1,8 @@
1
+ class AiCapabilityDisabledError extends Error {
2
+ constructor(capabilityId, label, settingsPath){
3
+ super(`"${label}" is switched off. Turn it back on under ${settingsPath} → Capabilities.`), this.capabilityId = capabilityId, this.code = "AI_CAPABILITY_DISABLED";
4
+ }
5
+ }
6
+ export { AiCapabilityDisabledError };
7
+
8
+ //# sourceMappingURL=AiCapabilityDisabledError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/AiCapabilityDisabledError.js","sources":["../../../../src/api/features/Capabilities/AiCapabilityDisabledError.ts"],"sourcesContent":["/**\n * A capability someone switched off in settings.\n *\n * Typed, rather than a plain `Error` like the resolver's other failures, because it is the one\n * failure that is not a problem. Every other reason a capability cannot resolve (no model on the\n * role, a deleted connection, a missing key) is a misconfiguration someone should hear about. This\n * one is a decision someone already made, and a caller that runs automatically, on an upload or a\n * page save, should skip quietly instead of reporting it as a failure every time.\n *\n * A caller a user triggered by hand can still show the message: it names the switch to flip.\n */\nexport class AiCapabilityDisabledError extends Error {\n readonly code = \"AI_CAPABILITY_DISABLED\" as const;\n\n constructor(\n readonly capabilityId: string,\n label: string,\n settingsPath: string\n ) {\n super(`\"${label}\" is switched off. Turn it back on under ${settingsPath} → Capabilities.`);\n }\n}\n"],"names":["AiCapabilityDisabledError","Error","capabilityId","label","settingsPath"],"mappings":"AAWO,MAAMA,kCAAkCC;IAG3C,YACaC,YAAoB,EAC7BC,KAAa,EACbC,YAAoB,CACtB;QACE,KAAK,CAAC,CAAC,CAAC,EAAED,MAAM,yCAAyC,EAAEC,aAAa,gBAAgB,CAAC,QAJhFF,YAAY,GAAZA,cAAAA,IAAAA,CAHJ,IAAI,GAAG;IAQhB;AACJ"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A model chosen on a workflow step that no settings connection can run (R169): its provider has
3
+ * no connection with a stored key any more, the provider no longer lists the model, or the id is
4
+ * not `<provider>/<id>`.
5
+ *
6
+ * Typed, like `AiCapabilityDisabledError`, so a caller maps it to its own fixed text without
7
+ * parsing the message. The message names the fix and carries no settings content.
8
+ */
9
+ export declare class AiModelNotAvailableError extends Error {
10
+ readonly model: string;
11
+ readonly code: "AI_MODEL_NOT_AVAILABLE";
12
+ constructor(model: string);
13
+ }
@@ -0,0 +1,8 @@
1
+ class AiModelNotAvailableError extends Error {
2
+ constructor(model){
3
+ super(`The model "${model}" is not available. Add a connection for its provider under Settings → AI Power-Ups.`), this.model = model, this.code = "AI_MODEL_NOT_AVAILABLE";
4
+ }
5
+ }
6
+ export { AiModelNotAvailableError };
7
+
8
+ //# sourceMappingURL=AiModelNotAvailableError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/AiModelNotAvailableError.js","sources":["../../../../src/api/features/Capabilities/AiModelNotAvailableError.ts"],"sourcesContent":["/**\n * A model chosen on a workflow step that no settings connection can run (R169): its provider has\n * no connection with a stored key any more, the provider no longer lists the model, or the id is\n * not `<provider>/<id>`.\n *\n * Typed, like `AiCapabilityDisabledError`, so a caller maps it to its own fixed text without\n * parsing the message. The message names the fix and carries no settings content.\n */\nexport class AiModelNotAvailableError extends Error {\n readonly code = \"AI_MODEL_NOT_AVAILABLE\" as const;\n\n constructor(readonly model: string) {\n super(\n `The model \"${model}\" is not available. Add a connection for its provider under Settings → AI Power-Ups.`\n );\n }\n}\n"],"names":["AiModelNotAvailableError","Error","model"],"mappings":"AAQO,MAAMA,iCAAiCC;IAG1C,YAAqBC,KAAa,CAAE;QAChC,KAAK,CACD,CAAC,WAAW,EAAEA,MAAM,oFAAoF,CAAC,QAF5FA,KAAK,GAALA,OAAAA,IAAAA,CAFZ,IAAI,GAAG;IAMhB;AACJ"}
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import { AiPowerUpsSettingsGroupHandler } from "../../../api/features/shared/index.js";
3
+ import type { CapabilitiesSettings } from "./types.js";
4
+ import type { PersistedCapabilities } from "./types.js";
5
+ declare class CapabilitiesHandlerImpl implements AiPowerUpsSettingsGroupHandler.Interface {
6
+ readonly name = "capabilities";
7
+ readonly inputSchema: z.ZodObject<{
8
+ items: z.ZodRecord<z.ZodString, z.ZodObject<{
9
+ enabled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
10
+ overrides: z.ZodOptional<z.ZodNullable<z.ZodObject<{
11
+ roleId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodEnum<{
12
+ fast: "fast";
13
+ standard: "standard";
14
+ vision: "vision";
15
+ }>, z.ZodLiteral<"">]>>>;
16
+ connectionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
+ model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ additionalInstructions: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ }, z.core.$strip>>>;
20
+ }, z.core.$strip>>;
21
+ }, z.core.$strip>;
22
+ mapFromStorage(persisted: unknown): CapabilitiesSettings;
23
+ mapToStorage(internal: unknown): Promise<PersistedCapabilities>;
24
+ }
25
+ declare const _default: typeof CapabilitiesHandlerImpl & {
26
+ __abstraction: import("@webiny/di").Abstraction<import("../shared/abstractions.js").IAiPowerUpsSettingsGroupHandler>;
27
+ };
28
+ export default _default;
@@ -0,0 +1,56 @@
1
+ import { z } from "zod";
2
+ import { AiPowerUpsSettingsGroupHandler } from "../shared/index.js";
3
+ import { AI_MODEL_ROLE_IDS } from "../ModelRoles/index.js";
4
+ const overrideSchema = z.object({
5
+ roleId: z.union([
6
+ z["enum"](AI_MODEL_ROLE_IDS),
7
+ z.literal("")
8
+ ]).nullish(),
9
+ connectionId: z.string().nullish(),
10
+ model: z.string().nullish(),
11
+ additionalInstructions: z.string().nullish()
12
+ });
13
+ const entrySchema = z.object({
14
+ enabled: z.boolean().nullish(),
15
+ overrides: overrideSchema.nullish()
16
+ });
17
+ const inputSchema = z.object({
18
+ items: z.record(z.string(), entrySchema)
19
+ });
20
+ const dropEmptyValues = (override)=>Object.fromEntries(Object.entries(override).filter(([, value])=>{
21
+ if (null == value) return false;
22
+ return "string" == typeof value ? "" !== value.trim() : true;
23
+ }));
24
+ const normaliseEnabled = (enabled)=>false !== enabled;
25
+ class CapabilitiesHandlerImpl {
26
+ mapFromStorage(persisted) {
27
+ const stored = persisted ?? {};
28
+ return {
29
+ items: stored.items ?? {}
30
+ };
31
+ }
32
+ async mapToStorage(internal) {
33
+ const input = internal;
34
+ const entries = Object.entries(input.items ?? {}).filter((entry)=>Boolean(entry[1])).map(([id, entry])=>[
35
+ id,
36
+ {
37
+ enabled: normaliseEnabled(entry.enabled),
38
+ overrides: dropEmptyValues(entry.overrides ?? {})
39
+ }
40
+ ]);
41
+ return {
42
+ items: Object.fromEntries(entries)
43
+ };
44
+ }
45
+ constructor(){
46
+ this.name = "capabilities";
47
+ this.inputSchema = inputSchema;
48
+ }
49
+ }
50
+ const CapabilitiesHandler = AiPowerUpsSettingsGroupHandler.createImplementation({
51
+ implementation: CapabilitiesHandlerImpl,
52
+ dependencies: []
53
+ });
54
+ export default CapabilitiesHandler;
55
+
56
+ //# sourceMappingURL=CapabilitiesHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/CapabilitiesHandler.js","sources":["../../../../src/api/features/Capabilities/CapabilitiesHandler.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { AiPowerUpsSettingsGroupHandler } from \"~/api/features/shared/index.js\";\nimport { AI_MODEL_ROLE_IDS } from \"~/api/features/ModelRoles/index.js\";\nimport type { AiCapabilityEntry } from \"./types.js\";\nimport type { AiCapabilityOverride } from \"./types.js\";\nimport type { CapabilitiesSettings } from \"./types.js\";\nimport type { PersistedCapabilities } from \"./types.js\";\n\n/*\n * Every field here is empty by default and the admin form sends `null` for an untouched one, so\n * each has to accept it. `mapToStorage` drops the nulls rather than persisting them.\n */\nconst overrideSchema = z.object({\n roleId: z.union([z.enum(AI_MODEL_ROLE_IDS), z.literal(\"\")]).nullish(),\n connectionId: z.string().nullish(),\n model: z.string().nullish(),\n additionalInstructions: z.string().nullish()\n});\n\n/*\n * `enabled` is `nullish` for the same reason the strings are: an untouched switch can arrive as\n * `null`. `mapToStorage` settles it to a real boolean before storing.\n */\nconst entrySchema = z.object({\n enabled: z.boolean().nullish(),\n overrides: overrideSchema.nullish()\n});\n\nconst inputSchema = z.object({\n items: z.record(z.string(), entrySchema)\n});\n\n/**\n * Keeps values that mean \"not set\" out of a stored override. The form sends `null` for an untouched\n * field, and persisting those would fill the blob with keys nobody chose. Applies to the overrides\n * only: `enabled` is always written, because \"on\" is a state worth reading back.\n */\nconst dropEmptyValues = (override: AiCapabilityOverride): AiCapabilityOverride =>\n Object.fromEntries(\n Object.entries(override).filter(([, value]) => {\n if (value === null || value === undefined) {\n return false;\n }\n // Whitespace counts as empty. A textarea someone tabbed through holds \" \", which would\n // otherwise be stored and then appended to the prompt as blank noise.\n return typeof value === \"string\" ? value.trim() !== \"\" : true;\n })\n ) as AiCapabilityOverride;\n\n/**\n * The form sends `null` for a switch nobody touched, and that reads as enabled, same as absence.\n * Only an explicit `false` turns a capability off.\n */\nconst normaliseEnabled = (enabled: boolean | null | undefined): boolean => enabled !== false;\n\nclass CapabilitiesHandlerImpl implements AiPowerUpsSettingsGroupHandler.Interface {\n readonly name = \"capabilities\";\n readonly inputSchema = inputSchema;\n\n mapFromStorage(persisted: unknown): CapabilitiesSettings {\n const stored = (persisted ?? {}) as PersistedCapabilities;\n return { items: stored.items ?? {} };\n }\n\n async mapToStorage(internal: unknown): Promise<PersistedCapabilities> {\n const input = internal as CapabilitiesSettings;\n\n /*\n * Every capability the form sent gets a key, `enabled` included, so the stored blob says\n * plainly what the screen said. Entries are not dropped for being \"empty\": a row that only\n * carries `enabled: true` is the normal state and worth seeing.\n *\n * Reading still has to treat a *missing* entry as enabled, because a capability registered\n * after the last save has no key at all. `isCapabilityEnabled` is where that lives.\n */\n const entries = Object.entries(input.items ?? {})\n // A type guard, not a plain predicate: a bare `Boolean(...)` filter reads the same but\n // narrows nothing, so the `undefined` this exists to drop would flow straight on.\n .filter((entry): entry is [string, AiCapabilityEntry] => Boolean(entry[1]))\n .map(\n ([id, entry]) =>\n [\n id,\n {\n enabled: normaliseEnabled(entry.enabled),\n overrides: dropEmptyValues(entry.overrides ?? {})\n }\n ] as const\n );\n\n return { items: Object.fromEntries(entries) };\n }\n}\n\nexport default AiPowerUpsSettingsGroupHandler.createImplementation({\n implementation: CapabilitiesHandlerImpl,\n dependencies: []\n});\n"],"names":["overrideSchema","z","AI_MODEL_ROLE_IDS","entrySchema","inputSchema","dropEmptyValues","override","Object","value","normaliseEnabled","enabled","CapabilitiesHandlerImpl","persisted","stored","internal","input","entries","entry","Boolean","id","AiPowerUpsSettingsGroupHandler"],"mappings":";;;AAYA,MAAMA,iBAAiBC,EAAE,MAAM,CAAC;IAC5B,QAAQA,EAAE,KAAK,CAAC;QAACA,CAAC,CAADA,OAAM,CAACC;QAAoBD,EAAE,OAAO,CAAC;KAAI,EAAE,OAAO;IACnE,cAAcA,EAAE,MAAM,GAAG,OAAO;IAChC,OAAOA,EAAE,MAAM,GAAG,OAAO;IACzB,wBAAwBA,EAAE,MAAM,GAAG,OAAO;AAC9C;AAMA,MAAME,cAAcF,EAAE,MAAM,CAAC;IACzB,SAASA,EAAE,OAAO,GAAG,OAAO;IAC5B,WAAWD,eAAe,OAAO;AACrC;AAEA,MAAMI,cAAcH,EAAE,MAAM,CAAC;IACzB,OAAOA,EAAE,MAAM,CAACA,EAAE,MAAM,IAAIE;AAChC;AAOA,MAAME,kBAAkB,CAACC,WACrBC,OAAO,WAAW,CACdA,OAAO,OAAO,CAACD,UAAU,MAAM,CAAC,CAAC,GAAGE,MAAM;QACtC,IAAIA,QAAAA,OACA,OAAO;QAIX,OAAO,AAAiB,YAAjB,OAAOA,QAAqBA,AAAiB,OAAjBA,MAAM,IAAI,KAAY;IAC7D;AAOR,MAAMC,mBAAmB,CAACC,UAAiDA,AAAY,UAAZA;AAE3E,MAAMC;IAIF,eAAeC,SAAkB,EAAwB;QACrD,MAAMC,SAAUD,aAAa,CAAC;QAC9B,OAAO;YAAE,OAAOC,OAAO,KAAK,IAAI,CAAC;QAAE;IACvC;IAEA,MAAM,aAAaC,QAAiB,EAAkC;QAClE,MAAMC,QAAQD;QAUd,MAAME,UAAUT,OAAO,OAAO,CAACQ,MAAM,KAAK,IAAI,CAAC,GAG1C,MAAM,CAAC,CAACE,QAAgDC,QAAQD,KAAK,CAAC,EAAE,GACxE,GAAG,CACA,CAAC,CAACE,IAAIF,MAAM,GACR;gBACIE;gBACA;oBACI,SAASV,iBAAiBQ,MAAM,OAAO;oBACvC,WAAWZ,gBAAgBY,MAAM,SAAS,IAAI,CAAC;gBACnD;aACH;QAGb,OAAO;YAAE,OAAOV,OAAO,WAAW,CAACS;QAAS;IAChD;;aAnCS,IAAI,GAAG;aACP,WAAW,GAAGZ;;AAmC3B;AAEA,4BAAegB,+BAA+B,oBAAoB,CAAC;IAC/D,gBAAgBT;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,18 @@
1
+ import { AiCapability, ListAiCapabilitiesUseCase } from "./abstractions.js";
2
+ import type { IAiCapabilitySummary } from "./abstractions.js";
3
+ /**
4
+ * Lists the registered capabilities for callers outside the api.
5
+ *
6
+ * The mapping lives here rather than in the GraphQL resolver so the shape sent over the wire is
7
+ * decided once, next to the abstraction it describes. It also keeps `guidance` from leaking: a
8
+ * capability's prompt is implementation, and the summary simply has no field for it.
9
+ */
10
+ declare class ListAiCapabilitiesUseCaseImpl implements ListAiCapabilitiesUseCase.Interface {
11
+ private capabilities;
12
+ constructor(capabilities: AiCapability.Interface[]);
13
+ execute(): Promise<IAiCapabilitySummary[]>;
14
+ }
15
+ export declare const ListAiCapabilitiesUseCaseImplementation: typeof ListAiCapabilitiesUseCaseImpl & {
16
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListAiCapabilitiesUseCase>;
17
+ };
18
+ export {};
@@ -0,0 +1,28 @@
1
+ import { AiCapability, ListAiCapabilitiesUseCase } from "./abstractions.js";
2
+ class ListAiCapabilitiesUseCaseImpl {
3
+ constructor(capabilities){
4
+ this.capabilities = capabilities;
5
+ }
6
+ async execute() {
7
+ return this.capabilities.map((capability)=>({
8
+ id: capability.id,
9
+ label: capability.label,
10
+ description: capability.description,
11
+ defaultRole: capability.defaultRole
12
+ }));
13
+ }
14
+ }
15
+ const ListAiCapabilitiesUseCaseImplementation = ListAiCapabilitiesUseCase.createImplementation({
16
+ implementation: ListAiCapabilitiesUseCaseImpl,
17
+ dependencies: [
18
+ [
19
+ AiCapability,
20
+ {
21
+ multiple: true
22
+ }
23
+ ]
24
+ ]
25
+ });
26
+ export { ListAiCapabilitiesUseCaseImplementation };
27
+
28
+ //# sourceMappingURL=ListAiCapabilitiesUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/ListAiCapabilitiesUseCase.js","sources":["../../../../src/api/features/Capabilities/ListAiCapabilitiesUseCase.ts"],"sourcesContent":["import { AiCapability, ListAiCapabilitiesUseCase } from \"./abstractions.js\";\nimport type { IAiCapabilitySummary } from \"./abstractions.js\";\n\n/**\n * Lists the registered capabilities for callers outside the api.\n *\n * The mapping lives here rather than in the GraphQL resolver so the shape sent over the wire is\n * decided once, next to the abstraction it describes. It also keeps `guidance` from leaking: a\n * capability's prompt is implementation, and the summary simply has no field for it.\n */\nclass ListAiCapabilitiesUseCaseImpl implements ListAiCapabilitiesUseCase.Interface {\n constructor(private capabilities: AiCapability.Interface[]) {}\n\n async execute(): Promise<IAiCapabilitySummary[]> {\n return this.capabilities.map(capability => ({\n id: capability.id,\n label: capability.label,\n description: capability.description,\n defaultRole: capability.defaultRole\n }));\n }\n}\n\nexport const ListAiCapabilitiesUseCaseImplementation =\n ListAiCapabilitiesUseCase.createImplementation({\n implementation: ListAiCapabilitiesUseCaseImpl,\n dependencies: [[AiCapability, { multiple: true }]]\n });\n"],"names":["ListAiCapabilitiesUseCaseImpl","capabilities","capability","ListAiCapabilitiesUseCaseImplementation","ListAiCapabilitiesUseCase","AiCapability"],"mappings":";AAUA,MAAMA;IACF,YAAoBC,YAAsC,CAAE;aAAxCA,YAAY,GAAZA;IAAyC;IAE7D,MAAM,UAA2C;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAACC,CAAAA,aAAe;gBACxC,IAAIA,WAAW,EAAE;gBACjB,OAAOA,WAAW,KAAK;gBACvB,aAAaA,WAAW,WAAW;gBACnC,aAAaA,WAAW,WAAW;YACvC;IACJ;AACJ;AAEO,MAAMC,0CACTC,0BAA0B,oBAAoB,CAAC;IAC3C,gBAAgBJ;IAChB,cAAc;QAAC;YAACK;YAAc;gBAAE,UAAU;YAAK;SAAE;KAAC;AACtD"}
@@ -0,0 +1,33 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { Encryption } from "@webiny/api-core/features/encryption/index.js";
3
+ import { GetSettingsUseCase } from "../../../api/features/GetSettings/index.js";
4
+ import { ConfiguredAiModelsService } from "../../../api/features/ConfiguredAiModels/index.js";
5
+ import { AiCapability, ResolveAiCapabilityUseCase } from "./abstractions.js";
6
+ import type { IResolvedAiCapability } from "./abstractions.js";
7
+ /**
8
+ * Turns a capability id into the model, credential and prompt text a use case needs.
9
+ *
10
+ * This is the single place that knows the precedence rules. Before it existed, six use cases each
11
+ * read `providers.presets[0]`, re-derived the SDK name from the model string and decrypted the key
12
+ * themselves, so "which model runs this feature" had six answers that only happened to agree.
13
+ *
14
+ * Precedence: a capability's pinned connection+model, else its chosen role, else its declared
15
+ * default role, else the `standard` role. The last step does not apply to `vision`, which fails
16
+ * rather than sending images to a model that may not accept them.
17
+ *
18
+ * There is deliberately no environment-variable fallback. A project whose settings say one thing
19
+ * and whose requests use another is the exact confusion this replaces.
20
+ */
21
+ declare class ResolveAiCapabilityUseCaseImpl implements ResolveAiCapabilityUseCase.Interface {
22
+ private getSettings;
23
+ private encryption;
24
+ private configuredModels;
25
+ private capabilityLookup;
26
+ constructor(capabilities: AiCapability.Interface[], getSettings: GetSettingsUseCase.Interface, encryption: Encryption.Interface, configuredModels: ConfiguredAiModelsService.Interface);
27
+ execute(capabilityId: string, model?: string): Promise<Result<IResolvedAiCapability, Error>>;
28
+ private selectModel;
29
+ }
30
+ export declare const ResolveAiCapabilityUseCaseImplementation: typeof ResolveAiCapabilityUseCaseImpl & {
31
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IResolveAiCapabilityUseCase>;
32
+ };
33
+ export {};
@@ -0,0 +1,114 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { Encryption } from "@webiny/api-core/features/encryption/index.js";
3
+ import { GetSettingsUseCase } from "../GetSettings/index.js";
4
+ import { ConfiguredAiModelsService } from "../ConfiguredAiModels/index.js";
5
+ import { sdkNameFromModel } from "../shared/modelId.js";
6
+ import { AiCapability, ResolveAiCapabilityUseCase } from "./abstractions.js";
7
+ import { isCapabilityEnabled } from "./types.js";
8
+ import { AiCapabilityDisabledError } from "./AiCapabilityDisabledError.js";
9
+ import { AiModelNotAvailableError } from "./AiModelNotAvailableError.js";
10
+ const SETTINGS_PATH = "Settings → AI Power-Ups";
11
+ class ResolveAiCapabilityUseCaseImpl {
12
+ constructor(capabilities, getSettings, encryption, configuredModels){
13
+ this.getSettings = getSettings;
14
+ this.encryption = encryption;
15
+ this.configuredModels = configuredModels;
16
+ this.capabilityLookup = new Map(capabilities.map((c)=>[
17
+ c.id,
18
+ c
19
+ ]));
20
+ }
21
+ async execute(capabilityId, model) {
22
+ const capability = this.capabilityLookup.get(capabilityId);
23
+ if (!capability) return Result.fail(new Error(`Unknown AI capability "${capabilityId}". Register it with the AiCapability abstraction.`));
24
+ const settingsResult = await this.getSettings.execute();
25
+ if (settingsResult.isFail()) return Result.fail(new Error("Failed to load AI Power-Ups settings."));
26
+ const settings = settingsResult.value;
27
+ const entry = settings.capabilities?.items?.[capabilityId];
28
+ if (!isCapabilityEnabled(entry)) return Result.fail(new AiCapabilityDisabledError(capabilityId, capability.label, SETTINGS_PATH));
29
+ const override = entry?.overrides ?? {};
30
+ if (void 0 !== model) {
31
+ const found = await this.configuredModels.findConnection(model);
32
+ if (found.isFail()) return Result.fail(found.error);
33
+ if (!found.value) return Result.fail(new AiModelNotAvailableError(model));
34
+ const configured = await this.configuredModels.list();
35
+ if (configured.isFail()) return Result.fail(configured.error);
36
+ if (!configured.value.some((item)=>item.id === model)) return Result.fail(new AiModelNotAvailableError(model));
37
+ return Result.ok({
38
+ capabilityId,
39
+ model,
40
+ connection: {
41
+ sdkName: found.value.sdkName,
42
+ apiKey: await this.encryption.decrypt(found.value.apiKeyEncrypted)
43
+ },
44
+ roleId: null,
45
+ fellBackToStandard: false,
46
+ guidance: capability.guidance ?? "",
47
+ additionalInstructions: override.additionalInstructions?.trim() ?? ""
48
+ });
49
+ }
50
+ const selection = this.selectModel(settings, capability.defaultRole, override);
51
+ if (selection.isFail()) return Result.fail(selection.error);
52
+ const { connectionId, model: selectedModel, roleId, fellBackToStandard } = selection.value;
53
+ const connection = settings.connections?.presets?.find((c)=>c.id === connectionId);
54
+ if (!connection) return Result.fail(new Error(`"${capability.label}" points at a connection that no longer exists. Pick one under ${SETTINGS_PATH} → Model roles.`));
55
+ if (!connection.apiKeyEncrypted) return Result.fail(new Error(`The connection "${connection.name}" has no API key. Add one under ${SETTINGS_PATH} → Connections.`));
56
+ const modelSdkName = sdkNameFromModel(selectedModel);
57
+ if (modelSdkName && connection.sdkName && modelSdkName !== connection.sdkName) return Result.fail(new Error(`The model "${selectedModel}" cannot run on the "${connection.name}" connection, which is a ${connection.sdkName} credential. Fix the pairing under ${SETTINGS_PATH} → Model roles.`));
58
+ return Result.ok({
59
+ capabilityId,
60
+ model: selectedModel,
61
+ connection: {
62
+ sdkName: modelSdkName || connection.sdkName,
63
+ apiKey: await this.encryption.decrypt(connection.apiKeyEncrypted)
64
+ },
65
+ roleId,
66
+ fellBackToStandard,
67
+ guidance: capability.guidance ?? "",
68
+ additionalInstructions: override.additionalInstructions?.trim() ?? ""
69
+ });
70
+ }
71
+ selectModel(settings, defaultRole, override) {
72
+ if (override.connectionId && override.model) return Result.ok({
73
+ connectionId: override.connectionId,
74
+ model: override.model,
75
+ roleId: null,
76
+ fellBackToStandard: false
77
+ });
78
+ const roles = settings.modelRoles?.roles;
79
+ const requestedRole = override.roleId || defaultRole;
80
+ const requested = roles?.[requestedRole];
81
+ if (requested?.connectionId && requested.model) return Result.ok({
82
+ connectionId: requested.connectionId,
83
+ model: requested.model,
84
+ roleId: requestedRole,
85
+ fellBackToStandard: false
86
+ });
87
+ if ("vision" === requestedRole) return Result.fail(new Error(`No model is configured for the "vision" role, and image work does not fall back to Standard. Pick one under ${SETTINGS_PATH} → Model roles.`));
88
+ const standard = roles?.standard;
89
+ if (standard?.connectionId && standard.model) return Result.ok({
90
+ connectionId: standard.connectionId,
91
+ model: standard.model,
92
+ roleId: "standard",
93
+ fellBackToStandard: "standard" !== requestedRole
94
+ });
95
+ return Result.fail(new Error(`No model is configured for the "${requestedRole}" role. Pick one under ${SETTINGS_PATH} → Model roles.`));
96
+ }
97
+ }
98
+ const ResolveAiCapabilityUseCaseImplementation = ResolveAiCapabilityUseCase.createImplementation({
99
+ implementation: ResolveAiCapabilityUseCaseImpl,
100
+ dependencies: [
101
+ [
102
+ AiCapability,
103
+ {
104
+ multiple: true
105
+ }
106
+ ],
107
+ GetSettingsUseCase,
108
+ Encryption,
109
+ ConfiguredAiModelsService
110
+ ]
111
+ });
112
+ export { ResolveAiCapabilityUseCaseImplementation };
113
+
114
+ //# sourceMappingURL=ResolveAiCapabilityUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/ResolveAiCapabilityUseCase.js","sources":["../../../../src/api/features/Capabilities/ResolveAiCapabilityUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { Encryption } from \"@webiny/api-core/features/encryption/index.js\";\nimport { GetSettingsUseCase } from \"~/api/features/GetSettings/index.js\";\nimport { ConfiguredAiModelsService } from \"~/api/features/ConfiguredAiModels/index.js\";\nimport { sdkNameFromModel } from \"~/api/features/shared/modelId.js\";\nimport { AiCapability, ResolveAiCapabilityUseCase } from \"./abstractions.js\";\nimport type { IResolvedAiCapability } from \"./abstractions.js\";\nimport { isCapabilityEnabled } from \"./types.js\";\nimport { AiCapabilityDisabledError } from \"./AiCapabilityDisabledError.js\";\nimport { AiModelNotAvailableError } from \"./AiModelNotAvailableError.js\";\nimport type { AiCapabilityOverride } from \"./types.js\";\nimport type { AiModelRoleId } from \"~/api/features/ModelRoles/index.js\";\nimport type { IAiPowerUpsSettings } from \"~/api/types.js\";\n\nconst SETTINGS_PATH = \"Settings → AI Power-Ups\";\n\n/**\n * Turns a capability id into the model, credential and prompt text a use case needs.\n *\n * This is the single place that knows the precedence rules. Before it existed, six use cases each\n * read `providers.presets[0]`, re-derived the SDK name from the model string and decrypted the key\n * themselves, so \"which model runs this feature\" had six answers that only happened to agree.\n *\n * Precedence: a capability's pinned connection+model, else its chosen role, else its declared\n * default role, else the `standard` role. The last step does not apply to `vision`, which fails\n * rather than sending images to a model that may not accept them.\n *\n * There is deliberately no environment-variable fallback. A project whose settings say one thing\n * and whose requests use another is the exact confusion this replaces.\n */\nclass ResolveAiCapabilityUseCaseImpl implements ResolveAiCapabilityUseCase.Interface {\n private capabilityLookup: Map<string, AiCapability.Interface>;\n\n constructor(\n capabilities: AiCapability.Interface[],\n private getSettings: GetSettingsUseCase.Interface,\n private encryption: Encryption.Interface,\n private configuredModels: ConfiguredAiModelsService.Interface\n ) {\n this.capabilityLookup = new Map(capabilities.map(c => [c.id, c]));\n }\n\n async execute(\n capabilityId: string,\n model?: string\n ): Promise<Result<IResolvedAiCapability, Error>> {\n const capability = this.capabilityLookup.get(capabilityId);\n\n if (!capability) {\n // Nothing a project can do about this one: the caller passed an unregistered id.\n return Result.fail(\n new Error(\n `Unknown AI capability \"${capabilityId}\". Register it with the AiCapability abstraction.`\n )\n );\n }\n\n const settingsResult = await this.getSettings.execute();\n if (settingsResult.isFail()) {\n return Result.fail(new Error(\"Failed to load AI Power-Ups settings.\"));\n }\n\n const settings = settingsResult.value;\n const entry = settings.capabilities?.items?.[capabilityId];\n\n /*\n * Checked here rather than at every call site, so a capability switched off in settings is\n * off for the GraphQL mutation as much as for the button that usually triggers it. The\n * admin hides the affordance too, but that is a courtesy and this is the actual gate.\n */\n if (!isCapabilityEnabled(entry)) {\n return Result.fail(\n new AiCapabilityDisabledError(capabilityId, capability.label, SETTINGS_PATH)\n );\n }\n\n const override: AiCapabilityOverride = entry?.overrides ?? {};\n\n /*\n * A model chosen on a workflow step (R169): run on the connection of its provider. No\n * role, no pinned override, no standard fallback. The enabled gate above already ran, so\n * a switched off capability or a lapsed licence still stops a step.\n *\n * The model must also still be one of the configured models, the list the step was saved\n * against: one the provider dropped since would only fail later, inside the model call,\n * with a generic reason instead of this typed one. A failed read is the service's fixed\n * error (it logged the raw one).\n */\n if (model !== undefined) {\n const found = await this.configuredModels.findConnection(model);\n if (found.isFail()) {\n return Result.fail(found.error);\n }\n if (!found.value) {\n return Result.fail(new AiModelNotAvailableError(model));\n }\n const configured = await this.configuredModels.list();\n if (configured.isFail()) {\n return Result.fail(configured.error);\n }\n if (!configured.value.some(item => item.id === model)) {\n return Result.fail(new AiModelNotAvailableError(model));\n }\n return Result.ok({\n capabilityId,\n model,\n connection: {\n sdkName: found.value.sdkName,\n apiKey: await this.encryption.decrypt(found.value.apiKeyEncrypted)\n },\n roleId: null,\n fellBackToStandard: false,\n guidance: capability.guidance ?? \"\",\n additionalInstructions: override.additionalInstructions?.trim() ?? \"\"\n });\n }\n\n const selection = this.selectModel(settings, capability.defaultRole, override);\n if (selection.isFail()) {\n return Result.fail(selection.error);\n }\n\n const { connectionId, model: selectedModel, roleId, fellBackToStandard } = selection.value;\n\n const connection = settings.connections?.presets?.find(c => c.id === connectionId);\n\n if (!connection) {\n return Result.fail(\n new Error(\n `\"${capability.label}\" points at a connection that no longer exists. Pick one under ${SETTINGS_PATH} → Model roles.`\n )\n );\n }\n\n if (!connection.apiKeyEncrypted) {\n return Result.fail(\n new Error(\n `The connection \"${connection.name}\" has no API key. Add one under ${SETTINGS_PATH} → Connections.`\n )\n );\n }\n\n /*\n * A model is stored fully qualified (\"anthropic/claude-sonnet-4-5\") and a connection stores\n * its vendor separately, so the two can disagree if a connection is re-pointed at another\n * vendor after a role was filled. Catching it here beats a provider-side auth error.\n */\n const modelSdkName = sdkNameFromModel(selectedModel);\n if (modelSdkName && connection.sdkName && modelSdkName !== connection.sdkName) {\n return Result.fail(\n new Error(\n `The model \"${selectedModel}\" cannot run on the \"${connection.name}\" connection, which is a ${connection.sdkName} credential. Fix the pairing under ${SETTINGS_PATH} → Model roles.`\n )\n );\n }\n\n return Result.ok({\n capabilityId,\n model: selectedModel,\n connection: {\n sdkName: modelSdkName || connection.sdkName,\n apiKey: await this.encryption.decrypt(connection.apiKeyEncrypted)\n },\n roleId,\n fellBackToStandard,\n // Always the capability's own. Projects adjust prompts by appending, never by\n // replacing, because for most capabilities the prompt is the output contract.\n guidance: capability.guidance ?? \"\",\n additionalInstructions: override.additionalInstructions?.trim() ?? \"\"\n });\n }\n\n private selectModel(\n settings: IAiPowerUpsSettings,\n defaultRole: AiModelRoleId,\n override: AiCapabilityOverride\n ): Result<\n {\n connectionId: string;\n model: string;\n roleId: AiModelRoleId | null;\n fellBackToStandard: boolean;\n },\n Error\n > {\n // A pinned connection+model wins outright. Both halves are required; one alone is a\n // half-finished edit, so it is ignored rather than guessed at.\n if (override.connectionId && override.model) {\n return Result.ok({\n connectionId: override.connectionId,\n model: override.model,\n roleId: null,\n fellBackToStandard: false\n });\n }\n\n const roles = settings.modelRoles?.roles;\n const requestedRole = (override.roleId || defaultRole) as AiModelRoleId;\n const requested = roles?.[requestedRole];\n\n if (requested?.connectionId && requested.model) {\n return Result.ok({\n connectionId: requested.connectionId,\n model: requested.model,\n roleId: requestedRole,\n fellBackToStandard: false\n });\n }\n\n /*\n * `vision` never falls back. Work on this role sends images, and nothing guarantees the\n * Standard model accepts them, so falling through would trade a clear \"set a Vision model\"\n * for a provider error about image input, or a text-only model silently guessing.\n *\n * Upgrades are not broken by this: `ModelRolesHandler` seeds `vision` from the legacy\n * preset alongside `standard`, so a project that ran image work on `providers.presets[0]`\n * keeps running it there, with the choice visible on the settings screen. A capability can\n * still be pointed at another role deliberately through its `roleId` override.\n */\n if (requestedRole === \"vision\") {\n return Result.fail(\n new Error(\n `No model is configured for the \"vision\" role, and image work does not fall back to Standard. Pick one under ${SETTINGS_PATH} → Model roles.`\n )\n );\n }\n\n /*\n * Every other role falls back to `standard`. Running cheap work on a stronger model is\n * always correct, only more expensive.\n */\n const standard = roles?.standard;\n\n if (standard?.connectionId && standard.model) {\n return Result.ok({\n connectionId: standard.connectionId,\n model: standard.model,\n roleId: \"standard\",\n fellBackToStandard: requestedRole !== \"standard\"\n });\n }\n\n return Result.fail(\n new Error(\n `No model is configured for the \"${requestedRole}\" role. Pick one under ${SETTINGS_PATH} → Model roles.`\n )\n );\n }\n}\n\nexport const ResolveAiCapabilityUseCaseImplementation =\n ResolveAiCapabilityUseCase.createImplementation({\n implementation: ResolveAiCapabilityUseCaseImpl,\n dependencies: [\n [AiCapability, { multiple: true }],\n GetSettingsUseCase,\n Encryption,\n ConfiguredAiModelsService\n ]\n });\n"],"names":["SETTINGS_PATH","ResolveAiCapabilityUseCaseImpl","capabilities","getSettings","encryption","configuredModels","Map","c","capabilityId","model","capability","Result","Error","settingsResult","settings","entry","isCapabilityEnabled","AiCapabilityDisabledError","override","undefined","found","AiModelNotAvailableError","configured","item","selection","connectionId","selectedModel","roleId","fellBackToStandard","connection","modelSdkName","sdkNameFromModel","defaultRole","roles","requestedRole","requested","standard","ResolveAiCapabilityUseCaseImplementation","ResolveAiCapabilityUseCase","AiCapability","GetSettingsUseCase","Encryption","ConfiguredAiModelsService"],"mappings":";;;;;;;;;AAcA,MAAMA,gBAAgB;AAgBtB,MAAMC;IAGF,YACIC,YAAsC,EAC9BC,WAAyC,EACzCC,UAAgC,EAChCC,gBAAqD,CAC/D;aAHUF,WAAW,GAAXA;aACAC,UAAU,GAAVA;aACAC,gBAAgB,GAAhBA;QAER,IAAI,CAAC,gBAAgB,GAAG,IAAIC,IAAIJ,aAAa,GAAG,CAACK,CAAAA,IAAK;gBAACA,EAAE,EAAE;gBAAEA;aAAE;IACnE;IAEA,MAAM,QACFC,YAAoB,EACpBC,KAAc,EAC+B;QAC7C,MAAMC,aAAa,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAACF;QAE7C,IAAI,CAACE,YAED,OAAOC,OAAO,IAAI,CACd,IAAIC,MACA,CAAC,uBAAuB,EAAEJ,aAAa,iDAAiD,CAAC;QAKrG,MAAMK,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO;QACrD,IAAIA,eAAe,MAAM,IACrB,OAAOF,OAAO,IAAI,CAAC,IAAIC,MAAM;QAGjC,MAAME,WAAWD,eAAe,KAAK;QACrC,MAAME,QAAQD,SAAS,YAAY,EAAE,OAAO,CAACN,aAAa;QAO1D,IAAI,CAACQ,oBAAoBD,QACrB,OAAOJ,OAAO,IAAI,CACd,IAAIM,0BAA0BT,cAAcE,WAAW,KAAK,EAAEV;QAItE,MAAMkB,WAAiCH,OAAO,aAAa,CAAC;QAY5D,IAAIN,AAAUU,WAAVV,OAAqB;YACrB,MAAMW,QAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAACX;YACzD,IAAIW,MAAM,MAAM,IACZ,OAAOT,OAAO,IAAI,CAACS,MAAM,KAAK;YAElC,IAAI,CAACA,MAAM,KAAK,EACZ,OAAOT,OAAO,IAAI,CAAC,IAAIU,yBAAyBZ;YAEpD,MAAMa,aAAa,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI;YACnD,IAAIA,WAAW,MAAM,IACjB,OAAOX,OAAO,IAAI,CAACW,WAAW,KAAK;YAEvC,IAAI,CAACA,WAAW,KAAK,CAAC,IAAI,CAACC,CAAAA,OAAQA,KAAK,EAAE,KAAKd,QAC3C,OAAOE,OAAO,IAAI,CAAC,IAAIU,yBAAyBZ;YAEpD,OAAOE,OAAO,EAAE,CAAC;gBACbH;gBACAC;gBACA,YAAY;oBACR,SAASW,MAAM,KAAK,CAAC,OAAO;oBAC5B,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA,MAAM,KAAK,CAAC,eAAe;gBACrE;gBACA,QAAQ;gBACR,oBAAoB;gBACpB,UAAUV,WAAW,QAAQ,IAAI;gBACjC,wBAAwBQ,SAAS,sBAAsB,EAAE,UAAU;YACvE;QACJ;QAEA,MAAMM,YAAY,IAAI,CAAC,WAAW,CAACV,UAAUJ,WAAW,WAAW,EAAEQ;QACrE,IAAIM,UAAU,MAAM,IAChB,OAAOb,OAAO,IAAI,CAACa,UAAU,KAAK;QAGtC,MAAM,EAAEC,YAAY,EAAE,OAAOC,aAAa,EAAEC,MAAM,EAAEC,kBAAkB,EAAE,GAAGJ,UAAU,KAAK;QAE1F,MAAMK,aAAaf,SAAS,WAAW,EAAE,SAAS,KAAKP,CAAAA,IAAKA,EAAE,EAAE,KAAKkB;QAErE,IAAI,CAACI,YACD,OAAOlB,OAAO,IAAI,CACd,IAAIC,MACA,CAAC,CAAC,EAAEF,WAAW,KAAK,CAAC,+DAA+D,EAAEV,cAAc,eAAe,CAAC;QAKhI,IAAI,CAAC6B,WAAW,eAAe,EAC3B,OAAOlB,OAAO,IAAI,CACd,IAAIC,MACA,CAAC,gBAAgB,EAAEiB,WAAW,IAAI,CAAC,gCAAgC,EAAE7B,cAAc,eAAe,CAAC;QAU/G,MAAM8B,eAAeC,iBAAiBL;QACtC,IAAII,gBAAgBD,WAAW,OAAO,IAAIC,iBAAiBD,WAAW,OAAO,EACzE,OAAOlB,OAAO,IAAI,CACd,IAAIC,MACA,CAAC,WAAW,EAAEc,cAAc,qBAAqB,EAAEG,WAAW,IAAI,CAAC,yBAAyB,EAAEA,WAAW,OAAO,CAAC,mCAAmC,EAAE7B,cAAc,eAAe,CAAC;QAKhM,OAAOW,OAAO,EAAE,CAAC;YACbH;YACA,OAAOkB;YACP,YAAY;gBACR,SAASI,gBAAgBD,WAAW,OAAO;gBAC3C,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA,WAAW,eAAe;YACpE;YACAF;YACAC;YAGA,UAAUlB,WAAW,QAAQ,IAAI;YACjC,wBAAwBQ,SAAS,sBAAsB,EAAE,UAAU;QACvE;IACJ;IAEQ,YACJJ,QAA6B,EAC7BkB,WAA0B,EAC1Bd,QAA8B,EAShC;QAGE,IAAIA,SAAS,YAAY,IAAIA,SAAS,KAAK,EACvC,OAAOP,OAAO,EAAE,CAAC;YACb,cAAcO,SAAS,YAAY;YACnC,OAAOA,SAAS,KAAK;YACrB,QAAQ;YACR,oBAAoB;QACxB;QAGJ,MAAMe,QAAQnB,SAAS,UAAU,EAAE;QACnC,MAAMoB,gBAAiBhB,SAAS,MAAM,IAAIc;QAC1C,MAAMG,YAAYF,OAAO,CAACC,cAAc;QAExC,IAAIC,WAAW,gBAAgBA,UAAU,KAAK,EAC1C,OAAOxB,OAAO,EAAE,CAAC;YACb,cAAcwB,UAAU,YAAY;YACpC,OAAOA,UAAU,KAAK;YACtB,QAAQD;YACR,oBAAoB;QACxB;QAaJ,IAAIA,AAAkB,aAAlBA,eACA,OAAOvB,OAAO,IAAI,CACd,IAAIC,MACA,CAAC,4GAA4G,EAAEZ,cAAc,eAAe,CAAC;QASzJ,MAAMoC,WAAWH,OAAO;QAExB,IAAIG,UAAU,gBAAgBA,SAAS,KAAK,EACxC,OAAOzB,OAAO,EAAE,CAAC;YACb,cAAcyB,SAAS,YAAY;YACnC,OAAOA,SAAS,KAAK;YACrB,QAAQ;YACR,oBAAoBF,AAAkB,eAAlBA;QACxB;QAGJ,OAAOvB,OAAO,IAAI,CACd,IAAIC,MACA,CAAC,gCAAgC,EAAEsB,cAAc,uBAAuB,EAAElC,cAAc,eAAe,CAAC;IAGpH;AACJ;AAEO,MAAMqC,2CACTC,2BAA2B,oBAAoB,CAAC;IAC5C,gBAAgBrC;IAChB,cAAc;QACV;YAACsC;YAAc;gBAAE,UAAU;YAAK;SAAE;QAClCC;QACAC;QACAC;KACH;AACL"}
@@ -0,0 +1,90 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import type { AiModelRoleId } from "../../../api/features/ModelRoles/index.js";
3
+ /**
4
+ * One AI feature, declared so the settings screen can list it and a project can point it at a
5
+ * different model or adjust its prompt.
6
+ *
7
+ * Features register these; nothing hardcodes the list. An extension that adds an AI feature gets a
8
+ * row in Settings for free by registering a capability alongside it.
9
+ */
10
+ export interface IAiCapability {
11
+ /**
12
+ * Stable, prefixed with its app (`cmsGenerateEntry`), and persisted as a settings key. Renaming
13
+ * one orphans its overrides.
14
+ *
15
+ * No dots. The id becomes a key under `capabilities.items`, and the settings form names its
16
+ * fields by dotted path, so `cms.generateEntry` reads as two levels of nesting.
17
+ */
18
+ readonly id: string;
19
+ readonly label: string;
20
+ readonly description: string;
21
+ /** Which role supplies the model when the project has not overridden this capability. */
22
+ readonly defaultRole: AiModelRoleId;
23
+ /**
24
+ * The capability's fixed system-prompt block, owned by the code and not configurable.
25
+ *
26
+ * Leave it undefined when the prompt is assembled per request (from a content model schema, a
27
+ * component catalog, a persona) and the use case builds its own system text instead.
28
+ *
29
+ * Either way a project can only append to it, via `additionalInstructions`. These prompts carry
30
+ * the output contract the surrounding code parses, so they are implementation, not settings.
31
+ */
32
+ readonly guidance?: string;
33
+ }
34
+ export declare const AiCapability: import("@webiny/di").Abstraction<IAiCapability>;
35
+ export declare namespace AiCapability {
36
+ type Interface = IAiCapability;
37
+ }
38
+ /**
39
+ * What a capability looks like to a caller outside the api.
40
+ *
41
+ * `guidance` is deliberately absent: a prompt is implementation, and there is no reason to ship ours
42
+ * over the wire to anyone who can read settings.
43
+ */
44
+ export interface IAiCapabilitySummary {
45
+ id: string;
46
+ label: string;
47
+ description: string;
48
+ defaultRole: AiModelRoleId;
49
+ }
50
+ export interface IListAiCapabilitiesUseCase {
51
+ execute(): Promise<IAiCapabilitySummary[]>;
52
+ }
53
+ /** Everything registered, for the settings screen to render a row per feature. */
54
+ export declare const ListAiCapabilitiesUseCase: import("@webiny/di").Abstraction<IListAiCapabilitiesUseCase>;
55
+ export declare namespace ListAiCapabilitiesUseCase {
56
+ type Interface = IListAiCapabilitiesUseCase;
57
+ type Summary = IAiCapabilitySummary;
58
+ }
59
+ export interface IResolvedAiCapability {
60
+ capabilityId: string;
61
+ /** Fully qualified, e.g. `"anthropic/claude-sonnet-4-5"`. */
62
+ model: string;
63
+ connection: {
64
+ sdkName: string;
65
+ apiKey: string;
66
+ };
67
+ /** Which role supplied the model. `null` when a capability override pinned it directly. */
68
+ roleId: AiModelRoleId | null;
69
+ /** True when the requested role was empty and `standard` filled in for it. */
70
+ fellBackToStandard: boolean;
71
+ /** The capability's own guidance. Empty when it assembles its prompt per request. */
72
+ guidance: string;
73
+ /** Project text to append to the system prompt. Empty when unset. */
74
+ additionalInstructions: string;
75
+ }
76
+ export interface IResolveAiCapabilityUseCase {
77
+ /**
78
+ * Without `model` the model comes from the capability's override, role or the `standard` role.
79
+ * With `model` (the full id, `"<provider>/<id>"`) it is used as given on the first settings
80
+ * connection with a key for its provider (R169); the capability must still exist and be
81
+ * enabled. Fails with `AiModelNotAvailableError` when no such connection exists or the model
82
+ * is not one of the configured models (`ConfiguredAiModelsService.list`) any more.
83
+ */
84
+ execute(capabilityId: string, model?: string): Promise<Result<IResolvedAiCapability, Error>>;
85
+ }
86
+ export declare const ResolveAiCapabilityUseCase: import("@webiny/di").Abstraction<IResolveAiCapabilityUseCase>;
87
+ export declare namespace ResolveAiCapabilityUseCase {
88
+ type Interface = IResolveAiCapabilityUseCase;
89
+ type Resolution = IResolvedAiCapability;
90
+ }
@@ -0,0 +1,7 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const AiCapability = createAbstraction("AiPowerUpsAiCapability");
3
+ const ListAiCapabilitiesUseCase = createAbstraction("AiPowerUpsListAiCapabilitiesUseCase");
4
+ const ResolveAiCapabilityUseCase = createAbstraction("AiPowerUpsResolveAiCapabilityUseCase");
5
+ export { AiCapability, ListAiCapabilitiesUseCase, ResolveAiCapabilityUseCase };
6
+
7
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/abstractions.js","sources":["../../../../src/api/features/Capabilities/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { AiModelRoleId } from \"~/api/features/ModelRoles/index.js\";\n\n/**\n * One AI feature, declared so the settings screen can list it and a project can point it at a\n * different model or adjust its prompt.\n *\n * Features register these; nothing hardcodes the list. An extension that adds an AI feature gets a\n * row in Settings for free by registering a capability alongside it.\n */\nexport interface IAiCapability {\n /**\n * Stable, prefixed with its app (`cmsGenerateEntry`), and persisted as a settings key. Renaming\n * one orphans its overrides.\n *\n * No dots. The id becomes a key under `capabilities.items`, and the settings form names its\n * fields by dotted path, so `cms.generateEntry` reads as two levels of nesting.\n */\n readonly id: string;\n readonly label: string;\n readonly description: string;\n /** Which role supplies the model when the project has not overridden this capability. */\n readonly defaultRole: AiModelRoleId;\n /**\n * The capability's fixed system-prompt block, owned by the code and not configurable.\n *\n * Leave it undefined when the prompt is assembled per request (from a content model schema, a\n * component catalog, a persona) and the use case builds its own system text instead.\n *\n * Either way a project can only append to it, via `additionalInstructions`. These prompts carry\n * the output contract the surrounding code parses, so they are implementation, not settings.\n */\n readonly guidance?: string;\n}\n\nexport const AiCapability = createAbstraction<IAiCapability>(\"AiPowerUpsAiCapability\");\n\nexport namespace AiCapability {\n export type Interface = IAiCapability;\n}\n\n/**\n * What a capability looks like to a caller outside the api.\n *\n * `guidance` is deliberately absent: a prompt is implementation, and there is no reason to ship ours\n * over the wire to anyone who can read settings.\n */\nexport interface IAiCapabilitySummary {\n id: string;\n label: string;\n description: string;\n defaultRole: AiModelRoleId;\n}\n\nexport interface IListAiCapabilitiesUseCase {\n execute(): Promise<IAiCapabilitySummary[]>;\n}\n\n/** Everything registered, for the settings screen to render a row per feature. */\nexport const ListAiCapabilitiesUseCase = createAbstraction<IListAiCapabilitiesUseCase>(\n \"AiPowerUpsListAiCapabilitiesUseCase\"\n);\n\nexport namespace ListAiCapabilitiesUseCase {\n export type Interface = IListAiCapabilitiesUseCase;\n export type Summary = IAiCapabilitySummary;\n}\n\nexport interface IResolvedAiCapability {\n capabilityId: string;\n /** Fully qualified, e.g. `\"anthropic/claude-sonnet-4-5\"`. */\n model: string;\n connection: {\n sdkName: string;\n apiKey: string;\n };\n /** Which role supplied the model. `null` when a capability override pinned it directly. */\n roleId: AiModelRoleId | null;\n /** True when the requested role was empty and `standard` filled in for it. */\n fellBackToStandard: boolean;\n /** The capability's own guidance. Empty when it assembles its prompt per request. */\n guidance: string;\n /** Project text to append to the system prompt. Empty when unset. */\n additionalInstructions: string;\n}\n\nexport interface IResolveAiCapabilityUseCase {\n /**\n * Without `model` the model comes from the capability's override, role or the `standard` role.\n * With `model` (the full id, `\"<provider>/<id>\"`) it is used as given on the first settings\n * connection with a key for its provider (R169); the capability must still exist and be\n * enabled. Fails with `AiModelNotAvailableError` when no such connection exists or the model\n * is not one of the configured models (`ConfiguredAiModelsService.list`) any more.\n */\n execute(capabilityId: string, model?: string): Promise<Result<IResolvedAiCapability, Error>>;\n}\n\nexport const ResolveAiCapabilityUseCase = createAbstraction<IResolveAiCapabilityUseCase>(\n \"AiPowerUpsResolveAiCapabilityUseCase\"\n);\n\nexport namespace ResolveAiCapabilityUseCase {\n export type Interface = IResolveAiCapabilityUseCase;\n export type Resolution = IResolvedAiCapability;\n}\n"],"names":["AiCapability","createAbstraction","ListAiCapabilitiesUseCase","ResolveAiCapabilityUseCase"],"mappings":";AAmCO,MAAMA,eAAeC,kBAAiC;AAwBtD,MAAMC,4BAA4BD,kBACrC;AAqCG,MAAME,6BAA6BF,kBACtC"}
@@ -0,0 +1,14 @@
1
+ import type { IResolvedAiCapability } from "./abstractions.js";
2
+ /**
3
+ * Appends a project's additional instructions to a capability's system prompt.
4
+ *
5
+ * Appending is the only way a project adjusts a prompt, and the reason is upgrades: a project that
6
+ * appends keeps getting our prompt improvements, while one that replaced the prompt would be frozen
7
+ * at whatever we shipped the day they edited it. The heading is there so the model reads the
8
+ * project's text as instructions rather than as more of ours.
9
+ *
10
+ * `baseText` defaults to the capability's own guidance, which is what most callers want. The two
11
+ * generation use cases pass their own, because they build a prompt per request from a content model
12
+ * schema or a component catalog and the capability declares no fixed guidance of its own.
13
+ */
14
+ export declare const withAdditionalInstructions: (resolved: Pick<IResolvedAiCapability, "guidance" | "additionalInstructions">, baseText?: string) => string;
@@ -0,0 +1,13 @@
1
+ const withAdditionalInstructions = (resolved, baseText = resolved.guidance)=>{
2
+ if (!resolved.additionalInstructions) return baseText;
3
+ return `${baseText}
4
+
5
+ ### Project instructions
6
+
7
+ These come from this project's settings and take precedence over the general guidance above.
8
+
9
+ ${resolved.additionalInstructions}`;
10
+ };
11
+ export { withAdditionalInstructions };
12
+
13
+ //# sourceMappingURL=composeSystemPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/composeSystemPrompt.js","sources":["../../../../src/api/features/Capabilities/composeSystemPrompt.ts"],"sourcesContent":["import type { IResolvedAiCapability } from \"./abstractions.js\";\n\n/**\n * Appends a project's additional instructions to a capability's system prompt.\n *\n * Appending is the only way a project adjusts a prompt, and the reason is upgrades: a project that\n * appends keeps getting our prompt improvements, while one that replaced the prompt would be frozen\n * at whatever we shipped the day they edited it. The heading is there so the model reads the\n * project's text as instructions rather than as more of ours.\n *\n * `baseText` defaults to the capability's own guidance, which is what most callers want. The two\n * generation use cases pass their own, because they build a prompt per request from a content model\n * schema or a component catalog and the capability declares no fixed guidance of its own.\n */\nexport const withAdditionalInstructions = (\n resolved: Pick<IResolvedAiCapability, \"guidance\" | \"additionalInstructions\">,\n baseText: string = resolved.guidance\n): string => {\n if (!resolved.additionalInstructions) {\n return baseText;\n }\n\n return `${baseText}\n\n### Project instructions\n\nThese come from this project's settings and take precedence over the general guidance above.\n\n${resolved.additionalInstructions}`;\n};\n"],"names":["withAdditionalInstructions","resolved","baseText"],"mappings":"AAcO,MAAMA,6BAA6B,CACtCC,UACAC,WAAmBD,SAAS,QAAQ;IAEpC,IAAI,CAACA,SAAS,sBAAsB,EAChC,OAAOC;IAGX,OAAO,GAAGA,SAAS;;;;;;AAMvB,EAAED,SAAS,sBAAsB,EAAE;AACnC"}
@@ -0,0 +1,4 @@
1
+ export declare const CapabilitiesFeature: {
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 CapabilitiesHandler from "./CapabilitiesHandler.js";
3
+ import { ResolveAiCapabilityUseCaseImplementation } from "./ResolveAiCapabilityUseCase.js";
4
+ import { ListAiCapabilitiesUseCaseImplementation } from "./ListAiCapabilitiesUseCase.js";
5
+ const CapabilitiesFeature = createFeature({
6
+ name: "AiPowerUpsCapabilities",
7
+ register (container) {
8
+ container.register(CapabilitiesHandler);
9
+ container.register(ResolveAiCapabilityUseCaseImplementation);
10
+ container.register(ListAiCapabilitiesUseCaseImplementation);
11
+ }
12
+ });
13
+ export { CapabilitiesFeature };
14
+
15
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/Capabilities/feature.js","sources":["../../../../src/api/features/Capabilities/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport CapabilitiesHandler from \"./CapabilitiesHandler.js\";\nimport { ResolveAiCapabilityUseCaseImplementation } from \"./ResolveAiCapabilityUseCase.js\";\nimport { ListAiCapabilitiesUseCaseImplementation } from \"./ListAiCapabilitiesUseCase.js\";\n\nexport const CapabilitiesFeature = createFeature({\n name: \"AiPowerUpsCapabilities\",\n register(container) {\n container.register(CapabilitiesHandler);\n container.register(ResolveAiCapabilityUseCaseImplementation);\n container.register(ListAiCapabilitiesUseCaseImplementation);\n }\n});\n"],"names":["CapabilitiesFeature","createFeature","container","CapabilitiesHandler","ResolveAiCapabilityUseCaseImplementation","ListAiCapabilitiesUseCaseImplementation"],"mappings":";;;;AAKO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
@@ -0,0 +1,7 @@
1
+ export { AiCapability, ResolveAiCapabilityUseCase, ListAiCapabilitiesUseCase } from "./abstractions.js";
2
+ export type { IAiCapability, IResolvedAiCapability, IAiCapabilitySummary } from "./abstractions.js";
3
+ export { withAdditionalInstructions } from "./composeSystemPrompt.js";
4
+ export { AiCapabilityDisabledError } from "./AiCapabilityDisabledError.js";
5
+ export { AiModelNotAvailableError } from "./AiModelNotAvailableError.js";
6
+ export type { AiCapabilityOverride, CapabilitiesSettings } from "./types.js";
7
+ export { CapabilitiesFeature } from "./feature.js";