|
@@ -212,8 +212,12 @@ const convertOpenAIMessages = (convo) => {
|
|
|
const message = mapping[message_id];
|
|
|
currentId = message_id;
|
|
|
try {
|
|
|
- if (messages.length == 0 && (message['message'] == null ||
|
|
|
- (message['message']['content']['parts']?.[0] == '' && message['message']['content']['text'] == null))) {
|
|
|
+ if (
|
|
|
+ messages.length == 0 &&
|
|
|
+ (message['message'] == null ||
|
|
|
+ (message['message']['content']['parts']?.[0] == '' &&
|
|
|
+ message['message']['content']['text'] == null))
|
|
|
+ ) {
|
|
|
// Skip chat messages with no content
|
|
|
continue;
|
|
|
} else {
|
|
@@ -222,7 +226,10 @@ const convertOpenAIMessages = (convo) => {
|
|
|
parentId: lastId,
|
|
|
childrenIds: message['children'] || [],
|
|
|
role: message['message']?.['author']?.['role'] !== 'user' ? 'assistant' : 'user',
|
|
|
- content: message['message']?.['content']?.['parts']?.[0] || message['message']?.['content']?.['text'] || '',
|
|
|
+ content:
|
|
|
+ message['message']?.['content']?.['parts']?.[0] ||
|
|
|
+ message['message']?.['content']?.['text'] ||
|
|
|
+ '',
|
|
|
model: 'gpt-3.5-turbo',
|
|
|
done: true,
|
|
|
context: null
|
|
@@ -231,7 +238,7 @@ const convertOpenAIMessages = (convo) => {
|
|
|
lastId = currentId;
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.log("Error with", message, "\nError:", error);
|
|
|
+ console.log('Error with', message, '\nError:', error);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -256,31 +263,31 @@ const validateChat = (chat) => {
|
|
|
// Because ChatGPT sometimes has features we can't use like DALL-E or migh have corrupted messages, need to validate
|
|
|
const messages = chat.messages;
|
|
|
|
|
|
- // Check if messages array is empty
|
|
|
- if (messages.length === 0) {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- // Last message's children should be an empty array
|
|
|
- const lastMessage = messages[messages.length - 1];
|
|
|
- if (lastMessage.childrenIds.length !== 0) {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- // First message's parent should be null
|
|
|
- const firstMessage = messages[0];
|
|
|
- if (firstMessage.parentId !== null) {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- // Every message's content should be a string
|
|
|
- for (let message of messages) {
|
|
|
- if (typeof message.content !== 'string') {
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return true;
|
|
|
+ // Check if messages array is empty
|
|
|
+ if (messages.length === 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Last message's children should be an empty array
|
|
|
+ const lastMessage = messages[messages.length - 1];
|
|
|
+ if (lastMessage.childrenIds.length !== 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // First message's parent should be null
|
|
|
+ const firstMessage = messages[0];
|
|
|
+ if (firstMessage.parentId !== null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Every message's content should be a string
|
|
|
+ for (let message of messages) {
|
|
|
+ if (typeof message.content !== 'string') {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
};
|
|
|
|
|
|
export const convertOpenAIChats = (_chats) => {
|
|
@@ -298,8 +305,22 @@ export const convertOpenAIChats = (_chats) => {
|
|
|
chat: chat,
|
|
|
timestamp: convo['timestamp']
|
|
|
});
|
|
|
- } else { failed ++}
|
|
|
+ } else {
|
|
|
+ failed++;
|
|
|
+ }
|
|
|
}
|
|
|
- console.log(failed, "Conversations could not be imported");
|
|
|
+ console.log(failed, 'Conversations could not be imported');
|
|
|
return chats;
|
|
|
};
|
|
|
+
|
|
|
+export const isValidHttpUrl = (string) => {
|
|
|
+ let url;
|
|
|
+
|
|
|
+ try {
|
|
|
+ url = new URL(string);
|
|
|
+ } catch (_) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return url.protocol === 'http:' || url.protocol === 'https:';
|
|
|
+};
|