🚀 New Features
- Context Editing Middleware (#9118): Added middleware for editing conversation context dynamically
- Tool Call Limit Middleware (#9121): Implemented middleware to limit the number of tool calls during agent execution
- Retry Model Request Hook (#9128): Added retry functionality for model requests in middleware
- Call Count Tracking (#9090): Introduced call counts through private state for better monitoring and control
- Custom Interrupted Tool Descriptions (#9116): Added ability to pass in a description factory for interrupted tool calls
- PII Redaction Middleware (#9058): Added middleware for automatically redacting personally identifiable information
- Perplexity Support: Added Perplexity provider support to universal chat model
🐛 Bug Fixes
- LLM Tool Selector Implementation (#9127): Updated implementation of LLMToolSelector middleware for improved reliability
- LangGraph Integration (#9117): Fixed integration issues with LangGraph
- Tool Instance Handling (#9119): Fixed tools in ModelRequest to return tool instances instead of serialized objects
- TypeScript Type Inference (#9087): Exported all symbols to enable proper TypeScript type inference
- Prompt Caching Immutability (#9086): Fixed PromptCachingMiddleware to return new message objects instead of modifying existing ones
- Input Type Support (#9080): Improved input types to support a wider range of type definitions
- Tools Node Creation (#9074): Fixed to only create tools node for client-provided tools
- Planning Middleware Adjustments (#9070): Minor improvements to planning middleware behavior
- Hub Prompt Schema Binding (#9057): Fixed schema binding for various types of pulled hub prompts