@@ -124,12 +124,29 @@ function M.complete_openai_base(options, context, callback)
124
124
table.insert (args , config .proxy )
125
125
end
126
126
127
+ local provider_name = ' openai_compatible'
128
+ utils .fire_event (' RequestInit' , {
129
+ provider = provider_name ,
130
+ name = options .name ,
131
+ n_requests = 1 ,
132
+ })
133
+
127
134
local new_job = Job :new {
128
135
command = ' curl' ,
129
136
args = args ,
130
137
on_exit = vim .schedule_wrap (function (job , exit_code )
131
138
M .remove_job (job )
132
139
140
+ utils .fire_event (' RequestFinished' , {
141
+ provider = provider_name ,
142
+ name = options .name ,
143
+ n_requests = 1 ,
144
+ request_idx = 1 ,
145
+ job = function ()
146
+ return job
147
+ end ,
148
+ })
149
+
133
150
local items_raw
134
151
135
152
if options .stream then
@@ -156,6 +173,16 @@ function M.complete_openai_base(options, context, callback)
156
173
157
174
M .register_job (new_job )
158
175
new_job :start ()
176
+
177
+ utils .fire_event (' RequestStarted' , {
178
+ provider = provider_name ,
179
+ name = options .name ,
180
+ n_requests = 1 ,
181
+ request_idx = 1 ,
182
+ job = function ()
183
+ return new_job
184
+ end ,
185
+ })
159
186
end
160
187
161
188
function M .complete_openai_fim_base (options , get_text_fn , context , callback )
@@ -185,7 +212,13 @@ function M.complete_openai_fim_base(options, get_text_fn, context, callback)
185
212
local items = {}
186
213
local n_completions = config .n_completions
187
214
188
- for _ = 1 , n_completions do
215
+ local provider_name = ' openai_fim_compatible'
216
+ utils .fire_event (' RequestInit' , {
217
+ provider = provider_name ,
218
+ name = options .name ,
219
+ n_requests = n_completions ,
220
+ })
221
+ for request_idx = 1 , n_completions do
189
222
local args = {
190
223
' -L' ,
191
224
options .end_point ,
@@ -212,6 +245,16 @@ function M.complete_openai_fim_base(options, get_text_fn, context, callback)
212
245
on_exit = vim .schedule_wrap (function (job , exit_code )
213
246
M .remove_job (job )
214
247
248
+ utils .fire_event (' RequestFinished' , {
249
+ provider = provider_name ,
250
+ name = options .name ,
251
+ n_requests = n_completions ,
252
+ request_idx = request_idx ,
253
+ job = function ()
254
+ return job
255
+ end ,
256
+ })
257
+
215
258
local result
216
259
217
260
if options .stream then
@@ -232,6 +275,16 @@ function M.complete_openai_fim_base(options, get_text_fn, context, callback)
232
275
233
276
M .register_job (new_job )
234
277
new_job :start ()
278
+
279
+ utils .fire_event (' RequestStarted' , {
280
+ provider = provider_name ,
281
+ name = options .name ,
282
+ n_requests = n_completions ,
283
+ request_idx = request_idx ,
284
+ job = function ()
285
+ return new_job
286
+ end ,
287
+ })
235
288
end
236
289
end
237
290
0 commit comments