- Updated import statements in `example.py` to remove relative imports for better clarity.
- Introduced ANSI color formatting for various log messages in `utils.py` to improve readability.
- Added XML formatting functionality to `print_stream` for better output presentation when handling XML content.
- Implemented syntax highlighting for XML tags and attributes to enhance visual distinction in logs.
- 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.
- Introduced a new README.md file for the Kortix SDK, detailing installation instructions, quick start examples, and environment setup.
- Updated the default API URL in the Kortix class constructor from `http://localhost:8000/api` to `https://suna.so/api`, ensuring consistency with the production environment.
- Updated the `from_dict` method in the `agents.py` file to support the conversion of `custom_mcps` and ensure proper handling of nested `MCPConfig` objects.
- Improved data extraction by filtering out unnecessary fields and providing default values for missing configurations, enhancing robustness in agent initialization.
- Updated the `create` method in the `KortixAgent` class to improve the handling of `allowed_tools`, allowing for more granular control over the enabled state of `AgentPressTools` and `MCPTools`.
- Refactored internal logic to ensure tools are enabled or disabled based on the `allowed_tools` parameter, enhancing flexibility and robustness in tool management.
- Added support for an optional `allowed_tools` parameter in the `create` method of the `KortixAgent` class to control the enabled state of `AgentPressTools` and `MCPTools`.
- Updated internal logic to conditionally enable tools based on the provided `allowed_tools`, improving flexibility in tool configuration.
- 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 `update` method in the `Agent` class to accept optional parameters for `name`, `system_prompt`, and `mcp_tools`, enhancing flexibility in agent property updates.
- Adjusted internal logic to handle cases where `mcp_tools` is not provided, improving robustness in tool management.
- Implemented an `update` method in the `Agent` class to allow modification of agent properties such as name, system prompt, and associated tools.
- Enhanced tool management by configuring `AgentPressTools` and `MCPTools` for the update process.
- Updated the `create` method in `KortixAgent` to maintain consistency with the new method signature.
- Renamed `KortixMCPTools` to `MCPTools` for consistency across the SDK.
- Updated import statements and `__all__` definitions to reflect the new class name.
- Removed unused files including `.kvstore.json`, `example_stream.txt`, `play.py`, `stream.py`, and `stream_test.py` to streamline the project structure and eliminate redundancy.
- Renamed `KortixMCP` to `KortixMCPTools` across the SDK for consistency.
- Updated import statements in relevant files to reflect the new class name.
- Modified the `create` method in `KortixAgent` to use `mcp_tools` instead of `tools`, enhancing clarity in tool management.
- Added `fastmcp` as a dependency in `pyproject.toml` and updated the lock file accordingly.
- Refactored the `KortixMCP` class constructor to directly instantiate `FastMCPClient` and modified the tool management logic to handle cases where allowed tools are not specified.
- Improved code readability by renaming variables and streamlining the initialization process.
- Updated the constructor of `KortixMCP` to accept a `FastMCPClient` and a list of allowed tools.
- Modified the `initialize` method to retrieve tools from the new client and filter enabled tools based on the allowed list.
- Improved code readability and organization by renaming variables for clarity.
- Cleaned up whitespace throughout the `print_stream` function for improved readability.
- Standardized output formatting for function call detection and tool result messages, enhancing clarity in logs.
- Ensured consistent handling of empty lines and message content, contributing to better overall code quality.
- Introduced chunk accumulation for assistant messages to handle multi-part responses more effectively.
- Implemented a function to rebuild full text from sorted chunks, improving the accuracy of message content.
- Added state management for parsing function calls, allowing detection and handling of tool usage within messages.
- Updated output formatting to provide clearer logs for assistant messages and tool interactions.
- Modified the `print_stream` function to include a check for `message_id` before processing assistant messages, ensuring only valid messages are printed.
- Changed output labels from `[MESSAGE]` to `[ASSISTANT]` for clarity in logs, improving the distinction between different message types.