99)
1010from codealmanac .engine .harnesses .requests import RunHarnessRequest
1111from codealmanac .integrations .harnesses .codex .errors import CodexAppServerError
12+ from codealmanac .integrations .harnesses .codex .event_sink import (
13+ record_harness_event ,
14+ record_harness_events ,
15+ )
1216from codealmanac .integrations .harnesses .codex .events import (
1317 CodexRunState ,
1418 done_event ,
2024 as_record ,
2125 string_field ,
2226)
23- from codealmanac .integrations .harnesses .codex .responses import (
24- noninteractive_response ,
25- )
27+ from codealmanac .integrations .harnesses .codex .responses import noninteractive_response
2628from codealmanac .integrations .harnesses .codex .rpc import (
2729 JsonRpcLineProcess ,
2830 is_server_request ,
@@ -121,8 +123,8 @@ def _run(self, request: RunHarnessRequest) -> HarnessRunResult:
121123 )
122124 state .provider_session_id = thread_id
123125 state .root_thread_id = thread_id
124- self . record_harness_event (
125- request ,
126+ record_harness_event (
127+ request . event_sink ,
126128 events ,
127129 provider_session_event (thread_id ),
128130 )
@@ -184,8 +186,8 @@ def request_rpc(
184186 raise CodexAppServerError (f"Codex app-server { method } : { detail } " )
185187 return message .get ("result" )
186188 if string_field (message , "method" ) is not None :
187- self . record_harness_events (
188- request ,
189+ record_harness_events (
190+ request . event_sink ,
189191 events ,
190192 map_codex_notification (message , state ),
191193 )
@@ -209,32 +211,13 @@ def read_turn(
209211 continue
210212 is_root_completion = root_turn_completion (message , state )
211213 mapped = map_codex_notification (message , state , is_root_completion )
212- self . record_harness_events (request , events , mapped )
214+ record_harness_events (request . event_sink , events , mapped )
213215 if method == "error" :
214216 return result_from_state (state , events )
215217 if method == "turn/completed" and is_root_completion :
216- self . record_harness_event (request , events , done_event (state ))
218+ record_harness_event (request . event_sink , events , done_event (state ))
217219 return result_from_state (state , events )
218220
219- def record_harness_events (
220- self ,
221- request : RunHarnessRequest ,
222- events : list [HarnessEvent ],
223- new_events : tuple [HarnessEvent , ...],
224- ) -> None :
225- for event in new_events :
226- self .record_harness_event (request , events , event )
227-
228- def record_harness_event (
229- self ,
230- request : RunHarnessRequest ,
231- events : list [HarnessEvent ],
232- event : HarnessEvent ,
233- ) -> None :
234- events .append (event )
235- if request .event_sink is not None :
236- request .event_sink (event )
237-
238221 def respond_to_server_request (
239222 self ,
240223 process : "JsonRpcLineProcess" ,
0 commit comments