Download routes.py from armaanalam/CodeBase-Agent: direct link, hf CLI and curl.
- Browser
- Download file 1.78 kB
-
https://huggingface.co/armaanalam/CodeBase-Agent/resolve/main/routes.py
- Command line
-
hf download hf://armaanalam/CodeBase-Agent/routes.py
-
curl -L -o routes.py https://huggingface.co/armaanalam/CodeBase-Agent/resolve/main/routes.py
1.78 kB
| from fastapi import APIRouter | |
| from pydantic import BaseModel | |
| from rag.rag_chain import run_rag_query | |
| from services.code_analysis import detect_bugs, explain_function, analyze_complexity | |
| from services.documentation import generate_module_docs, generate_readme | |
| from services.file_creator import propose_new_file, apply_approved_file, FileProposal | |
| router = APIRouter() | |
| class QueryRequest(BaseModel): | |
| query: str | |
| k: int = 5 | |
| class ExplainRequest(BaseModel): | |
| file_path: str | |
| function_name: str | |
| class FileProposalRequest(BaseModel): | |
| description: str | |
| context_query: str | None = None | |
| class FileApprovalRequest(BaseModel): | |
| proposal: dict | |
| approved: bool | |
| def query(req: QueryRequest): | |
| return run_rag_query(req.query, req.k) | |
| def bugs(file_path: str): | |
| return {"bugs": detect_bugs(file_path)} | |
| def complexity(file_path: str): | |
| return analyze_complexity(file_path) | |
| def explain(req: ExplainRequest): | |
| return {"explanation": explain_function(req.file_path, req.function_name)} | |
| def module_docs(file_path: str): | |
| return {"docs": generate_module_docs(file_path)} | |
| def readme(root_path: str): | |
| return {"readme": generate_readme(root_path)} | |
| def propose(req: FileProposalRequest): | |
| proposal = propose_new_file(req.description, req.context_query) | |
| return proposal | |
| async def approve(req: FileApprovalRequest): | |
| proposal = FileProposal(**req.proposal) | |
| return await apply_approved_file(proposal, req.approved) |