from .refactor_engine import RefactorEngine from .bug_detector import BugDetector from .code_converter import CodeConverter from .patch_generator import PatchGenerator from .tokenizer import get_tokenizer from .model import SmallCodeTransformer class InferencePipeline: def __init__(self): self.refactor=RefactorEngine() self.bugs=BugDetector() self.convert_engine=CodeConverter() self.patch=PatchGenerator() self.tokenizer=get_tokenizer() self.model=SmallCodeTransformer(vocab_size=self.tokenizer.vocab_size) def analyze_and_refactor(self,code,lang): issues=self.bugs.analyze(code,lang) ref=self.refactor.refactor(code,lang) diff=self.patch.unified_diff(code,ref,f"code.{lang}") return {'issues':issues,'refactored':ref,'diff':diff} def convert(self,code,src,tgt): return {'converted':self.convert_engine.convert(code,src,tgt)}