- Updated `get_stripe_customer_id` function to accept a Supabase client and handle missing user_id metadata in Stripe customers.
- Added logic to create or update records in the `billing_customers` table based on Stripe customer data.
- Improved logging for customer metadata updates and billing record changes.
- Deleted RabbitMQ service from docker-compose configurations and related files.
- Updated environment variables and documentation to reflect the removal of RabbitMQ.
- Adjusted setup instructions and code to focus solely on Redis for backend operations.
- 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.
- Modified the configuration file to update the Stripe pricing IDs for yearly commitment plans in the production environment.
- Ensured consistency with the latest pricing structure for subscription tiers.
- Added support for yearly commitment plans with associated pricing tiers in the billing service.
- Introduced validation functions to manage plan changes and restrictions based on business rules.
- Updated configuration to include new yearly commitment pricing in both production and staging environments.
- Enhanced frontend components to handle subscription management, including cancellation and reactivation features.
- Refactored billing-related hooks and API calls to accommodate new subscription types and improve error handling.
- Added a new API keys service with endpoints for creating, listing, revoking, and deleting API keys.
- Integrated API key validation and caching for performance.
- Updated backend configuration to include API key secret and throttling settings.
- Created frontend components for managing API keys, including a user interface for creating and displaying keys.
- Introduced a new database migration for the API keys table with necessary constraints and security policies.
- Enhanced authentication methods to support API key usage alongside JWT.
- 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 ?