This commit refactors the Vertex AI integration to automatically derive the
Project ID from the provided Service Account JSON. This simplifies the
configuration process for users in "Full" (service account) authentication
mode by removing the need to specify the Project ID separately.
- Removed outdated model options from the Gemini 2.0 optgroup in index.html.
- Added 'gemini-2.0-flash-preview-image-generation' to the image generation models in chat-completions.js for improved functionality.
- Included 'vertexai_project_id', 'vertexai_region', and 'vertexai_service_account_json' to the sensitiveFields array for enhanced configuration management.
- Updated index.html to include data-mode attributes for model optgroups, distinguishing between express and full modes.
- Modified openai.js to show/hide model groups based on the selected authentication mode, improving user experience and functionality.
- Updated index.html to include options for Vertex AI authentication modes (Express and Full).
- Enhanced openai.js to manage Vertex AI settings, including project ID, region, and service account JSON.
- Added validation and handling for service account JSON in the backend.
- Modified API request handling in google.js to support both authentication modes for Vertex AI.
- Updated secrets.js to include a key for storing Vertex AI service account JSON.
- Improved error handling and user feedback for authentication issues.
* add ability for exts to req other exts
* Get rid of toasts. Collect errors on load, display in manager
* Remove unused variable
* Only show missing modules/dependencies
* Prefer display names in validation messages
* Prefer internal name for console warn
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>