- Added support for tools parameter to accept string, dict, or list types.
- Implemented logging for unexpected tools parameter types and cases where a dict is received.
- Ensured tools filtering is robust and handles various input formats appropriately.
- Combined total count retrieval and paginated data fetching into a single request for efficiency.
- Replaced per-agent version fetching with a batched query to reduce API calls and improve performance.
- Enhanced error handling for version data loading.
- Removed hardcoded maximum parallel agent runs and replaced with a configurable property in the Configuration class.
- Updated API and agent limit checks to utilize the new configuration property.
- Simplified error handling by removing limit from error details in the frontend components.
- Adjusted UI components to reflect changes in agent limit data structure.
- Added functionality to check the maximum parallel agent runs allowed within a 24-hour period.
- Introduced `AgentRunLimitError` to handle cases where the limit is exceeded.
- Updated API to return appropriate error responses for agent run limits.
- Created `AgentRunLimitDialog` component to inform users when the limit is reached, displaying currently running agents and options to stop them.
- Integrated limit checks into agent initiation and running processes across relevant components.
- Add backend API endpoints for agent export/import
- GET /agents/{agent_id}/export - exports agent configuration as JSON
- POST /agents/import - imports agent from JSON (new agents only)
- Add AgentExportData and AgentImportRequest Pydantic models
- Integrate export functionality in agent config header
- Add always-visible 3-dots menu left of "Prompt to Build" tab
- Include export option in dropdown menu for all agent types
- Handle loading states during export process
- Add subtle import functionality to new agent dialog
- Replace mode selection with "or import from JSON" link
- Support file upload and validation for agent JSON
- Streamline UX for creating agents from templates
- Create React Query hooks for export/import operations
- useExportAgent: handles JSON download with proper error handling
- useImportAgent: creates new agent and invalidates cache
- Remove update existing agent option (import creates new agents only)
- Fix API integration to use direct fetch calls with backend URL
- Clean up unused components and improve code organization
This enables users to share agent configurations across instances
and create agents from templates with an intuitive interface.
- Introduced a new endpoint in the API to delete messages from a thread, enhancing message management capabilities.
- Added a `del_message` method in the `Thread` class to facilitate message deletion.
- Updated the `ThreadsClient` class to include a method for deleting messages from a thread, ensuring consistent API interaction.
- Refactored the `Agent` class to rename the `tool_details` method to `details`, improving clarity in method naming.
- Updated the `update_agent` function to access `version_number` and `version_name` directly from the `new_version` object, enhancing clarity and consistency in version management.
- Improved logging statements to reflect the changes in how version details are accessed, ensuring accurate log messages for created versions.