- 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.
- Updated the `create_thread` endpoint to set a default name if none is provided.
- Modified the `Agent` class to use a dictionary for `agentpress_tools` instead of a custom type.
- Improved the `LocalKVStore` initialization to use a hidden filename.
- Added a new weather retrieval tool to the MCP.
- Updated agent and thread setup in the main function for better clarity and functionality.
- Refactored message handling in the `ThreadsClient` to use query parameters for message posting.
the authenticate_user; pls add something in the top like import, so we can do like this :
"""
// ... existing imports ...
import something
// ... existing code ...
<auth func() ... >
// ... existing code
"""
add another example on top of it : todo list ; where we show it's convinient for checking some scattered todo box .
- Moved existing components to a new `sdk` directory for better organization.
- Introduced new API structure for agent and thread management.
- Added models for tools and messages to enhance functionality.
- Implemented a local key-value store for persistent data management.
- Updated README and project files to reflect new structure and usage.
like stream the code-edit output of the agent; Then we should be able to show the diff as well, when the tool complete. We get the original file content, and the full updated code (output of morph) and some how send it to the front end.
the front end should show this properly , concisely so user can see the changes in green / red.
This shouldn't change the content feed to the model btw. Like it will pollute the context.
make a plan what to do first, not make changes yet
We still keep the tool itself, but in the prompt, we remove the need of writing str_replace and full rewrite, in the example, or prompt. because they will have the tools context as well. you understand ?
this is the correct endpoint : """Python
Copy
Ask AI
from openai import OpenAI
client = OpenAI(
api_key="your-morph-api-key",
base_url="https://api.morphllm.com/v1"
)"""
- Replace simple marker check with precise character-by-character comparison
- Skip newlines during marker matching from end to start
- Add echo detection to prevent false positives when command just started
- Optimize English comments for better code readability