@webiny/ai-powerups 6.6.0-alpha.4 → 6.6.0-alpha.5

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 (211) hide show
  1. package/AiPowerups.d.ts +12 -0
  2. package/AiPowerups.js +1 -2
  3. package/AiPowerups.js.map +1 -1
  4. package/admin/Extension.d.ts +1 -1
  5. package/admin/Extension.js +6 -2
  6. package/admin/Extension.js.map +1 -1
  7. package/admin/domain/modelRoles.d.ts +17 -0
  8. package/admin/domain/modelRoles.js +8 -0
  9. package/admin/domain/modelRoles.js.map +1 -0
  10. package/admin/features/feature.js +2 -0
  11. package/admin/features/feature.js.map +1 -1
  12. package/admin/features/listCapabilities/ListCapabilitiesGateway.d.ts +12 -0
  13. package/admin/features/listCapabilities/ListCapabilitiesGateway.js +34 -0
  14. package/admin/features/listCapabilities/ListCapabilitiesGateway.js.map +1 -0
  15. package/admin/features/listCapabilities/ListCapabilitiesRepository.d.ts +13 -0
  16. package/admin/features/listCapabilities/ListCapabilitiesRepository.js +27 -0
  17. package/admin/features/listCapabilities/ListCapabilitiesRepository.js.map +1 -0
  18. package/admin/features/listCapabilities/ListCapabilitiesUseCase.d.ts +10 -0
  19. package/admin/features/listCapabilities/ListCapabilitiesUseCase.js +18 -0
  20. package/admin/features/listCapabilities/ListCapabilitiesUseCase.js.map +1 -0
  21. package/admin/features/listCapabilities/abstractions.d.ts +28 -0
  22. package/admin/features/listCapabilities/abstractions.js +7 -0
  23. package/admin/features/listCapabilities/abstractions.js.map +1 -0
  24. package/admin/features/listCapabilities/feature.d.ts +3 -0
  25. package/admin/features/listCapabilities/feature.js +21 -0
  26. package/admin/features/listCapabilities/feature.js.map +1 -0
  27. package/admin/features/listCapabilities/index.d.ts +3 -0
  28. package/admin/features/listCapabilities/index.js +2 -0
  29. package/admin/features/settings/shared/abstractions.d.ts +58 -25
  30. package/admin/features/settings/shared/abstractions.js.map +1 -1
  31. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js +13 -1
  32. package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js.map +1 -1
  33. package/admin/presentation/AiPowerUpsSettings/feature.js +6 -2
  34. package/admin/presentation/AiPowerUpsSettings/feature.js.map +1 -1
  35. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.d.ts +13 -0
  36. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.js +9 -0
  37. package/admin/presentation/AiPowerUpsSettings/hasUsableModel.js.map +1 -0
  38. package/admin/presentation/AiPowerUpsSettings/index.d.ts +1 -0
  39. package/admin/presentation/AiPowerUpsSettings/index.js +1 -0
  40. package/admin/presentation/AiPowerUpsSettings/settingsGroup.d.ts +9 -0
  41. package/admin/presentation/AiPowerUpsSettings/settingsGroup.js.map +1 -1
  42. package/admin/presentation/CapabilitiesSettings.d.ts +39 -0
  43. package/admin/presentation/CapabilitiesSettings.js +104 -0
  44. package/admin/presentation/CapabilitiesSettings.js.map +1 -0
  45. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js +2 -2
  46. package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js.map +1 -1
  47. package/admin/presentation/ConnectionsSettings.d.ts +25 -0
  48. package/admin/presentation/ConnectionsSettings.js +52 -0
  49. package/admin/presentation/ConnectionsSettings.js.map +1 -0
  50. package/admin/presentation/ModelRolesSettings.d.ts +29 -0
  51. package/admin/presentation/ModelRolesSettings.js +67 -0
  52. package/admin/presentation/ModelRolesSettings.js.map +1 -0
  53. package/admin/presentation/WbContentGeneration/GenerateContentButton.js +2 -2
  54. package/admin/presentation/WbContentGeneration/GenerateContentButton.js.map +1 -1
  55. package/admin/presentation/modelRoles.d.ts +10 -0
  56. package/admin/presentation/modelRoles.js +23 -0
  57. package/admin/presentation/modelRoles.js.map +1 -0
  58. package/api/Extension.js +10 -2
  59. package/api/Extension.js.map +1 -1
  60. package/api/features/AdminAssistant/AdminAssistantStreamRoute.d.ts +34 -0
  61. package/api/features/AdminAssistant/AdminAssistantStreamRoute.js +42 -0
  62. package/api/features/AdminAssistant/AdminAssistantStreamRoute.js.map +1 -0
  63. package/api/features/AdminAssistant/AdminAssistantUseCase.d.ts +42 -0
  64. package/api/features/AdminAssistant/AdminAssistantUseCase.js +170 -0
  65. package/api/features/AdminAssistant/AdminAssistantUseCase.js.map +1 -0
  66. package/api/features/AdminAssistant/abstractions.d.ts +38 -0
  67. package/api/features/AdminAssistant/abstractions.js +6 -0
  68. package/api/features/AdminAssistant/abstractions.js.map +1 -0
  69. package/api/features/AdminAssistant/approvals.d.ts +29 -0
  70. package/api/features/AdminAssistant/approvals.js +30 -0
  71. package/api/features/AdminAssistant/approvals.js.map +1 -0
  72. package/api/features/AdminAssistant/capability.d.ts +31 -0
  73. package/api/features/AdminAssistant/capability.js +19 -0
  74. package/api/features/AdminAssistant/capability.js.map +1 -0
  75. package/api/features/AdminAssistant/events.d.ts +54 -0
  76. package/api/features/AdminAssistant/events.js +0 -0
  77. package/api/features/AdminAssistant/feature.d.ts +12 -0
  78. package/api/features/AdminAssistant/feature.js +23 -0
  79. package/api/features/AdminAssistant/feature.js.map +1 -0
  80. package/api/features/AdminAssistant/index.d.ts +5 -0
  81. package/api/features/AdminAssistant/index.js +3 -0
  82. package/api/features/AdminAssistant/parseChatBody.d.ts +14 -0
  83. package/api/features/AdminAssistant/parseChatBody.js +33 -0
  84. package/api/features/AdminAssistant/parseChatBody.js.map +1 -0
  85. package/api/features/AdminAssistant/systemPrompt.d.ts +7 -0
  86. package/api/features/AdminAssistant/systemPrompt.js +24 -0
  87. package/api/features/AdminAssistant/systemPrompt.js.map +1 -0
  88. package/api/features/AiImageEnrichment/PrepareImageEnrichmentUseCase.d.ts +3 -5
  89. package/api/features/AiImageEnrichment/PrepareImageEnrichmentUseCase.js +11 -16
  90. package/api/features/AiImageEnrichment/PrepareImageEnrichmentUseCase.js.map +1 -1
  91. package/api/features/AiImageEnrichment/abstractions.d.ts +6 -0
  92. package/api/features/AiImageEnrichment/abstractions.js.map +1 -1
  93. package/api/features/AiImageEnrichment/buildEnrichmentAiRequest.js +2 -2
  94. package/api/features/AiImageEnrichment/buildEnrichmentAiRequest.js.map +1 -1
  95. package/api/features/AiImageEnrichment/capability.d.ts +18 -0
  96. package/api/features/AiImageEnrichment/capability.js +19 -0
  97. package/api/features/AiImageEnrichment/capability.js.map +1 -0
  98. package/api/features/AiImageEnrichment/errors.d.ts +6 -1
  99. package/api/features/AiImageEnrichment/errors.js +2 -2
  100. package/api/features/AiImageEnrichment/errors.js.map +1 -1
  101. package/api/features/AiImageEnrichment/feature.js +2 -0
  102. package/api/features/AiImageEnrichment/feature.js.map +1 -1
  103. package/api/features/Capabilities/CapabilitiesHandler.d.ts +28 -0
  104. package/api/features/Capabilities/CapabilitiesHandler.js +56 -0
  105. package/api/features/Capabilities/CapabilitiesHandler.js.map +1 -0
  106. package/api/features/Capabilities/ListAiCapabilitiesUseCase.d.ts +18 -0
  107. package/api/features/Capabilities/ListAiCapabilitiesUseCase.js +28 -0
  108. package/api/features/Capabilities/ListAiCapabilitiesUseCase.js.map +1 -0
  109. package/api/features/Capabilities/ResolveAiCapabilityUseCase.d.ts +30 -0
  110. package/api/features/Capabilities/ResolveAiCapabilityUseCase.js +88 -0
  111. package/api/features/Capabilities/ResolveAiCapabilityUseCase.js.map +1 -0
  112. package/api/features/Capabilities/abstractions.d.ts +77 -0
  113. package/api/features/Capabilities/abstractions.js +7 -0
  114. package/api/features/Capabilities/abstractions.js.map +1 -0
  115. package/api/features/Capabilities/composeSystemPrompt.d.ts +14 -0
  116. package/api/features/Capabilities/composeSystemPrompt.js +13 -0
  117. package/api/features/Capabilities/composeSystemPrompt.js.map +1 -0
  118. package/api/features/Capabilities/feature.d.ts +4 -0
  119. package/api/features/Capabilities/feature.js +15 -0
  120. package/api/features/Capabilities/feature.js.map +1 -0
  121. package/api/features/Capabilities/index.d.ts +5 -0
  122. package/api/features/Capabilities/index.js +3 -0
  123. package/api/features/Capabilities/types.d.ts +86 -0
  124. package/api/features/Capabilities/types.js +4 -0
  125. package/api/features/Capabilities/types.js.map +1 -0
  126. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.d.ts +3 -5
  127. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js +11 -65
  128. package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js.map +1 -1
  129. package/api/features/CmsCompareEntryRevisions/capability.d.ts +13 -0
  130. package/api/features/CmsCompareEntryRevisions/capability.js +64 -0
  131. package/api/features/CmsCompareEntryRevisions/capability.js.map +1 -0
  132. package/api/features/CmsCompareEntryRevisions/feature.js +2 -0
  133. package/api/features/CmsCompareEntryRevisions/feature.js.map +1 -1
  134. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.d.ts +3 -5
  135. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js +11 -19
  136. package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js.map +1 -1
  137. package/api/features/CmsGenerateEntryContent/capability.d.ts +17 -0
  138. package/api/features/CmsGenerateEntryContent/capability.js +17 -0
  139. package/api/features/CmsGenerateEntryContent/capability.js.map +1 -0
  140. package/api/features/CmsGenerateEntryContent/feature.js +2 -0
  141. package/api/features/CmsGenerateEntryContent/feature.js.map +1 -1
  142. package/api/features/Connections/ConnectionsGraphQLMapper.d.ts +20 -0
  143. package/api/features/Connections/ConnectionsGraphQLMapper.js +37 -0
  144. package/api/features/Connections/ConnectionsGraphQLMapper.js.map +1 -0
  145. package/api/features/Connections/ConnectionsHandler.d.ts +25 -0
  146. package/api/features/Connections/ConnectionsHandler.js +84 -0
  147. package/api/features/Connections/ConnectionsHandler.js.map +1 -0
  148. package/api/features/Connections/feature.d.ts +4 -0
  149. package/api/features/Connections/feature.js +13 -0
  150. package/api/features/Connections/feature.js.map +1 -0
  151. package/api/features/Connections/index.d.ts +2 -0
  152. package/api/features/Connections/index.js +1 -0
  153. package/api/features/Connections/legacyProviders.d.ts +26 -0
  154. package/api/features/Connections/legacyProviders.js +9 -0
  155. package/api/features/Connections/legacyProviders.js.map +1 -0
  156. package/api/features/Connections/types.d.ts +36 -0
  157. package/api/features/Connections/types.js +0 -0
  158. package/api/features/GetSettings/GetSettingsRepository.js +1 -1
  159. package/api/features/GetSettings/GetSettingsRepository.js.map +1 -1
  160. package/api/features/ModelRoles/ModelRolesHandler.d.ts +15 -0
  161. package/api/features/ModelRoles/ModelRolesHandler.js +68 -0
  162. package/api/features/ModelRoles/ModelRolesHandler.js.map +1 -0
  163. package/api/features/ModelRoles/feature.d.ts +4 -0
  164. package/api/features/ModelRoles/feature.js +11 -0
  165. package/api/features/ModelRoles/feature.js.map +1 -0
  166. package/api/features/ModelRoles/index.d.ts +4 -0
  167. package/api/features/ModelRoles/index.js +2 -0
  168. package/api/features/ModelRoles/roles.d.ts +16 -0
  169. package/api/features/ModelRoles/roles.js +9 -0
  170. package/api/features/ModelRoles/roles.js.map +1 -0
  171. package/api/features/ModelRoles/types.d.ts +21 -0
  172. package/api/features/ModelRoles/types.js +7 -0
  173. package/api/features/ModelRoles/types.js.map +1 -0
  174. package/api/features/UpdateSettings/UpdateSettingsRepository.js +2 -2
  175. package/api/features/UpdateSettings/UpdateSettingsRepository.js.map +1 -1
  176. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.d.ts +3 -5
  177. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js +11 -19
  178. package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js.map +1 -1
  179. package/api/features/WbGeneratePageContent/capability.d.ts +16 -0
  180. package/api/features/WbGeneratePageContent/capability.js +17 -0
  181. package/api/features/WbGeneratePageContent/capability.js.map +1 -0
  182. package/api/features/WbGeneratePageContent/feature.js +2 -0
  183. package/api/features/WbGeneratePageContent/feature.js.map +1 -1
  184. package/api/features/WbTranslatePage/WbTranslatePageDecorator.d.ts +5 -5
  185. package/api/features/WbTranslatePage/WbTranslatePageDecorator.js +19 -19
  186. package/api/features/WbTranslatePage/WbTranslatePageDecorator.js.map +1 -1
  187. package/api/features/WbTranslatePage/capability.d.ts +13 -0
  188. package/api/features/WbTranslatePage/capability.js +19 -0
  189. package/api/features/WbTranslatePage/capability.js.map +1 -0
  190. package/api/features/WbTranslatePage/feature.js +2 -0
  191. package/api/features/WbTranslatePage/feature.js.map +1 -1
  192. package/api/features/shared/abstractions.d.ts +6 -1
  193. package/api/features/shared/abstractions.js.map +1 -1
  194. package/api/features/shared/modelId.d.ts +11 -0
  195. package/api/features/shared/modelId.js +4 -0
  196. package/api/features/shared/modelId.js.map +1 -0
  197. package/api/graphql/BaseGraphQLSchema.js +16 -0
  198. package/api/graphql/BaseGraphQLSchema.js.map +1 -1
  199. package/api/types.d.ts +3 -0
  200. package/api/types.js +3 -0
  201. package/exports/api/ai-powerups.d.ts +5 -0
  202. package/exports/api/ai-powerups.js +3 -0
  203. package/package.json +24 -26
  204. package/api/features/AiChatProvider/PowerUpsAiChatProvider.d.ts +0 -24
  205. package/api/features/AiChatProvider/PowerUpsAiChatProvider.js +0 -31
  206. package/api/features/AiChatProvider/PowerUpsAiChatProvider.js.map +0 -1
  207. package/api/features/AiChatProvider/feature.d.ts +0 -9
  208. package/api/features/AiChatProvider/feature.js +0 -11
  209. package/api/features/AiChatProvider/feature.js.map +0 -1
  210. package/api/features/AiChatProvider/index.d.ts +0 -2
  211. package/api/features/AiChatProvider/index.js +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/ai-powerups",
3
- "version": "6.6.0-alpha.4",
3
+ "version": "6.6.0-alpha.5",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -18,28 +18,26 @@
18
18
  "author": "Webiny Ltd.",
19
19
  "license": "Webiny Enterprise",
20
20
  "dependencies": {
21
- "@webiny/admin-ui": "6.6.0-alpha.4",
22
- "@webiny/ai-chat": "6.6.0-alpha.4",
23
- "@webiny/api-core": "6.6.0-alpha.4",
24
- "@webiny/api-file-manager": "6.6.0-alpha.4",
25
- "@webiny/api-headless-cms": "6.6.0-alpha.4",
26
- "@webiny/api-website-builder": "6.6.0-alpha.4",
27
- "@webiny/api-websockets": "6.6.0-alpha.4",
28
- "@webiny/app": "6.6.0-alpha.4",
29
- "@webiny/app-admin": "6.6.0-alpha.4",
30
- "@webiny/app-headless-cms": "6.6.0-alpha.4",
31
- "@webiny/app-website-builder": "6.6.0-alpha.4",
32
- "@webiny/app-websockets": "6.6.0-alpha.4",
33
- "@webiny/background-tasks": "6.6.0-alpha.4",
21
+ "@webiny/admin-ui": "6.6.0-alpha.5",
22
+ "@webiny/api-core": "6.6.0-alpha.5",
23
+ "@webiny/api-file-manager": "6.6.0-alpha.5",
24
+ "@webiny/api-headless-cms": "6.6.0-alpha.5",
25
+ "@webiny/api-website-builder": "6.6.0-alpha.5",
26
+ "@webiny/api-websockets": "6.6.0-alpha.5",
27
+ "@webiny/app": "6.6.0-alpha.5",
28
+ "@webiny/app-admin": "6.6.0-alpha.5",
29
+ "@webiny/app-headless-cms": "6.6.0-alpha.5",
30
+ "@webiny/app-website-builder": "6.6.0-alpha.5",
31
+ "@webiny/app-websockets": "6.6.0-alpha.5",
32
+ "@webiny/background-tasks": "6.6.0-alpha.5",
34
33
  "@webiny/di": "1.1.0",
35
- "@webiny/event-handler-core": "6.6.0-alpha.4",
36
- "@webiny/feature": "6.6.0-alpha.4",
37
- "@webiny/icons": "6.6.0-alpha.4",
38
- "@webiny/languages": "6.6.0-alpha.4",
39
- "@webiny/lexical-converter": "6.6.0-alpha.4",
40
- "@webiny/project": "6.6.0-alpha.4",
41
- "@webiny/project-aws": "6.6.0-alpha.4",
42
- "@webiny/utils": "6.6.0-alpha.4",
34
+ "@webiny/event-handler-core": "6.6.0-alpha.5",
35
+ "@webiny/feature": "6.6.0-alpha.5",
36
+ "@webiny/icons": "6.6.0-alpha.5",
37
+ "@webiny/languages": "6.6.0-alpha.5",
38
+ "@webiny/lexical-converter": "6.6.0-alpha.5",
39
+ "@webiny/project-aws": "6.6.0-alpha.5",
40
+ "@webiny/utils": "6.6.0-alpha.5",
43
41
  "ai": "7.0.73",
44
42
  "front-matter": "4.0.2",
45
43
  "happy-dom": "20.11.6",
@@ -51,10 +49,10 @@
51
49
  "zod": "4.4.3"
52
50
  },
53
51
  "devDependencies": {
54
- "@webiny/api-graphql": "6.6.0-alpha.4",
55
- "@webiny/build-tools": "6.6.0-alpha.4",
56
- "@webiny/feature-flags": "6.6.0-alpha.4",
57
- "@webiny/wcp": "6.6.0-alpha.4",
52
+ "@webiny/api-graphql": "6.6.0-alpha.5",
53
+ "@webiny/build-tools": "6.6.0-alpha.5",
54
+ "@webiny/feature-flags": "6.6.0-alpha.5",
55
+ "@webiny/wcp": "6.6.0-alpha.5",
58
56
  "rimraf": "6.1.3",
59
57
  "typescript": "7.0.2",
60
58
  "vitest": "4.1.11"
@@ -1,24 +0,0 @@
1
- import { AiChatProvider as Abstraction } from "@webiny/ai-chat/api/index.js";
2
- import type { IAiChatProviderResolution } from "@webiny/ai-chat/api/index.js";
3
- import { Encryption } from "@webiny/api-core/features/encryption/index.js";
4
- import { GetSettingsUseCase } from "../../../api/features/GetSettings/index.js";
5
- /**
6
- * Runs the assistant on the provider configured in AI Power-Ups settings.
7
- *
8
- * Overrides the environment-variable default so the model and its key are managed where every other
9
- * AI feature in the project already manages them — in the admin UI, per tenant, with the key
10
- * encrypted at rest. Same source `CmsGenerateEntryContent` and `CmsCompareEntryRevisions` read.
11
- *
12
- * Uses the FIRST configured provider, matching the other AI Power-Ups use cases. Picking per-feature
13
- * providers is a settings design question, not something to invent here.
14
- */
15
- declare class PowerUpsAiChatProviderImpl implements Abstraction.Interface {
16
- private readonly getSettings;
17
- private readonly encryption;
18
- constructor(getSettings: GetSettingsUseCase.Interface, encryption: Encryption.Interface);
19
- resolve(): Promise<IAiChatProviderResolution>;
20
- }
21
- export declare const PowerUpsAiChatProvider: typeof PowerUpsAiChatProviderImpl & {
22
- __abstraction: import("@webiny/di").Abstraction<import("@webiny/ai-chat/api/abstractions").IAiChatProvider>;
23
- };
24
- export {};
@@ -1,31 +0,0 @@
1
- import { AiChatProvider } from "@webiny/ai-chat/api/index.js";
2
- import { Encryption } from "@webiny/api-core/features/encryption/index.js";
3
- import { GetSettingsUseCase } from "../GetSettings/index.js";
4
- class PowerUpsAiChatProviderImpl {
5
- constructor(getSettings, encryption){
6
- this.getSettings = getSettings;
7
- this.encryption = encryption;
8
- }
9
- async resolve() {
10
- const settingsResult = await this.getSettings.execute();
11
- if (settingsResult.isFail()) throw new Error("Failed to load AI Power Ups settings.");
12
- const provider = settingsResult.value.providers.presets[0];
13
- if (!provider) throw new Error("No AI provider configured. Add one under Settings → AI Power-Ups → Providers.");
14
- if (!provider.model) throw new Error(`The AI provider "${provider.name}" has no model selected. Pick one under Settings → AI Power-Ups → Providers.`);
15
- if (!provider.apiKeyEncrypted) throw new Error(`The AI provider "${provider.name}" has no API key. Add one under Settings → AI Power-Ups → Providers.`);
16
- return {
17
- model: provider.model,
18
- apiKey: await this.encryption.decrypt(provider.apiKeyEncrypted)
19
- };
20
- }
21
- }
22
- const PowerUpsAiChatProvider = AiChatProvider.createImplementation({
23
- implementation: PowerUpsAiChatProviderImpl,
24
- dependencies: [
25
- GetSettingsUseCase,
26
- Encryption
27
- ]
28
- });
29
- export { PowerUpsAiChatProvider };
30
-
31
- //# sourceMappingURL=PowerUpsAiChatProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/features/AiChatProvider/PowerUpsAiChatProvider.js","sources":["../../../../src/api/features/AiChatProvider/PowerUpsAiChatProvider.ts"],"sourcesContent":["import { AiChatProvider as Abstraction } from \"@webiny/ai-chat/api/index.js\";\nimport type { IAiChatProviderResolution } from \"@webiny/ai-chat/api/index.js\";\nimport { Encryption } from \"@webiny/api-core/features/encryption/index.js\";\nimport { GetSettingsUseCase } from \"~/api/features/GetSettings/index.js\";\n\n/**\n * Runs the assistant on the provider configured in AI Power-Ups settings.\n *\n * Overrides the environment-variable default so the model and its key are managed where every other\n * AI feature in the project already manages them — in the admin UI, per tenant, with the key\n * encrypted at rest. Same source `CmsGenerateEntryContent` and `CmsCompareEntryRevisions` read.\n *\n * Uses the FIRST configured provider, matching the other AI Power-Ups use cases. Picking per-feature\n * providers is a settings design question, not something to invent here.\n */\nclass PowerUpsAiChatProviderImpl implements Abstraction.Interface {\n constructor(\n private readonly getSettings: GetSettingsUseCase.Interface,\n private readonly encryption: Encryption.Interface\n ) {}\n\n async resolve(): Promise<IAiChatProviderResolution> {\n const settingsResult = await this.getSettings.execute();\n\n if (settingsResult.isFail()) {\n throw new Error(\"Failed to load AI Power Ups settings.\");\n }\n\n const provider = settingsResult.value.providers.presets[0];\n\n if (!provider) {\n throw new Error(\n \"No AI provider configured. Add one under Settings → AI Power-Ups → Providers.\"\n );\n }\n\n if (!provider.model) {\n throw new Error(\n `The AI provider \"${provider.name}\" has no model selected. Pick one under Settings → AI Power-Ups → Providers.`\n );\n }\n\n /*\n * A row can exist before a key is entered. Erroring here is deliberate: falling back to an\n * environment variable when a provider IS configured is what made the previous behaviour so\n * hard to reason about — the settings screen said one thing and the request used another.\n */\n if (!provider.apiKeyEncrypted) {\n throw new Error(\n `The AI provider \"${provider.name}\" has no API key. Add one under Settings → AI Power-Ups → Providers.`\n );\n }\n\n return {\n model: provider.model,\n apiKey: await this.encryption.decrypt(provider.apiKeyEncrypted)\n };\n }\n}\n\nexport const PowerUpsAiChatProvider = Abstraction.createImplementation({\n implementation: PowerUpsAiChatProviderImpl,\n dependencies: [GetSettingsUseCase, Encryption]\n});\n"],"names":["PowerUpsAiChatProviderImpl","getSettings","encryption","settingsResult","Error","provider","PowerUpsAiChatProvider","Abstraction","GetSettingsUseCase","Encryption"],"mappings":";;;AAeA,MAAMA;IACF,YACqBC,WAAyC,EACzCC,UAAgC,CACnD;aAFmBD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IAClB;IAEH,MAAM,UAA8C;QAChD,MAAMC,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO;QAErD,IAAIA,eAAe,MAAM,IACrB,MAAM,IAAIC,MAAM;QAGpB,MAAMC,WAAWF,eAAe,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAE1D,IAAI,CAACE,UACD,MAAM,IAAID,MACN;QAIR,IAAI,CAACC,SAAS,KAAK,EACf,MAAM,IAAID,MACN,CAAC,iBAAiB,EAAEC,SAAS,IAAI,CAAC,4EAA4E,CAAC;QASvH,IAAI,CAACA,SAAS,eAAe,EACzB,MAAM,IAAID,MACN,CAAC,iBAAiB,EAAEC,SAAS,IAAI,CAAC,oEAAoE,CAAC;QAI/G,OAAO;YACH,OAAOA,SAAS,KAAK;YACrB,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA,SAAS,eAAe;QAClE;IACJ;AACJ;AAEO,MAAMC,yBAAyBC,eAAAA,oBAAgC,CAAC;IACnE,gBAAgBP;IAChB,cAAc;QAACQ;QAAoBC;KAAW;AAClD"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Points the admin AI assistant at the providers configured in AI Power-Ups.
3
- *
4
- * Registered after `AiChatFeature`'s environment default so this one wins.
5
- */
6
- export declare const AiChatProviderFeature: {
7
- name: string;
8
- register(container: import("@webiny/di").Container): void;
9
- };
@@ -1,11 +0,0 @@
1
- import { createFeature } from "@webiny/feature/api";
2
- import { PowerUpsAiChatProvider } from "./PowerUpsAiChatProvider.js";
3
- const AiChatProviderFeature = createFeature({
4
- name: "AiPowerUps/AiChatProvider",
5
- register (container) {
6
- container.register(PowerUpsAiChatProvider);
7
- }
8
- });
9
- export { AiChatProviderFeature };
10
-
11
- //# sourceMappingURL=feature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/features/AiChatProvider/feature.js","sources":["../../../../src/api/features/AiChatProvider/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { PowerUpsAiChatProvider } from \"./PowerUpsAiChatProvider.js\";\n\n/**\n * Points the admin AI assistant at the providers configured in AI Power-Ups.\n *\n * Registered after `AiChatFeature`'s environment default so this one wins.\n */\nexport const AiChatProviderFeature = createFeature({\n name: \"AiPowerUps/AiChatProvider\",\n register(container) {\n container.register(PowerUpsAiChatProvider);\n }\n});\n"],"names":["AiChatProviderFeature","createFeature","container","PowerUpsAiChatProvider"],"mappings":";;AAQO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,2 +0,0 @@
1
- export { AiChatProviderFeature } from "./feature.js";
2
- export { PowerUpsAiChatProvider } from "./PowerUpsAiChatProvider.js";
@@ -1,2 +0,0 @@
1
- export { AiChatProviderFeature } from "./feature.js";
2
- export { PowerUpsAiChatProvider } from "./PowerUpsAiChatProvider.js";