shreyas-joshi's picture
feat: initialize CodeReviewEnv with foundational components
cf05092
from __future__ import annotations
from typing import TYPE_CHECKING
from parser.linter import LinterIssue
if TYPE_CHECKING:
from parser.ast_parser import ParsedModule
def _truncate_tokens(text: str, max_tokens: int = 100) -> str:
words = text.split()
if len(words) <= max_tokens:
return text
return " ".join(words[:max_tokens])
def summarize_module(parsed: ParsedModule, issues: list[LinterIssue]) -> str:
exports = ", ".join(parsed.function_signatures[:5])
deps = ", ".join(sorted(set(parsed.dependencies))[:5])
summary = (
f"exports: [{exports}] | issues: {len(issues)} | depends_on: [{deps}]"
)
return _truncate_tokens(summary, max_tokens=100)