@@ -642,74 +642,67 @@ export async function uploadDocumentsToMemory({
642
642
documents : MemoryDocumentI [ ] ;
643
643
name : string ;
644
644
account : Account ;
645
+ } ) {
646
+ for ( const doc of documents ) {
647
+ try {
648
+ p . log . message ( `Uploading document: ${ doc . name } ....` ) ;
649
+ await new Promise ( resolve => setTimeout ( resolve , 800 ) ) ; // To avoid rate limiting
650
+ const signedUrl = await getSignedUploadUrl ( {
651
+ documentName : doc . name ,
652
+ memoryName : name ,
653
+ account
654
+ } ) ;
655
+
656
+ const uploadResponse = await uploadDocument ( signedUrl , doc . blob ) ;
657
+ dlog ( `Upload response status: ${ uploadResponse . status } ` ) ;
658
+
659
+ p . log . message ( `Uploaded document: ${ doc . name } ` ) ;
660
+ } catch ( error ) {
661
+ throw error ;
662
+ }
663
+ }
664
+ }
665
+
666
+ export async function deleteDocumentsFromMemory ( {
667
+ documents,
668
+ name,
669
+ account
670
+ } : {
671
+ documents : string [ ] ;
672
+ name : string ;
673
+ account : Account ;
645
674
} ) {
646
675
const BATCH_SIZE = 5 ; // Number of concurrent uploads
647
676
const RATE_LIMIT_DELAY = 1000 ; // 1 second delay between requests
648
677
649
- // Process documents in batches to avoid rate limiting
678
+ p . log . info ( `Deleting ${ documents . length } documents from memory: ${ name } ` ) ;
679
+
650
680
for ( let i = 0 ; i < documents . length ; i += BATCH_SIZE ) {
651
681
const batch = documents . slice ( i , i + BATCH_SIZE ) ;
652
-
653
- const batchUploadPromises = batch . map ( async ( doc , index ) => {
682
+ const batchPromises = batch . map ( async ( doc , index ) => {
654
683
try {
655
- // Stagger requests within batch
656
684
await new Promise ( resolve =>
657
685
setTimeout ( resolve , index * RATE_LIMIT_DELAY )
658
686
) ;
659
687
660
- // p.log.message(`Uploading document: ${doc.name} .... `);
661
- const signedUrl = await getSignedUploadUrl ( {
662
- documentName : doc . name ,
688
+ // p.log.message(`Deleting document: ${doc} `);
689
+ const deleteResponse = await deleteDocument ( {
690
+ documentName : doc ,
663
691
memoryName : name ,
664
692
account
665
693
} ) ;
666
694
667
- const uploadResponse = await uploadDocument (
668
- signedUrl ,
669
- doc . blob
670
- ) ;
671
- dlog ( `Upload response status: ${ uploadResponse . status } ` ) ;
672
-
673
- p . log . message ( `Uploaded document: ${ doc . name } ` ) ;
695
+ dlog ( `Delete response status: ${ deleteResponse . status } ` ) ;
696
+ p . log . message ( `Deleted document: ${ doc } ` ) ;
697
+ return deleteResponse ;
674
698
} catch ( error : any ) {
675
699
throw new Error (
676
- `Failed to upload ${ doc . name } : ${ error . message ?? error } `
700
+ `Failed to delete ${ doc } : ${ error . message ?? error } `
677
701
) ;
678
702
}
679
703
} ) ;
680
704
681
- await Promise . all ( batchUploadPromises ) ;
682
- }
683
- }
684
-
685
- export async function deleteDocumentsFromMemory ( {
686
- documents,
687
- name,
688
- account
689
- } : {
690
- documents : string [ ] ;
691
- name : string ;
692
- account : Account ;
693
- } ) {
694
- p . log . info ( `Deleting documents from memory: ${ name } ` ) ;
695
-
696
- for ( const doc of documents ) {
697
- try {
698
- p . log . message ( `Deleting document: ${ doc } ....` ) ;
699
- await new Promise ( resolve => setTimeout ( resolve , 800 ) ) ; // To avoid rate limiting
700
-
701
- const deleteResponse = await deleteDocument ( {
702
- documentName : doc ,
703
- memoryName : name ,
704
- account
705
- } ) ;
706
-
707
- dlog ( `Delete response status: ${ deleteResponse . status } ` ) ;
708
-
709
- p . log . message ( `Deleted document: ${ doc } ` ) ;
710
- } catch ( error ) {
711
- throw error ;
712
- }
705
+ await Promise . all ( batchPromises ) ;
713
706
}
714
707
p . log . info ( `Deleted documents from memory: ${ name } ` ) ;
715
708
}
0 commit comments