| | |
| | |
| | from smolagents import tool |
| | import re |
| | from typing import Dict |
| |
|
| |
|
| | @tool |
| | def analyze_code_legacy(code: str) -> Dict[str, int]: |
| | """Analyzes code to determine its legacy score based on various patterns |
| | Args: |
| | code: The source code to analyze |
| | Returns: |
| | Dictionary containing legacy metrics |
| | """ |
| | legacy_patterns = { |
| | "todos": len(re.findall(r"TODO[:\(]", code)), |
| | "fixmes": len(re.findall(r"FIXME[:\(]", code)), |
| | "deprecated": len(re.findall(r"deprecated|obsolete", code, re.I)), |
| | "legacy_markers": len( |
| | re.findall(r"legacy|old|maintain|backward.?compatibility", code, re.I) |
| | ), |
| | "commented_code": len(re.findall(r"^\s*//.*\{|\}|if|for|while", code, re.M)), |
| | } |
| |
|
| | |
| | legacy_score = sum(legacy_patterns.values()) * 10 |
| | return {"metrics": legacy_patterns, "total_score": legacy_score} |
| |
|
| |
|
| | @tool |
| | def generate_tech_priest_response(analysis: Dict[str, int], code_snippet: str) -> str: |
| | """Generates a Tech-Priest themed code review response |
| | Args: |
| | analysis: Dictionary containing code analysis metrics |
| | code_snippet: The original code being reviewed |
| | Returns: |
| | A Tech-Priest themed review response |
| | """ |
| | score = analysis["total_score"] |
| |
|
| | |
| | ritual_phrases = [ |
| | "By the grace of the Omnissiah", |
| | "The Machine Spirit's wisdom flows", |
| | "Sacred patterns emerge", |
| | "Binary benediction be upon this code", |
| | "The Mechanicus approves", |
| | ] |
| |
|
| | |
| | if score > 50: |
| | ritual_phrases.extend( |
| | [ |
| | "Ancient wisdom courses through these blessed lines", |
| | "The rust of ages brings divine knowledge", |
| | "These sacred TODOs are prayers to the Machine God", |
| | "Venerable patterns of the First Ones persist", |
| | ] |
| | ) |
| |
|
| | |
| | code_observations = [] |
| | metrics = analysis["metrics"] |
| |
|
| | if metrics["todos"] > 0: |
| | code_observations.append( |
| | f"*intones in binary* {metrics['todos']} sacred TODO markers await divine resolution" |
| | ) |
| |
|
| | if metrics["deprecated"] > 0: |
| | code_observations.append( |
| | "The ancient runes of deprecation mark paths of ancestral wisdom" |
| | ) |
| |
|
| | if metrics["legacy_markers"] > 0: |
| | code_observations.append( |
| | "Blessed legacy patterns weave through the sacred circuits" |
| | ) |
| |
|
| | if metrics["commented_code"] > 0: |
| | code_observations.append( |
| | "Commented scriptures preserve the wisdom of the ancients" |
| | ) |
| |
|
| | |
| | response_parts = [ |
| | "++ Begin Mechanicus Code Analysis ++", |
| | "*mechanical incense burners swing*", |
| | "\n".join([f"+ {phrase}" for phrase in ritual_phrases[:3]]), |
| | "\nTechnical Observations:", |
| | "\n".join([f"* {obs}" for obs in code_observations]), |
| | f"\nOmnissiah's Verdict: {'MOST SACRED' if score > 50 else 'ACCEPTABLE'} (Legacy Score: {score})", |
| | "++ End Transmission ++", |
| | ] |
| |
|
| | return "\n".join(response_parts) |
| |
|
| |
|
| | @tool |
| | def tech_priest_review(code: str) -> str: |
| | """Performs a complete Tech-Priest themed code review |
| | Args: |
| | code: The source code to review |
| | Returns: |
| | A complete Tech-Priest themed review response |
| | """ |
| | analysis = analyze_code_legacy(code) |
| | response = generate_tech_priest_response(analysis, code) |
| | return response |
| |
|