@@ -79,15 +79,29 @@ pub(super) async fn run_compact_task(
79
79
input : Vec < InputItem > ,
80
80
compact_instructions : String ,
81
81
) {
82
+ let start_event = Event {
83
+ id : sub_id. clone ( ) ,
84
+ msg : EventMsg :: TaskStarted ( TaskStartedEvent {
85
+ model_context_window : turn_context. client . get_model_context_window ( ) ,
86
+ } ) ,
87
+ } ;
88
+ sess. send_event ( start_event) . await ;
82
89
run_compact_task_inner (
83
- sess,
90
+ sess. clone ( ) ,
84
91
turn_context,
85
- sub_id,
92
+ sub_id. clone ( ) ,
86
93
input,
87
94
compact_instructions,
88
95
true ,
89
96
)
90
97
. await ;
98
+ let event = Event {
99
+ id : sub_id,
100
+ msg : EventMsg :: TaskComplete ( TaskCompleteEvent {
101
+ last_agent_message : None ,
102
+ } ) ,
103
+ } ;
104
+ sess. send_event ( event) . await ;
91
105
}
92
106
93
107
async fn run_compact_task_inner (
@@ -98,15 +112,6 @@ async fn run_compact_task_inner(
98
112
compact_instructions : String ,
99
113
remove_task_on_completion : bool ,
100
114
) {
101
- let model_context_window = turn_context. client . get_model_context_window ( ) ;
102
- let start_event = Event {
103
- id : sub_id. clone ( ) ,
104
- msg : EventMsg :: TaskStarted ( TaskStartedEvent {
105
- model_context_window,
106
- } ) ,
107
- } ;
108
- sess. send_event ( start_event) . await ;
109
-
110
115
let initial_input_for_turn: ResponseInputItem = ResponseInputItem :: from ( input) ;
111
116
let instructions_override = compact_instructions;
112
117
let turn_input = sess. turn_input_with_history ( vec ! [ initial_input_for_turn. clone( ) . into( ) ] ) ;
@@ -195,13 +200,6 @@ async fn run_compact_task_inner(
195
200
} ) ,
196
201
} ;
197
202
sess. send_event ( event) . await ;
198
- let event = Event {
199
- id : sub_id. clone ( ) ,
200
- msg : EventMsg :: TaskComplete ( TaskCompleteEvent {
201
- last_agent_message : None ,
202
- } ) ,
203
- } ;
204
- sess. send_event ( event) . await ;
205
203
}
206
204
207
205
fn content_items_to_text ( content : & [ ContentItem ] ) -> Option < String > {
0 commit comments