diff --git a/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch b/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch new file mode 100644 index 00000000..ed51958c --- /dev/null +++ b/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch @@ -0,0 +1,50 @@ +diff --git a/src/libsql-db.cjs b/src/libsql-db.cjs +index 076e838a1a144fa80687aa27ed92f488c2b532cb..fd00187134cda688c20b2929934ca5bfd4899c42 100644 +--- a/src/libsql-db.cjs ++++ b/src/libsql-db.cjs +@@ -45,9 +45,9 @@ class LibSqlDb { + } + async similaritySearch(query, k) { + const statement = `SELECT id, pageContent, uniqueLoaderId, source, metadata, +- vector_distance_cos(vector, vector32('[${query.join(',')}]')) ++ vector_distance_cos(vector, vector32('[${query.join(',')}]')) as distance + FROM ${this.tableName} +- ORDER BY vector_distance_cos(vector, vector32('[${query.join(',')}]')) ASC ++ ORDER BY distance ASC + LIMIT ${k};`; + this.debug(`Executing statement - ${(0, embedjs_utils_1.truncateCenterString)(statement, 700)}`); + const results = await this.client.execute(statement); +@@ -56,7 +56,7 @@ class LibSqlDb { + return { + metadata, + pageContent: result.pageContent.toString(), +- score: 1, ++ score: result.distance, + }; + }); + } +diff --git a/src/libsql-db.js b/src/libsql-db.js +index 58c42e4910bd0e53bc497ff9b9702b1f7a961266..3b124ff26f3b7cdca72eed5b872d7410c32eb70a 100644 +--- a/src/libsql-db.js ++++ b/src/libsql-db.js +@@ -41,9 +41,9 @@ export class LibSqlDb { + } + async similaritySearch(query, k) { + const statement = `SELECT id, pageContent, uniqueLoaderId, source, metadata, +- vector_distance_cos(vector, vector32('[${query.join(',')}]')) ++ vector_distance_cos(vector, vector32('[${query.join(',')}]')) as distance + FROM ${this.tableName} +- ORDER BY vector_distance_cos(vector, vector32('[${query.join(',')}]')) ASC ++ ORDER BY distance ASC + LIMIT ${k};`; + this.debug(`Executing statement - ${truncateCenterString(statement, 700)}`); + const results = await this.client.execute(statement); +@@ -52,7 +52,7 @@ export class LibSqlDb { + return { + metadata, + pageContent: result.pageContent.toString(), +- score: 1, ++ score: result.distance, + }; + }); + } diff --git a/.yarn/patches/@llm-tools-embedjs-utils-npm-0.1.25-fd8fe8a193.patch b/.yarn/patches/@llm-tools-embedjs-utils-npm-0.1.25-fd8fe8a193.patch new file mode 100644 index 00000000..dcb04230 --- /dev/null +++ b/.yarn/patches/@llm-tools-embedjs-utils-npm-0.1.25-fd8fe8a193.patch @@ -0,0 +1,54 @@ +diff --git a/src/util/strings.cjs b/src/util/strings.cjs +index 9933cc6e3866c476b47342a29ddb206eb90fa4a5..2965c4f2808bf94af9ef3e2ec889e5552e30e6ae 100644 +--- a/src/util/strings.cjs ++++ b/src/util/strings.cjs +@@ -38,13 +38,16 @@ function toTitleCase(str) { + }); + } + function isValidURL(url) { +- try { +- new URL(url); +- return true; +- } +- catch { +- return false; ++ if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('ftp://')) { ++ try { ++ new URL(url); ++ return true; ++ } ++ catch { ++ return false; ++ } + } ++ return false; + } + function isValidJson(str) { + try { +diff --git a/src/util/strings.js b/src/util/strings.js +index f5c1655512099b880fc5022e95d5e0c4d1d073f2..1a64bd662a22efd2effd9d2846ffcf0b93391963 100644 +--- a/src/util/strings.js ++++ b/src/util/strings.js +@@ -29,13 +29,16 @@ export function toTitleCase(str) { + }); + } + export function isValidURL(url) { +- try { +- new URL(url); +- return true; +- } +- catch { +- return false; ++ if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('ftp://')) { ++ try { ++ new URL(url); ++ return true; ++ } ++ catch { ++ return false; ++ } + } ++ return false; + } + export function isValidJson(str) { + try { diff --git a/package.json b/package.json index 58ce2b5f..5096441d 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@electron-toolkit/utils": "^3.0.0", "@electron/notarize": "^2.5.0", "@llm-tools/embedjs": "^0.1.25", - "@llm-tools/embedjs-libsql": "^0.1.25", + "@llm-tools/embedjs-libsql": "patch:@llm-tools/embedjs-libsql@npm%3A0.1.25#~/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch", "@llm-tools/embedjs-loader-csv": "^0.1.25", "@llm-tools/embedjs-loader-markdown": "^0.1.25", "@llm-tools/embedjs-loader-msoffice": "^0.1.25", @@ -146,7 +146,8 @@ "react-dom": "^17.0.0 || ^18.0.0" }, "resolutions": { - "pdf-parse@npm:1.1.1": "patch:pdf-parse@npm%3A1.1.1#~/.yarn/patches/pdf-parse-npm-1.1.1-04a6109b2a.patch" + "pdf-parse@npm:1.1.1": "patch:pdf-parse@npm%3A1.1.1#~/.yarn/patches/pdf-parse-npm-1.1.1-04a6109b2a.patch", + "@llm-tools/embedjs-utils@npm:0.1.25": "patch:@llm-tools/embedjs-utils@npm%3A0.1.25#~/.yarn/patches/@llm-tools-embedjs-utils-npm-0.1.25-fd8fe8a193.patch" }, "packageManager": "yarn@4.5.0" } diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 61bca99d..6bd77e2e 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -543,6 +543,7 @@ "index_started": "Indexing started", "cancel_index": "Cancel Indexing", "index_cancelled": "Indexing cancelled", + "status_new": "Added", "status_pending": "Pending", "status_processing": "Processing", "status_completed": "Completed", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 5fed5df3..400a34ce 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -543,6 +543,7 @@ "index_started": "Индексирование началось", "cancel_index": "Отменить индексирование", "index_cancelled": "Индексирование отменено", + "status_new": "Добавлено", "status_pending": "Ожидание", "status_processing": "Обработка", "status_completed": "Завершено", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 3c2ef996..34c11ae2 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -532,6 +532,7 @@ "index_started": "索引开始", "cancel_index": "取消索引", "index_cancelled": "索引已取消", + "status_new": "已添加", "status_pending": "等待中", "status_processing": "处理中", "status_completed": "已完成", @@ -566,4 +567,4 @@ "embedding": "嵌入模型" } } -} \ No newline at end of file +} diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 76547d85..20679363 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -531,6 +531,7 @@ "index_started": "索引開始", "cancel_index": "取消索引", "index_cancelled": "索引已取消", + "status_new": "已添加", "status_pending": "等待中", "status_processing": "處理中", "status_completed": "已完成",