- 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 .