@webiny/ai-powerups 0.0.0-unstable.0d717d18dd
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.
- package/AiPowerups.d.ts +2 -0
- package/AiPowerups.js +11 -0
- package/AiPowerups.js.map +1 -0
- package/LICENSE +36 -0
- package/README.md +11 -0
- package/admin/Extension.d.ts +2 -0
- package/admin/Extension.js +45 -0
- package/admin/Extension.js.map +1 -0
- package/admin/domain/errors.d.ts +12 -0
- package/admin/domain/errors.js +21 -0
- package/admin/domain/errors.js.map +1 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.d.ts +12 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.js +46 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsGateway.js.map +1 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.d.ts +11 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.js +18 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsRepository.js.map +1 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.d.ts +11 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.js +18 -0
- package/admin/features/compareEntryRevisions/CompareEntryRevisionsUseCase.js.map +1 -0
- package/admin/features/compareEntryRevisions/abstractions.d.ts +32 -0
- package/admin/features/compareEntryRevisions/abstractions.js +7 -0
- package/admin/features/compareEntryRevisions/abstractions.js.map +1 -0
- package/admin/features/compareEntryRevisions/feature.d.ts +1 -0
- package/admin/features/compareEntryRevisions/feature.js +15 -0
- package/admin/features/compareEntryRevisions/feature.js.map +1 -0
- package/admin/features/compareEntryRevisions/index.d.ts +2 -0
- package/admin/features/compareEntryRevisions/index.js +2 -0
- package/admin/features/feature.d.ts +1 -0
- package/admin/features/feature.js +24 -0
- package/admin/features/feature.js.map +1 -0
- package/admin/features/generateEntryContent/GenerateEntryContentGateway.d.ts +12 -0
- package/admin/features/generateEntryContent/GenerateEntryContentGateway.js +45 -0
- package/admin/features/generateEntryContent/GenerateEntryContentGateway.js.map +1 -0
- package/admin/features/generateEntryContent/GenerateEntryContentUseCase.d.ts +11 -0
- package/admin/features/generateEntryContent/GenerateEntryContentUseCase.js +18 -0
- package/admin/features/generateEntryContent/GenerateEntryContentUseCase.js.map +1 -0
- package/admin/features/generateEntryContent/abstractions.d.ts +24 -0
- package/admin/features/generateEntryContent/abstractions.js +6 -0
- package/admin/features/generateEntryContent/abstractions.js.map +1 -0
- package/admin/features/generateEntryContent/feature.d.ts +1 -0
- package/admin/features/generateEntryContent/feature.js +13 -0
- package/admin/features/generateEntryContent/feature.js.map +1 -0
- package/admin/features/generateEntryContent/index.d.ts +3 -0
- package/admin/features/generateEntryContent/index.js +2 -0
- package/admin/features/generatePageContent/GeneratePageContentGateway.d.ts +12 -0
- package/admin/features/generatePageContent/GeneratePageContentGateway.js +47 -0
- package/admin/features/generatePageContent/GeneratePageContentGateway.js.map +1 -0
- package/admin/features/generatePageContent/GeneratePageContentUseCase.d.ts +11 -0
- package/admin/features/generatePageContent/GeneratePageContentUseCase.js +18 -0
- package/admin/features/generatePageContent/GeneratePageContentUseCase.js.map +1 -0
- package/admin/features/generatePageContent/abstractions.d.ts +25 -0
- package/admin/features/generatePageContent/abstractions.js +6 -0
- package/admin/features/generatePageContent/abstractions.js.map +1 -0
- package/admin/features/generatePageContent/feature.d.ts +1 -0
- package/admin/features/generatePageContent/feature.js +13 -0
- package/admin/features/generatePageContent/feature.js.map +1 -0
- package/admin/features/generatePageContent/index.d.ts +3 -0
- package/admin/features/generatePageContent/index.js +2 -0
- package/admin/features/listModels/ListModelsGateway.d.ts +12 -0
- package/admin/features/listModels/ListModelsGateway.js +34 -0
- package/admin/features/listModels/ListModelsGateway.js.map +1 -0
- package/admin/features/listModels/ListModelsRepository.d.ts +13 -0
- package/admin/features/listModels/ListModelsRepository.js +27 -0
- package/admin/features/listModels/ListModelsRepository.js.map +1 -0
- package/admin/features/listModels/ListModelsUseCase.d.ts +10 -0
- package/admin/features/listModels/ListModelsUseCase.js +18 -0
- package/admin/features/listModels/ListModelsUseCase.js.map +1 -0
- package/admin/features/listModels/abstractions.d.ts +28 -0
- package/admin/features/listModels/abstractions.js +7 -0
- package/admin/features/listModels/abstractions.js.map +1 -0
- package/admin/features/listModels/feature.d.ts +3 -0
- package/admin/features/listModels/feature.js +21 -0
- package/admin/features/listModels/feature.js.map +1 -0
- package/admin/features/listModels/index.d.ts +2 -0
- package/admin/features/listModels/index.js +2 -0
- package/admin/features/settings/getSettings/GetSettingsGateway.d.ts +12 -0
- package/admin/features/settings/getSettings/GetSettingsGateway.js +29 -0
- package/admin/features/settings/getSettings/GetSettingsGateway.js.map +1 -0
- package/admin/features/settings/getSettings/GetSettingsRepository.d.ts +14 -0
- package/admin/features/settings/getSettings/GetSettingsRepository.js +31 -0
- package/admin/features/settings/getSettings/GetSettingsRepository.js.map +1 -0
- package/admin/features/settings/getSettings/GetSettingsUseCase.d.ts +11 -0
- package/admin/features/settings/getSettings/GetSettingsUseCase.js +18 -0
- package/admin/features/settings/getSettings/GetSettingsUseCase.js.map +1 -0
- package/admin/features/settings/getSettings/abstractions.d.ts +22 -0
- package/admin/features/settings/getSettings/abstractions.js +7 -0
- package/admin/features/settings/getSettings/abstractions.js.map +1 -0
- package/admin/features/settings/getSettings/feature.d.ts +3 -0
- package/admin/features/settings/getSettings/feature.js +21 -0
- package/admin/features/settings/getSettings/feature.js.map +1 -0
- package/admin/features/settings/getSettings/index.d.ts +2 -0
- package/admin/features/settings/getSettings/index.js +2 -0
- package/admin/features/settings/shared/SettingsCache.d.ts +10 -0
- package/admin/features/settings/shared/SettingsCache.js +19 -0
- package/admin/features/settings/shared/SettingsCache.js.map +1 -0
- package/admin/features/settings/shared/abstractions.d.ts +50 -0
- package/admin/features/settings/shared/abstractions.js +5 -0
- package/admin/features/settings/shared/abstractions.js.map +1 -0
- package/admin/features/settings/shared/feature.d.ts +3 -0
- package/admin/features/settings/shared/feature.js +17 -0
- package/admin/features/settings/shared/feature.js.map +1 -0
- package/admin/features/settings/shared/index.d.ts +2 -0
- package/admin/features/settings/shared/index.js +2 -0
- package/admin/features/settings/updateSettings/UpdateSettingsGateway.d.ts +12 -0
- package/admin/features/settings/updateSettings/UpdateSettingsGateway.js +45 -0
- package/admin/features/settings/updateSettings/UpdateSettingsGateway.js.map +1 -0
- package/admin/features/settings/updateSettings/UpdateSettingsRepository.d.ts +13 -0
- package/admin/features/settings/updateSettings/UpdateSettingsRepository.js +23 -0
- package/admin/features/settings/updateSettings/UpdateSettingsRepository.js.map +1 -0
- package/admin/features/settings/updateSettings/UpdateSettingsUseCase.d.ts +11 -0
- package/admin/features/settings/updateSettings/UpdateSettingsUseCase.js +18 -0
- package/admin/features/settings/updateSettings/UpdateSettingsUseCase.js.map +1 -0
- package/admin/features/settings/updateSettings/abstractions.d.ts +22 -0
- package/admin/features/settings/updateSettings/abstractions.js +7 -0
- package/admin/features/settings/updateSettings/abstractions.js.map +1 -0
- package/admin/features/settings/updateSettings/feature.d.ts +3 -0
- package/admin/features/settings/updateSettings/feature.js +21 -0
- package/admin/features/settings/updateSettings/feature.js.map +1 -0
- package/admin/features/settings/updateSettings/index.d.ts +2 -0
- package/admin/features/settings/updateSettings/index.js +2 -0
- package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.d.ts +4 -0
- package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.js +49 -0
- package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPage.js.map +1 -0
- package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.d.ts +26 -0
- package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js +148 -0
- package/admin/presentation/AiPowerUpsSettings/AiPowerUpsSettingsPresenter.js.map +1 -0
- package/admin/presentation/AiPowerUpsSettings/abstractions.d.ts +18 -0
- package/admin/presentation/AiPowerUpsSettings/abstractions.js +5 -0
- package/admin/presentation/AiPowerUpsSettings/abstractions.js.map +1 -0
- package/admin/presentation/AiPowerUpsSettings/feature.d.ts +3 -0
- package/admin/presentation/AiPowerUpsSettings/feature.js +25 -0
- package/admin/presentation/AiPowerUpsSettings/feature.js.map +1 -0
- package/admin/presentation/AiPowerUpsSettings/index.d.ts +3 -0
- package/admin/presentation/AiPowerUpsSettings/index.js +3 -0
- package/admin/presentation/AiPowerUpsSettings/settingsGroup.d.ts +17 -0
- package/admin/presentation/AiPowerUpsSettings/settingsGroup.js +5 -0
- package/admin/presentation/AiPowerUpsSettings/settingsGroup.js.map +1 -0
- package/admin/presentation/AiPowerUpsSettings/useAiPowerUpsSettings.d.ts +4 -0
- package/admin/presentation/AiPowerUpsSettings/useAiPowerUpsSettings.js +27 -0
- package/admin/presentation/AiPowerUpsSettings/useAiPowerUpsSettings.js.map +1 -0
- package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.d.ts +20 -0
- package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.js +108 -0
- package/admin/presentation/AiPromptFormFactory/AiPromptFormFactory.js.map +1 -0
- package/admin/presentation/AiPromptFormFactory/abstractions.d.ts +14 -0
- package/admin/presentation/AiPromptFormFactory/abstractions.js +5 -0
- package/admin/presentation/AiPromptFormFactory/abstractions.js.map +1 -0
- package/admin/presentation/AiPromptFormFactory/feature.d.ts +1 -0
- package/admin/presentation/AiPromptFormFactory/feature.js +11 -0
- package/admin/presentation/AiPromptFormFactory/feature.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.d.ts +9 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.js +118 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDialog.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.d.ts +9 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.js +72 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsDrawer.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.d.ts +4 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.js +21 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsMenuItem.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.d.ts +2 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.js +17 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsOverlays.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.d.ts +25 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.js +90 -0
- package/admin/presentation/CmsCompareEntryRevisions/CmsCompareEntryRevisionsPresenter.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/Extension.d.ts +2 -0
- package/admin/presentation/CmsCompareEntryRevisions/Extension.js +16 -0
- package/admin/presentation/CmsCompareEntryRevisions/Extension.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/abstractions.d.ts +29 -0
- package/admin/presentation/CmsCompareEntryRevisions/abstractions.js +5 -0
- package/admin/presentation/CmsCompareEntryRevisions/abstractions.js.map +1 -0
- package/admin/presentation/CmsCompareEntryRevisions/feature.d.ts +3 -0
- package/admin/presentation/CmsCompareEntryRevisions/feature.js +17 -0
- package/admin/presentation/CmsCompareEntryRevisions/feature.js.map +1 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.d.ts +4 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js +27 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentButton.js.map +1 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.d.ts +5 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.js +106 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentDialog.js.map +1 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.d.ts +29 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.js +120 -0
- package/admin/presentation/CmsContentGeneration/CmsGenerateContentPresenter.js.map +1 -0
- package/admin/presentation/CmsContentGeneration/Extension.d.ts +2 -0
- package/admin/presentation/CmsContentGeneration/Extension.js +27 -0
- package/admin/presentation/CmsContentGeneration/Extension.js.map +1 -0
- package/admin/presentation/CmsContentGeneration/abstractions.d.ts +20 -0
- package/admin/presentation/CmsContentGeneration/abstractions.js +5 -0
- package/admin/presentation/CmsContentGeneration/abstractions.js.map +1 -0
- package/admin/presentation/CmsContentGeneration/feature.d.ts +3 -0
- package/admin/presentation/CmsContentGeneration/feature.js +17 -0
- package/admin/presentation/CmsContentGeneration/feature.js.map +1 -0
- package/admin/presentation/CmsEntryWizard/CmsEntryWizard.d.ts +4 -0
- package/admin/presentation/CmsEntryWizard/CmsEntryWizard.js +113 -0
- package/admin/presentation/CmsEntryWizard/CmsEntryWizard.js.map +1 -0
- package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.d.ts +4 -0
- package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.js +19 -0
- package/admin/presentation/CmsEntryWizard/CmsEntryWizardGate.js.map +1 -0
- package/admin/presentation/CmsEntryWizard/Extension.d.ts +2 -0
- package/admin/presentation/CmsEntryWizard/Extension.js +10 -0
- package/admin/presentation/CmsEntryWizard/Extension.js.map +1 -0
- package/admin/presentation/ProjectsSettings.d.ts +11 -0
- package/admin/presentation/ProjectsSettings.js +56 -0
- package/admin/presentation/ProjectsSettings.js.map +1 -0
- package/admin/presentation/ProvidersSettings.d.ts +16 -0
- package/admin/presentation/ProvidersSettings.js +46 -0
- package/admin/presentation/ProvidersSettings.js.map +1 -0
- package/admin/presentation/ReaderPersonasSettings.d.ts +11 -0
- package/admin/presentation/ReaderPersonasSettings.js +37 -0
- package/admin/presentation/ReaderPersonasSettings.js.map +1 -0
- package/admin/presentation/WbContentGeneration/Extension.d.ts +2 -0
- package/admin/presentation/WbContentGeneration/Extension.js +22 -0
- package/admin/presentation/WbContentGeneration/Extension.js.map +1 -0
- package/admin/presentation/WbContentGeneration/GenerateContentButton.d.ts +2 -0
- package/admin/presentation/WbContentGeneration/GenerateContentButton.js +19 -0
- package/admin/presentation/WbContentGeneration/GenerateContentButton.js.map +1 -0
- package/admin/presentation/WbContentGeneration/GenerateContentDialog.d.ts +21 -0
- package/admin/presentation/WbContentGeneration/GenerateContentDialog.js +125 -0
- package/admin/presentation/WbContentGeneration/GenerateContentDialog.js.map +1 -0
- package/admin/presentation/WbContentGeneration/GenerateContentPresenter.d.ts +33 -0
- package/admin/presentation/WbContentGeneration/GenerateContentPresenter.js +161 -0
- package/admin/presentation/WbContentGeneration/GenerateContentPresenter.js.map +1 -0
- package/admin/presentation/WbContentGeneration/PROCESS_IDEA.md +190 -0
- package/admin/presentation/WbContentGeneration/abstractions.d.ts +31 -0
- package/admin/presentation/WbContentGeneration/abstractions.js +5 -0
- package/admin/presentation/WbContentGeneration/abstractions.js.map +1 -0
- package/admin/presentation/WbContentGeneration/decompressGzipBase64.d.ts +1 -0
- package/admin/presentation/WbContentGeneration/decompressGzipBase64.js +13 -0
- package/admin/presentation/WbContentGeneration/decompressGzipBase64.js.map +1 -0
- package/admin/presentation/WbContentGeneration/feature.d.ts +3 -0
- package/admin/presentation/WbContentGeneration/feature.js +17 -0
- package/admin/presentation/WbContentGeneration/feature.js.map +1 -0
- package/admin/presentation/WriterPersonasSettings.d.ts +11 -0
- package/admin/presentation/WriterPersonasSettings.js +37 -0
- package/admin/presentation/WriterPersonasSettings.js.map +1 -0
- package/admin/routes.d.ts +4 -0
- package/admin/routes.js +10 -0
- package/admin/routes.js.map +1 -0
- package/api/Extension.d.ts +4 -0
- package/api/Extension.js +45 -0
- package/api/Extension.js.map +1 -0
- package/api/constants.d.ts +1 -0
- package/api/constants.js +4 -0
- package/api/constants.js.map +1 -0
- package/api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.d.ts +13 -0
- package/api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.js +31 -0
- package/api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.js.map +1 -0
- package/api/features/AiImageEnrichment/AiImageEnrichmentTask.d.ts +36 -0
- package/api/features/AiImageEnrichment/AiImageEnrichmentTask.js +142 -0
- package/api/features/AiImageEnrichment/AiImageEnrichmentTask.js.map +1 -0
- package/api/features/AiImageEnrichment/feature.d.ts +4 -0
- package/api/features/AiImageEnrichment/feature.js +13 -0
- package/api/features/AiImageEnrichment/feature.js.map +1 -0
- package/api/features/AiPromptContext/AiPromptContextBuilder.d.ts +19 -0
- package/api/features/AiPromptContext/AiPromptContextBuilder.js +147 -0
- package/api/features/AiPromptContext/AiPromptContextBuilder.js.map +1 -0
- package/api/features/AiPromptContext/ProjectFileAssembler.d.ts +22 -0
- package/api/features/AiPromptContext/ProjectFileAssembler.js +76 -0
- package/api/features/AiPromptContext/ProjectFileAssembler.js.map +1 -0
- package/api/features/AiPromptContext/ProjectFileCache.d.ts +16 -0
- package/api/features/AiPromptContext/ProjectFileCache.js +61 -0
- package/api/features/AiPromptContext/ProjectFileCache.js.map +1 -0
- package/api/features/AiPromptContext/ProjectSection.d.ts +4 -0
- package/api/features/AiPromptContext/ProjectSection.js +35 -0
- package/api/features/AiPromptContext/ProjectSection.js.map +1 -0
- package/api/features/AiPromptContext/ReadProjectFileTool.d.ts +3 -0
- package/api/features/AiPromptContext/ReadProjectFileTool.js +36 -0
- package/api/features/AiPromptContext/ReadProjectFileTool.js.map +1 -0
- package/api/features/AiPromptContext/ReaderPersonaSection.d.ts +4 -0
- package/api/features/AiPromptContext/ReaderPersonaSection.js +10 -0
- package/api/features/AiPromptContext/ReaderPersonaSection.js.map +1 -0
- package/api/features/AiPromptContext/WriterPersonaSection.d.ts +4 -0
- package/api/features/AiPromptContext/WriterPersonaSection.js +10 -0
- package/api/features/AiPromptContext/WriterPersonaSection.js.map +1 -0
- package/api/features/AiPromptContext/abstractions.d.ts +71 -0
- package/api/features/AiPromptContext/abstractions.js +15 -0
- package/api/features/AiPromptContext/abstractions.js.map +1 -0
- package/api/features/AiPromptContext/feature.d.ts +4 -0
- package/api/features/AiPromptContext/feature.js +15 -0
- package/api/features/AiPromptContext/feature.js.map +1 -0
- package/api/features/AiPromptContext/index.d.ts +1 -0
- package/api/features/AiPromptContext/index.js +1 -0
- package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.d.ts +22 -0
- package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js +136 -0
- package/api/features/CmsCompareEntryRevisions/CmsCompareEntryRevisionsUseCase.js.map +1 -0
- package/api/features/CmsCompareEntryRevisions/abstractions.d.ts +18 -0
- package/api/features/CmsCompareEntryRevisions/abstractions.js +5 -0
- package/api/features/CmsCompareEntryRevisions/abstractions.js.map +1 -0
- package/api/features/CmsCompareEntryRevisions/feature.d.ts +4 -0
- package/api/features/CmsCompareEntryRevisions/feature.js +11 -0
- package/api/features/CmsCompareEntryRevisions/feature.js.map +1 -0
- package/api/features/CmsCompareEntryRevisions/index.d.ts +2 -0
- package/api/features/CmsCompareEntryRevisions/index.js +2 -0
- package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.d.ts +33 -0
- package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js +84 -0
- package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentTask.js.map +1 -0
- package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.d.ts +29 -0
- package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js +141 -0
- package/api/features/CmsGenerateEntryContent/CmsGenerateEntryContentUseCase.js.map +1 -0
- package/api/features/CmsGenerateEntryContent/abstractions.d.ts +36 -0
- package/api/features/CmsGenerateEntryContent/abstractions.js +5 -0
- package/api/features/CmsGenerateEntryContent/abstractions.js.map +1 -0
- package/api/features/CmsGenerateEntryContent/buildPrompt.d.ts +2 -0
- package/api/features/CmsGenerateEntryContent/buildPrompt.js +61 -0
- package/api/features/CmsGenerateEntryContent/buildPrompt.js.map +1 -0
- package/api/features/CmsGenerateEntryContent/feature.d.ts +4 -0
- package/api/features/CmsGenerateEntryContent/feature.js +13 -0
- package/api/features/CmsGenerateEntryContent/feature.js.map +1 -0
- package/api/features/CmsGenerateEntryContent/index.d.ts +1 -0
- package/api/features/CmsGenerateEntryContent/index.js +1 -0
- package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.d.ts +2 -0
- package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.js +30 -0
- package/api/features/CmsGenerateEntryContent/injectDynamicZoneTypenames.js.map +1 -0
- package/api/features/CmsResolveImageTool/CmsResolveImageTool.d.ts +14 -0
- package/api/features/CmsResolveImageTool/CmsResolveImageTool.js +27 -0
- package/api/features/CmsResolveImageTool/CmsResolveImageTool.js.map +1 -0
- package/api/features/CmsResolveImageTool/feature.d.ts +4 -0
- package/api/features/CmsResolveImageTool/feature.js +11 -0
- package/api/features/CmsResolveImageTool/feature.js.map +1 -0
- package/api/features/ExtractFrontmatter/ExtractFrontmatterBeforeCreateHandler.d.ts +11 -0
- package/api/features/ExtractFrontmatter/ExtractFrontmatterBeforeCreateHandler.js +34 -0
- package/api/features/ExtractFrontmatter/ExtractFrontmatterBeforeCreateHandler.js.map +1 -0
- package/api/features/ExtractFrontmatter/feature.d.ts +4 -0
- package/api/features/ExtractFrontmatter/feature.js +11 -0
- package/api/features/ExtractFrontmatter/feature.js.map +1 -0
- package/api/features/GetSettings/GetSettingsRepository.d.ts +16 -0
- package/api/features/GetSettings/GetSettingsRepository.js +40 -0
- package/api/features/GetSettings/GetSettingsRepository.js.map +1 -0
- package/api/features/GetSettings/GetSettingsUseCase.d.ts +10 -0
- package/api/features/GetSettings/GetSettingsUseCase.js +18 -0
- package/api/features/GetSettings/GetSettingsUseCase.js.map +1 -0
- package/api/features/GetSettings/abstractions.d.ts +16 -0
- package/api/features/GetSettings/abstractions.js +6 -0
- package/api/features/GetSettings/abstractions.js.map +1 -0
- package/api/features/GetSettings/feature.d.ts +4 -0
- package/api/features/GetSettings/feature.js +13 -0
- package/api/features/GetSettings/feature.js.map +1 -0
- package/api/features/GetSettings/index.d.ts +2 -0
- package/api/features/GetSettings/index.js +2 -0
- package/api/features/Projects/ProjectsHandler.d.ts +31 -0
- package/api/features/Projects/ProjectsHandler.js +103 -0
- package/api/features/Projects/ProjectsHandler.js.map +1 -0
- package/api/features/Projects/feature.d.ts +4 -0
- package/api/features/Projects/feature.js +11 -0
- package/api/features/Projects/feature.js.map +1 -0
- package/api/features/Projects/types.d.ts +50 -0
- package/api/features/Projects/types.js +0 -0
- package/api/features/Providers/ProvidersGraphQLMapper.d.ts +21 -0
- package/api/features/Providers/ProvidersGraphQLMapper.js +39 -0
- package/api/features/Providers/ProvidersGraphQLMapper.js.map +1 -0
- package/api/features/Providers/ProvidersHandler.d.ts +26 -0
- package/api/features/Providers/ProvidersHandler.js +79 -0
- package/api/features/Providers/ProvidersHandler.js.map +1 -0
- package/api/features/Providers/feature.d.ts +4 -0
- package/api/features/Providers/feature.js +13 -0
- package/api/features/Providers/feature.js.map +1 -0
- package/api/features/Providers/index.d.ts +1 -0
- package/api/features/Providers/index.js +0 -0
- package/api/features/Providers/types.d.ts +29 -0
- package/api/features/Providers/types.js +0 -0
- package/api/features/ReaderPersonas/ReaderPersonasHandler.d.ts +20 -0
- package/api/features/ReaderPersonas/ReaderPersonasHandler.js +43 -0
- package/api/features/ReaderPersonas/ReaderPersonasHandler.js.map +1 -0
- package/api/features/ReaderPersonas/feature.d.ts +4 -0
- package/api/features/ReaderPersonas/feature.js +11 -0
- package/api/features/ReaderPersonas/feature.js.map +1 -0
- package/api/features/ReaderPersonas/index.d.ts +2 -0
- package/api/features/ReaderPersonas/index.js +1 -0
- package/api/features/ReaderPersonas/types.d.ts +24 -0
- package/api/features/ReaderPersonas/types.js +0 -0
- package/api/features/UpdateSettings/UpdateSettingsRepository.d.ts +16 -0
- package/api/features/UpdateSettings/UpdateSettingsRepository.js +71 -0
- package/api/features/UpdateSettings/UpdateSettingsRepository.js.map +1 -0
- package/api/features/UpdateSettings/UpdateSettingsUseCase.d.ts +13 -0
- package/api/features/UpdateSettings/UpdateSettingsUseCase.js +30 -0
- package/api/features/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
- package/api/features/UpdateSettings/abstractions.d.ts +36 -0
- package/api/features/UpdateSettings/abstractions.js +8 -0
- package/api/features/UpdateSettings/abstractions.js.map +1 -0
- package/api/features/UpdateSettings/errors.d.ts +10 -0
- package/api/features/UpdateSettings/errors.js +14 -0
- package/api/features/UpdateSettings/errors.js.map +1 -0
- package/api/features/UpdateSettings/events.d.ts +10 -0
- package/api/features/UpdateSettings/events.js +21 -0
- package/api/features/UpdateSettings/events.js.map +1 -0
- package/api/features/UpdateSettings/feature.d.ts +4 -0
- package/api/features/UpdateSettings/feature.js +13 -0
- package/api/features/UpdateSettings/feature.js.map +1 -0
- package/api/features/UpdateSettings/index.d.ts +1 -0
- package/api/features/UpdateSettings/index.js +1 -0
- package/api/features/WbGeneratePageContent/ComponentFilter.d.ts +18 -0
- package/api/features/WbGeneratePageContent/ComponentFilter.js +69 -0
- package/api/features/WbGeneratePageContent/ComponentFilter.js.map +1 -0
- package/api/features/WbGeneratePageContent/LlmJsonResponse.d.ts +7 -0
- package/api/features/WbGeneratePageContent/LlmJsonResponse.js +35 -0
- package/api/features/WbGeneratePageContent/LlmJsonResponse.js.map +1 -0
- package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.d.ts +34 -0
- package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js +85 -0
- package/api/features/WbGeneratePageContent/WbGeneratePageContentTask.js.map +1 -0
- package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.d.ts +23 -0
- package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js +121 -0
- package/api/features/WbGeneratePageContent/WbGeneratePageContentUseCase.js.map +1 -0
- package/api/features/WbGeneratePageContent/abstractions.d.ts +31 -0
- package/api/features/WbGeneratePageContent/abstractions.js +5 -0
- package/api/features/WbGeneratePageContent/abstractions.js.map +1 -0
- package/api/features/WbGeneratePageContent/buildPrompt.d.ts +3 -0
- package/api/features/WbGeneratePageContent/buildPrompt.js +158 -0
- package/api/features/WbGeneratePageContent/buildPrompt.js.map +1 -0
- package/api/features/WbGeneratePageContent/feature.d.ts +4 -0
- package/api/features/WbGeneratePageContent/feature.js +13 -0
- package/api/features/WbGeneratePageContent/feature.js.map +1 -0
- package/api/features/WbGeneratePageContent/index.d.ts +1 -0
- package/api/features/WbGeneratePageContent/index.js +1 -0
- package/api/features/WbTranslatePage/LexicalParser.d.ts +10 -0
- package/api/features/WbTranslatePage/LexicalParser.js +37 -0
- package/api/features/WbTranslatePage/LexicalParser.js.map +1 -0
- package/api/features/WbTranslatePage/WbTranslatePageDecorator.d.ts +27 -0
- package/api/features/WbTranslatePage/WbTranslatePageDecorator.js +134 -0
- package/api/features/WbTranslatePage/WbTranslatePageDecorator.js.map +1 -0
- package/api/features/WbTranslatePage/abstractions/LexicalParser.d.ts +7 -0
- package/api/features/WbTranslatePage/abstractions/LexicalParser.js +5 -0
- package/api/features/WbTranslatePage/abstractions/LexicalParser.js.map +1 -0
- package/api/features/WbTranslatePage/feature.d.ts +4 -0
- package/api/features/WbTranslatePage/feature.js +13 -0
- package/api/features/WbTranslatePage/feature.js.map +1 -0
- package/api/features/WbTranslatePage/index.d.ts +2 -0
- package/api/features/WbTranslatePage/index.js +2 -0
- package/api/features/WriterPersonas/WriterPersonasHandler.d.ts +20 -0
- package/api/features/WriterPersonas/WriterPersonasHandler.js +43 -0
- package/api/features/WriterPersonas/WriterPersonasHandler.js.map +1 -0
- package/api/features/WriterPersonas/feature.d.ts +4 -0
- package/api/features/WriterPersonas/feature.js +11 -0
- package/api/features/WriterPersonas/feature.js.map +1 -0
- package/api/features/WriterPersonas/index.d.ts +2 -0
- package/api/features/WriterPersonas/index.js +1 -0
- package/api/features/WriterPersonas/types.d.ts +24 -0
- package/api/features/WriterPersonas/types.js +0 -0
- package/api/features/shared/SettingsCache.d.ts +12 -0
- package/api/features/shared/SettingsCache.js +22 -0
- package/api/features/shared/SettingsCache.js.map +1 -0
- package/api/features/shared/abstractions.d.ts +33 -0
- package/api/features/shared/abstractions.js +7 -0
- package/api/features/shared/abstractions.js.map +1 -0
- package/api/features/shared/index.d.ts +3 -0
- package/api/features/shared/index.js +1 -0
- package/api/graphql/AiPowerUpsSettingsGraphQLMapper.d.ts +13 -0
- package/api/graphql/AiPowerUpsSettingsGraphQLMapper.js +44 -0
- package/api/graphql/AiPowerUpsSettingsGraphQLMapper.js.map +1 -0
- package/api/graphql/BaseGraphQLSchema.d.ts +8 -0
- package/api/graphql/BaseGraphQLSchema.js +172 -0
- package/api/graphql/BaseGraphQLSchema.js.map +1 -0
- package/api/graphql/CmsCompareEntryRevisionsSchema.d.ts +8 -0
- package/api/graphql/CmsCompareEntryRevisionsSchema.js +68 -0
- package/api/graphql/CmsCompareEntryRevisionsSchema.js.map +1 -0
- package/api/graphql/abstractions.d.ts +9 -0
- package/api/graphql/abstractions.js +5 -0
- package/api/graphql/abstractions.js.map +1 -0
- package/api/types.d.ts +5 -0
- package/api/types.js +3 -0
- package/exports/admin/ai-powerups.d.ts +1 -0
- package/exports/admin/ai-powerups.js +1 -0
- package/exports/api/ai-powerups.d.ts +2 -0
- package/exports/api/ai-powerups.js +2 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# PROMPT (sent to AI via generateObject)
|
|
2
|
+
|
|
3
|
+
## System Prompt
|
|
4
|
+
|
|
5
|
+
You are a page content generator. Given a user prompt, generate structured page
|
|
6
|
+
content using the provided component catalog and available actions.
|
|
7
|
+
|
|
8
|
+
### Component Catalog
|
|
9
|
+
|
|
10
|
+
```json
|
|
11
|
+
{
|
|
12
|
+
"components": {
|
|
13
|
+
"Webiny/Hero": {
|
|
14
|
+
"name": "Webiny/Hero",
|
|
15
|
+
"label": "Hero",
|
|
16
|
+
"inputs": [
|
|
17
|
+
{ "type": "text", "name": "title", "required": true },
|
|
18
|
+
{ "type": "lexical", "name": "description" },
|
|
19
|
+
{ "type": "image", "name": "heroImage" },
|
|
20
|
+
{ "type": "lexical", "name": "footerText" }
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"Webiny/Grid": {
|
|
24
|
+
"name": "Webiny/Grid",
|
|
25
|
+
"label": "Grid",
|
|
26
|
+
"inputs": [
|
|
27
|
+
{ "type": "text", "name": "gridLayout" },
|
|
28
|
+
{ "type": "number", "name": "rowCount", "minValue": 1 },
|
|
29
|
+
{ "type": "number", "name": "columnGap" },
|
|
30
|
+
{ "type": "number", "name": "rowGap" },
|
|
31
|
+
{
|
|
32
|
+
"type": "select",
|
|
33
|
+
"name": "stackAtBreakpoint",
|
|
34
|
+
"options": ["tablet", "mobile"]
|
|
35
|
+
},
|
|
36
|
+
{ "type": "boolean", "name": "reverseWhenStacked" },
|
|
37
|
+
{
|
|
38
|
+
"type": "object",
|
|
39
|
+
"name": "columns",
|
|
40
|
+
"list": true,
|
|
41
|
+
"fields": [
|
|
42
|
+
{
|
|
43
|
+
"type": "slot",
|
|
44
|
+
"list": false,
|
|
45
|
+
"name": "children",
|
|
46
|
+
"components": ["Webiny/GridColumn"]
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"Webiny/GridColumn": {
|
|
53
|
+
"name": "Webiny/GridColumn",
|
|
54
|
+
"label": "Column",
|
|
55
|
+
"inputs": [{ "type": "slot", "list": true, "name": "children" }]
|
|
56
|
+
},
|
|
57
|
+
"Webiny/Lexical": {
|
|
58
|
+
"name": "Webiny/Lexical",
|
|
59
|
+
"label": "Rich Text",
|
|
60
|
+
"inputs": [{ "type": "lexical", "name": "content" }]
|
|
61
|
+
},
|
|
62
|
+
"Webiny/Box": {
|
|
63
|
+
"name": "Webiny/Box",
|
|
64
|
+
"label": "Box",
|
|
65
|
+
"inputs": [{ "type": "slot", "list": true, "name": "children" }]
|
|
66
|
+
},
|
|
67
|
+
"Webiny/ProductCard": {
|
|
68
|
+
"name": "Webiny/ProductCard",
|
|
69
|
+
"label": "Product Card",
|
|
70
|
+
"inputs": [
|
|
71
|
+
{ "type": "product", "name": "product" },
|
|
72
|
+
{ "type": "boolean", "name": "showPrice" },
|
|
73
|
+
{ "type": "boolean", "name": "showRating" }
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Grid layout options: `12`, `6-6`, `4-4-4`, `8-4`, `4-8`, `3-3-3-3`
|
|
81
|
+
|
|
82
|
+
### Available Tools
|
|
83
|
+
|
|
84
|
+
For input fields that require post-processing, wrap the value in a tool
|
|
85
|
+
envelope: `{ "tool": "<toolName>", "params": { ... } }`.
|
|
86
|
+
|
|
87
|
+
Plain values (text, number, boolean, select) should be set directly without
|
|
88
|
+
an envelope.
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"tools": {
|
|
93
|
+
"htmlToLexical": {
|
|
94
|
+
"description": "Converts an HTML string into Lexical editor state. Use for all 'lexical' type inputs.",
|
|
95
|
+
"inputSchema": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"properties": {
|
|
98
|
+
"html": { "type": "string", "description": "HTML content" }
|
|
99
|
+
},
|
|
100
|
+
"required": ["html"]
|
|
101
|
+
},
|
|
102
|
+
"outputSchema": {
|
|
103
|
+
"type": "object",
|
|
104
|
+
"description": "Lexical editor state JSON"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"resolveImage": {
|
|
108
|
+
"description": "Fetches an image from the DAM matching the given tags and constraints.",
|
|
109
|
+
"inputSchema": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"tags": {
|
|
113
|
+
"type": "array",
|
|
114
|
+
"items": { "type": "string" },
|
|
115
|
+
"description": "Semantic tags describing the desired image"
|
|
116
|
+
},
|
|
117
|
+
"aspect": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "Desired aspect ratio, e.g. '16:9', '1:1'"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"required": ["tags"]
|
|
123
|
+
},
|
|
124
|
+
"outputSchema": {
|
|
125
|
+
"type": "object",
|
|
126
|
+
"properties": {
|
|
127
|
+
"id": { "type": "string" },
|
|
128
|
+
"name": { "type": "string" },
|
|
129
|
+
"src": { "type": "string" },
|
|
130
|
+
"width": { "type": "number" },
|
|
131
|
+
"height": { "type": "number" },
|
|
132
|
+
"mimeType": { "type": "string" }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"resolveProduct": {
|
|
137
|
+
"description": "Fetches a product reference from the e-commerce catalog.",
|
|
138
|
+
"inputSchema": {
|
|
139
|
+
"type": "object",
|
|
140
|
+
"properties": {
|
|
141
|
+
"query": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"description": "Search query or product name"
|
|
144
|
+
},
|
|
145
|
+
"sku": { "type": "string", "description": "Exact SKU if known" },
|
|
146
|
+
"category": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"description": "Product category to filter by"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"outputSchema": {
|
|
153
|
+
"type": "object",
|
|
154
|
+
"properties": {
|
|
155
|
+
"id": { "type": "string" },
|
|
156
|
+
"name": { "type": "string" },
|
|
157
|
+
"sku": { "type": "string" },
|
|
158
|
+
"price": { "type": "number" },
|
|
159
|
+
"currency": { "type": "string" },
|
|
160
|
+
"imageUrl": { "type": "string" }
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Page Schema
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
type ElementSchema = {
|
|
172
|
+
component: string;
|
|
173
|
+
inputs: Record<string, unknown>;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
type CreateElementAction = {
|
|
177
|
+
action: "CreateElement";
|
|
178
|
+
params: ElementSchema;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
type PageSchema = ElementSchema[];
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
For slot inputs, use `{ "action": "CreateElement", "params": { "component": "...", "inputs": { ... } } }`.
|
|
185
|
+
Note: `CreateElement` uses "action" — it is a structural instruction for the page builder, not a tool invocation.
|
|
186
|
+
|
|
187
|
+
## User Prompt
|
|
188
|
+
|
|
189
|
+
"Create a landing page for Nike Air Max 90 sneakers. Include a hero section
|
|
190
|
+
with a tagline, a features grid, and a section showing 3 related products."
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IFormVM } from "@webiny/app-admin/features/formModel/abstractions.js";
|
|
2
|
+
export type CreateElementParams = {
|
|
3
|
+
componentName: string;
|
|
4
|
+
parentId: string;
|
|
5
|
+
slot: string;
|
|
6
|
+
index?: number;
|
|
7
|
+
bindings?: {
|
|
8
|
+
inputs?: Record<string, unknown>;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export type CreateElementsFn = (elements: CreateElementParams[]) => void | Promise<void>;
|
|
12
|
+
export interface IGenerateContentVm {
|
|
13
|
+
form: IFormVM | null;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
submitting: boolean;
|
|
16
|
+
processing: boolean;
|
|
17
|
+
timedOut: boolean;
|
|
18
|
+
elapsedSeconds: number;
|
|
19
|
+
}
|
|
20
|
+
export interface IGenerateContentPresenter {
|
|
21
|
+
readonly vm: IGenerateContentVm;
|
|
22
|
+
init(components: Record<string, any>[], createElements: CreateElementsFn): void;
|
|
23
|
+
submit(): Promise<void>;
|
|
24
|
+
cancelPrompt(): void;
|
|
25
|
+
processAiResponse(responseText: string): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export declare const GenerateContentPresenter: import("@webiny/di").Abstraction<IGenerateContentPresenter>;
|
|
28
|
+
export declare namespace GenerateContentPresenter {
|
|
29
|
+
type Interface = IGenerateContentPresenter;
|
|
30
|
+
type ViewModel = IGenerateContentVm;
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WbContentGeneration/abstractions.js","sources":["../../../../src/admin/presentation/WbContentGeneration/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { IFormVM } from \"@webiny/app-admin/features/formModel/abstractions.js\";\n\nexport type CreateElementParams = {\n componentName: string;\n parentId: string;\n slot: string;\n index?: number;\n bindings?: { inputs?: Record<string, unknown> };\n};\n\nexport type CreateElementsFn = (elements: CreateElementParams[]) => void | Promise<void>;\n\nexport interface IGenerateContentVm {\n form: IFormVM | null;\n loading: boolean;\n submitting: boolean;\n processing: boolean;\n timedOut: boolean;\n elapsedSeconds: number;\n}\n\nexport interface IGenerateContentPresenter {\n readonly vm: IGenerateContentVm;\n init(components: Record<string, any>[], createElements: CreateElementsFn): void;\n submit(): Promise<void>;\n cancelPrompt(): void;\n processAiResponse(responseText: string): Promise<void>;\n}\n\nexport const GenerateContentPresenter = createAbstraction<IGenerateContentPresenter>(\n \"WbContentGeneration/Presenter\"\n);\n\nexport namespace GenerateContentPresenter {\n export type Interface = IGenerateContentPresenter;\n export type ViewModel = IGenerateContentVm;\n}\n"],"names":["GenerateContentPresenter","createAbstraction"],"mappings":";AA8BO,MAAMA,2BAA2BC,kBACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function decompressGzipBase64(base64: string): Promise<string>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
async function decompressGzipBase64(base64) {
|
|
2
|
+
const binary = atob(base64);
|
|
3
|
+
const bytes = new Uint8Array(binary.length);
|
|
4
|
+
for(let i = 0; i < binary.length; i++)bytes[i] = binary.charCodeAt(i);
|
|
5
|
+
const ds = new DecompressionStream("gzip");
|
|
6
|
+
const writer = ds.writable.getWriter();
|
|
7
|
+
writer.write(bytes);
|
|
8
|
+
writer.close();
|
|
9
|
+
return new Response(ds.readable).text();
|
|
10
|
+
}
|
|
11
|
+
export { decompressGzipBase64 };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=decompressGzipBase64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WbContentGeneration/decompressGzipBase64.js","sources":["../../../../src/admin/presentation/WbContentGeneration/decompressGzipBase64.ts"],"sourcesContent":["export async function decompressGzipBase64(base64: string): Promise<string> {\n const binary = atob(base64);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n const ds = new DecompressionStream(\"gzip\");\n const writer = ds.writable.getWriter();\n writer.write(bytes);\n writer.close();\n return new Response(ds.readable).text();\n}\n"],"names":["decompressGzipBase64","base64","binary","atob","bytes","Uint8Array","i","ds","DecompressionStream","writer","Response"],"mappings":"AAAO,eAAeA,qBAAqBC,MAAc;IACrD,MAAMC,SAASC,KAAKF;IACpB,MAAMG,QAAQ,IAAIC,WAAWH,OAAO,MAAM;IAC1C,IAAK,IAAII,IAAI,GAAGA,IAAIJ,OAAO,MAAM,EAAEI,IAC/BF,KAAK,CAACE,EAAE,GAAGJ,OAAO,UAAU,CAACI;IAEjC,MAAMC,KAAK,IAAIC,oBAAoB;IACnC,MAAMC,SAASF,GAAG,QAAQ,CAAC,SAAS;IACpCE,OAAO,KAAK,CAACL;IACbK,OAAO,KAAK;IACZ,OAAO,IAAIC,SAASH,GAAG,QAAQ,EAAE,IAAI;AACzC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
+
import { GenerateContentPresenter } from "./abstractions.js";
|
|
3
|
+
import { GenerateContentPresenterRegistration } from "./GenerateContentPresenter.js";
|
|
4
|
+
const GenerateContentFeature = createFeature({
|
|
5
|
+
name: "WbContentGeneration/Presenter",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(GenerateContentPresenterRegistration);
|
|
8
|
+
},
|
|
9
|
+
resolve (container) {
|
|
10
|
+
return {
|
|
11
|
+
presenter: container.resolve(GenerateContentPresenter)
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
export { GenerateContentFeature };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WbContentGeneration/feature.js","sources":["../../../../src/admin/presentation/WbContentGeneration/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { GenerateContentPresenter } from \"./abstractions.js\";\nimport { GenerateContentPresenterRegistration } from \"./GenerateContentPresenter.js\";\n\nexport const GenerateContentFeature = createFeature({\n name: \"WbContentGeneration/Presenter\",\n register(container) {\n container.register(GenerateContentPresenterRegistration);\n },\n resolve(container) {\n return {\n presenter: container.resolve(GenerateContentPresenter)\n };\n }\n});\n"],"names":["GenerateContentFeature","createFeature","container","GenerateContentPresenterRegistration","GenerateContentPresenter"],"mappings":";;;AAIO,MAAMA,yBAAyBC,cAAc;IAChD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;IACA,SAAQD,SAAS;QACb,OAAO;YACH,WAAWA,UAAU,OAAO,CAACE;QACjC;IACJ;AACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AiPowerUpsSettingsGroup } from "./AiPowerUpsSettings/settingsGroup.js";
|
|
2
|
+
declare class WriterPersonasSettingsImpl implements AiPowerUpsSettingsGroup.Interface {
|
|
3
|
+
name: string;
|
|
4
|
+
label: string;
|
|
5
|
+
description: string;
|
|
6
|
+
buildForm(form: AiPowerUpsSettingsGroup.FormBuilder): void;
|
|
7
|
+
}
|
|
8
|
+
export declare const WriterPersonasSettings: typeof WriterPersonasSettingsImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./AiPowerUpsSettings/settingsGroup.js").IAiPowerUpsSettingsGroup>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { generateAlphaNumericId } from "@webiny/utils";
|
|
2
|
+
import { AiPowerUpsSettingsGroup } from "./AiPowerUpsSettings/settingsGroup.js";
|
|
3
|
+
class WriterPersonasSettingsImpl {
|
|
4
|
+
buildForm(form) {
|
|
5
|
+
form.fields((fields)=>({
|
|
6
|
+
presets: fields.object().label("Presets").renderer("objectAccordionMultiple", {
|
|
7
|
+
container: false,
|
|
8
|
+
addItemLabel: "Add writer persona",
|
|
9
|
+
itemTitle: (data, index)=>String(data.name || `Writer Persona #${index + 1}`)
|
|
10
|
+
}).fields((f)=>({
|
|
11
|
+
id: f.text().hidden().defaultValue(()=>generateAlphaNumericId(10)),
|
|
12
|
+
name: f.text().label("Name").required("Name is required").description("This name will be used to identify the writer persona in the UI."),
|
|
13
|
+
description: f.text().label("Description").required("Description is required").description("Describe how this persona writes and communicates. This will be used when prompting AI.").renderer("textarea", {
|
|
14
|
+
rows: 8
|
|
15
|
+
}),
|
|
16
|
+
style: f.text().label("Style").description("Optional hints about the tone or style this persona should adopt when writing.").renderer("textarea", {
|
|
17
|
+
rows: 3
|
|
18
|
+
})
|
|
19
|
+
})).list()
|
|
20
|
+
}));
|
|
21
|
+
form.layout((layout)=>[
|
|
22
|
+
layout.row("presets")
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
constructor(){
|
|
26
|
+
this.name = "writerPersonas";
|
|
27
|
+
this.label = "Writer Personas";
|
|
28
|
+
this.description = "Define how text should be written.";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const WriterPersonasSettings = AiPowerUpsSettingsGroup.createImplementation({
|
|
32
|
+
implementation: WriterPersonasSettingsImpl,
|
|
33
|
+
dependencies: []
|
|
34
|
+
});
|
|
35
|
+
export { WriterPersonasSettings };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=WriterPersonasSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WriterPersonasSettings.js","sources":["../../../src/admin/presentation/WriterPersonasSettings.ts"],"sourcesContent":["import { generateAlphaNumericId } from \"@webiny/utils\";\nimport { AiPowerUpsSettingsGroup } from \"./AiPowerUpsSettings/settingsGroup.js\";\n\nclass WriterPersonasSettingsImpl implements AiPowerUpsSettingsGroup.Interface {\n name = \"writerPersonas\";\n label = \"Writer Personas\";\n description = \"Define how text should be written.\";\n\n buildForm(form: AiPowerUpsSettingsGroup.FormBuilder): void {\n form.fields(fields => ({\n presets: fields\n .object()\n .label(\"Presets\")\n .renderer(\"objectAccordionMultiple\", {\n container: false,\n addItemLabel: \"Add writer persona\",\n itemTitle: (data, index) => String(data.name || `Writer Persona #${index + 1}`)\n })\n .fields(f => ({\n id: f\n .text()\n .hidden()\n .defaultValue(() => generateAlphaNumericId(10)),\n name: f\n .text()\n .label(\"Name\")\n .required(\"Name is required\")\n .description(\n \"This name will be used to identify the writer persona in the UI.\"\n ),\n description: f\n .text()\n .label(\"Description\")\n .required(\"Description is required\")\n .description(\n \"Describe how this persona writes and communicates. This will be used when prompting AI.\"\n )\n .renderer(\"textarea\", { rows: 8 }),\n style: f\n .text()\n .label(\"Style\")\n .description(\n \"Optional hints about the tone or style this persona should adopt when writing.\"\n )\n .renderer(\"textarea\", { rows: 3 })\n }))\n .list()\n }));\n\n form.layout(layout => [layout.row(\"presets\")]);\n }\n}\n\nexport const WriterPersonasSettings = AiPowerUpsSettingsGroup.createImplementation({\n implementation: WriterPersonasSettingsImpl,\n dependencies: []\n});\n"],"names":["WriterPersonasSettingsImpl","form","fields","data","index","String","f","generateAlphaNumericId","layout","WriterPersonasSettings","AiPowerUpsSettingsGroup"],"mappings":";;AAGA,MAAMA;IAKF,UAAUC,IAAyC,EAAQ;QACvDA,KAAK,MAAM,CAACC,CAAAA,SAAW;gBACnB,SAASA,OACJ,MAAM,GACN,KAAK,CAAC,WACN,QAAQ,CAAC,2BAA2B;oBACjC,WAAW;oBACX,cAAc;oBACd,WAAW,CAACC,MAAMC,QAAUC,OAAOF,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAEC,QAAQ,GAAG;gBAClF,GACC,MAAM,CAACE,CAAAA,IAAM;wBACV,IAAIA,EACC,IAAI,GACJ,MAAM,GACN,YAAY,CAAC,IAAMC,uBAAuB;wBAC/C,MAAMD,EACD,IAAI,GACJ,KAAK,CAAC,QACN,QAAQ,CAAC,oBACT,WAAW,CACR;wBAER,aAAaA,EACR,IAAI,GACJ,KAAK,CAAC,eACN,QAAQ,CAAC,2BACT,WAAW,CACR,2FAEH,QAAQ,CAAC,YAAY;4BAAE,MAAM;wBAAE;wBACpC,OAAOA,EACF,IAAI,GACJ,KAAK,CAAC,SACN,WAAW,CACR,kFAEH,QAAQ,CAAC,YAAY;4BAAE,MAAM;wBAAE;oBACxC,IACC,IAAI;YACb;QAEAL,KAAK,MAAM,CAACO,CAAAA,SAAU;gBAACA,OAAO,GAAG,CAAC;aAAW;IACjD;;aA9CA,IAAI,GAAG;aACP,KAAK,GAAG;aACR,WAAW,GAAG;;AA6ClB;AAEO,MAAMC,yBAAyBC,wBAAwB,oBAAoB,CAAC;IAC/E,gBAAgBV;IAChB,cAAc,EAAE;AACpB"}
|
package/admin/routes.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/routes.js","sources":["../../src/admin/routes.ts"],"sourcesContent":["import { Route } from \"@webiny/app-admin\";\n\nexport const Routes = {\n Settings: new Route({\n name: \"AiPowerUps/Settings\",\n path: \"/settings/ai-powerups\"\n })\n};\n"],"names":["Routes","Route"],"mappings":";AAEO,MAAMA,SAAS;IAClB,UAAU,IAAIC,MAAM;QAChB,MAAM;QACN,MAAM;IACV;AACJ"}
|
package/api/Extension.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { BaseGraphQLSchema } from "./graphql/BaseGraphQLSchema.js";
|
|
3
|
+
import AiPowerUpsSettingsGraphQLMapper from "./graphql/AiPowerUpsSettingsGraphQLMapper.js";
|
|
4
|
+
import { AiPowerUpsSettingsCache } from "./features/shared/SettingsCache.js";
|
|
5
|
+
import { GetSettingsFeature } from "./features/GetSettings/feature.js";
|
|
6
|
+
import { UpdateSettingsFeature } from "./features/UpdateSettings/feature.js";
|
|
7
|
+
import { WbGeneratePageContentFeature } from "./features/WbGeneratePageContent/feature.js";
|
|
8
|
+
import { ProvidersFeature } from "./features/Providers/feature.js";
|
|
9
|
+
import { ReaderPersonasFeature } from "./features/ReaderPersonas/feature.js";
|
|
10
|
+
import { WriterPersonasFeature } from "./features/WriterPersonas/feature.js";
|
|
11
|
+
import { ProjectsFeature } from "./features/Projects/feature.js";
|
|
12
|
+
import { AiPromptContextFeature } from "./features/AiPromptContext/feature.js";
|
|
13
|
+
import { AiImageEnrichmentFeature } from "./features/AiImageEnrichment/feature.js";
|
|
14
|
+
import { ExtractFrontmatterFeature } from "./features/ExtractFrontmatter/feature.js";
|
|
15
|
+
import { CmsGenerateEntryContentFeature } from "./features/CmsGenerateEntryContent/feature.js";
|
|
16
|
+
import { CmsResolveImageToolFeature } from "./features/CmsResolveImageTool/feature.js";
|
|
17
|
+
import { CmsCompareEntryRevisionsFeature } from "./features/CmsCompareEntryRevisions/feature.js";
|
|
18
|
+
import { WbTranslatePageFeature } from "./features/WbTranslatePage/feature.js";
|
|
19
|
+
import { CmsCompareEntryRevisionsSchema } from "./graphql/CmsCompareEntryRevisionsSchema.js";
|
|
20
|
+
const Extension = createFeature({
|
|
21
|
+
name: "AiPowerUps",
|
|
22
|
+
register (container) {
|
|
23
|
+
container.register(AiPowerUpsSettingsCache).inSingletonScope();
|
|
24
|
+
GetSettingsFeature.register(container);
|
|
25
|
+
UpdateSettingsFeature.register(container);
|
|
26
|
+
ProvidersFeature.register(container);
|
|
27
|
+
ReaderPersonasFeature.register(container);
|
|
28
|
+
WriterPersonasFeature.register(container);
|
|
29
|
+
ProjectsFeature.register(container);
|
|
30
|
+
AiPromptContextFeature.register(container);
|
|
31
|
+
WbGeneratePageContentFeature.register(container);
|
|
32
|
+
CmsGenerateEntryContentFeature.register(container);
|
|
33
|
+
CmsResolveImageToolFeature.register(container);
|
|
34
|
+
ExtractFrontmatterFeature.register(container);
|
|
35
|
+
AiImageEnrichmentFeature.register(container);
|
|
36
|
+
CmsCompareEntryRevisionsFeature.register(container);
|
|
37
|
+
WbTranslatePageFeature.register(container);
|
|
38
|
+
container.register(AiPowerUpsSettingsGraphQLMapper).inSingletonScope();
|
|
39
|
+
container.register(BaseGraphQLSchema);
|
|
40
|
+
container.register(CmsCompareEntryRevisionsSchema);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
export { Extension };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=Extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/Extension.js","sources":["../../src/api/Extension.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { BaseGraphQLSchema } from \"./graphql/BaseGraphQLSchema.js\";\nimport AiPowerUpsSettingsGraphQLMapperImpl from \"./graphql/AiPowerUpsSettingsGraphQLMapper.js\";\nimport { AiPowerUpsSettingsCache } from \"./features/shared/SettingsCache.js\";\nimport { GetSettingsFeature } from \"./features/GetSettings/feature.js\";\nimport { UpdateSettingsFeature } from \"./features/UpdateSettings/feature.js\";\nimport { WbGeneratePageContentFeature } from \"./features/WbGeneratePageContent/feature.js\";\nimport { ProvidersFeature } from \"./features/Providers/feature.js\";\nimport { ReaderPersonasFeature } from \"./features/ReaderPersonas/feature.js\";\nimport { WriterPersonasFeature } from \"./features/WriterPersonas/feature.js\";\nimport { ProjectsFeature } from \"./features/Projects/feature.js\";\nimport { AiPromptContextFeature } from \"./features/AiPromptContext/feature.js\";\nimport { AiImageEnrichmentFeature } from \"./features/AiImageEnrichment/feature.js\";\nimport { ExtractFrontmatterFeature } from \"./features/ExtractFrontmatter/feature.js\";\nimport { CmsGenerateEntryContentFeature } from \"./features/CmsGenerateEntryContent/feature.js\";\nimport { CmsResolveImageToolFeature } from \"./features/CmsResolveImageTool/feature.js\";\nimport { CmsCompareEntryRevisionsFeature } from \"./features/CmsCompareEntryRevisions/feature.js\";\nimport { WbTranslatePageFeature } from \"./features/WbTranslatePage/feature.js\";\nimport { CmsCompareEntryRevisionsSchema } from \"./graphql/CmsCompareEntryRevisionsSchema.js\";\n\nexport const Extension = createFeature({\n name: \"AiPowerUps\",\n register(container) {\n container.register(AiPowerUpsSettingsCache).inSingletonScope();\n\n GetSettingsFeature.register(container);\n UpdateSettingsFeature.register(container);\n ProvidersFeature.register(container);\n ReaderPersonasFeature.register(container);\n WriterPersonasFeature.register(container);\n ProjectsFeature.register(container);\n AiPromptContextFeature.register(container);\n WbGeneratePageContentFeature.register(container);\n CmsGenerateEntryContentFeature.register(container);\n CmsResolveImageToolFeature.register(container);\n ExtractFrontmatterFeature.register(container);\n\n // Registered unconditionally. The WCP license gate lives inside the feature's\n // FileAfterCreate handler (trigger-time), because the license isn't loaded yet during this\n // register() phase — a register-time canUse* check reads NullLicense and is always false.\n AiImageEnrichmentFeature.register(container);\n\n CmsCompareEntryRevisionsFeature.register(container);\n WbTranslatePageFeature.register(container);\n\n container.register(AiPowerUpsSettingsGraphQLMapperImpl).inSingletonScope();\n container.register(BaseGraphQLSchema);\n container.register(CmsCompareEntryRevisionsSchema);\n }\n});\n"],"names":["Extension","createFeature","container","AiPowerUpsSettingsCache","GetSettingsFeature","UpdateSettingsFeature","ProvidersFeature","ReaderPersonasFeature","WriterPersonasFeature","ProjectsFeature","AiPromptContextFeature","WbGeneratePageContentFeature","CmsGenerateEntryContentFeature","CmsResolveImageToolFeature","ExtractFrontmatterFeature","AiImageEnrichmentFeature","CmsCompareEntryRevisionsFeature","WbTranslatePageFeature","AiPowerUpsSettingsGraphQLMapperImpl","BaseGraphQLSchema","CmsCompareEntryRevisionsSchema"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBO,MAAMA,YAAYC,cAAc;IACnC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,yBAAyB,gBAAgB;QAE5DC,mBAAmB,QAAQ,CAACF;QAC5BG,sBAAsB,QAAQ,CAACH;QAC/BI,iBAAiB,QAAQ,CAACJ;QAC1BK,sBAAsB,QAAQ,CAACL;QAC/BM,sBAAsB,QAAQ,CAACN;QAC/BO,gBAAgB,QAAQ,CAACP;QACzBQ,uBAAuB,QAAQ,CAACR;QAChCS,6BAA6B,QAAQ,CAACT;QACtCU,+BAA+B,QAAQ,CAACV;QACxCW,2BAA2B,QAAQ,CAACX;QACpCY,0BAA0B,QAAQ,CAACZ;QAKnCa,yBAAyB,QAAQ,CAACb;QAElCc,gCAAgC,QAAQ,CAACd;QACzCe,uBAAuB,QAAQ,CAACf;QAEhCA,UAAU,QAAQ,CAACgB,iCAAqC,gBAAgB;QACxEhB,UAAU,QAAQ,CAACiB;QACnBjB,UAAU,QAAQ,CAACkB;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const AI_POWER_UPS_SETTINGS = "AiPowerUps/Settings";
|
package/api/constants.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/constants.js","sources":["../../src/api/constants.ts"],"sourcesContent":["export const AI_POWER_UPS_SETTINGS = \"AiPowerUps/Settings\";\n"],"names":["AI_POWER_UPS_SETTINGS"],"mappings":"AAAO,MAAMA,wBAAwB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FileAfterCreateEventHandler } from "@webiny/api-file-manager/features/file/CreateFile/events.js";
|
|
2
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
3
|
+
import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
|
|
4
|
+
declare class AiImageEnrichmentAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {
|
|
5
|
+
private taskService;
|
|
6
|
+
private wcp;
|
|
7
|
+
constructor(taskService: TaskService.Interface, wcp: WcpContext.Interface);
|
|
8
|
+
handle(event: FileAfterCreateEventHandler.Event): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare const AiImageEnrichmentAfterCreateHandler: typeof AiImageEnrichmentAfterCreateHandlerImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/api-file-manager/features/file/CreateFile/events.js").FileAfterCreateEvent>>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FileAfterCreateEventHandler } from "@webiny/api-file-manager/features/file/CreateFile/events.js";
|
|
2
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
3
|
+
import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
|
|
4
|
+
import { AI_IMAGE_ENRICHMENT_TASK_ID } from "./AiImageEnrichmentTask.js";
|
|
5
|
+
class AiImageEnrichmentAfterCreateHandlerImpl {
|
|
6
|
+
constructor(taskService, wcp){
|
|
7
|
+
this.taskService = taskService;
|
|
8
|
+
this.wcp = wcp;
|
|
9
|
+
}
|
|
10
|
+
async handle(event) {
|
|
11
|
+
const { file } = event.payload;
|
|
12
|
+
if (!file.type.startsWith("image/")) return;
|
|
13
|
+
if (!this.wcp.canUseAiImageEnrichment()) return;
|
|
14
|
+
await this.taskService.trigger({
|
|
15
|
+
definition: AI_IMAGE_ENRICHMENT_TASK_ID,
|
|
16
|
+
input: {
|
|
17
|
+
fileId: file.id
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const AiImageEnrichmentAfterCreateHandler = FileAfterCreateEventHandler.createImplementation({
|
|
23
|
+
implementation: AiImageEnrichmentAfterCreateHandlerImpl,
|
|
24
|
+
dependencies: [
|
|
25
|
+
TaskService,
|
|
26
|
+
WcpContext
|
|
27
|
+
]
|
|
28
|
+
});
|
|
29
|
+
export { AiImageEnrichmentAfterCreateHandler };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=AiImageEnrichmentAfterCreateHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.js","sources":["../../../../src/api/features/AiImageEnrichment/AiImageEnrichmentAfterCreateHandler.ts"],"sourcesContent":["import { FileAfterCreateEventHandler } from \"@webiny/api-file-manager/features/file/CreateFile/events.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport type { IAiImageEnrichmentTaskInput } from \"./AiImageEnrichmentTask.js\";\nimport { AI_IMAGE_ENRICHMENT_TASK_ID } from \"./AiImageEnrichmentTask.js\";\n\nclass AiImageEnrichmentAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {\n constructor(\n private taskService: TaskService.Interface,\n private wcp: WcpContext.Interface\n ) {}\n\n async handle(event: FileAfterCreateEventHandler.Event): Promise<void> {\n const { file } = event.payload;\n\n if (!file.type.startsWith(\"image/\")) {\n return;\n }\n\n // Gate at trigger-time, NOT at feature-registration time: the WCP license is loaded per\n // request by WcpLicenseInitializer (a RequestInitializer), which runs AFTER the register()\n // phase. A register-time check reads the placeholder NullLicense (canUse* → false), so the\n // feature would never register. handle() runs during a resolver, once the license is loaded.\n if (!this.wcp.canUseAiImageEnrichment()) {\n return;\n }\n\n await this.taskService.trigger<IAiImageEnrichmentTaskInput>({\n definition: AI_IMAGE_ENRICHMENT_TASK_ID,\n input: {\n fileId: file.id\n }\n });\n }\n}\n\nexport const AiImageEnrichmentAfterCreateHandler = FileAfterCreateEventHandler.createImplementation(\n {\n implementation: AiImageEnrichmentAfterCreateHandlerImpl,\n dependencies: [TaskService, WcpContext]\n }\n);\n"],"names":["AiImageEnrichmentAfterCreateHandlerImpl","taskService","wcp","event","file","AI_IMAGE_ENRICHMENT_TASK_ID","AiImageEnrichmentAfterCreateHandler","FileAfterCreateEventHandler","TaskService","WcpContext"],"mappings":";;;;AAMA,MAAMA;IACF,YACYC,WAAkC,EAClCC,GAAyB,CACnC;aAFUD,WAAW,GAAXA;aACAC,GAAG,GAAHA;IACT;IAEH,MAAM,OAAOC,KAAwC,EAAiB;QAClE,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;QAE9B,IAAI,CAACC,KAAK,IAAI,CAAC,UAAU,CAAC,WACtB;QAOJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,IACjC;QAGJ,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAA8B;YACxD,YAAYC;YACZ,OAAO;gBACH,QAAQD,KAAK,EAAE;YACnB;QACJ;IACJ;AACJ;AAEO,MAAME,sCAAsCC,4BAA4B,oBAAoB,CAC/F;IACI,gBAAgBP;IAChB,cAAc;QAACQ;QAAaC;KAAW;AAC3C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
2
|
+
import { Ai } from "@webiny/api-core/features/ai/index.js";
|
|
3
|
+
import { Encryption } from "@webiny/api-core/features/encryption/index.js";
|
|
4
|
+
import { GetFileUseCase } from "@webiny/api-file-manager/features/file/GetFile/index.js";
|
|
5
|
+
import { GetFileContentsByIdUseCase } from "@webiny/api-file-manager/features/file/GetFileContentsById/abstractions.js";
|
|
6
|
+
import { UpdateFileUseCase } from "@webiny/api-file-manager/features/file/UpdateFile/index.js";
|
|
7
|
+
import { WebsocketsSendToIdentityUseCase } from "@webiny/api-websockets/features/SendToIdentity/abstractions.js";
|
|
8
|
+
import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
|
|
9
|
+
import { GetSettingsUseCase } from "../../../api/features/GetSettings/index.js";
|
|
10
|
+
export declare const AI_IMAGE_ENRICHMENT_TASK_ID = "fmAiImageEnrichment";
|
|
11
|
+
export interface IAiImageEnrichmentTaskInput {
|
|
12
|
+
fileId: string;
|
|
13
|
+
}
|
|
14
|
+
declare class AiImageEnrichmentTaskImpl implements TaskDefinition.Interface<IAiImageEnrichmentTaskInput> {
|
|
15
|
+
private getFile;
|
|
16
|
+
private getFileContents;
|
|
17
|
+
private updateFile;
|
|
18
|
+
private ai;
|
|
19
|
+
private getSettings;
|
|
20
|
+
private encryption;
|
|
21
|
+
private identityContext;
|
|
22
|
+
private sendToIdentity;
|
|
23
|
+
id: string;
|
|
24
|
+
title: string;
|
|
25
|
+
description: string;
|
|
26
|
+
maxIterations: number;
|
|
27
|
+
isPrivate: boolean;
|
|
28
|
+
databaseLogs: boolean;
|
|
29
|
+
readonly selfCleanup: ("onAbort" | "onSuccess")[];
|
|
30
|
+
constructor(getFile: GetFileUseCase.Interface, getFileContents: GetFileContentsByIdUseCase.Interface, updateFile: UpdateFileUseCase.Interface, ai: Ai.Interface, getSettings: GetSettingsUseCase.Interface, encryption: Encryption.Interface, identityContext: IdentityContext.Interface, sendToIdentity: WebsocketsSendToIdentityUseCase.Interface);
|
|
31
|
+
run({ input, controller }: TaskDefinition.RunParams<IAiImageEnrichmentTaskInput>): Promise<TaskDefinition.Result<IAiImageEnrichmentTaskInput>>;
|
|
32
|
+
}
|
|
33
|
+
export declare const AiImageEnrichmentTask: typeof AiImageEnrichmentTaskImpl & {
|
|
34
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskDefinition<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
|
|
35
|
+
};
|
|
36
|
+
export {};
|