File tree Expand file tree Collapse file tree 1 file changed +22
-20
lines changed
src/backend/src/modules/puterai Expand file tree Collapse file tree 1 file changed +22
-20
lines changed Original file line number Diff line number Diff line change @@ -213,6 +213,26 @@ class ClaudeService extends BaseService {
213213 } ) ( ) ) ;
214214 await Promise . all ( promises ) ;
215215 }
216+ const cleanup_files = async ( ) => {
217+ const promises = [ ] ;
218+ for ( const task of file_delete_tasks ) promises . push ( ( async ( ) => {
219+ try {
220+ await this . anthropic . beta . files . delete (
221+ task . file_id ,
222+ { betas : [ 'files-api-2025-04-14' ] }
223+ ) ;
224+ } catch ( e ) {
225+ this . errors . report ( 'claude:file-delete-task' , {
226+ source : e ,
227+ trace : true ,
228+ alarm : true ,
229+ extra : { file_id : task . file_id } ,
230+ } ) ;
231+ }
232+ } ) ( ) ) ;
233+ await Promise . all ( promises ) ;
234+ } ;
235+
216236
217237 if ( beta_mode ) {
218238 Object . assign ( sdk_params , { betas : [ 'files-api-2025-04-14' ] } ) ;
@@ -286,31 +306,13 @@ class ClaudeService extends BaseService {
286306 init_chat_stream,
287307 stream : true ,
288308 usage_promise : usage_promise ,
309+ finally_fn : cleanup_files ,
289310 } ) ;
290311 }
291312
292313 const msg = await anthropic . messages . create ( sdk_params ) ;
314+ await cleanup_files ( ) ;
293315
294- {
295- for ( const task of file_delete_tasks ) {
296- ( async ( ) => {
297- try {
298- await this . anthropic . beta . files . delete (
299- task . file_id ,
300- { betas : [ 'files-api-2025-04-14' ] }
301- ) ;
302- } catch ( e ) {
303- this . errors . report ( 'claude:file-delete-task' , {
304- source : e ,
305- trace : true ,
306- alarm : true ,
307- extra : { file_id : task . file_id } ,
308- } ) ;
309- }
310- } ) ( ) ;
311- }
312- }
313-
314316 return {
315317 message : msg ,
316318 usage : msg . usage ,
You can’t perform that action at this time.
0 commit comments