# Changelog - v1.3.0 ## Release Date: October 7, 2025 ## ๐ŸŽ‰ Major Features ### Tool Emulation Architecture (Phase 2) Complete implementation of tool emulation system for models without native function calling support. **Key Features:** - โœ… Automatic model capability detection - โœ… ReAct and Prompt-based emulation strategies - โœ… User-facing emulation messages at 3 levels - โœ… Zero breaking changes - 100% backward compatible - โœ… 15/15 regression tests passing **Supported Models:** - Native tool support: DeepSeek Chat, Claude 3.5, GPT-4, Llama 3.3, Qwen 2.5 Coder, Mistral Small - Emulation required: Mistral 7B, Llama 2, Gemma 7B ### Default Model Update Changed default OpenRouter model from Llama 3.1 8B to **DeepSeek Chat**: - โœ… Native tool support (no emulation needed) - โœ… 128K context window (vs 32K) - โœ… Cost-effective at $0.14/M tokens - โœ… Eliminates context overflow errors in Claude Code interactive mode ## ๐Ÿ› Bug Fixes ### Critical: Claude SDK Model Override Fixed issue where Claude Agent SDK was sending Claude model IDs to OpenRouter, causing "model not found" errors. **Solution:** - Automatically override SDK Claude requests to use CLI-specified model - Prevents errors when using OpenRouter with non-Claude models - Maintains compatibility with all providers ## ๐Ÿ“ Changes ### Tool Emulation Messages Added user-facing messages at 3 levels: 1. **Proxy Initialization**: Shows when model lacks native tool support 2. **Proxy Startup**: Displays emulation strategy and expected reliability 3. **Agent Execution**: Informs about tool handling method Example output for Mistral 7B: ``` โš™๏ธ Detected: Model lacks native tool support ๐Ÿ”ง Using REACT emulation pattern ๐Ÿ“Š Expected reliability: 70-85% โš™๏ธ Tool Emulation: REACT pattern ๐Ÿ“Š Note: This model uses prompt-based tool emulation Tools are handled by Claude Agent SDK (limited to SDK tools) ``` ### Files Modified - `src/cli-proxy.ts` - Added emulation messages, updated default model - `src/proxy/anthropic-to-openrouter.ts` - Added model override logic, emulation routing - `src/cli/claude-code-wrapper.ts` - Updated default model - `src/agents/claudeAgent.ts` - Updated default model - `src/utils/modelCapabilities.ts` - Created (Phase 1) - `src/proxy/tool-emulation.ts` - Created (Phase 1) ## ๐Ÿงช Testing ### Regression Tests: 15/15 PASS - Tool emulation files exist - Integration verified in cli-proxy and anthropic-to-openrouter - Gemini proxy remains isolated - TypeScript compilation succeeds - Model capability detection working - No tool name rewriting - Tool schemas unchanged - Backward compatibility verified ### Manual Testing Results - โœ… DeepSeek (native tools): Works perfectly, no emulation messages - โœ… Mistral 7B (emulation): Works correctly, emulation messages appear - โœ… Claude Code interactive mode: No context errors - โœ… Claude Code non-interactive mode: Executes correctly - โœ… Agent execution: Both model types work ## ๐Ÿ“ฆ Migration Guide ### For Users No migration needed! This release is 100% backward compatible. **To use new default model (DeepSeek Chat):** ```bash npx agentic-flow claude-code --provider openrouter ``` **To use emulation with non-tool models:** ```bash npx agentic-flow --agent coder --task "Your task" \ --provider openrouter \ --model "mistralai/mistral-7b-instruct" ``` ### For Developers If you've set `COMPLETION_MODEL` in `.env`, it will override the new default. To explicitly use DeepSeek Chat: ```bash export COMPLETION_MODEL="deepseek/deepseek-chat" ``` ## ๐Ÿ”— Related Issues - Closes #8 - Tool Emulation Phase 2 Integration ## ๐Ÿ™ Credits - Tool emulation architecture design - Phase 2 integration implementation - Model capability detection system - Comprehensive testing and validation --- **Full Changelog**: https://github.com/ruvnet/agentic-flow/compare/v1.2.7...v1.3.0