|
76 | 76 | from codeflash.lsp.lsp_message import LspCodeMessage, LspMarkdownMessage, LSPMessageId |
77 | 77 | from codeflash.models.ExperimentMetadata import ExperimentMetadata |
78 | 78 | from codeflash.models.models import ( |
| 79 | + AIServiceCodeRepairRequest, |
79 | 80 | BestOptimization, |
80 | 81 | CandidateEvaluationContext, |
81 | 82 | CodeOptimizationContext, |
@@ -995,6 +996,25 @@ def determine_best_candidate( |
995 | 996 |
|
996 | 997 | return best_optimization |
997 | 998 |
|
| 999 | + def repair_optimization( |
| 1000 | + self, |
| 1001 | + original_source_code: str, |
| 1002 | + modified_source_code: str, |
| 1003 | + test_diffs: list[TestDiff], |
| 1004 | + trace_id: str, |
| 1005 | + optimization_id: str, |
| 1006 | + ai_service_client: AiServiceClient, |
| 1007 | + executor: concurrent.futures.ThreadPoolExecutor, |
| 1008 | + ) -> concurrent.futures.Future[OptimizedCandidate | None]: |
| 1009 | + request = AIServiceCodeRepairRequest( |
| 1010 | + optimization_id=optimization_id, |
| 1011 | + original_source_code=original_source_code, |
| 1012 | + modified_source_code=modified_source_code, |
| 1013 | + test_diffs=test_diffs, |
| 1014 | + trace_id=trace_id, |
| 1015 | + ) |
| 1016 | + return executor.submit(ai_service_client.code_repair, request=request) |
| 1017 | + |
998 | 1018 | def log_successful_optimization( |
999 | 1019 | self, explanation: Explanation, generated_tests: GeneratedTestsList, exp_type: str |
1000 | 1020 | ) -> None: |
|
0 commit comments