@local-labs-jpollock/local-addon-nexus-ai 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -10
- package/lib/cli/commands/reset.d.ts +25 -0
- package/lib/cli/commands/reset.d.ts.map +1 -0
- package/lib/cli/commands/reset.js +183 -0
- package/lib/cli/commands/reset.js.map +1 -0
- package/lib/cli/commands/system.d.ts +11 -0
- package/lib/cli/commands/system.d.ts.map +1 -0
- package/lib/cli/commands/system.js +139 -0
- package/lib/cli/commands/system.js.map +1 -0
- package/lib/cli/commands/wp.d.ts.map +1 -1
- package/lib/cli/commands/wp.js +46 -0
- package/lib/cli/commands/wp.js.map +1 -1
- package/lib/cli/commands/wpe.d.ts.map +1 -1
- package/lib/cli/commands/wpe.js +53 -0
- package/lib/cli/commands/wpe.js.map +1 -1
- package/lib/cli/index.js +5 -1
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/utils/version.js +4 -4
- package/lib/cli/utils/version.js.map +1 -1
- package/lib/common/constants.d.ts +12 -1
- package/lib/common/constants.d.ts.map +1 -1
- package/lib/common/constants.js +18 -1
- package/lib/common/constants.js.map +1 -1
- package/lib/common/schemas.d.ts +58 -0
- package/lib/common/schemas.d.ts.map +1 -1
- package/lib/common/schemas.js +8 -0
- package/lib/common/schemas.js.map +1 -1
- package/lib/common/types.d.ts +146 -0
- package/lib/common/types.d.ts.map +1 -1
- package/lib/main/ai/getAIProvider.d.ts +35 -0
- package/lib/main/ai/getAIProvider.d.ts.map +1 -0
- package/lib/main/ai/getAIProvider.js +26 -0
- package/lib/main/ai/getAIProvider.js.map +1 -0
- package/lib/main/ai-gateway/AIGatewayRoutes.d.ts.map +1 -1
- package/lib/main/ai-gateway/AIGatewayRoutes.js +15 -18
- package/lib/main/ai-gateway/AIGatewayRoutes.js.map +1 -1
- package/lib/main/ai-gateway/google-client.d.ts.map +1 -1
- package/lib/main/ai-gateway/google-client.js +13 -16
- package/lib/main/ai-gateway/google-client.js.map +1 -1
- package/lib/main/ai-gateway/mu-plugin-template.d.ts.map +1 -1
- package/lib/main/ai-gateway/mu-plugin-template.js +46 -10
- package/lib/main/ai-gateway/mu-plugin-template.js.map +1 -1
- package/lib/main/assistant/AssistantService.d.ts +10 -0
- package/lib/main/assistant/AssistantService.d.ts.map +1 -0
- package/lib/main/assistant/AssistantService.js +364 -0
- package/lib/main/assistant/AssistantService.js.map +1 -0
- package/lib/main/assistant/wordpress-knowledge.d.ts +15 -0
- package/lib/main/assistant/wordpress-knowledge.d.ts.map +1 -0
- package/lib/main/assistant/wordpress-knowledge.js +173 -0
- package/lib/main/assistant/wordpress-knowledge.js.map +1 -0
- package/lib/main/bulk/BulkOperationManager.d.ts +5 -0
- package/lib/main/bulk/BulkOperationManager.d.ts.map +1 -1
- package/lib/main/bulk/BulkOperationManager.js +36 -3
- package/lib/main/bulk/BulkOperationManager.js.map +1 -1
- package/lib/main/chat/ChatService.d.ts +16 -0
- package/lib/main/chat/ChatService.d.ts.map +1 -1
- package/lib/main/chat/ChatService.js +194 -9
- package/lib/main/chat/ChatService.js.map +1 -1
- package/lib/main/chat/providers/google.d.ts.map +1 -1
- package/lib/main/chat/providers/google.js +29 -3
- package/lib/main/chat/providers/google.js.map +1 -1
- package/lib/main/chat/providers/ollama.d.ts.map +1 -1
- package/lib/main/chat/providers/ollama.js +27 -5
- package/lib/main/chat/providers/ollama.js.map +1 -1
- package/lib/main/content/ContentPipeline.d.ts +2 -0
- package/lib/main/content/ContentPipeline.d.ts.map +1 -1
- package/lib/main/content/ContentPipeline.js +4 -0
- package/lib/main/content/ContentPipeline.js.map +1 -1
- package/lib/main/content/MySQLExtractor.d.ts +5 -0
- package/lib/main/content/MySQLExtractor.d.ts.map +1 -1
- package/lib/main/content/MySQLExtractor.js +22 -2
- package/lib/main/content/MySQLExtractor.js.map +1 -1
- package/lib/main/content/lifecycle-hooks.d.ts +3 -1
- package/lib/main/content/lifecycle-hooks.d.ts.map +1 -1
- package/lib/main/content/lifecycle-hooks.js +64 -6
- package/lib/main/content/lifecycle-hooks.js.map +1 -1
- package/lib/main/embeddings/EmbeddingService.d.ts +10 -1
- package/lib/main/embeddings/EmbeddingService.d.ts.map +1 -1
- package/lib/main/embeddings/EmbeddingService.js +28 -6
- package/lib/main/embeddings/EmbeddingService.js.map +1 -1
- package/lib/main/events/GraphService.d.ts.map +1 -1
- package/lib/main/events/GraphService.js +10 -0
- package/lib/main/events/GraphService.js.map +1 -1
- package/lib/main/events/WPESyncService.d.ts +30 -0
- package/lib/main/events/WPESyncService.d.ts.map +1 -1
- package/lib/main/events/WPESyncService.js +139 -18
- package/lib/main/events/WPESyncService.js.map +1 -1
- package/lib/main/fleet/plugin-diff.d.ts +18 -0
- package/lib/main/fleet/plugin-diff.d.ts.map +1 -0
- package/lib/main/fleet/plugin-diff.js +32 -0
- package/lib/main/fleet/plugin-diff.js.map +1 -0
- package/lib/main/graphql/resolvers.d.ts +73 -0
- package/lib/main/graphql/resolvers.d.ts.map +1 -1
- package/lib/main/graphql/resolvers.js +163 -60
- package/lib/main/graphql/resolvers.js.map +1 -1
- package/lib/main/graphql/schema.d.ts.map +1 -1
- package/lib/main/graphql/schema.js +62 -0
- package/lib/main/graphql/schema.js.map +1 -1
- package/lib/main/health/HealthScoreCalculator.d.ts.map +1 -1
- package/lib/main/health/HealthScoreCalculator.js +1 -5
- package/lib/main/health/HealthScoreCalculator.js.map +1 -1
- package/lib/main/index.d.ts.map +1 -1
- package/lib/main/index.js +179 -9
- package/lib/main/index.js.map +1 -1
- package/lib/main/ipc/handlers/wpe-sync.d.ts +1 -0
- package/lib/main/ipc/handlers/wpe-sync.d.ts.map +1 -1
- package/lib/main/ipc/handlers/wpe-sync.js +25 -2
- package/lib/main/ipc/handlers/wpe-sync.js.map +1 -1
- package/lib/main/ipc-handlers.d.ts +7 -0
- package/lib/main/ipc-handlers.d.ts.map +1 -1
- package/lib/main/ipc-handlers.js +532 -61
- package/lib/main/ipc-handlers.js.map +1 -1
- package/lib/main/mcp/local-services-bridge.d.ts +4 -0
- package/lib/main/mcp/local-services-bridge.d.ts.map +1 -1
- package/lib/main/mcp/local-services-bridge.js +41 -3
- package/lib/main/mcp/local-services-bridge.js.map +1 -1
- package/lib/main/mcp/modules/composite/plugin-audit.d.ts +7 -3
- package/lib/main/mcp/modules/composite/plugin-audit.d.ts.map +1 -1
- package/lib/main/mcp/modules/composite/plugin-audit.js +54 -79
- package/lib/main/mcp/modules/composite/plugin-audit.js.map +1 -1
- package/lib/main/mcp/modules/composite/site-audit.d.ts.map +1 -1
- package/lib/main/mcp/modules/composite/site-audit.js +72 -72
- package/lib/main/mcp/modules/composite/site-audit.js.map +1 -1
- package/lib/main/mcp/modules/db-scanner/clean-handler.d.ts.map +1 -1
- package/lib/main/mcp/modules/db-scanner/clean-handler.js +31 -31
- package/lib/main/mcp/modules/db-scanner/clean-handler.js.map +1 -1
- package/lib/main/mcp/modules/db-scanner/scan-handler.d.ts.map +1 -1
- package/lib/main/mcp/modules/db-scanner/scan-handler.js +15 -15
- package/lib/main/mcp/modules/db-scanner/scan-handler.js.map +1 -1
- package/lib/main/mcp/modules/fleet/find-sites-with-plugin.d.ts.map +1 -1
- package/lib/main/mcp/modules/fleet/find-sites-with-plugin.js +61 -16
- package/lib/main/mcp/modules/fleet/find-sites-with-plugin.js.map +1 -1
- package/lib/main/mcp/modules/fleet/find-sites-with-theme.d.ts.map +1 -1
- package/lib/main/mcp/modules/fleet/find-sites-with-theme.js +57 -16
- package/lib/main/mcp/modules/fleet/find-sites-with-theme.js.map +1 -1
- package/lib/main/mcp/modules/fleet/fleet-summary.d.ts.map +1 -1
- package/lib/main/mcp/modules/fleet/fleet-summary.js +109 -62
- package/lib/main/mcp/modules/fleet/fleet-summary.js.map +1 -1
- package/lib/main/mcp/modules/fleet-intelligence/fleet-plugins.d.ts.map +1 -1
- package/lib/main/mcp/modules/fleet-intelligence/fleet-plugins.js +57 -34
- package/lib/main/mcp/modules/fleet-intelligence/fleet-plugins.js.map +1 -1
- package/lib/main/mcp/modules/site-management/export-site.d.ts.map +1 -1
- package/lib/main/mcp/modules/site-management/export-site.js +25 -2
- package/lib/main/mcp/modules/site-management/export-site.js.map +1 -1
- package/lib/main/mcp/modules/with-site-running.d.ts +15 -0
- package/lib/main/mcp/modules/with-site-running.d.ts.map +1 -0
- package/lib/main/mcp/modules/with-site-running.js +58 -0
- package/lib/main/mcp/modules/with-site-running.js.map +1 -0
- package/lib/main/mcp/modules/wp-cli/core-update.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/core-update.js +8 -8
- package/lib/main/mcp/modules/wp-cli/core-update.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/core-version.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/core-version.js +22 -16
- package/lib/main/mcp/modules/wp-cli/core-version.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/db-export.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/db-export.js +6 -6
- package/lib/main/mcp/modules/wp-cli/db-export.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/eval.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/eval.js +10 -10
- package/lib/main/mcp/modules/wp-cli/eval.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/import-database.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/import-database.js +13 -10
- package/lib/main/mcp/modules/wp-cli/import-database.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/option-get.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/option-get.js +17 -17
- package/lib/main/mcp/modules/wp-cli/option-get.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-activate.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-activate.js +8 -8
- package/lib/main/mcp/modules/wp-cli/plugin-activate.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-deactivate.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-deactivate.js +8 -8
- package/lib/main/mcp/modules/wp-cli/plugin-deactivate.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-install.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-install.js +8 -8
- package/lib/main/mcp/modules/wp-cli/plugin-install.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-list.js +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-list.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-update.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/plugin-update.js +9 -9
- package/lib/main/mcp/modules/wp-cli/plugin-update.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/post-create.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/post-create.js +9 -9
- package/lib/main/mcp/modules/wp-cli/post-create.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/post-delete.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/post-delete.js +8 -8
- package/lib/main/mcp/modules/wp-cli/post-delete.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/post-update.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/post-update.js +8 -8
- package/lib/main/mcp/modules/wp-cli/post-update.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/remote-exec.d.ts +1 -1
- package/lib/main/mcp/modules/wp-cli/remote-exec.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/remote-exec.js +3 -3
- package/lib/main/mcp/modules/wp-cli/remote-exec.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/search-replace.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/search-replace.js +12 -12
- package/lib/main/mcp/modules/wp-cli/search-replace.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/site-health.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/site-health.js +82 -82
- package/lib/main/mcp/modules/wp-cli/site-health.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/theme-activate.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/theme-activate.js +10 -10
- package/lib/main/mcp/modules/wp-cli/theme-activate.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/theme-list.js +1 -1
- package/lib/main/mcp/modules/wp-cli/theme-list.js.map +1 -1
- package/lib/main/mcp/modules/wp-cli/user-list.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-cli/user-list.js +22 -22
- package/lib/main/mcp/modules/wp-cli/user-list.js.map +1 -1
- package/lib/main/mcp/modules/wp-connector/setup-ai.d.ts.map +1 -1
- package/lib/main/mcp/modules/wp-connector/setup-ai.js +29 -3
- package/lib/main/mcp/modules/wp-connector/setup-ai.js.map +1 -1
- package/lib/main/mcp/modules/wpe/authenticate.d.ts.map +1 -1
- package/lib/main/mcp/modules/wpe/authenticate.js +32 -26
- package/lib/main/mcp/modules/wpe/authenticate.js.map +1 -1
- package/lib/main/mcp/modules/wpe/deep-refresh.js +1 -1
- package/lib/main/mcp/modules/wpe/deep-refresh.js.map +1 -1
- package/lib/main/mcp/modules/wpe/wait-for-ssh.js +1 -1
- package/lib/main/mcp/modules/wpe/wait-for-ssh.js.map +1 -1
- package/lib/main/mcp/utils/operation-permissions.d.ts +2 -2
- package/lib/main/mcp/utils/operation-permissions.d.ts.map +1 -1
- package/lib/main/mcp/utils/operation-permissions.js +3 -1
- package/lib/main/mcp/utils/operation-permissions.js.map +1 -1
- package/lib/main/metadata/SiteMetadataCache.d.ts +2 -0
- package/lib/main/metadata/SiteMetadataCache.d.ts.map +1 -1
- package/lib/main/metadata/SiteMetadataCache.js.map +1 -1
- package/lib/main/resolver/SiteDataResolver.d.ts +33 -0
- package/lib/main/resolver/SiteDataResolver.d.ts.map +1 -0
- package/lib/main/resolver/SiteDataResolver.js +199 -0
- package/lib/main/resolver/SiteDataResolver.js.map +1 -0
- package/lib/main/resolver/WordPressOrgClient.d.ts +7 -0
- package/lib/main/resolver/WordPressOrgClient.d.ts.map +1 -0
- package/lib/main/resolver/WordPressOrgClient.js +41 -0
- package/lib/main/resolver/WordPressOrgClient.js.map +1 -0
- package/lib/main/scheduler/OpportunisticScheduler.d.ts +43 -0
- package/lib/main/scheduler/OpportunisticScheduler.d.ts.map +1 -0
- package/lib/main/scheduler/OpportunisticScheduler.js +66 -0
- package/lib/main/scheduler/OpportunisticScheduler.js.map +1 -0
- package/lib/main/search/SearchService.js.map +1 -1
- package/lib/main/search/classifyIntent.d.ts +8 -0
- package/lib/main/search/classifyIntent.d.ts.map +1 -0
- package/lib/main/search/classifyIntent.js +28 -0
- package/lib/main/search/classifyIntent.js.map +1 -0
- package/lib/main/search/keyword-search.d.ts +16 -0
- package/lib/main/search/keyword-search.d.ts.map +1 -0
- package/lib/main/search/keyword-search.js +83 -0
- package/lib/main/search/keyword-search.js.map +1 -0
- package/lib/main/search/metadataSearch.d.ts +45 -0
- package/lib/main/search/metadataSearch.d.ts.map +1 -0
- package/lib/main/search/metadataSearch.js +287 -0
- package/lib/main/search/metadataSearch.js.map +1 -0
- package/lib/main/search/types.d.ts +4 -3
- package/lib/main/search/types.d.ts.map +1 -1
- package/lib/main/startup/HaltedSiteRefreshScheduler.d.ts +6 -0
- package/lib/main/startup/HaltedSiteRefreshScheduler.d.ts.map +1 -1
- package/lib/main/startup/HaltedSiteRefreshScheduler.js +14 -3
- package/lib/main/startup/HaltedSiteRefreshScheduler.js.map +1 -1
- package/lib/main/startup/WpeRefreshScheduler.d.ts +8 -1
- package/lib/main/startup/WpeRefreshScheduler.d.ts.map +1 -1
- package/lib/main/startup/WpeRefreshScheduler.js +17 -4
- package/lib/main/startup/WpeRefreshScheduler.js.map +1 -1
- package/lib/main/vector-store/VectorStore.d.ts +10 -1
- package/lib/main/vector-store/VectorStore.d.ts.map +1 -1
- package/lib/main/vector-store/VectorStore.js +65 -12
- package/lib/main/vector-store/VectorStore.js.map +1 -1
- package/lib/renderer/components/AssistantPanel.d.ts +56 -0
- package/lib/renderer/components/AssistantPanel.d.ts.map +1 -0
- package/lib/renderer/components/AssistantPanel.js +363 -0
- package/lib/renderer/components/AssistantPanel.js.map +1 -0
- package/lib/renderer/components/ChatTab.d.ts +19 -1
- package/lib/renderer/components/ChatTab.d.ts.map +1 -1
- package/lib/renderer/components/ChatTab.js +144 -56
- package/lib/renderer/components/ChatTab.js.map +1 -1
- package/lib/renderer/components/FleetCompletenessWidget.d.ts +32 -0
- package/lib/renderer/components/FleetCompletenessWidget.d.ts.map +1 -0
- package/lib/renderer/components/FleetCompletenessWidget.js +160 -0
- package/lib/renderer/components/FleetCompletenessWidget.js.map +1 -0
- package/lib/renderer/components/NexusOverview.d.ts +30 -4
- package/lib/renderer/components/NexusOverview.d.ts.map +1 -1
- package/lib/renderer/components/NexusOverview.js +428 -104
- package/lib/renderer/components/NexusOverview.js.map +1 -1
- package/lib/renderer/components/NexusPreferences.d.ts +7 -0
- package/lib/renderer/components/NexusPreferences.d.ts.map +1 -1
- package/lib/renderer/components/NexusPreferences.js +71 -113
- package/lib/renderer/components/NexusPreferences.js.map +1 -1
- package/lib/renderer/components/NexusSiteTab.d.ts.map +1 -1
- package/lib/renderer/components/NexusSiteTab.js +20 -5
- package/lib/renderer/components/NexusSiteTab.js.map +1 -1
- package/lib/renderer/components/SearchTab.d.ts +42 -0
- package/lib/renderer/components/SearchTab.d.ts.map +1 -0
- package/lib/renderer/components/SearchTab.js +313 -0
- package/lib/renderer/components/SearchTab.js.map +1 -0
- package/lib/renderer/components/SettingsTab.d.ts +106 -0
- package/lib/renderer/components/SettingsTab.d.ts.map +1 -0
- package/lib/renderer/components/SettingsTab.js +491 -0
- package/lib/renderer/components/SettingsTab.js.map +1 -0
- package/lib/renderer/components/SidebarSearchPanel.d.ts +4 -0
- package/lib/renderer/components/SidebarSearchPanel.d.ts.map +1 -1
- package/lib/renderer/components/SidebarSearchPanel.js +44 -34
- package/lib/renderer/components/SidebarSearchPanel.js.map +1 -1
- package/lib/renderer/components/SiteNexusSection.d.ts.map +1 -1
- package/lib/renderer/components/SiteNexusSection.js +25 -21
- package/lib/renderer/components/SiteNexusSection.js.map +1 -1
- package/lib/renderer/components/SystemTab.d.ts +112 -0
- package/lib/renderer/components/SystemTab.d.ts.map +1 -0
- package/lib/renderer/components/SystemTab.js +440 -0
- package/lib/renderer/components/SystemTab.js.map +1 -0
- package/lib/renderer/index.d.ts.map +1 -1
- package/lib/renderer/index.js +12 -0
- package/lib/renderer/index.js.map +1 -1
- package/lib/renderer/store/NexusStateManager.d.ts +86 -0
- package/lib/renderer/store/NexusStateManager.d.ts.map +1 -0
- package/lib/renderer/store/NexusStateManager.js +56 -0
- package/lib/renderer/store/NexusStateManager.js.map +1 -0
- package/lib/renderer/utils/markdown.d.ts +10 -0
- package/lib/renderer/utils/markdown.d.ts.map +1 -0
- package/lib/renderer/utils/markdown.js +186 -0
- package/lib/renderer/utils/markdown.js.map +1 -0
- package/lib/wp-plugins/ai/ai.php +50 -7
- package/lib/wp-plugins/ai/assets/images/showcase-image-generation.webp +0 -0
- package/lib/wp-plugins/ai/build/admin/dataviews.css +2302 -0
- package/lib/wp-plugins/ai/build/build.php +37 -0
- package/lib/wp-plugins/ai/build/constants.php +14 -0
- package/lib/wp-plugins/ai/build/modules/boot/index.min.asset.php +6 -0
- package/lib/wp-plugins/ai/build/modules/registry.php +11 -0
- package/lib/wp-plugins/ai/build/modules.php +61 -0
- package/lib/wp-plugins/ai/build/pages/ai/loader.js +1 -0
- package/lib/wp-plugins/ai/build/pages/ai/page-wp-admin.php +279 -0
- package/lib/wp-plugins/ai/build/pages/ai/page.php +317 -0
- package/lib/wp-plugins/ai/build/pages.php +10 -0
- package/lib/wp-plugins/ai/build/routes/ai-home/content.js +24513 -0
- package/lib/wp-plugins/ai/build/routes/ai-home/content.min.asset.php +1 -0
- package/lib/wp-plugins/ai/build/routes/ai-home/content.min.js +31 -0
- package/lib/wp-plugins/ai/build/routes/registry.php +17 -0
- package/lib/wp-plugins/ai/build/routes.php +113 -0
- package/lib/wp-plugins/ai/build/scripts/registry.php +11 -0
- package/lib/wp-plugins/ai/build/scripts.php +85 -0
- package/lib/wp-plugins/ai/build/styles/registry.php +11 -0
- package/lib/wp-plugins/ai/build/styles.php +73 -0
- package/lib/wp-plugins/ai/build-scripts/admin/ai-request-logs-rtl.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/admin/ai-request-logs.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/admin/ai-request-logs.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/admin/ai-request-logs.js +155 -0
- package/lib/wp-plugins/ai/build-scripts/admin/dashboard-rtl.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/admin/dashboard.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/admin/dashboard.css +1 -0
- package/lib/wp-plugins/ai/{build → build-scripts}/admin/settings-rtl.css +1 -1
- package/lib/wp-plugins/ai/build-scripts/admin/settings.asset.php +1 -0
- package/lib/wp-plugins/ai/{build → build-scripts}/admin/settings.css +1 -1
- package/lib/wp-plugins/ai/build-scripts/experiments/abilities-explorer-rtl.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/abilities-explorer.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/abilities-explorer.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/abilities-explorer.js +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/alt-text-generation-bulk.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/alt-text-generation-bulk.js +13 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media-editor.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media-editor.js +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media.js +1 -0
- package/lib/wp-plugins/ai/{build → build-scripts}/experiments/alt-text-generation.asset.php +1 -1
- package/lib/wp-plugins/ai/build-scripts/experiments/alt-text-generation.js +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/comment-moderation.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/comment-moderation.js +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/connector-approval-rtl.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/connector-approval.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/connector-approval.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/connector-approval.js +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-classification-rtl.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-classification.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-classification.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-classification.js +5 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-resizing-rtl.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-resizing.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-resizing.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/content-resizing.js +5 -0
- package/lib/wp-plugins/ai/{build/experiments/review-notes.asset.php → build-scripts/experiments/editorial-notes.asset.php} +1 -1
- package/lib/wp-plugins/ai/build-scripts/experiments/editorial-notes.js +4 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/editorial-updates.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/editorial-updates.js +3 -0
- package/lib/wp-plugins/ai/{build → build-scripts}/experiments/excerpt-generation.asset.php +1 -1
- package/lib/wp-plugins/ai/build-scripts/experiments/excerpt-generation.js +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/meta-description-rtl.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/meta-description.asset.php +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/meta-description.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/meta-description.js +3 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/summarization-rtl.css +1 -0
- package/lib/wp-plugins/ai/{build → build-scripts}/experiments/summarization.asset.php +1 -1
- package/lib/wp-plugins/ai/build-scripts/experiments/summarization.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/summarization.js +2 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/title-generation-rtl.css +1 -0
- package/{wp-plugins/ai/build → lib/wp-plugins/ai/build-scripts}/experiments/title-generation.asset.php +1 -1
- package/lib/wp-plugins/ai/build-scripts/experiments/title-generation.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/experiments/title-generation.js +1 -0
- package/lib/wp-plugins/ai/build-scripts/features/image-generation-rtl.css +1 -0
- package/{wp-plugins/ai/build/experiments → lib/wp-plugins/ai/build-scripts/features}/image-generation.asset.php +1 -1
- package/lib/wp-plugins/ai/build-scripts/features/image-generation.css +1 -0
- package/lib/wp-plugins/ai/build-scripts/features/image-generation.js +9 -0
- package/lib/wp-plugins/ai/includes/Abilities/Comment_Moderation/Comment_Analysis.php +311 -0
- package/lib/wp-plugins/ai/includes/Abilities/Comment_Moderation/system-instruction.php +22 -0
- package/lib/wp-plugins/ai/includes/Abilities/Content_Classification/Content_Classification.php +595 -0
- package/lib/wp-plugins/ai/includes/Abilities/Content_Classification/system-instruction.php +29 -0
- package/lib/wp-plugins/ai/includes/Abilities/Content_Resizing/Content_Resizing.php +234 -0
- package/lib/wp-plugins/ai/includes/Abilities/Content_Resizing/system-instruction.php +37 -0
- package/{wp-plugins/ai/includes/Abilities/Review_Notes/Review_Notes.php → lib/wp-plugins/ai/includes/Abilities/Editorial_Notes/Editorial_Notes.php} +44 -11
- package/{wp-plugins/ai/includes/Abilities/Review_Notes → lib/wp-plugins/ai/includes/Abilities/Editorial_Notes}/system-instruction.php +7 -3
- package/lib/wp-plugins/ai/includes/Abilities/Editorial_Updates/Editorial_Updates.php +285 -0
- package/lib/wp-plugins/ai/includes/Abilities/Editorial_Updates/system-instruction.php +31 -0
- package/lib/wp-plugins/ai/includes/Abilities/Excerpt_Generation/Excerpt_Generation.php +37 -11
- package/lib/wp-plugins/ai/includes/Abilities/Excerpt_Generation/system-instruction.php +2 -0
- package/lib/wp-plugins/ai/includes/Abilities/Image/Alt_Text_Generation.php +95 -28
- package/lib/wp-plugins/ai/includes/Abilities/Image/Generate_Image.php +28 -3
- package/lib/wp-plugins/ai/includes/Abilities/Image/Generate_Image_Prompt.php +34 -3
- package/lib/wp-plugins/ai/includes/Abilities/Image/Import_Base64_Image.php +18 -1
- package/lib/wp-plugins/ai/includes/Abilities/Image/alt-text-system-instruction.php +27 -13
- package/lib/wp-plugins/ai/includes/Abilities/Meta_Description/Meta_Description.php +320 -0
- package/lib/wp-plugins/ai/includes/Abilities/Meta_Description/SEO_Integration.php +128 -0
- package/lib/wp-plugins/ai/includes/Abilities/Meta_Description/system-instruction.php +32 -0
- package/lib/wp-plugins/ai/includes/Abilities/Summarization/Summarization.php +40 -13
- package/lib/wp-plugins/ai/includes/Abilities/Summarization/system-instruction.php +7 -5
- package/lib/wp-plugins/ai/includes/Abilities/Title_Generation/Title_Generation.php +51 -57
- package/lib/wp-plugins/ai/includes/Abilities/Title_Generation/system-instruction.php +2 -0
- package/lib/wp-plugins/ai/includes/Abilities/Utilities/Posts.php +22 -0
- package/lib/wp-plugins/ai/includes/Abstracts/Abstract_Ability.php +159 -8
- package/lib/wp-plugins/ai/includes/Abstracts/Abstract_Feature.php +78 -12
- package/lib/wp-plugins/ai/includes/Admin/Dashboard/AI_Capabilities_Widget.php +211 -0
- package/lib/wp-plugins/ai/includes/Admin/Dashboard/AI_Status_Widget.php +257 -0
- package/lib/wp-plugins/ai/includes/Admin/Dashboard/Dashboard_Widgets.php +90 -0
- package/lib/wp-plugins/ai/includes/Admin/Upgrades/V0_6_0.php +2 -1
- package/lib/wp-plugins/ai/includes/Admin/Upgrades/V1_0_0.php +72 -0
- package/lib/wp-plugins/ai/includes/Admin/Upgrades.php +2 -0
- package/lib/wp-plugins/ai/includes/Asset_Loader.php +178 -61
- package/lib/wp-plugins/ai/includes/CLI/Alt_Text_Command.php +446 -0
- package/lib/wp-plugins/ai/includes/Connector_Approval/Admin_Notice.php +188 -0
- package/lib/wp-plugins/ai/includes/Connector_Approval/Approvals_Store.php +276 -0
- package/lib/wp-plugins/ai/includes/Connector_Approval/Caller_Identifier.php +387 -0
- package/lib/wp-plugins/ai/includes/Connector_Approval/Connector_Key_Index.php +332 -0
- package/lib/wp-plugins/ai/includes/Connector_Approval/Http_Guard.php +181 -0
- package/lib/wp-plugins/ai/includes/Connector_Approval/REST_Controller.php +297 -0
- package/lib/wp-plugins/ai/includes/Contracts/Feature.php +36 -0
- package/lib/wp-plugins/ai/includes/Experiments/AI_Request_Logging/AI_Request_Logging.php +77 -0
- package/lib/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Abilities_Explorer.php +1 -0
- package/lib/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Ability_Handler.php +44 -18
- package/lib/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Ability_Table.php +55 -2
- package/lib/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Admin_Page.php +8 -6
- package/lib/wp-plugins/ai/includes/Experiments/Alt_Text_Generation/Alt_Text_Generation.php +138 -9
- package/lib/wp-plugins/ai/includes/Experiments/Comment_Moderation/Comment_Moderation.php +1056 -0
- package/lib/wp-plugins/ai/includes/Experiments/Connector_Approval/Admin_Page.php +129 -0
- package/lib/wp-plugins/ai/includes/Experiments/Connector_Approval/Connector_Approval.php +96 -0
- package/lib/wp-plugins/ai/includes/Experiments/Content_Classification/Content_Classification.php +309 -0
- package/lib/wp-plugins/ai/includes/Experiments/Content_Resizing/Content_Resizing.php +94 -0
- package/lib/wp-plugins/ai/includes/Experiments/{Review_Notes/Review_Notes.php → Editorial_Notes/Editorial_Notes.php} +13 -13
- package/lib/wp-plugins/ai/includes/Experiments/Editorial_Updates/Editorial_Updates.php +102 -0
- package/lib/wp-plugins/ai/includes/Experiments/Excerpt_Generation/Excerpt_Generation.php +2 -2
- package/lib/wp-plugins/ai/includes/Experiments/Experiments.php +8 -2
- package/lib/wp-plugins/ai/includes/Experiments/Meta_Description/Meta_Description.php +214 -0
- package/lib/wp-plugins/ai/includes/Experiments/Summarization/Summarization.php +24 -4
- package/lib/wp-plugins/ai/includes/Experiments/Title_Generation/Title_Generation.php +3 -2
- package/{wp-plugins/ai/includes/Experiments → lib/wp-plugins/ai/includes/Features}/Image_Generation/Image_Generation.php +9 -8
- package/lib/wp-plugins/ai/includes/Features/Loader.php +16 -15
- package/lib/wp-plugins/ai/includes/Features/Registry.php +22 -0
- package/lib/wp-plugins/ai/includes/Logging/AI_Request_Log_Manager.php +344 -0
- package/lib/wp-plugins/ai/includes/Logging/AI_Request_Log_Page.php +163 -0
- package/lib/wp-plugins/ai/includes/Logging/AI_Request_Log_Repository.php +876 -0
- package/lib/wp-plugins/ai/includes/Logging/AI_Request_Log_Schema.php +281 -0
- package/lib/wp-plugins/ai/includes/Logging/Log_Data_Extractor.php +619 -0
- package/lib/wp-plugins/ai/includes/Logging/Logging_Http_Transporter.php +415 -0
- package/lib/wp-plugins/ai/includes/Logging/Logging_Integration.php +109 -0
- package/lib/wp-plugins/ai/includes/Logging/REST/AI_Request_Log_Controller.php +325 -0
- package/lib/wp-plugins/ai/includes/Main.php +235 -0
- package/lib/wp-plugins/ai/includes/REST/Models_Controller.php +241 -0
- package/lib/wp-plugins/ai/includes/Requirements.php +215 -0
- package/lib/wp-plugins/ai/includes/Services/Guidelines.php +346 -0
- package/lib/wp-plugins/ai/includes/Settings/Settings_Page.php +243 -282
- package/lib/wp-plugins/ai/includes/Settings/Settings_Registration.php +31 -2
- package/lib/wp-plugins/ai/includes/helpers.php +190 -25
- package/lib/wp-plugins/ai/readme.txt +157 -68
- package/lib/wp-plugins/ai/vendor/autoload.php +1 -1
- package/lib/wp-plugins/ai/vendor/composer/autoload_classmap.php +40 -3
- package/lib/wp-plugins/ai/vendor/composer/autoload_real.php +5 -5
- package/lib/wp-plugins/ai/vendor/composer/autoload_static.php +44 -7
- package/lib/wp-plugins/ai/vendor/composer/installed.php +6 -6
- package/lib/wp-plugins/ai-provider-for-local-gateway/plugin.php +22 -3
- package/lib/wp-plugins/ai-provider-for-local-gateway/src/Availability/LocalGatewayProviderAvailability.php +16 -11
- package/lib/wp-plugins/ai-provider-for-local-gateway/src/Metadata/LocalGatewayModelMetadataDirectory.php +2 -0
- package/lib/wp-plugins/{ai/build/experiments/alt-text-generation-media.asset.php → ai-provider-for-ollama/build/admin/settings.asset.php} +1 -1
- package/lib/wp-plugins/ai-provider-for-ollama/build/admin/settings.js +2 -0
- package/lib/wp-plugins/ai-provider-for-ollama/build/admin/style-settings-rtl.css +1 -0
- package/lib/wp-plugins/ai-provider-for-ollama/build/admin/style-settings.css +1 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Metadata/OllamaModelMetadataDirectory.php +235 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Models/OllamaImageGenerationModel.php +193 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Models/OllamaTextGenerationModel.php +96 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Models/Traits/OllamaRequestOptionsTrait.php +67 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Plugin.php +203 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Provider/OllamaProvider.php +125 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Provider/logo.svg +7 -0
- package/lib/wp-plugins/ai-provider-for-ollama/includes/Settings/OllamaSettings.php +343 -0
- package/lib/wp-plugins/ai-provider-for-ollama/plugin.php +139 -200
- package/lib/wp-plugins/ai-provider-for-ollama/readme.txt +110 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/autoload.php +22 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/ClassLoader.php +579 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/InstalledVersions.php +396 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/LICENSE +21 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_classmap.php +17 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_namespaces.php +9 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_psr4.php +10 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_real.php +38 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_static.php +43 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/installed.json +5 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/installed.php +23 -0
- package/lib/wp-plugins/ai-provider-for-ollama/vendor/composer/platform_check.php +25 -0
- package/package.json +2 -1
- package/wp-plugins/ai/ai.php +50 -7
- package/wp-plugins/ai/assets/images/showcase-image-generation.webp +0 -0
- package/wp-plugins/ai/build/admin/dataviews.css +2302 -0
- package/wp-plugins/ai/build/build.php +37 -0
- package/wp-plugins/ai/build/constants.php +14 -0
- package/wp-plugins/ai/build/modules/boot/index.min.asset.php +6 -0
- package/wp-plugins/ai/build/modules/registry.php +11 -0
- package/wp-plugins/ai/build/modules.php +61 -0
- package/wp-plugins/ai/build/pages/ai/loader.js +1 -0
- package/wp-plugins/ai/build/pages/ai/page-wp-admin.php +279 -0
- package/wp-plugins/ai/build/pages/ai/page.php +317 -0
- package/wp-plugins/ai/build/pages.php +10 -0
- package/wp-plugins/ai/build/routes/ai-home/content.js +24513 -0
- package/wp-plugins/ai/build/routes/ai-home/content.min.asset.php +1 -0
- package/wp-plugins/ai/build/routes/ai-home/content.min.js +31 -0
- package/wp-plugins/ai/build/routes/registry.php +17 -0
- package/wp-plugins/ai/build/routes.php +113 -0
- package/wp-plugins/ai/build/scripts/registry.php +11 -0
- package/wp-plugins/ai/build/scripts.php +85 -0
- package/wp-plugins/ai/build/styles/registry.php +11 -0
- package/wp-plugins/ai/build/styles.php +73 -0
- package/wp-plugins/ai/build-scripts/admin/ai-request-logs-rtl.css +1 -0
- package/wp-plugins/ai/build-scripts/admin/ai-request-logs.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/admin/ai-request-logs.css +1 -0
- package/wp-plugins/ai/build-scripts/admin/ai-request-logs.js +155 -0
- package/wp-plugins/ai/build-scripts/admin/dashboard-rtl.css +1 -0
- package/wp-plugins/ai/build-scripts/admin/dashboard.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/admin/dashboard.css +1 -0
- package/wp-plugins/ai/{build → build-scripts}/admin/settings-rtl.css +1 -1
- package/wp-plugins/ai/build-scripts/admin/settings.asset.php +1 -0
- package/wp-plugins/ai/{build → build-scripts}/admin/settings.css +1 -1
- package/wp-plugins/ai/build-scripts/experiments/abilities-explorer-rtl.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/abilities-explorer.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/abilities-explorer.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/abilities-explorer.js +1 -0
- package/wp-plugins/ai/build-scripts/experiments/alt-text-generation-bulk.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/alt-text-generation-bulk.js +13 -0
- package/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media-editor.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media-editor.js +1 -0
- package/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/alt-text-generation-media.js +1 -0
- package/wp-plugins/ai/{build → build-scripts}/experiments/alt-text-generation.asset.php +1 -1
- package/wp-plugins/ai/build-scripts/experiments/alt-text-generation.js +1 -0
- package/wp-plugins/ai/build-scripts/experiments/comment-moderation.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/comment-moderation.js +1 -0
- package/wp-plugins/ai/build-scripts/experiments/connector-approval-rtl.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/connector-approval.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/connector-approval.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/connector-approval.js +1 -0
- package/wp-plugins/ai/build-scripts/experiments/content-classification-rtl.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/content-classification.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/content-classification.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/content-classification.js +5 -0
- package/wp-plugins/ai/build-scripts/experiments/content-resizing-rtl.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/content-resizing.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/content-resizing.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/content-resizing.js +5 -0
- package/wp-plugins/ai/{build/experiments/review-notes.asset.php → build-scripts/experiments/editorial-notes.asset.php} +1 -1
- package/wp-plugins/ai/build-scripts/experiments/editorial-notes.js +4 -0
- package/wp-plugins/ai/build-scripts/experiments/editorial-updates.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/editorial-updates.js +3 -0
- package/wp-plugins/ai/{build → build-scripts}/experiments/excerpt-generation.asset.php +1 -1
- package/wp-plugins/ai/build-scripts/experiments/excerpt-generation.js +1 -0
- package/wp-plugins/ai/build-scripts/experiments/meta-description-rtl.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/meta-description.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/experiments/meta-description.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/meta-description.js +3 -0
- package/wp-plugins/ai/build-scripts/experiments/summarization-rtl.css +1 -0
- package/wp-plugins/ai/{build → build-scripts}/experiments/summarization.asset.php +1 -1
- package/wp-plugins/ai/build-scripts/experiments/summarization.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/summarization.js +2 -0
- package/wp-plugins/ai/build-scripts/experiments/title-generation-rtl.css +1 -0
- package/{lib/wp-plugins/ai/build → wp-plugins/ai/build-scripts}/experiments/title-generation.asset.php +1 -1
- package/wp-plugins/ai/build-scripts/experiments/title-generation.css +1 -0
- package/wp-plugins/ai/build-scripts/experiments/title-generation.js +1 -0
- package/wp-plugins/ai/build-scripts/features/image-generation-rtl.css +1 -0
- package/{lib/wp-plugins/ai/build/experiments → wp-plugins/ai/build-scripts/features}/image-generation.asset.php +1 -1
- package/wp-plugins/ai/build-scripts/features/image-generation.css +1 -0
- package/wp-plugins/ai/build-scripts/features/image-generation.js +9 -0
- package/wp-plugins/ai/build-scripts/index.asset.php +1 -0
- package/wp-plugins/ai/build-scripts/index.js +0 -0
- package/wp-plugins/ai/includes/Abilities/Comment_Moderation/Comment_Analysis.php +311 -0
- package/wp-plugins/ai/includes/Abilities/Comment_Moderation/system-instruction.php +22 -0
- package/wp-plugins/ai/includes/Abilities/Content_Classification/Content_Classification.php +595 -0
- package/wp-plugins/ai/includes/Abilities/Content_Classification/system-instruction.php +29 -0
- package/wp-plugins/ai/includes/Abilities/Content_Resizing/Content_Resizing.php +234 -0
- package/wp-plugins/ai/includes/Abilities/Content_Resizing/system-instruction.php +37 -0
- package/{lib/wp-plugins/ai/includes/Abilities/Review_Notes/Review_Notes.php → wp-plugins/ai/includes/Abilities/Editorial_Notes/Editorial_Notes.php} +44 -11
- package/{lib/wp-plugins/ai/includes/Abilities/Review_Notes → wp-plugins/ai/includes/Abilities/Editorial_Notes}/system-instruction.php +7 -3
- package/wp-plugins/ai/includes/Abilities/Editorial_Updates/Editorial_Updates.php +285 -0
- package/wp-plugins/ai/includes/Abilities/Editorial_Updates/system-instruction.php +31 -0
- package/wp-plugins/ai/includes/Abilities/Excerpt_Generation/Excerpt_Generation.php +37 -11
- package/wp-plugins/ai/includes/Abilities/Excerpt_Generation/system-instruction.php +2 -0
- package/wp-plugins/ai/includes/Abilities/Image/Alt_Text_Generation.php +95 -28
- package/wp-plugins/ai/includes/Abilities/Image/Generate_Image.php +28 -3
- package/wp-plugins/ai/includes/Abilities/Image/Generate_Image_Prompt.php +34 -3
- package/wp-plugins/ai/includes/Abilities/Image/Import_Base64_Image.php +18 -1
- package/wp-plugins/ai/includes/Abilities/Image/alt-text-system-instruction.php +27 -13
- package/wp-plugins/ai/includes/Abilities/Meta_Description/Meta_Description.php +320 -0
- package/wp-plugins/ai/includes/Abilities/Meta_Description/SEO_Integration.php +128 -0
- package/wp-plugins/ai/includes/Abilities/Meta_Description/system-instruction.php +32 -0
- package/wp-plugins/ai/includes/Abilities/Summarization/Summarization.php +40 -13
- package/wp-plugins/ai/includes/Abilities/Summarization/system-instruction.php +7 -5
- package/wp-plugins/ai/includes/Abilities/Title_Generation/Title_Generation.php +51 -57
- package/wp-plugins/ai/includes/Abilities/Title_Generation/system-instruction.php +2 -0
- package/wp-plugins/ai/includes/Abilities/Utilities/Posts.php +22 -0
- package/wp-plugins/ai/includes/Abstracts/Abstract_Ability.php +159 -8
- package/wp-plugins/ai/includes/Abstracts/Abstract_Feature.php +78 -12
- package/wp-plugins/ai/includes/Admin/Dashboard/AI_Capabilities_Widget.php +211 -0
- package/wp-plugins/ai/includes/Admin/Dashboard/AI_Status_Widget.php +257 -0
- package/wp-plugins/ai/includes/Admin/Dashboard/Dashboard_Widgets.php +90 -0
- package/wp-plugins/ai/includes/Admin/Upgrades/V0_6_0.php +2 -1
- package/wp-plugins/ai/includes/Admin/Upgrades/V1_0_0.php +72 -0
- package/wp-plugins/ai/includes/Admin/Upgrades.php +2 -0
- package/wp-plugins/ai/includes/Asset_Loader.php +178 -61
- package/wp-plugins/ai/includes/CLI/Alt_Text_Command.php +446 -0
- package/wp-plugins/ai/includes/Connector_Approval/Admin_Notice.php +188 -0
- package/wp-plugins/ai/includes/Connector_Approval/Approvals_Store.php +276 -0
- package/wp-plugins/ai/includes/Connector_Approval/Caller_Identifier.php +387 -0
- package/wp-plugins/ai/includes/Connector_Approval/Connector_Key_Index.php +332 -0
- package/wp-plugins/ai/includes/Connector_Approval/Http_Guard.php +181 -0
- package/wp-plugins/ai/includes/Connector_Approval/REST_Controller.php +297 -0
- package/wp-plugins/ai/includes/Contracts/Feature.php +36 -0
- package/wp-plugins/ai/includes/Experiments/AI_Request_Logging/AI_Request_Logging.php +77 -0
- package/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Abilities_Explorer.php +1 -0
- package/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Ability_Handler.php +44 -18
- package/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Ability_Table.php +55 -2
- package/wp-plugins/ai/includes/Experiments/Abilities_Explorer/Admin_Page.php +8 -6
- package/wp-plugins/ai/includes/Experiments/Alt_Text_Generation/Alt_Text_Generation.php +138 -9
- package/wp-plugins/ai/includes/Experiments/Comment_Moderation/Comment_Moderation.php +1056 -0
- package/wp-plugins/ai/includes/Experiments/Connector_Approval/Admin_Page.php +129 -0
- package/wp-plugins/ai/includes/Experiments/Connector_Approval/Connector_Approval.php +96 -0
- package/wp-plugins/ai/includes/Experiments/Content_Classification/Content_Classification.php +309 -0
- package/wp-plugins/ai/includes/Experiments/Content_Resizing/Content_Resizing.php +94 -0
- package/wp-plugins/ai/includes/Experiments/{Review_Notes/Review_Notes.php → Editorial_Notes/Editorial_Notes.php} +13 -13
- package/wp-plugins/ai/includes/Experiments/Editorial_Updates/Editorial_Updates.php +102 -0
- package/wp-plugins/ai/includes/Experiments/Excerpt_Generation/Excerpt_Generation.php +2 -2
- package/wp-plugins/ai/includes/Experiments/Experiments.php +8 -2
- package/wp-plugins/ai/includes/Experiments/Meta_Description/Meta_Description.php +214 -0
- package/wp-plugins/ai/includes/Experiments/Summarization/Summarization.php +24 -4
- package/wp-plugins/ai/includes/Experiments/Title_Generation/Title_Generation.php +3 -2
- package/{lib/wp-plugins/ai/includes/Experiments → wp-plugins/ai/includes/Features}/Image_Generation/Image_Generation.php +9 -8
- package/wp-plugins/ai/includes/Features/Loader.php +16 -15
- package/wp-plugins/ai/includes/Features/Registry.php +22 -0
- package/wp-plugins/ai/includes/Logging/AI_Request_Log_Manager.php +344 -0
- package/wp-plugins/ai/includes/Logging/AI_Request_Log_Page.php +163 -0
- package/wp-plugins/ai/includes/Logging/AI_Request_Log_Repository.php +876 -0
- package/wp-plugins/ai/includes/Logging/AI_Request_Log_Schema.php +281 -0
- package/wp-plugins/ai/includes/Logging/Log_Data_Extractor.php +619 -0
- package/wp-plugins/ai/includes/Logging/Logging_Http_Transporter.php +415 -0
- package/wp-plugins/ai/includes/Logging/Logging_Integration.php +109 -0
- package/wp-plugins/ai/includes/Logging/REST/AI_Request_Log_Controller.php +325 -0
- package/wp-plugins/ai/includes/Main.php +235 -0
- package/wp-plugins/ai/includes/REST/Models_Controller.php +241 -0
- package/wp-plugins/ai/includes/Requirements.php +215 -0
- package/wp-plugins/ai/includes/Services/Guidelines.php +346 -0
- package/wp-plugins/ai/includes/Settings/Settings_Page.php +243 -282
- package/wp-plugins/ai/includes/Settings/Settings_Registration.php +31 -2
- package/wp-plugins/ai/includes/helpers.php +190 -25
- package/wp-plugins/ai/readme.txt +157 -68
- package/wp-plugins/ai/vendor/autoload.php +1 -1
- package/wp-plugins/ai/vendor/composer/autoload_classmap.php +40 -3
- package/wp-plugins/ai/vendor/composer/autoload_real.php +5 -5
- package/wp-plugins/ai/vendor/composer/autoload_static.php +44 -7
- package/wp-plugins/ai/vendor/composer/installed.php +6 -6
- package/wp-plugins/ai-provider-for-local-gateway/plugin.php +22 -3
- package/wp-plugins/ai-provider-for-local-gateway/src/Availability/LocalGatewayProviderAvailability.php +16 -11
- package/wp-plugins/ai-provider-for-local-gateway/src/Metadata/LocalGatewayModelMetadataDirectory.php +2 -0
- package/wp-plugins/{ai/build/experiments/alt-text-generation-media.asset.php → ai-provider-for-ollama/build/admin/settings.asset.php} +1 -1
- package/wp-plugins/ai-provider-for-ollama/build/admin/settings.js +2 -0
- package/wp-plugins/ai-provider-for-ollama/build/admin/style-settings-rtl.css +1 -0
- package/wp-plugins/ai-provider-for-ollama/build/admin/style-settings.css +1 -0
- package/wp-plugins/ai-provider-for-ollama/build/index.asset.php +1 -0
- package/wp-plugins/ai-provider-for-ollama/build/index.js +0 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Metadata/OllamaModelMetadataDirectory.php +235 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Models/OllamaImageGenerationModel.php +193 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Models/OllamaTextGenerationModel.php +96 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Models/Traits/OllamaRequestOptionsTrait.php +67 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Plugin.php +203 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Provider/OllamaProvider.php +125 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Provider/logo.svg +7 -0
- package/wp-plugins/ai-provider-for-ollama/includes/Settings/OllamaSettings.php +343 -0
- package/wp-plugins/ai-provider-for-ollama/plugin.php +139 -200
- package/wp-plugins/ai-provider-for-ollama/readme.txt +110 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/autoload.php +22 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/ClassLoader.php +579 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/InstalledVersions.php +396 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/LICENSE +21 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_classmap.php +17 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_namespaces.php +9 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_psr4.php +10 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_real.php +38 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/autoload_static.php +43 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/installed.json +5 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/installed.php +23 -0
- package/wp-plugins/ai-provider-for-ollama/vendor/composer/platform_check.php +25 -0
- package/lib/wp-plugins/ai/build/admin/settings.asset.php +0 -1
- package/lib/wp-plugins/ai/build/experiments/abilities-explorer-rtl.css +0 -1
- package/lib/wp-plugins/ai/build/experiments/abilities-explorer.asset.php +0 -1
- package/lib/wp-plugins/ai/build/experiments/abilities-explorer.css +0 -1
- package/lib/wp-plugins/ai/build/experiments/abilities-explorer.js +0 -1
- package/lib/wp-plugins/ai/build/experiments/alt-text-generation-media.js +0 -1
- package/lib/wp-plugins/ai/build/experiments/alt-text-generation.js +0 -1
- package/lib/wp-plugins/ai/build/experiments/excerpt-generation.js +0 -1
- package/lib/wp-plugins/ai/build/experiments/image-generation-rtl.css +0 -1
- package/lib/wp-plugins/ai/build/experiments/image-generation.css +0 -1
- package/lib/wp-plugins/ai/build/experiments/image-generation.js +0 -11
- package/lib/wp-plugins/ai/build/experiments/review-notes.js +0 -4
- package/lib/wp-plugins/ai/build/experiments/summarization-rtl.css +0 -1
- package/lib/wp-plugins/ai/build/experiments/summarization.css +0 -1
- package/lib/wp-plugins/ai/build/experiments/summarization.js +0 -1
- package/lib/wp-plugins/ai/build/experiments/title-generation.js +0 -1
- package/lib/wp-plugins/ai/includes/bootstrap.php +0 -269
- package/lib/wp-plugins/ai/tsconfig.json +0 -64
- package/lib/wp-plugins/ai-provider-for-ollama/src/Authentication/OllamaNoOpAuthentication.php +0 -45
- package/lib/wp-plugins/ai-provider-for-ollama/src/Availability/OllamaProviderAvailability.php +0 -39
- package/lib/wp-plugins/ai-provider-for-ollama/src/Metadata/OllamaModelMetadataDirectory.php +0 -211
- package/lib/wp-plugins/ai-provider-for-ollama/src/Models/OllamaImageGenerationModel.php +0 -226
- package/lib/wp-plugins/ai-provider-for-ollama/src/Models/OllamaTextGenerationModel.php +0 -65
- package/lib/wp-plugins/ai-provider-for-ollama/src/Provider/OllamaProvider.php +0 -141
- package/lib/wp-plugins/ai-provider-for-ollama/src/autoload.php +0 -29
- package/wp-plugins/ai/build/admin/settings.asset.php +0 -1
- package/wp-plugins/ai/build/experiments/abilities-explorer-rtl.css +0 -1
- package/wp-plugins/ai/build/experiments/abilities-explorer.asset.php +0 -1
- package/wp-plugins/ai/build/experiments/abilities-explorer.css +0 -1
- package/wp-plugins/ai/build/experiments/abilities-explorer.js +0 -1
- package/wp-plugins/ai/build/experiments/alt-text-generation-media.js +0 -1
- package/wp-plugins/ai/build/experiments/alt-text-generation.js +0 -1
- package/wp-plugins/ai/build/experiments/excerpt-generation.js +0 -1
- package/wp-plugins/ai/build/experiments/image-generation-rtl.css +0 -1
- package/wp-plugins/ai/build/experiments/image-generation.css +0 -1
- package/wp-plugins/ai/build/experiments/image-generation.js +0 -11
- package/wp-plugins/ai/build/experiments/review-notes.js +0 -4
- package/wp-plugins/ai/build/experiments/summarization-rtl.css +0 -1
- package/wp-plugins/ai/build/experiments/summarization.css +0 -1
- package/wp-plugins/ai/build/experiments/summarization.js +0 -1
- package/wp-plugins/ai/build/experiments/title-generation.js +0 -1
- package/wp-plugins/ai/includes/bootstrap.php +0 -269
- package/wp-plugins/ai/tsconfig.json +0 -64
- package/wp-plugins/ai-provider-for-ollama/src/Authentication/OllamaNoOpAuthentication.php +0 -45
- package/wp-plugins/ai-provider-for-ollama/src/Availability/OllamaProviderAvailability.php +0 -39
- package/wp-plugins/ai-provider-for-ollama/src/Metadata/OllamaModelMetadataDirectory.php +0 -211
- package/wp-plugins/ai-provider-for-ollama/src/Models/OllamaImageGenerationModel.php +0 -226
- package/wp-plugins/ai-provider-for-ollama/src/Models/OllamaTextGenerationModel.php +0 -65
- package/wp-plugins/ai-provider-for-ollama/src/Provider/OllamaProvider.php +0 -141
- package/wp-plugins/ai-provider-for-ollama/src/autoload.php +0 -29
- /package/lib/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment-rtl.css +0 -0
- /package/lib/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment.asset.php +0 -0
- /package/lib/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment.css +0 -0
- /package/lib/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment.js +0 -0
- /package/{wp-plugins/ai/build → lib/wp-plugins/ai/build-scripts}/index.asset.php +0 -0
- /package/{wp-plugins/ai/build → lib/wp-plugins/ai/build-scripts}/index.js +0 -0
- /package/lib/wp-plugins/{ai → ai-provider-for-ollama}/build/index.asset.php +0 -0
- /package/lib/wp-plugins/{ai → ai-provider-for-ollama}/build/index.js +0 -0
- /package/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment-rtl.css +0 -0
- /package/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment.asset.php +0 -0
- /package/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment.css +0 -0
- /package/wp-plugins/ai/{build → build-scripts}/experiments/example-experiment.js +0 -0
|
@@ -1,218 +1,157 @@
|
|
|
1
1
|
<?php
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
|
-
* Plugin Name:
|
|
5
|
-
* Plugin URI:
|
|
6
|
-
* Description:
|
|
7
|
-
* Requires at least:
|
|
8
|
-
* Requires PHP:
|
|
9
|
-
* Version:
|
|
10
|
-
* Author:
|
|
11
|
-
*
|
|
12
|
-
* License
|
|
13
|
-
*
|
|
3
|
+
* Plugin Name: AI Provider for Ollama
|
|
4
|
+
* Plugin URI: https://github.com/fueled/ai-provider-for-ollama
|
|
5
|
+
* Description: Ollama provider for the WordPress AI Client.
|
|
6
|
+
* Requires at least: 7.0
|
|
7
|
+
* Requires PHP: 7.4
|
|
8
|
+
* Version: 1.1.1
|
|
9
|
+
* Author: Fueled
|
|
10
|
+
* Author URI: https://fueled.com
|
|
11
|
+
* License: GPL-2.0-or-later
|
|
12
|
+
* License URI: https://spdx.org/licenses/GPL-2.0-or-later.html
|
|
13
|
+
* Text Domain: ai-provider-for-ollama
|
|
14
14
|
*
|
|
15
|
-
* @package
|
|
15
|
+
* @package Fueled\AiProviderForOllama
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
declare(strict_types=1);
|
|
19
|
-
|
|
20
|
-
namespace WordPress\OllamaAiProvider;
|
|
18
|
+
declare( strict_types=1 );
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
use WordPress\OllamaAiProvider\Provider\OllamaProvider;
|
|
20
|
+
namespace Fueled\AiProviderForOllama;
|
|
24
21
|
|
|
25
|
-
if (!defined('ABSPATH')) {
|
|
26
|
-
|
|
22
|
+
if ( ! defined( 'ABSPATH' ) ) {
|
|
23
|
+
exit;
|
|
27
24
|
}
|
|
28
25
|
|
|
29
|
-
|
|
26
|
+
define( 'AI_PROVIDER_FOR_OLLAMA_MIN_PHP_VERSION', '7.4' );
|
|
27
|
+
define( 'AI_PROVIDER_FOR_OLLAMA_MIN_WP_VERSION', '7.0' );
|
|
28
|
+
define( 'AI_PROVIDER_FOR_OLLAMA_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
|
29
|
+
define( 'AI_PROVIDER_FOR_OLLAMA_PLUGIN_FILE', __FILE__ );
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Displays an admin notice for requirement failures.
|
|
33
|
+
*
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
*
|
|
36
|
+
* @param string $message The error message to display.
|
|
37
|
+
*/
|
|
38
|
+
function requirement_notice( string $message ): void {
|
|
39
|
+
if ( ! is_admin() ) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
?>
|
|
43
|
+
|
|
44
|
+
<div class="notice notice-error">
|
|
45
|
+
<p><?php echo wp_kses_post( $message ); ?></p>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<?php
|
|
49
|
+
}
|
|
30
50
|
|
|
31
51
|
/**
|
|
32
|
-
*
|
|
52
|
+
* Checks if the PHP version meets the minimum requirement.
|
|
53
|
+
*
|
|
54
|
+
* @since 1.0.0
|
|
33
55
|
*
|
|
34
|
-
*
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
56
|
+
* @return bool True if PHP version is sufficient, false otherwise.
|
|
57
|
+
*/
|
|
58
|
+
function check_php_version(): bool {
|
|
59
|
+
if ( version_compare( phpversion(), AI_PROVIDER_FOR_OLLAMA_MIN_PHP_VERSION, '<' ) ) {
|
|
60
|
+
add_action(
|
|
61
|
+
'admin_notices',
|
|
62
|
+
static function () {
|
|
63
|
+
requirement_notice(
|
|
64
|
+
sprintf(
|
|
65
|
+
/* translators: 1: Required PHP version, 2: Current PHP version */
|
|
66
|
+
__( 'The Ollama Provider plugin requires PHP version %1$s or higher. You are running PHP version %2$s.', 'ai-provider-for-ollama' ),
|
|
67
|
+
AI_PROVIDER_FOR_OLLAMA_MIN_PHP_VERSION,
|
|
68
|
+
PHP_VERSION
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Checks if the WordPress version meets the minimum requirement.
|
|
38
82
|
*
|
|
39
83
|
* @since 1.0.0
|
|
40
84
|
*
|
|
41
|
-
* @
|
|
85
|
+
* @global string $wp_version WordPress version.
|
|
86
|
+
*
|
|
87
|
+
* @return bool True if WordPress version is sufficient, false otherwise.
|
|
88
|
+
*/
|
|
89
|
+
function check_wp_version(): bool {
|
|
90
|
+
if ( ! is_wp_version_compatible( AI_PROVIDER_FOR_OLLAMA_MIN_WP_VERSION ) ) {
|
|
91
|
+
add_action(
|
|
92
|
+
'admin_notices',
|
|
93
|
+
static function () {
|
|
94
|
+
global $wp_version;
|
|
95
|
+
requirement_notice(
|
|
96
|
+
sprintf(
|
|
97
|
+
/* translators: 1: Required WordPress version, 2: Current WordPress version */
|
|
98
|
+
__( 'The Ollama Provider plugin requires WordPress version %1$s or higher. You are running WordPress version %2$s.', 'ai-provider-for-ollama' ),
|
|
99
|
+
AI_PROVIDER_FOR_OLLAMA_MIN_WP_VERSION,
|
|
100
|
+
$wp_version
|
|
101
|
+
)
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Loads the Ollama provider plugin.
|
|
114
|
+
*
|
|
115
|
+
* @since 1.0.0
|
|
42
116
|
*/
|
|
43
|
-
function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
117
|
+
function load(): void {
|
|
118
|
+
static $loaded = false;
|
|
119
|
+
|
|
120
|
+
// Prevent loading twice.
|
|
121
|
+
if ( $loaded ) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Check version requirements.
|
|
126
|
+
if ( ! check_php_version() || ! check_wp_version() ) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Throw an error if the composer autoloader is not found.
|
|
131
|
+
if ( ! file_exists( AI_PROVIDER_FOR_OLLAMA_PLUGIN_DIR . 'vendor/autoload.php' ) ) {
|
|
132
|
+
add_action(
|
|
133
|
+
'admin_notices',
|
|
134
|
+
static function () {
|
|
135
|
+
requirement_notice(
|
|
136
|
+
sprintf(
|
|
137
|
+
/* translators: %s: composer install command */
|
|
138
|
+
esc_html__( 'Your installation of the Ollama Provider plugin is incomplete. Please run %s.', 'ai-provider-for-ollama' ),
|
|
139
|
+
'<code>composer install</code>'
|
|
140
|
+
)
|
|
141
|
+
);
|
|
142
|
+
},
|
|
143
|
+
10
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Load the composer autoloader.
|
|
150
|
+
require_once AI_PROVIDER_FOR_OLLAMA_PLUGIN_DIR . 'vendor/autoload.php';
|
|
151
|
+
|
|
152
|
+
// Initialize the plugin.
|
|
153
|
+
$plugin = new Plugin();
|
|
154
|
+
$plugin->init();
|
|
80
155
|
}
|
|
81
156
|
|
|
82
|
-
|
|
83
|
-
add_action('init', __NAMESPACE__ . '\\register_provider', 1);
|
|
84
|
-
|
|
85
|
-
// Register again at priority 5 and 10 to catch any late-loading registries
|
|
86
|
-
add_action('init', __NAMESPACE__ . '\\register_provider', 5);
|
|
87
|
-
add_action('init', __NAMESPACE__ . '\\register_provider', 10);
|
|
88
|
-
|
|
89
|
-
// Prepend Ollama models to the experiment preferred models list.
|
|
90
|
-
add_filter('ai_experiments_preferred_models_for_text_generation', function ($models) {
|
|
91
|
-
if (!class_exists(AiClient::class)) {
|
|
92
|
-
error_log('Ollama filter: AiClient class not found');
|
|
93
|
-
return $models;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
$registry = AiClient::defaultRegistry();
|
|
97
|
-
// Check by provider ID, not class name
|
|
98
|
-
if (!$registry->hasProvider('ollama')) {
|
|
99
|
-
error_log('Ollama filter: Provider not registered');
|
|
100
|
-
return $models;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// Also check if it's configured
|
|
104
|
-
if (!$registry->isProviderConfigured('ollama')) {
|
|
105
|
-
error_log('Ollama filter: Provider not configured');
|
|
106
|
-
return $models;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
try {
|
|
110
|
-
$modelMetadataList = OllamaProvider::modelMetadataDirectory()->listModelMetadata();
|
|
111
|
-
|
|
112
|
-
$ollamaModels = [];
|
|
113
|
-
foreach ($modelMetadataList as $modelMetadata) {
|
|
114
|
-
// Only add text generation models to this filter
|
|
115
|
-
$hasTextGeneration = false;
|
|
116
|
-
foreach ($modelMetadata->getSupportedCapabilities() as $capability) {
|
|
117
|
-
if ($capability->isTextGeneration()) {
|
|
118
|
-
$hasTextGeneration = true;
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if ($hasTextGeneration) {
|
|
124
|
-
// Format: [providerId, modelId] - numeric indexed array
|
|
125
|
-
$ollamaModels[] = ['ollama', $modelMetadata->getId()];
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return array_merge($ollamaModels, $models);
|
|
130
|
-
} catch (\Exception $e) {
|
|
131
|
-
error_log('Ollama filter error: ' . $e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine());
|
|
132
|
-
return $models;
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
// Disable image generation experiment
|
|
137
|
-
// Ollama DOES support image generation models (x/z-image-turbo, flux, etc.) BUT they
|
|
138
|
-
// timeout and aren't production-ready yet. The implementation exists in
|
|
139
|
-
// OllamaImageGenerationModel.php and can be enabled when Ollama's image models become stable.
|
|
140
|
-
add_filter('ai_experiments_available', function ($experiments) {
|
|
141
|
-
if (isset($experiments['image_generation'])) {
|
|
142
|
-
unset($experiments['image_generation']);
|
|
143
|
-
error_log('Ollama: Disabled image_generation experiment (models timeout - not production-ready)');
|
|
144
|
-
}
|
|
145
|
-
return $experiments;
|
|
146
|
-
}, 20);
|
|
147
|
-
|
|
148
|
-
// Allow localhost requests to Ollama
|
|
149
|
-
add_filter('http_request_host_is_external', function ($is_external, $host, $url) {
|
|
150
|
-
// Allow localhost for Ollama API calls
|
|
151
|
-
if ($host === 'localhost' && strpos($url, 'localhost:11434') !== false) {
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
return $is_external;
|
|
155
|
-
}, 10, 3);
|
|
156
|
-
|
|
157
|
-
// Bypass WordPress localhost blocking for Ollama and increase timeout
|
|
158
|
-
add_filter('http_request_args', function ($args, $url) {
|
|
159
|
-
if (strpos($url, 'localhost:11434') !== false) {
|
|
160
|
-
$args['reject_unsafe_urls'] = false;
|
|
161
|
-
$args['timeout'] = 60; // 60 seconds for model inference
|
|
162
|
-
}
|
|
163
|
-
return $args;
|
|
164
|
-
}, 10, 2);
|
|
165
|
-
|
|
166
|
-
// Bypass credential validation — Ollama needs no API keys.
|
|
167
|
-
add_filter('ai_experiments_pre_has_valid_credentials_check', function ($valid) {
|
|
168
|
-
error_log('ai_experiments_pre_has_valid_credentials_check called with: ' . var_export($valid, true));
|
|
169
|
-
|
|
170
|
-
if ($valid !== null) {
|
|
171
|
-
error_log(' Returning early with: ' . var_export($valid, true));
|
|
172
|
-
return $valid;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
if (!class_exists(AiClient::class)) {
|
|
176
|
-
error_log(' AiClient class not found');
|
|
177
|
-
return $valid;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
$registry = AiClient::defaultRegistry();
|
|
181
|
-
$isConfigured = $registry->isProviderConfigured('ollama');
|
|
182
|
-
error_log(' Ollama isProviderConfigured: ' . ($isConfigured ? 'YES' : 'NO'));
|
|
183
|
-
|
|
184
|
-
if ($isConfigured) {
|
|
185
|
-
error_log(' Returning TRUE for Ollama');
|
|
186
|
-
return true;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
error_log(' Returning NULL');
|
|
190
|
-
return $valid;
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
// Debug: Log when WordPress searches for models
|
|
195
|
-
add_action('init', function() {
|
|
196
|
-
if (!class_exists(AiClient::class)) {
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
$registry = AiClient::defaultRegistry();
|
|
201
|
-
|
|
202
|
-
// Try to find text generation models through the registry
|
|
203
|
-
try {
|
|
204
|
-
$requirements = new \WordPress\AiClient\Providers\Models\DTO\ModelRequirements(
|
|
205
|
-
[\WordPress\AiClient\Providers\Models\Enums\CapabilityEnum::textGeneration()],
|
|
206
|
-
[]
|
|
207
|
-
);
|
|
208
|
-
$results = $registry->findModelsMetadataForSupport($requirements);
|
|
209
|
-
error_log('Registry findModelsMetadataForSupport returned ' . count($results) . ' provider groups');
|
|
210
|
-
foreach ($results as $providerModels) {
|
|
211
|
-
$providerId = $providerModels->getProvider()->getId();
|
|
212
|
-
$models = $providerModels->getModels();
|
|
213
|
-
error_log(' Provider ' . $providerId . ' has ' . count($models) . ' text generation models');
|
|
214
|
-
}
|
|
215
|
-
} catch (\Exception $e) {
|
|
216
|
-
error_log('Registry search ERROR: ' . $e->getMessage());
|
|
217
|
-
}
|
|
218
|
-
}, 999);
|
|
157
|
+
add_action( 'plugins_loaded', __NAMESPACE__ . '\\load' );
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
=== AI Provider for Ollama ===
|
|
2
|
+
Contributors: fueled, 10up
|
|
3
|
+
Tags: ai, ollama, llm, local-ai, connector
|
|
4
|
+
Requires at least: 7.0
|
|
5
|
+
Tested up to: 7.0
|
|
6
|
+
Stable tag: 1.1.1
|
|
7
|
+
Requires PHP: 7.4
|
|
8
|
+
License: GPL-2.0-or-later
|
|
9
|
+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
|
10
|
+
|
|
11
|
+
Ollama provider for the WordPress AI Client.
|
|
12
|
+
|
|
13
|
+
== Description ==
|
|
14
|
+
|
|
15
|
+
This plugin provides [Ollama](https://ollama.com/) integration for the WordPress AI Client. It lets WordPress sites use large language models running locally or on a remote Ollama instance for text and image generation and other AI capabilities.
|
|
16
|
+
|
|
17
|
+
Ollama exposes an [OpenAI-compatible API](https://ollama.com/blog/openai-compatibility), and this provider uses that API to communicate with any model you have pulled into Ollama (Llama, Mistral, Gemma, Phi, and many more).
|
|
18
|
+
|
|
19
|
+
**Features:**
|
|
20
|
+
|
|
21
|
+
* Text generation with any Ollama model
|
|
22
|
+
* Image generation with supported models
|
|
23
|
+
* Automatic model discovery from your Ollama instance
|
|
24
|
+
* Function calling support
|
|
25
|
+
* Structured output (JSON mode) support
|
|
26
|
+
* Settings page for host URL and seeing available models
|
|
27
|
+
* Works without an API key for local instances
|
|
28
|
+
|
|
29
|
+
**Requirements:**
|
|
30
|
+
|
|
31
|
+
* PHP 7.4 or higher
|
|
32
|
+
* WordPress 7.0 or higher
|
|
33
|
+
* Ollama running locally or on a remote server (like Ollama Cloud)
|
|
34
|
+
|
|
35
|
+
== Installation ==
|
|
36
|
+
|
|
37
|
+
1. Upload the plugin files to `/wp-content/plugins/ai-provider-for-ollama/`.
|
|
38
|
+
2. Activate the plugin through the 'Plugins' menu in WordPress.
|
|
39
|
+
3. Go to **Settings > Ollama** to configure the host URL and see available models.
|
|
40
|
+
|
|
41
|
+
== Frequently Asked Questions ==
|
|
42
|
+
|
|
43
|
+
= How do I install Ollama? =
|
|
44
|
+
|
|
45
|
+
Visit [ollama.com](https://ollama.com/) to download and install Ollama for your platform. Once installed, pull a model (example `ollama pull llama3.2`) and the provider will automatically discover it.
|
|
46
|
+
|
|
47
|
+
= Do I need an API key? =
|
|
48
|
+
|
|
49
|
+
No. For local Ollama instances, no API key is needed. The plugin automatically handles authentication for local setups.
|
|
50
|
+
|
|
51
|
+
For remote Ollama instances that require authentication, enter the API key in the **Settings > Connectors** screen. If using Ollama Cloud, you also need to set your Ollama host URL in the **Settings > Ollama** screen to `https://ollama.com`.
|
|
52
|
+
|
|
53
|
+
= How do I change the Ollama host URL? =
|
|
54
|
+
|
|
55
|
+
By default, the provider connects to `http://localhost:11434`. You can change this in two ways:
|
|
56
|
+
|
|
57
|
+
1. Set the `OLLAMA_HOST` environment variable (takes precedence).
|
|
58
|
+
2. Go to **Settings > Ollama** in the WordPress admin and enter your host URL.
|
|
59
|
+
|
|
60
|
+
== Screenshots ==
|
|
61
|
+
|
|
62
|
+
1. Settings > Ollama screen showing available AI models and Host URL configuration.
|
|
63
|
+
|
|
64
|
+
== Changelog ==
|
|
65
|
+
|
|
66
|
+
= 1.1.1 - 2026-05-14 =
|
|
67
|
+
|
|
68
|
+
**Added**
|
|
69
|
+
- Ensure the AI plugin sees Ollama as a valid, connected provider within the status dashboard widget (props [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul) via [#55](https://github.com/Fueled/ai-provider-for-ollama/pull/55)).
|
|
70
|
+
|
|
71
|
+
**Fixed**
|
|
72
|
+
- More robust path inclusion for the logo (props [@dkotter](https://github.com/dkotter), [@abcdatos](https://profiles.wordpress.org/abcdatos/) via [#61](https://github.com/Fueled/ai-provider-for-ollama/pull/61)).
|
|
73
|
+
|
|
74
|
+
= 1.1.0 - 2026-04-23 =
|
|
75
|
+
|
|
76
|
+
* **Added:** Support for image generation when using compatible models (props [@milindmore22](https://github.com/milindmore22), [@dkotter](https://github.com/dkotter) via [#30](https://github.com/Fueled/ai-provider-for-ollama/pull/30)).
|
|
77
|
+
* **Added:** Integrate with the `wpai_has_ai_credentials` filter to ensure the AI plugin sees Ollama as a valid, connected provider (props [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul) via [#43](https://github.com/Fueled/ai-provider-for-ollama/pull/43)).
|
|
78
|
+
* **Added:** Show the capabilities of each model next to the model name on our settings page (props [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul) via [#51](https://github.com/Fueled/ai-provider-for-ollama/pull/51)).
|
|
79
|
+
* **Changed:** Increase the standard timeout to be 60 seconds for text generation (props [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul) via [#49](https://github.com/Fueled/ai-provider-for-ollama/pull/49)).
|
|
80
|
+
* **Fixed:** Properly parse structured outputs (props [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul) via [#49](https://github.com/Fueled/ai-provider-for-ollama/pull/49)).
|
|
81
|
+
|
|
82
|
+
= 1.0.3 - 2026-03-25 =
|
|
83
|
+
|
|
84
|
+
* **Changed:** Removed AI Client dependency FAQ entry (props [@raftaar1191](https://github.com/raftaar1191) via [#29](https://github.com/Fueled/ai-provider-for-ollama/pull/29)).
|
|
85
|
+
* **Fixed:** Ensure the vendor directory ends up in our final release (props [@soderlind](https://github.com/soderlind), [@dkotter](https://github.com/dkotter) via [#31](https://github.com/Fueled/ai-provider-for-ollama/pull/31)).
|
|
86
|
+
|
|
87
|
+
= 1.0.2 - 2026-03-23 =
|
|
88
|
+
|
|
89
|
+
* **Changed:** Updated plugin display name and slug per WPORG feedback (props [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul) via [#25](https://github.com/Fueled/ai-provider-for-ollama/pull/25)).
|
|
90
|
+
|
|
91
|
+
= 1.0.1 - 2026-03-20 =
|
|
92
|
+
|
|
93
|
+
* **Added:** Support for the provider description and logo path (props [@jeffpaul](https://github.com/jeffpaul), [@dkotter](https://github.com/dkotter) via [#13](https://github.com/Fueled/ai-provider-for-ollama/pull/13)).
|
|
94
|
+
* **Changed:** Display name and slug to meet WPORG Plugin team requirements (props [@jeffpaul](https://github.com/jeffpaul), [@dkotter](https://github.com/dkotter) via [#22](https://github.com/Fueled/ai-provider-for-ollama/pull/22)).
|
|
95
|
+
* **Changed:** Update menu name from Ollama Settings to Ollama (props [@jeffpaul](https://github.com/jeffpaul), [@dkotter](https://github.com/dkotter) via [#19](https://github.com/Fueled/ai-provider-for-ollama/pull/19)).
|
|
96
|
+
* **Fixed:** Ensure we properly check if the provider is connected rather than defaulting to always showing as connected (props [@raftaar1191](https://github.com/raftaar1191), [@dkotter](https://github.com/dkotter) via [#17](https://github.com/Fueled/ai-provider-for-ollama/pull/17)).
|
|
97
|
+
|
|
98
|
+
= 1.0.0 - 2026-03-05 =
|
|
99
|
+
|
|
100
|
+
* Initial release
|
|
101
|
+
* Text generation with Ollama models via the OpenAI-compatible API
|
|
102
|
+
* Automatic model discovery from the Ollama instance
|
|
103
|
+
* Settings page for host URL and default model
|
|
104
|
+
* Function calling and structured output support
|
|
105
|
+
|
|
106
|
+
== Upgrade Notice ==
|
|
107
|
+
|
|
108
|
+
= 1.0.0 =
|
|
109
|
+
|
|
110
|
+
Initial release.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
// autoload.php @generated by Composer
|
|
4
|
+
|
|
5
|
+
if (PHP_VERSION_ID < 50600) {
|
|
6
|
+
if (!headers_sent()) {
|
|
7
|
+
header('HTTP/1.1 500 Internal Server Error');
|
|
8
|
+
}
|
|
9
|
+
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
|
|
10
|
+
if (!ini_get('display_errors')) {
|
|
11
|
+
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
|
12
|
+
fwrite(STDERR, $err);
|
|
13
|
+
} elseif (!headers_sent()) {
|
|
14
|
+
echo $err;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
throw new RuntimeException($err);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
require_once __DIR__ . '/composer/autoload_real.php';
|
|
21
|
+
|
|
22
|
+
return ComposerAutoloaderInit493d072e40e7a82570eb5a313d494b45::getLoader();
|