Skip to content

Commit

Permalink
fix: better handling when a file cannot be added
Browse files Browse the repository at this point in the history
  • Loading branch information
birme committed Mar 5, 2025
1 parent 814505e commit bb06f2e
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 34 deletions.
80 changes: 47 additions & 33 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -169,46 +169,60 @@ async function applyChangeSet(

const openAi = new OpenAI({ apiKey: openaiApiKey });
for (const changeSetFile of changeSet.filesToAdd.values()) {
console.log(
`Adding file ${changeSetFile.filename} to ${changeSetFile.vectorStoreId}`
);
if (!dryRun) {
const newFile = await openAi.files.create({
file: createReadStream(changeSetFile.filename),
purpose
});
console.log(`Added file ${newFile.filename} (${newFile.id})`);
await openAi.beta.vectorStores.files.create(changeSetFile.vectorStoreId, {
file_id: newFile.id
});
try {
console.log(
`Added file ${newFile.filename} to vector store ${changeSetFile.vectorStoreId}`
`Adding file ${changeSetFile.filename} to ${changeSetFile.vectorStoreId}`
);
if (!dryRun) {
const newFile = await openAi.files.create({
file: createReadStream(changeSetFile.filename),
purpose
});
console.log(`Added file ${newFile.filename} (${newFile.id})`);
await openAi.beta.vectorStores.files.create(
changeSetFile.vectorStoreId,
{
file_id: newFile.id
}
);
console.log(
`Added file ${newFile.filename} to vector store ${changeSetFile.vectorStoreId}`
);
}
} catch (error) {
console.log(`Error adding file ${changeSetFile.filename}: ${error}`);
}
}
for (const changeSetFile of changeSet.filesToUpdate.values()) {
console.log(
`Updating file ${changeSetFile.filename} in ${changeSetFile.vectorStoreId}`
);
if (!dryRun && changeSetFile.fileId) {
await openAi.beta.vectorStores.files.del(
changeSetFile.vectorStoreId,
changeSetFile.fileId
);
await openAi.files.del(changeSetFile.fileId);
console.log(
`Deleted file ${changeSetFile.filename} (${changeSetFile.fileId})`
);
const newFile = await openAi.files.create({
file: createReadStream(changeSetFile.filename),
purpose
});
await openAi.beta.vectorStores.files.create(changeSetFile.vectorStoreId, {
file_id: newFile.id
});
try {
console.log(
`Replaced file ${changeSetFile.filename} (${changeSetFile.fileId} => ${newFile.id})`
`Updating file ${changeSetFile.filename} in ${changeSetFile.vectorStoreId}`
);
if (!dryRun && changeSetFile.fileId) {
await openAi.beta.vectorStores.files.del(
changeSetFile.vectorStoreId,
changeSetFile.fileId
);
await openAi.files.del(changeSetFile.fileId);
console.log(
`Deleted file ${changeSetFile.filename} (${changeSetFile.fileId})`
);
const newFile = await openAi.files.create({
file: createReadStream(changeSetFile.filename),
purpose
});
await openAi.beta.vectorStores.files.create(
changeSetFile.vectorStoreId,
{
file_id: newFile.id
}
);
console.log(
`Replaced file ${changeSetFile.filename} (${changeSetFile.fileId} => ${newFile.id})`
);
}
} catch (error) {
console.log(`Error updating file ${changeSetFile.filename}: ${error}`);
}
}
for (const changeSetFile of changeSet.filesToRemove.values()) {
Expand Down
1 change: 0 additions & 1 deletion src/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ export function isSupportedFile(filename: string): boolean {
filename.endsWith('.sh') ||
filename.endsWith('.ts') ||
filename.endsWith('.txt') ||
filename.endsWith('.xml') ||
filename.endsWith('.yaml') ||
filename.endsWith('.yml') ||
filename.endsWith('.pdf') ||
Expand Down

0 comments on commit bb06f2e

Please sign in to comment.