diff --git a/server/package.json b/server/package.json index 77120297e6540b149b972e6968cad9a9294cc1c5..1e115ccc8995ff497c680cdb6e2fa18755b8d777 100644 --- a/server/package.json +++ b/server/package.json @@ -26,6 +26,7 @@ "@google/generative-ai": "^0.7.1", "@googleapis/youtube": "^9.0.0", "@ladjs/graceful": "^3.2.2", + "@lancedb/lancedb": "0.5.2", "@langchain/anthropic": "0.1.16", "@langchain/community": "0.0.53", "@langchain/core": "0.1.61", @@ -81,7 +82,6 @@ "url-pattern": "^1.0.3", "uuid": "^9.0.0", "uuid-apikey": "^1.5.3", - "vectordb": "0.4.11", "weaviate-ts-client": "^1.4.0", "winston": "^3.13.0" }, diff --git a/server/utils/vectorDbProviders/lance/index.js b/server/utils/vectorDbProviders/lance/index.js index e1e6a5e6305bd6de7258712ddc566f444715c621..f6e9206181055cc6ffcdc560370639d1e0014fe8 100644 --- a/server/utils/vectorDbProviders/lance/index.js +++ b/server/utils/vectorDbProviders/lance/index.js @@ -1,4 +1,4 @@ -const lancedb = require("vectordb"); +const lancedb = require("@lancedb/lancedb"); const { toChunks, getEmbeddingEngineSelection } = require("../../helpers"); const { TextSplitter } = require("../../TextSplitter"); const { SystemSettings } = require("../../../models/systemSettings"); @@ -6,11 +6,18 @@ const { storeVectorResult, cachedVectorInformation } = require("../../files"); const { v4: uuidv4 } = require("uuid"); const { sourceIdentifier } = require("../../chats"); +/** + * LancedDB Client connection object + * @typedef {import('@lancedb/lancedb').Connection} LanceClient + */ + const LanceDb = { uri: `${ !!process.env.STORAGE_DIR ? `${process.env.STORAGE_DIR}/` : "./storage/" }lancedb`, name: "LanceDb", + + /** @returns {Promise<{client: LanceClient}>} */ connect: async function () { if (process.env.VECTOR_DB !== "lancedb") throw new Error("LanceDB::Invalid ENV settings"); @@ -29,14 +36,12 @@ const LanceDb = { return { heartbeat: Number(new Date()) }; }, tables: async function () { - const fs = require("fs"); const { client } = await this.connect(); - const dirs = fs.readdirSync(client.uri); - return dirs.map((folder) => folder.replace(".lance", "")); + return await client.tableNames(); }, totalVectors: async function () { const { client } = await this.connect(); - const tables = await this.tables(); + const tables = await client.tableNames(); let count = 0; for (const tableName of tables) { const table = await client.openTable(tableName); @@ -52,6 +57,16 @@ const LanceDb = { const table = await client.openTable(_namespace); return (await table.countRows()) || 0; }, + /** + * Performs a SimilaritySearch on a give LanceDB namespace. + * @param {LanceClient} client + * @param {string} namespace + * @param {number[]} queryVector + * @param {number} similarityThreshold + * @param {number} topN + * @param {string[]} filterIdentifiers + * @returns + */ similarityResponse: async function ( client, namespace, @@ -68,10 +83,10 @@ const LanceDb = { }; const response = await collection - .search(queryVector) - .metricType("cosine") + .vectorSearch(queryVector) + .distanceType("cosine") .limit(topN) - .execute(); + .toArray(); response.forEach((item) => { if (this.distanceToSimilarity(item._distance) < similarityThreshold) @@ -94,6 +109,12 @@ const LanceDb = { return result; }, + /** + * + * @param {LanceClient} client + * @param {string} namespace + * @returns + */ namespace: async function (client, namespace = null) { if (!namespace) throw new Error("No namespace value provided."); const collection = await client.openTable(namespace).catch(() => false); @@ -103,6 +124,13 @@ const LanceDb = { ...collection, }; }, + /** + * + * @param {LanceClient} client + * @param {number[]} data + * @param {string} namespace + * @returns + */ updateOrCreateCollection: async function (client, data = [], namespace) { const hasNamespace = await this.hasNamespace(namespace); if (hasNamespace) { @@ -120,14 +148,25 @@ const LanceDb = { const exists = await this.namespaceExists(client, namespace); return exists; }, - namespaceExists: async function (_client, namespace = null) { + /** + * + * @param {LanceClient} client + * @param {string} namespace + * @returns + */ + namespaceExists: async function (client, namespace = null) { if (!namespace) throw new Error("No namespace value provided."); - const collections = await this.tables(); + const collections = await client.tableNames(); return collections.includes(namespace); }, + /** + * + * @param {LanceClient} client + * @param {string} namespace + * @returns + */ deleteVectorsInNamespace: async function (client, namespace = null) { - const fs = require("fs"); - fs.rm(`${client.uri}/${namespace}.lance`, { recursive: true }, () => null); + await client.dropTable(namespace); return true; }, deleteDocumentFromNamespace: async function (namespace, docId) { diff --git a/server/yarn.lock b/server/yarn.lock index 6c9de0e283a392fe19b0d3f72a3df9cbf5f85be9..173f7e4d0df981ff78c6422e3114e69266440500 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -54,22 +54,6 @@ node-fetch "^2.6.7" web-streams-polyfill "^3.2.1" -"@apache-arrow/ts@^14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@apache-arrow/ts/-/ts-14.0.2.tgz#31625975714ca172225b305190fc05fae705c0c9" - integrity sha512-CtwAvLkK0CZv7xsYeCo91ml6PvlfzAmAJZkRYuz2GNBwfYufj5SVi0iuSMwIMkcU/szVwvLdzORSLa5PlF/2ug== - dependencies: - "@types/command-line-args" "5.2.0" - "@types/command-line-usage" "5.0.2" - "@types/node" "20.3.0" - "@types/pad-left" "2.1.1" - command-line-args "5.2.1" - command-line-usage "7.0.1" - flatbuffers "23.5.26" - json-bignum "^0.0.3" - pad-left "^2.1.0" - tslib "^2.5.3" - "@azure-rest/core-client@^1.1.7": version "1.4.0" resolved "https://registry.yarnpkg.com/@azure-rest/core-client/-/core-client-1.4.0.tgz#3be28c02c6c20e49dea73a7f012daeeda4eacb8e" @@ -587,30 +571,45 @@ lil-http-terminator "^1.2.2" p-is-promise "3" -"@lancedb/vectordb-darwin-arm64@0.4.11": - version "0.4.11" - resolved "https://registry.yarnpkg.com/@lancedb/vectordb-darwin-arm64/-/vectordb-darwin-arm64-0.4.11.tgz#390549891e03f28ba0c1b741f30730b2d09227da" - integrity sha512-JDOKmFnuJPFkA7ZmrzBJolROwSjWr7yMvAbi40uLBc25YbbVezodd30u2EFtIwWwtk1GqNYRZ49FZOElKYeC/Q== +"@lancedb/lancedb-darwin-arm64@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@lancedb/lancedb-darwin-arm64/-/lancedb-darwin-arm64-0.5.2.tgz#dd74e4f302a92bdf2f1da261292364861d2e5e65" + integrity sha512-tEtwM+c3D6imAh1wE0nBGYFwRILeX3E1/mNjUjIV8panlfvO2SMJuDORRjtfKNt1GghfVQ5QFu94cL+xSzWjow== -"@lancedb/vectordb-darwin-x64@0.4.11": - version "0.4.11" - resolved "https://registry.yarnpkg.com/@lancedb/vectordb-darwin-x64/-/vectordb-darwin-x64-0.4.11.tgz#038153a5db000d4923d5ec635645f2dc7ce162f3" - integrity sha512-iy6r+8tp2v1EFgJV52jusXtxgO6NY6SkpOdX41xPqN2mQWMkfUAR9Xtks1mgknjPOIKH4MRc8ZS0jcW/UWmilQ== +"@lancedb/lancedb-darwin-x64@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@lancedb/lancedb-darwin-x64/-/lancedb-darwin-x64-0.5.2.tgz#7831b9cb9f2fd7c6284469663dd75fb8bc1981fe" + integrity sha512-Z/MRAleGm/us2XTb/L2WalIGKO8L6mumB7lqAhXsKiz06aYfE3+L8eEfSDcBdNfMv9Le1vA44kIJlnBX1ADV+g== -"@lancedb/vectordb-linux-arm64-gnu@0.4.11": - version "0.4.11" - resolved "https://registry.yarnpkg.com/@lancedb/vectordb-linux-arm64-gnu/-/vectordb-linux-arm64-gnu-0.4.11.tgz#927e95d38ae14f456fd9b78ff3afebec3d5c401b" - integrity sha512-5K6IVcTMuH0SZBjlqB5Gg39WC889FpTwIWKufxzQMMXrzxo5J3lKUHVoR28RRlNhDF2d9kZXBEyCpIfDFsV9iQ== +"@lancedb/lancedb-linux-arm64-gnu@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@lancedb/lancedb-linux-arm64-gnu/-/lancedb-linux-arm64-gnu-0.5.2.tgz#65c2cad470ae72ea74f9ee97e451a2d17261418e" + integrity sha512-/menmFjQD877YAiYts8SRCqH52QSeNAwzv2n1CBV6XZGeH5vH+Jq7JTwXdllfhfjytl26xfJJ/zvCIJ7DuUN/Q== + +"@lancedb/lancedb-linux-x64-gnu@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@lancedb/lancedb-linux-x64-gnu/-/lancedb-linux-x64-gnu-0.5.2.tgz#f58a7ab82ef5043aa1c0d8d8d0d48089e8360ee9" + integrity sha512-spLVfnDexIifg8UPocksjlUCKcfyKeWfoY2w/WJr1sVdarVorPOZwQ0zB5zrNq7tD4PJB9oGUCYt3hbj2+D/lQ== -"@lancedb/vectordb-linux-x64-gnu@0.4.11": - version "0.4.11" - resolved "https://registry.yarnpkg.com/@lancedb/vectordb-linux-x64-gnu/-/vectordb-linux-x64-gnu-0.4.11.tgz#1ff8c47316caec625df88074853cb6a2398bf0b5" - integrity sha512-hF9ZChsdqKqqnivOzd9mE7lC3PmhZadXtwThi2RrsPiOLoEaGDfmr6Ni3amVQnB3bR8YEJtTxdQxe0NC4uW/8g== +"@lancedb/lancedb-win32-x64-msvc@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@lancedb/lancedb-win32-x64-msvc/-/lancedb-win32-x64-msvc-0.5.2.tgz#447ee6c002492928fe0f739eb371c11a76e34120" + integrity sha512-obyTCSjoIyHVaDpnNrIBoiw7Y2jLBfZs3VzbyigjI3ylZRbvVGKmKO/Vwc2kuT07/vKPysHkrS6o1AQYRRLzhw== -"@lancedb/vectordb-win32-x64-msvc@0.4.11": - version "0.4.11" - resolved "https://registry.yarnpkg.com/@lancedb/vectordb-win32-x64-msvc/-/vectordb-win32-x64-msvc-0.4.11.tgz#1c2895188df18a34ba7bb96255b5aa4592d136cf" - integrity sha512-0+9ut1ccKoqIyGxsVixwx3771Z+DXpl5WfSmOeA8kf3v3jlOg2H+0YUahiXLDid2ju+yeLPrAUYm7A1gKHVhew== +"@lancedb/lancedb@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@lancedb/lancedb/-/lancedb-0.5.2.tgz#0f1369af6c98f2961043f6a42cf44a85818f79ae" + integrity sha512-0cEE07E5osctkM/C/9rAFnXS5FxdVFOiUFZt4g+E0qsS4oTLYn7IhQTQL/LfI7N7XjGyLQ3SkRfl8PCXHLMhdQ== + dependencies: + apache-arrow "^15.0.0" + openai "^4.29.2" + reflect-metadata "^0.2.2" + optionalDependencies: + "@lancedb/lancedb-darwin-arm64" "0.5.2" + "@lancedb/lancedb-darwin-x64" "0.5.2" + "@lancedb/lancedb-linux-arm64-gnu" "0.5.2" + "@lancedb/lancedb-linux-x64-gnu" "0.5.2" + "@lancedb/lancedb-win32-x64-msvc" "0.5.2" "@langchain/anthropic@0.1.16": version "0.1.16" @@ -689,11 +688,6 @@ semver "^7.3.5" tar "^6.1.11" -"@neon-rs/load@^0.0.74": - version "0.0.74" - resolved "https://registry.yarnpkg.com/@neon-rs/load/-/load-0.0.74.tgz#0f887144b0e3ea79e099b89bd83345004adedeb2" - integrity sha512-/cPZD907UNz55yrc/ud4wDgQKtU1TvkD9jeqZWG6J4IMmZkp6zgjkQcKA8UvpkZlcpPHvc8J17sGzLFbP/LUYg== - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1097,6 +1091,13 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.29.6.tgz#4cd8372f9247372edd5fc5af44f67e2032c46e2f" integrity sha512-aX5IFYWlMa7tQ8xZr3b2gtVReCvg7f3LEhjir/JAjX2bJCMVJA5tIPv30wTD4KDfcwMd7DDYY3hFDeGmOgtrZQ== +"@swc/helpers@^0.5.2": + version "0.5.11" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.11.tgz#5bab8c660a6e23c13b2d23fcd1ee44a2db1b0cb7" + integrity sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A== + dependencies: + tslib "^2.4.0" + "@tediousjs/connection-string@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@tediousjs/connection-string/-/connection-string-0.5.0.tgz#9b3d858c040aac6bdf5584bf45370cef5b6522b4" @@ -1117,15 +1118,15 @@ resolved "https://registry.yarnpkg.com/@types/btoa-lite/-/btoa-lite-1.0.2.tgz#82bb6aab00abf7cff3ca2825abe010c0cd536ae5" integrity sha512-ZYbcE2x7yrvNFJiU7xJGrpF/ihpkM7zKgw8bha3LNJSesvTtUNxbpzaT7WXBIryf6jovisrxTBvymxMeLLj1Mg== -"@types/command-line-args@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.0.tgz#adbb77980a1cc376bb208e3f4142e907410430f6" - integrity sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA== +"@types/command-line-args@^5.2.1": + version "5.2.3" + resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.3.tgz#553ce2fd5acf160b448d307649b38ffc60d39639" + integrity sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw== -"@types/command-line-usage@5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.2.tgz#ba5e3f6ae5a2009d466679cc431b50635bf1a064" - integrity sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg== +"@types/command-line-usage@^5.0.2": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.4.tgz#374e4c62d78fbc5a670a0f36da10235af879a0d5" + integrity sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg== "@types/jsonwebtoken@^9.0.0": version "9.0.6" @@ -1166,11 +1167,6 @@ dependencies: undici-types "~5.26.4" -"@types/node@20.3.0": - version "20.3.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.0.tgz#719498898d5defab83c3560f45d8498f58d11938" - integrity sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ== - "@types/node@^18.11.18": version "18.19.31" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.31.tgz#b7d4a00f7cb826b60a543cebdbda5d189aaecdcd" @@ -1178,10 +1174,12 @@ dependencies: undici-types "~5.26.4" -"@types/pad-left@2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/pad-left/-/pad-left-2.1.1.tgz#17d906fc75804e1cc722da73623f1d978f16a137" - integrity sha512-Xd22WCRBydkGSApl5Bw0PhAOHKSVjNL3E3AwzKaps96IMraPqy5BvZIsBVK6JLwdybUzjHnuWVwpDd0JjTfHXA== +"@types/node@^20.6.0": + version "20.14.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" + integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== + dependencies: + undici-types "~5.26.4" "@types/readable-stream@^4.0.0": version "4.0.14" @@ -1369,21 +1367,20 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -apache-arrow@^14.0.2: - version "14.0.2" - resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-14.0.2.tgz#737f7b8211ef99a2c137dcc9d2001b469efb0344" - integrity sha512-EBO2xJN36/XoY81nhLcwCJgFwkboDZeyNQ+OPsG7bCoQjc2BT0aTyH/MR6SrL+LirSNz+cYqjGRlupMMlP1aEg== - dependencies: - "@types/command-line-args" "5.2.0" - "@types/command-line-usage" "5.0.2" - "@types/node" "20.3.0" - "@types/pad-left" "2.1.1" - command-line-args "5.2.1" - command-line-usage "7.0.1" - flatbuffers "23.5.26" +apache-arrow@^15.0.0: + version "15.0.2" + resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-15.0.2.tgz#d87c6447d64d6fab34aa70119362680b6617ce63" + integrity sha512-RvwlFxLRpO405PLGffx4N2PYLiF7FD86Q1hHl6J2XCWiq+tTCzpb9ngFw0apFDcXZBMpCzMuwAvA7hjyL1/73A== + dependencies: + "@swc/helpers" "^0.5.2" + "@types/command-line-args" "^5.2.1" + "@types/command-line-usage" "^5.0.2" + "@types/node" "^20.6.0" + command-line-args "^5.2.1" + command-line-usage "^7.0.1" + flatbuffers "^23.5.26" json-bignum "^0.0.3" - pad-left "^2.1.0" - tslib "^2.5.3" + tslib "^2.6.2" append-field@^1.0.0: version "1.0.0" @@ -2106,7 +2103,7 @@ command-exists@^1.2.9: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -command-line-args@5.2.1, command-line-args@^5.2.1: +command-line-args@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== @@ -2116,7 +2113,7 @@ command-line-args@5.2.1, command-line-args@^5.2.1: lodash.camelcase "^4.3.0" typical "^4.0.0" -command-line-usage@7.0.1, command-line-usage@^7.0.0: +command-line-usage@^7.0.0, command-line-usage@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-7.0.1.tgz#e540afef4a4f3bc501b124ffde33956309100655" integrity sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ== @@ -3089,16 +3086,16 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatbuffers@23.5.26: - version "23.5.26" - resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-23.5.26.tgz#01358e272a61239f0faf3bfbe4e014f3ace9d746" - integrity sha512-vE+SI9vrJDwi1oETtTIFldC/o9GsVKRM+s6EL0nQgxXlYV1Vc4Tk30hj4xGICftInKQKj1F3up2n8UbIVobISQ== - flatbuffers@^1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-1.12.0.tgz#72e87d1726cb1b216e839ef02658aa87dcef68aa" integrity sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ== +flatbuffers@^23.5.26: + version "23.5.26" + resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-23.5.26.tgz#01358e272a61239f0faf3bfbe4e014f3ace9d746" + integrity sha512-vE+SI9vrJDwi1oETtTIFldC/o9GsVKRM+s6EL0nQgxXlYV1Vc4Tk30hj4xGICftInKQKj1F3up2n8UbIVobISQ== + flatted@^3.2.9: version "3.3.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" @@ -5151,6 +5148,20 @@ openai@4.38.5: node-fetch "^2.6.7" web-streams-polyfill "^3.2.1" +openai@^4.29.2: + version "4.52.1" + resolved "https://registry.yarnpkg.com/openai/-/openai-4.52.1.tgz#44acc362a844fa2927b0cfa1fb70fb51e388af65" + integrity sha512-kv2hevAWZZ3I/vd2t8znGO2rd8wkowncsfcYpo8i+wU9ML+JEcdqiViANXXjWWGjIhajFNixE6gOY1fEgqILAg== + dependencies: + "@types/node" "^18.11.18" + "@types/node-fetch" "^2.6.4" + abort-controller "^3.0.0" + agentkeepalive "^4.2.1" + form-data-encoder "1.7.2" + formdata-node "^4.3.2" + node-fetch "^2.6.7" + web-streams-polyfill "^3.2.1" + openai@^4.32.1: version "4.39.1" resolved "https://registry.yarnpkg.com/openai/-/openai-4.39.1.tgz#619687717e42094927a1977362dd03261a4c4ff3" @@ -5263,13 +5274,6 @@ p-wait-for@3: dependencies: p-timeout "^3.0.0" -pad-left@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pad-left/-/pad-left-2.1.0.tgz#16e6a3b2d44a8e138cb0838cc7cb403a4fc9e994" - integrity sha512-HJxs9K9AztdIQIAIa/OIazRAUW/L6B9hbQDxO4X07roW3eo9XqZc2ur9bn1StH9CnbbI9EgvejHQX7CBpCF1QA== - dependencies: - repeat-string "^1.5.4" - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -5687,6 +5691,11 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +reflect-metadata@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b" + integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== + reflect.getprototypeof@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" @@ -5715,11 +5724,6 @@ regexp.prototype.flags@^1.5.2: es-errors "^1.3.0" set-function-name "^2.0.1" -repeat-string@^1.5.4: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -6424,7 +6428,7 @@ truncate@^3.0.0: resolved "https://registry.yarnpkg.com/truncate/-/truncate-3.0.0.tgz#7dbe19e2f72c614e36b79bab00fbfbeb1cbaf078" integrity sha512-C+0Xojw7wZPl6MDq5UjMTuxZvBPK04mtdFet7k+GSZPINcvLZFCXg+15kWIL4wAqDB7CksIsKiRLbQ1wa7rKdw== -tslib@^2.2.0, tslib@^2.4.0, tslib@^2.5.3, tslib@^2.6.2: +tslib@^2.2.0, tslib@^2.4.0, tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -6641,22 +6645,6 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -vectordb@0.4.11: - version "0.4.11" - resolved "https://registry.yarnpkg.com/vectordb/-/vectordb-0.4.11.tgz#e5b209fc15fb100d8495c132d0e4cc817dc9065a" - integrity sha512-hbN1qO08xdhEpoGecWR6UuvfnNFYDgZLvuEDvgq5nFVbA4er5qXTcEyxjnlTzKsVqFGLlPF+91I+JIigneX24w== - dependencies: - "@apache-arrow/ts" "^14.0.2" - "@neon-rs/load" "^0.0.74" - apache-arrow "^14.0.2" - axios "^1.4.0" - optionalDependencies: - "@lancedb/vectordb-darwin-arm64" "0.4.11" - "@lancedb/vectordb-darwin-x64" "0.4.11" - "@lancedb/vectordb-linux-arm64-gnu" "0.4.11" - "@lancedb/vectordb-linux-x64-gnu" "0.4.11" - "@lancedb/vectordb-win32-x64-msvc" "0.4.11" - vlq@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"