hashan-7 commited on
Commit
22e6a73
·
verified ·
1 Parent(s): e7f31f9

Update code

Browse files
Files changed (1) hide show
  1. code_engine.py +47 -1
code_engine.py CHANGED
@@ -1,12 +1,13 @@
1
  import time
2
 
3
- from schemas import CodeXRequest, CodeXResponse, CodeTaskType
4
  from code_router import detect_task_type
5
  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 context_manager import context_manager
 
10
  from config import settings
11
 
12
 
@@ -30,10 +31,55 @@ def get_retrieved_evidence(task_type: CodeTaskType, request: CodeXRequest):
30
  return retrieve_code_evidence(task_type, request)
31
 
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  def process_codex_request(request: CodeXRequest) -> CodeXResponse:
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,
 
1
  import time
2
 
3
+ from schemas import CodeXRequest, CodeXResponse, CodeTaskType, ResponseMeta
4
  from code_router import detect_task_type
5
  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 context_manager import context_manager
10
+ from scope_router import decide_scope, ScopeRoute
11
  from config import settings
12
 
13
 
 
31
  return retrieve_code_evidence(task_type, request)
32
 
33
 
34
+ def build_scope_response(
35
+ route: ScopeRoute,
36
+ message: str,
37
+ processing_time_ms: int,
38
+ ) -> CodeXResponse:
39
+ warnings = []
40
+
41
+ if route == ScopeRoute.RESTRICTED:
42
+ warnings.append("Restricted or unsafe request detected.")
43
+ elif route == ScopeRoute.IMAGE:
44
+ warnings.append("Image-related request detected.")
45
+ elif route == ScopeRoute.NON_CODE:
46
+ warnings.append("Out-of-scope non-code request detected.")
47
+ elif route == ScopeRoute.GREETING:
48
+ warnings.append("Greeting request detected.")
49
+ else:
50
+ warnings.append("Unsupported or unclear request detected.")
51
+
52
+ return CodeXResponse(
53
+ answer=message,
54
+ task_type=CodeTaskType.UNKNOWN,
55
+ code_output=None,
56
+ explanation=message,
57
+ warnings=warnings,
58
+ sources=[],
59
+ needs_clarification=False,
60
+ meta=ResponseMeta(
61
+ used_model="scope_router",
62
+ fallback_used=False,
63
+ retrieval_used=False,
64
+ source_count=0,
65
+ processing_time_ms=processing_time_ms,
66
+ ),
67
+ )
68
+
69
+
70
  def process_codex_request(request: CodeXRequest) -> CodeXResponse:
71
  start_time = time.perf_counter()
72
 
73
  try:
74
+ scope_decision = decide_scope(request)
75
+ if not scope_decision.should_continue_to_codex:
76
+ processing_time_ms = int((time.perf_counter() - start_time) * 1000)
77
+ return build_scope_response(
78
+ route=scope_decision.route,
79
+ message=scope_decision.message,
80
+ processing_time_ms=processing_time_ms,
81
+ )
82
+
83
  enriched_request = context_manager.enrich_request_with_context(
84
  request=request,
85
  session_id=request.session_id,