* feat: Implement model registry and capabilities for multi-provider support
- Added ModelRegistry to manage available models and their capabilities.
- Introduced ModelProvider enum for different LLM providers.
- Created ModelCapabilities dataclass to define model features.
- Implemented methods to load models based on API keys and settings.
- Added utility functions for model management in model_utils.py.
- Updated settings.py to include provider-specific API keys.
- Refactored LLM classes (Anthropic, OpenAI, Google, etc.) to utilize new model registry.
- Enhanced utility functions to handle token limits and model validation.
- Improved code structure and logging for better maintainability.
* feat: Add model selection feature with API integration and UI component
* feat: Add model selection and default model functionality in agent management
* test: Update assertions and formatting in stream processing tests
* refactor(llm): Standardize model identifier to model_id
* fix tests
---------
Co-authored-by: Alex <a@tushynski.me>
* Fixed multiple file uploads to be sent through a single request to backend for further processing and storing
* Fixed multiple file uploads to be sent through a single request to backend for further processing and storing
* Fixed multiple file uploads to be sent through a single request to backend for further processing and storing
* Made duplicate multiple keyword fixes
* Added back drag and drop functionality and it keeps the multiple file uploads
* todo tool feature added to tools
* removed configs
* fix: require user_id on TodoListTool, normalize timestamps, add tests
* lint and tests fixes
* refactor: support multiple todos per user/tool by indexing with todo_id
* modified todo_id to use auto-increamenting integer instead of UUID
* test-case fixes
* feat: fix todos
---------
Co-authored-by: Alex <a@tushynski.me>
* Update routes.py, added token and request limits to create/update agent operations
* added usage limit check to api endpoints
cannot create agents with usage limit right now that will be implemented
* implemented api limiting as either token limiting or request limiting modes
* minor typo & bug fix
* Add MongoDB-backed NotesTool with CRUD actions and unit tests
* NotesTool: enforce single note per user, require decoded_token['sub'] user_id, fix tests
* chore: remove accidentally committed results.txt and ignore it
* fix: remove results.txt, enforce single note per user, add tests
* refactor: update NotesTool actions and tests for clarity and consistency
* refactor: update NotesTool docstring for clarity
* refactor: simplify MCPTool docstring and remove redundant import in test_notes_tool
* lint: fix test
* refactor: remove unused import from test_notes_tool.py
---------
Co-authored-by: Alex <a@tushynski.me>
- Added MCPOAuthManager to handle OAuth authorization.
- Updated MCPServerSave resource to manage OAuth status and callback.
- Introduced new endpoints for OAuth status and callback handling.
- Enhanced user interface to support OAuth authentication type.
- Implemented polling mechanism for OAuth status in MCPServerModal.
- Updated frontend services and endpoints to accommodate new OAuth features.
- Improved error handling and user feedback for OAuth processes.