Commit Graph

129 Commits

Author SHA1 Message Date
Fahad
f44ca326ef Breaking change: openrouter_models.json -> custom_models.json
* Support for Custom URLs and custom models, including locally hosted models such as ollama
* Support for native + openrouter + local models (i.e. dozens of models) means you can start delegating sub-tasks to particular models or work to local models such as localizations or other boring work etc.
* Several tests added
* precommit to also include untracked (new) files
* Logfile auto rollover
* Improved logging
2025-06-13 15:22:09 +04:00
Fahad
f5fdf7b2ed Apache 2.0 license 2025-06-13 12:22:45 +04:00
Fahad
6dadf8556e Updated readme 2025-06-13 08:39:02 +04:00
Fahad
b912051623 Openrouter first 2025-06-13 07:17:16 +04:00
Fahad
12595cffd9 Updated readme 2025-06-13 07:16:16 +04:00
Fahad
a19055b76a WIP
- OpenRouter model configuration registry
- Model definition file for users to be able to control
- Update instructions
2025-06-13 05:52:16 +04:00
Fahad
93daa2942a WIP - OpenRouter support 2025-06-12 22:45:16 +04:00
Fahad
52b45f2b03 WIP - OpenRouter support and related refactoring 2025-06-12 22:17:11 +04:00
Fahad
3aedb16101 Use the new Gemini 2.5 Flash
Updated to support Thinking Tokens as a ratio of the max allowed
Updated tests
Updated README
2025-06-12 20:46:54 +04:00
Fahad
b34c63d710 Fixed web-search prompt, models can prompt claude to perform web searches on their behalf if and as needed 2025-06-12 20:05:55 +04:00
Fahad
4f2763689b Make setup easier, ask user if they'd like the mcp set up automatically 2025-06-12 19:22:32 +04:00
Fahad
cabaed2cee Fixed prompt 2025-06-12 17:28:46 +04:00
Fahad
b95085dbb0 Real prompt examples 2025-06-12 17:28:04 +04:00
Fahad
1f786e3a53 Removed deadlink 2025-06-12 17:16:50 +04:00
Beehive Innovations
1f90d05106 Update README.md 2025-06-12 15:45:55 +04:00
Beehive Innovations
d4a054053c Update README.md 2025-06-12 15:35:34 +04:00
Fahad
ce22d58def Updated readme 2025-06-12 15:30:00 +04:00
Fahad
8bcbd3dc8b Updated readme 2025-06-12 15:29:21 +04:00
Beehive Innovations
c7eeb68262 Update README.md 2025-06-12 13:54:05 +04:00
Fahad
7462599ddb Simplified thread continuations
Fixed and improved tests
2025-06-12 12:47:02 +04:00
Fahad
3473c13fe7 Bump version, cleanup readme 2025-06-12 11:23:13 +04:00
Fahad
fb66825bf6 Rebranding, refactoring, renaming, cleanup, updated docs 2025-06-12 10:40:43 +04:00
Fahad
9a55ca8898 WIP lots of new tests and validation scenarios
Simulation tests to confirm threading and history traversal
Chain of communication and branching validation tests from live simulation
Temperature enforcement per model
2025-06-12 09:35:05 +04:00
Fahad
2a067a7f4e WIP major refactor and features 2025-06-12 07:14:59 +04:00
Fahad
e06a6fd1fc Updated readme 2025-06-11 20:40:42 +04:00
Fahad
3f299d9f84 Updated readme 2025-06-11 20:38:43 +04:00
Fahad
a0ce882934 Updated readme 2025-06-11 20:37:01 +04:00
Fahad
6b5ab1f77e Updated readme 2025-06-11 20:33:16 +04:00
Fahad
e0abb93e9c Updated readme 2025-06-11 20:27:17 +04:00
Fahad
22a3fb91ed feat: Add comprehensive dynamic configuration system v3.3.0
## Major Features Added

### 🎯 Dynamic Configuration System
- **Environment-aware model selection**: DEFAULT_MODEL with 'pro'/'flash' shortcuts
- **Configurable thinking modes**: DEFAULT_THINKING_MODE_THINKDEEP for extended reasoning
- **All tool schemas now dynamic**: Show actual current defaults instead of hardcoded values
- **Enhanced setup workflow**: Copy from .env.example with smart customization

### 🔧 Model & Thinking Configuration
- **Smart model resolution**: Support both shortcuts ('pro', 'flash') and full model names
- **Thinking mode optimization**: Only apply thinking budget to models that support it
- **Flash model compatibility**: Works without thinking config, still beneficial via system prompts
- **Dynamic schema descriptions**: Tool parameters show current environment values

### 🚀 Enhanced Developer Experience
- **Fail-fast Docker setup**: GEMINI_API_KEY required upfront in docker-compose
- **Comprehensive startup logging**: Shows current model and thinking mode defaults
- **Enhanced get_version tool**: Reports all dynamic configuration values
- **Better .env documentation**: Clear token consumption details and model options

### 🧪 Comprehensive Testing
- **Live model validation**: New simulator test validates Pro vs Flash thinking behavior
- **Dynamic configuration tests**: Verify environment variable overrides work correctly
- **Complete test coverage**: All 139 unit tests pass, including new model config tests

### 📋 Configuration Files Updated
- **docker-compose.yml**: Fail-fast API key validation, thinking mode support
- **setup-docker.sh**: Copy from .env.example instead of manual creation
- **.env.example**: Detailed documentation with token consumption per thinking mode
- **.gitignore**: Added test-setup/ for cleanup

### 🛠 Technical Improvements
- **Removed setup.py**: Fully Docker-based deployment (no longer needed)
- **REDIS_URL smart defaults**: Auto-configured for Docker, still configurable for dev
- **All tools updated**: Consistent dynamic model parameter descriptions
- **Enhanced error handling**: Better model resolution and validation

## Breaking Changes
- Removed setup.py (Docker-only deployment)
- Model parameter descriptions now show actual defaults (dynamic)

## Migration Guide
- Update .env files using new .env.example format
- Use 'pro'/'flash' shortcuts or full model names
- Set DEFAULT_THINKING_MODE_THINKDEEP for custom thinking depth

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-11 20:10:25 +04:00
Fahad
98eab46abf WIP - improvements to token usage tracking, simulator added for live testing, improvements to file loading 2025-06-11 13:24:59 +04:00
Fahad
5a94737516 Fix conversation history duplication and optimize file embedding
This major refactoring addresses critical bugs in conversation history management
and significantly improves token efficiency through intelligent file embedding:

**Key Improvements:**
• Fixed conversation history duplication bug by centralizing reconstruction in server.py
• Added intelligent file filtering to prevent re-embedding files already in conversation history
• Centralized file processing logic in BaseTool._prepare_file_content_for_prompt()
• Enhanced log monitoring with better categorization and file embedding visibility
• Updated comprehensive test suite to verify new architecture and edge cases

**Architecture Changes:**
• Removed duplicate conversation history reconstruction from tools/base.py
• Conversation history now handled exclusively by server.py:reconstruct_thread_context
• All tools now use centralized file processing with automatic deduplication
• Improved token efficiency by embedding unique files only once per conversation

**Performance Benefits:**
• Reduced token usage through smart file filtering
• Eliminated redundant file embeddings in continued conversations
• Better observability with detailed debug logging for file operations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-11 11:40:12 +04:00
Beehive Innovations
4466d1d1fe Update README.md 2025-06-11 10:41:47 +04:00
Beehive Innovations
1a57bea95b Update README.md 2025-06-11 10:41:07 +04:00
Fahad
d880951da0 Improved server logging 2025-06-11 10:20:30 +04:00
Fahad
94f542c76a fix: critical conversation history bug and improve Docker integration
This commit addresses several critical issues and improvements:

🔧 Critical Fixes:
- Fixed conversation history not being included when using continuation_id in AI-to-AI conversations
- Fixed test mock targeting issues preventing proper conversation memory validation
- Fixed Docker debug logging functionality with Gemini tools

🐛 Bug Fixes:
- Docker compose configuration for proper container command execution
- Test mock import targeting from utils.conversation_memory.* to tools.base.*
- Version bump to 3.1.0 reflecting significant improvements

🚀 Improvements:
- Enhanced Docker environment configuration with comprehensive logging setup
- Added cross-tool continuation documentation and examples in README
- Improved error handling and validation across all tools
- Better logging configuration with LOG_LEVEL environment variable support
- Enhanced conversation memory system documentation

🧪 Testing:
- Added comprehensive conversation history bug fix tests
- Added cross-tool continuation functionality tests
- All 132 tests now pass with proper conversation history validation
- Improved test coverage for AI-to-AI conversation threading

 Code Quality:
- Applied black, isort, and ruff formatting across entire codebase
- Enhanced inline documentation for conversation memory system
- Cleaned up temporary files and improved repository hygiene
- Better test descriptions and coverage for critical functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-11 08:53:45 +04:00
Fahad
ede44cc1d2 docs: reorganize README structure - move AI-to-AI section for better flow
• Moved AI-to-AI Conversation Threading section after "Start Using It\!"
• Now appears before Available Tools for logical progression
• Users learn basics first, then discover advanced collaboration features
• Improves documentation flow and user experience

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 21:17:13 +04:00
Fahad
91d96cd177 feat: release v3.0.0 with AI-to-AI conversation threading and MCP bypass
Major release introducing true AI collaboration capabilities:

• AI-to-AI conversation threading with Redis persistence
• Asynchronous workflow support - Claude can work between exchanges
• Incremental updates automatically bypass MCP's 25K token limit
• Cross-questioning and coordinated problem-solving between AIs
• Enhanced documentation with SwiftUI vs UIKit debate example
• Comprehensive test coverage and linting compliance
• Docker-first architecture with simplified setup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 21:15:48 +04:00
Fahad
5331da4b59 Updated readme 2025-06-10 20:58:32 +04:00
Beehive Innovations
84ef5adbe0 Update README.md 2025-06-10 20:45:42 +04:00
Beehive Innovations
c9ac5c73e8 Update README.md 2025-06-10 20:40:13 +04:00
Beehive Innovations
0f4e6cb056 Update README.md 2025-06-10 20:35:25 +04:00
Fahad
7ffbfc9596 WIP - communication memory 2025-06-10 20:04:13 +04:00
Fahad
f5060367a0 WIP - communication memory 2025-06-10 19:16:51 +04:00
Fahad
bb8a101dbf cleanup: remove Windows native support, enforce WSL requirement
Remove Windows batch scripts and native setup instructions since Claude Code CLI
requires WSL on Windows. Consolidate Docker as primary recommendation across all platforms.

Changes:
- Remove setup.bat, run_gemini.bat, setup-docker-env.bat
- Remove examples/claude_config_windows.json
- Update README to clarify WSL requirement for Windows users
- Promote Docker as recommended setup for all platforms
- Update troubleshooting section for WSL-only support
- Apply code formatting fixes from ruff/black

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 16:30:58 +04:00
Fahad
032e783efb Groundings added 2025-06-10 14:39:14 +04:00
Fahad
42169b2452 docs: fix thinkdeep default thinking mode in documentation
- Corrected thinking modes table to show `high` as default for thinkdeep (not `max`)
- Moved the default notation from `max` row to `high` row where it belongs
- This aligns with the actual tool implementation which uses "high" as default

The thinkdeep tool uses "high" (16,384 tokens) as its default thinking mode,
not "max" (32,768 tokens) as previously documented.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 13:12:17 +04:00
Fahad
8360b3ef70 docs: remove redundant Triggers sections from tool descriptions
- Removed all "Triggers:" lines from tool descriptions in README
- The trigger words were redundant since prompt examples already show usage
- Makes documentation cleaner and more focused on actual usage patterns

The prompt examples throughout the documentation already demonstrate
how to invoke each tool, making the trigger word lists unnecessary.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 12:56:35 +04:00
Fahad
96d30bf000 docs: add Web Search Integration section and update capability descriptions
- Added dedicated "Web Search Integration" section explaining the new behavior
- Updated all web search capability descriptions to reflect that Gemini recommends searches for Claude
- Added to table of contents for easy navigation
- Explained how the feature works with concrete examples
- Listed benefits of the collaborative approach
- Added note about disabling web search when needed

The documentation now clearly explains that:
- Web search is enabled by default
- Gemini analyzes when searches would help
- Provides specific search recommendations for Claude
- Claude performs the actual searches
- More collaborative and transparent approach

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 12:55:19 +04:00
Fahad
7cb0186389 docs: update README with renamed tool names and fix syntax error
- Updated all references in README.md from old tool names to new ones:
  - think_deeper → thinkdeep
  - review_code → codereview
  - review_changes → precommit
- Fixed syntax error in base.py (unterminated f-string literal)
- Removed trailing whitespace to pass linting
- All tests now pass (96 tests)
- All linting checks pass (ruff, black, isort)

This completes the tool renaming refactor with full documentation updates.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 12:51:55 +04:00