hashan-7 commited on
Commit
7f49f70
·
verified ·
1 Parent(s): a708b2e

update code

Browse files
Files changed (1) hide show
  1. code_engine.py +32 -14
code_engine.py CHANGED
@@ -6,6 +6,7 @@ from prompt_builder import build_prompt
6
  from model_client import model_client
7
  from response_formatter import build_response, build_error_response
8
  from code_retriever import retrieve_code_evidence
 
9
  from config import settings
10
 
11
 
@@ -33,28 +34,33 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
33
  start_time = time.perf_counter()
34
 
35
  try:
 
 
 
 
 
36
  task_type = detect_task_type(
37
- message=request.message,
38
- code=request.code,
39
- error_message=request.error_message,
40
- mode_hint=request.mode,
41
  )
42
 
43
  evidence_list = []
44
  retrieval_used = False
45
 
46
- if should_use_retrieval(task_type, request):
47
- evidence_list = get_retrieved_evidence(task_type, request)
48
  retrieval_used = len(evidence_list) > 0
49
 
50
  prompt = build_prompt(
51
  task_type=task_type,
52
- message=request.message,
53
- code=request.code,
54
- error_message=request.error_message,
55
- language=request.language,
56
- framework=request.framework,
57
- previous_context=request.previous_context,
58
  evidence_list=evidence_list,
59
  )
60
 
@@ -62,7 +68,7 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
62
 
63
  processing_time_ms = int((time.perf_counter() - start_time) * 1000)
64
 
65
- return build_response(
66
  task_type=task_type,
67
  model_output=model_output,
68
  model_used=model_used,
@@ -70,10 +76,22 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
70
  retrieval_used=retrieval_used,
71
  source_count=len(evidence_list),
72
  processing_time_ms=processing_time_ms,
73
- original_code=request.code,
74
  sources=evidence_list,
75
  )
76
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  except Exception as e:
78
  processing_time_ms = int((time.perf_counter() - start_time) * 1000)
79
  fallback_task = request.mode if request.mode else CodeTaskType.UNKNOWN
 
6
  from model_client import model_client
7
  from response_formatter import build_response, build_error_response
8
  from code_retriever import retrieve_code_evidence
9
+ from context_manager import context_manager
10
  from config import settings
11
 
12
 
 
34
  start_time = time.perf_counter()
35
 
36
  try:
37
+ enriched_request = context_manager.enrich_request_with_context(
38
+ request=request,
39
+ session_id=request.session_id,
40
+ )
41
+
42
  task_type = detect_task_type(
43
+ message=enriched_request.message,
44
+ code=enriched_request.code,
45
+ error_message=enriched_request.error_message,
46
+ mode_hint=enriched_request.mode,
47
  )
48
 
49
  evidence_list = []
50
  retrieval_used = False
51
 
52
+ if should_use_retrieval(task_type, enriched_request):
53
+ evidence_list = get_retrieved_evidence(task_type, enriched_request)
54
  retrieval_used = len(evidence_list) > 0
55
 
56
  prompt = build_prompt(
57
  task_type=task_type,
58
+ message=enriched_request.message,
59
+ code=enriched_request.code,
60
+ error_message=enriched_request.error_message,
61
+ language=enriched_request.language,
62
+ framework=enriched_request.framework,
63
+ previous_context=enriched_request.previous_context,
64
  evidence_list=evidence_list,
65
  )
66
 
 
68
 
69
  processing_time_ms = int((time.perf_counter() - start_time) * 1000)
70
 
71
+ response = build_response(
72
  task_type=task_type,
73
  model_output=model_output,
74
  model_used=model_used,
 
76
  retrieval_used=retrieval_used,
77
  source_count=len(evidence_list),
78
  processing_time_ms=processing_time_ms,
79
+ original_code=enriched_request.code,
80
  sources=evidence_list,
81
  )
82
 
83
+ if response.code_output and response.code_output.strip():
84
+ context_manager.save_artifact(
85
+ session_id=enriched_request.session_id,
86
+ code=response.code_output,
87
+ task_type=task_type,
88
+ language=enriched_request.language,
89
+ framework=enriched_request.framework,
90
+ last_user_goal=enriched_request.message,
91
+ )
92
+
93
+ return response
94
+
95
  except Exception as e:
96
  processing_time_ms = int((time.perf_counter() - start_time) * 1000)
97
  fallback_task = request.mode if request.mode else CodeTaskType.UNKNOWN