in apps/chat/src/utils/app/import-export.ts [88:153]
export function cleanData(data: SupportedExportFormats): CleanDataResponse {
if (isExportFormatV1(data)) {
const cleanHistoryData: LatestExportFormat = {
version: 5,
history: cleanConversationHistory(data as unknown as Conversation[]),
folders: [],
prompts: [],
};
return {
...cleanHistoryData,
isError: false,
};
}
if (isExportFormatV2(data)) {
return {
version: 5,
history: cleanConversationHistory(data.history || []),
folders: (data.folders || []).map((chatFolder) => ({
id: chatFolder.id.toString(),
name: chatFolder.name,
type: FolderType.Chat,
folderId: getConversationRootId(),
})),
prompts: [],
isError: false,
};
}
if (isExportFormatV3(data)) {
return {
history: cleanConversationHistory(data.history),
folders: [...data.folders],
version: 5,
prompts: [],
isError: false,
};
}
if (isExportFormatV4(data)) {
return {
...data,
version: 5,
history: cleanConversationHistory(data.history),
prompts: data.prompts || [],
isError: false,
};
}
if (isExportFormatV5(data)) {
return {
...data,
history: cleanConversationHistory(data.history),
prompts: data.prompts || [],
isError: false,
};
}
return {
version: 5,
history: [],
folders: [],
prompts: [],
isError: true,
};
}