feat(dotAI): Implement new dotAI config page - #37048
Conversation
…y and configuration metadata - Added new model provider strategies for various AI services (Anthropic, Azure OpenAI, Bedrock, Google AI, OpenAI, OpenRouter, Vertex AI). - Introduced enum to define supported capabilities (CHAT, EMBEDDINGS, IMAGE). - Implemented and to manage configuration fields for each provider. - Created to aggregate provider capabilities and fields for dynamic form rendering. - Added REST endpoint to expose provider metadata for client consumption. - Updated OpenAPI documentation to reflect new endpoints and data structures. - Added unit tests for provider metadata functionality. This commit enhances the AI provider configuration system, allowing for more flexible and dynamic integration of various AI models.
|
Claude finished @KevinDavilaDotCMS's task in 4m 23s —— View job Code ReviewReviewed the backend (REST resource, provider strategies, connection tester, masked-credential guard) and frontend (config detail, capability/settings cards, dynamic fields, service). This is a solid, well-tested PR — the masked-credential exfiltration/SSRF guard in New Issues
Notes
No blocking issues found. |
…forms and additional properties - Refactored the AI configuration detail component to improve layout and user experience. - Introduced new components for capability cards, settings, and dynamic fields to support various AI provider configurations. - Added functionality for managing additional properties in a flexible key/value format. - Implemented loading states and error handling for better user feedback during configuration. - Created constants for capability metadata and settings fields to streamline configuration management. This commit significantly enhances the AI provider configuration interface, allowing for more intuitive and dynamic interactions.
…ocalization and error handling - Refactored the AI configuration detail component to utilize new localization keys for titles, subtitles, and button labels. - Enhanced error handling by integrating localized error messages for loading and saving configurations. - Updated constants for capability metadata and settings fields to support dynamic localization. - Improved user feedback with loading indicators and unsaved changes notifications using localized strings. - Added new localization keys to the Language.properties file to support the changes. This commit enhances the user experience by providing a more localized and informative interface for AI configuration management.
…ucture - Cleaned up import statements in the AI configuration detail component and its subcomponents for better readability and organization. - Moved the import to the appropriate location in the file. - Adjusted the import order in and to maintain consistency and improve clarity. These changes streamline the code structure, making it easier to navigate and maintain.
…entials - Added checks to ensure only CMS admins can test AI provider connections, enhancing security. - Updated OpenAPI documentation to reflect the new requirement for admin access. - Implemented a method to validate that masked credentials are only resolved when the posted provider and endpoint match the stored configuration, preventing potential credential exfiltration. - Introduced unit tests to cover various scenarios for masked credential resolution, ensuring robust functionality and security. These changes improve the security posture of the AI provider resource and ensure that sensitive information is handled appropriately.
🐳 PR Docker test imageLatest build for commit docker pull dotcms/dotcms-test:pr-37048-36826-dotai-provider-configuration-ui
docker pull dotcms/dotcms-test:pr-37048-36826-dotai-provider-configuration-ui_f5b5f49 |
… AI configuration fields - Introduced unit tests for the function to validate field visibility rules based on requirements and types. - Refactored the AI capability card component to utilize the new visibility logic, ensuring required and specific optional fields are displayed above the Advanced panel. - Updated the HTML templates to reflect changes in field visibility, enhancing user experience by clearly distinguishing between visible and advanced fields. - Improved the organization of the AI configuration detail component for better maintainability. These changes enhance the functionality and reliability of the AI configuration interface, ensuring that users have a clearer understanding of which fields are essential and which are optional.
0817.mov
This commit enhances the AI provider configuration system, allowing for more flexible and dynamic integration of various AI models.
Proposed Changes
Checklist
Additional Info
** any additional useful context or info **
Screenshots