The AuditAndImproveTool provides intelligent code auditing and improvement capabilities using LLM-powered analysis. It uses BaseGenAgent summaries as context for comprehensive code understanding, with fallback to raw file content for resilience.
File: tools/audit_and_improve_tool.py
Class: AuditAndImproveTool
Version: 1.0.0
Status: ✅ Active
class AuditAndImproveTool(BaseTool):
- memory_agent: MemoryAgent - For workspace and logging
- base_gen_agent: BaseGenAgent - For codebase summaries
- automindx_agent: AutoMINDXAgent - For personas
- llm_handler: LLMHandlerInterface - For code generation
from tools.audit_and_improve_tool import AuditAndImproveTool
from agents.memory_agent import MemoryAgent
from agents.base_gen_agent import BaseGenAgent
from agents.automindx_agent import AutoMINDXAgent
from llm.llm_interface import LLMHandlerInterface
tool = AuditAndImproveTool(
memory_agent=memory_agent,
base_gen_agent=base_gen_agent,
automindx_agent=automindx_agent,
llm_handler=llm_handler
)
Audit and improve code
result = await tool.execute(
target_path="/path/to/file.py",
prompt="Improve error handling and add type hints"
)
Success:
{
"status": "SUCCESS",
"status_details": "OK" | "DEGRADED_CONTEXT_FALLBACK",
"summary": "Improvement summary",
"limitations": "Known limitations",
"output_path": "/path/to/improved_file.py",
"context_used": "BaseGen Summary: ..." | "Raw File Content (Fallback): ..."
}
Error:
{
"status": "ERROR",
"message": "Error description"
}
Uses specialized personas for:
LLM generates JSON with:
updated_code: Improved codesummary: What was improvedlimitations: Known limitationsUses BaseGenAgent for rich context:
summary_report = self.base_gen_agent.generate_markdown_summary(
root_path_str=target_path,
output_file_str=str(workspace_dir / f"analysis_context_{Path(target_path).name}.md")
)
Uses personas for specialized analysis:
persona = self.automindx_agent.get_persona("AUDIT_AND_IMPROVE")
Logs all operations:
await self.memory_agent.log_process(
"audit_and_improve_tool_execution",
log_data,
{"agent_id": "audit_and_improve_tool"}
)
result = await tool.execute(
target_path="tools/my_tool.py",
prompt="Add comprehensive error handling with try-except blocks and proper logging"
)
result = await tool.execute(
target_path="utils/helpers.py",
prompt="Add type hints to all functions and improve docstrings"
)
result = await tool.execute(
target_path="core/processor.py",
prompt="Optimize for performance: use async where appropriate, add caching, reduce complexity"
)
tools.base_gen_agent.BaseGenAgent: Context generationagents.automindx_agent.AutoMINDXAgent: Persona managementllm.llm_interface.LLMHandlerInterface: Code generationagents.memory_agent.MemoryAgent: Workspace and loggingcore.bdi_agent.BaseTool: Base tool classfull_prompt = (
f"{persona}\n\n"
f"Improvement Request: {prompt}\n\n"
f"Context from {context_source}:\n\n{context_content}\n``"
)
<pre><code class="lang-">
JSON Response Format
</code></pre>json
{
"updated_code": "...",
"summary": "...",
"limitations": "..."
}
``