* fixes setup scripts
fixes to env handling in setup script plus other minor fixes
* Remove var declarations
Declarations such as `LLM_PROVIDER=$LLM_PROVIDER` override .env variables in compose
Similar issue is present in the frontend - need to choose either to switch to separate frontend env or keep as is.
* Manage apikeys in settings
1. More pydantic management of api keys.
2. Clean up of variable declarations from docker compose files, used to block .env imports. Now should be managed ether by settings.py defaults or .env
* feat: enhance API tool with body serialization and content type handling
* feat: enhance ToolConfig with import functionality and user action management
- Added ImportSpecModal to allow importing actions into the tool configuration.
- Implemented search functionality for user actions with expandable action details.
- Introduced method colors for better visual distinction of HTTP methods.
- Updated APIActionType and ParameterGroupType to include optional 'required' field.
- Refactored action rendering to improve usability and maintainability.
* feat: add base URL input to ImportSpecModal for action URL customization
* feat: update TestBaseAgentTools to include 'required' field for parameters
* feat: standardize API call timeout to DEFAULT_TIMEOUT constant
* feat: add import specification functionality and related translations for multiple languages
---------
Co-authored-by: Alex <a@tushynski.me>
* 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