- Implemented async retry logic with exponential backoff in `src/utils/retry.py`.
- Created input validation utilities for Discord bot in `src/utils/validators.py`.
- Refactored token pricing import in `src/utils/token_counter.py`.
- Added comprehensive test suite in `tests/test_comprehensive.py` covering various modules including pricing, validators, retry logic, and Discord utilities.
- Updated descriptions for functions to provide clearer guidance on usage.
- Added detailed parameter descriptions for better understanding.
- Introduced new function `remove_background` for background removal.
- Adjusted parameter requirements and constraints across various functions.
- Improved overall consistency and readability of the code.
- Removed the `analyze_data_file` function from tool definitions to streamline functionality.
- Enhanced the `execute_python_code` function description to clarify auto-installation of packages and file handling.
- Deleted the `python_executor.py` module to simplify the codebase and improve maintainability.
- Introduced a new `token_counter.py` module for efficient token counting for OpenAI API requests, including support for Discord image links and cost estimation.
- Implement proactive history trimming in DatabaseHandler to limit conversation messages to the last 50 while preserving system messages.
- Add methods for saving and retrieving user token usage statistics, including breakdowns by model.
- Introduce model pricing for token usage calculations in MessageHandler.
- Update message handling to count tokens accurately and log costs associated with API calls.
- Refactor token counting methods to utilize API response data instead of internal counting.
- Improve tool definitions in get_tools_for_model for clarity and conciseness.
- Remove deprecated python_executor_new.py file.
- Adjust web_utils to use tiktoken for preprocessing content before API calls.
- Added `data_utils.py` for analyzing and visualizing data from CSV/Excel files.
- Introduced asynchronous processing to handle file uploads without blocking.
- Enhanced error handling for file reading and data conversion.
- Implemented various chart types (pie, bar, scatter, histogram, line) based on user queries.
- Added metadata management for generated charts, including cleanup of old charts.
feat: Create reminder management system for Discord
- Added `reminder_utils.py` to manage user reminders in Discord.
- Implemented functionality to add, retrieve, delete, and process reminders.
- Integrated timezone handling for accurate reminder scheduling.
- Developed a loop to check for due reminders and send notifications.
- Included parsing for various time formats to set reminders.