- 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.
- Introduced memoization for ToolCallSidePanel and FileViewerModal to enhance rendering efficiency.
- Cleaned up unused useEffect hooks in ThreadPage to improve readability and maintainability.
- Refactored playback timeout management in PlaybackControls to utilize useRef for better performance.
- Enhanced streaming content handling in ThreadContent with a helper function for improved clarity and functionality.
- Modify the default tab selection logic to display 'preview' for Markdown or HTML files, and 'code' for others.
- This change enhances the user experience by ensuring the appropriate tab is shown based on file type.
- Introduced ForwardButton for advancing playback by one message.
- Added ResetButton to restart playback from the beginning.
- Refactored Play and Reset button implementations into separate components for better readability and maintainability.
- Updated the playback state management to handle new button functionalities.
These changes improve user interaction with playback controls, allowing for more intuitive navigation through messages.
- Eliminate the currentTags and publishTags state management from AgentsPage.
- Update openPublishDialog and handleAgentPublish functions to no longer set tags.
- Modify PublishDialog to remove tag input and add an alert for sensitive information warnings.
- Ensure the publishing process remains intact without the tags functionality.
This streamlines the publishing process and enhances user awareness regarding sensitive data.
- 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.