Implement TracePath tool for static call path analysis
Add comprehensive TracePath tool that predicts and explains full call paths and control flow without executing code. Features include: **Core Functionality:** - Static call path prediction with confidence levels (🟢🟡🔴) - Multi-language support (Python, JavaScript, TypeScript, C#, Java) - Value-driven flow analysis based on parameter combinations - Side effects identification (database, network, filesystem) - Polymorphism and dynamic dispatch analysis - Entry point parsing for multiple syntax patterns **Technical Implementation:** - Hybrid AI-first architecture (Phase 1: pure AI, Phase 2: AST enhancement) - Export formats: Markdown, JSON, PlantUML - Confidence threshold filtering for speculative branches - Integration with existing tool ecosystem and conversation threading - Comprehensive error handling and token management **Files Added:** - tools/tracepath.py - Main tool implementation - systemprompts/tracepath_prompt.py - System prompt for analysis - tests/test_tracepath.py - Comprehensive unit tests (32 tests) **Files Modified:** - server.py - Tool registration - tools/__init__.py - Tool exports - systemprompts/__init__.py - Prompt exports **Quality Assurance:** - All 449 unit tests pass including 32 new TracePath tests - Full linting and formatting compliance - Follows established project patterns and conventions - Multi-model validation with O3 and Gemini Pro insights **Usage Examples:** - "Use zen tracepath to analyze BookingManager::finalizeInvoice(invoiceId: 123)" - "Trace payment.process_payment() with confidence levels and side effects" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@ from .precommit import Precommit
|
||||
from .refactor import RefactorTool
|
||||
from .testgen import TestGenTool
|
||||
from .thinkdeep import ThinkDeepTool
|
||||
from .tracepath import TracePathTool
|
||||
|
||||
__all__ = [
|
||||
"ThinkDeepTool",
|
||||
@@ -20,4 +21,5 @@ __all__ = [
|
||||
"Precommit",
|
||||
"RefactorTool",
|
||||
"TestGenTool",
|
||||
"TracePathTool",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user