## Version 0.13.1

This release introduces the new ToolBot agent for single-turn tool execution, major improvements to code execution tooling, enhanced error handling, and significant refactoring for clarity and maintainability. Several dependency and workflow updates are also included, along with targeted bug fixes and test improvements.

### New Features

- Added ToolBot agent for single-turn tool selection and execution, supporting core tools and optional chat memory integration. ToolBot processes user messages, selects the appropriate tool, and executes it in a single turn. (21f3c2, Eric Ma)
- Implemented a detailed system prompt for ToolBot, guiding tool selection, argument extraction, and code generation best practices. (7b15fa, Eric Ma)
- Introduced the write_and_execute_code tool, which dynamically parses, compiles, and executes user-defined Python functions with arguments in a sandboxed environment. (bb392b, Eric Ma)
- Enhanced prompt generation in notebooks to include global variables, callable functions, dataframes, and other variables for improved context in user requests. (d0a7e8, Eric Ma)
- Added example data generation and department info setup for testing and demonstration purposes in agent notebooks. (d0a7e8, Eric Ma)

### Bug Fixes

- Fixed argument name in ToolBot initialization for the write_and_execute_code tool, ensuring correct function signature usage. (70f597, Eric Ma)
- Removed the token argument from the uv publish command in the release workflow, as it is no longer required. (868cfe, Eric Ma)
- Fixed ToolBot test setup by passing an explicit globals dictionary to the write_and_execute_code tool, ensuring consistent and isolated test environments. (a4ff16, Eric Ma)
- Marked LanceDB-related tests as expected to fail due to file system issues, improving test reliability. (4ef7f9, Eric Ma)

### Deprecations

- Removed the entire Zotero CLI and related components, including CLI commands, prompt library, completer, library wrappers, utilities, and tests. Also removed pyzotero and related dependencies from the project. (5981b0, Eric Ma)
- Removed devcontainer configuration files and related GitHub workflows, discontinuing support for development container setup. (713552, Eric Ma)

---

**Additional Improvements:**

- Refactored ToolBot and write_and_execute_code for improved clarity, error handling, and maintainability. (bb392b, a31344, 490fcb, ca610c, 7b15fa, d0a7e8, Eric Ma)
- Updated dependencies in notebooks, including upgrades to llamabot, marimo, and the addition of matplotlib, seaborn, and others. (d0a7e8, fb3617, Eric Ma)
- Improved GitHub Actions workflows for Python package release and code review, including permissions and trigger simplifications. (53f466, 5d6965, fc1d2b, 4fda1a, Eric Ma)
- Enhanced and updated documentation and tutorials for new agent features, usage, and best practices. (90f057, 0ad2f3, eefb61, 9b678a, Eric Ma)
- Cleaned up codebase by removing unused code, commented-out docstrings, and trailing whitespace. (ca610c, 623baa, 366ceb, fb3617, Eric Ma)
- Updated and improved test coverage for ToolBot and related components, including model name updates and tool naming consistency. (09864d, 4b9b14, a4ff16, 4ef7f9, Eric Ma)
- Updated third-party dependencies via Dependabot for improved security and compatibility. (baff52, 311371, 876ea5, Dependabot)

This release lays the foundation for more flexible, tool-driven agents and improves the developer experience with better error handling, testing, and documentation.
