From bec65d08dfcbd1997ff7de90e0cdfcb704305ae4 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Wed, 11 Sep 2024 15:19:15 -0700 Subject: [PATCH] feat: add sqlite vector store --- packages/llamaindex/package.json | 4 + .../src/vector-store/SQLiteVectorStore.ts | 178 +++++++ packages/llamaindex/src/vector-store/index.ts | 1 + .../vector-stores/sqlite-vector-store.test.ts | 50 ++ pnpm-lock.yaml | 475 +++++++++++++++++- 5 files changed, 698 insertions(+), 10 deletions(-) create mode 100644 packages/llamaindex/src/vector-store/SQLiteVectorStore.ts create mode 100644 packages/llamaindex/tests/vector-stores/sqlite-vector-store.test.ts diff --git a/packages/llamaindex/package.json b/packages/llamaindex/package.json index ddd1206f8e..7a3b1be159 100644 --- a/packages/llamaindex/package.json +++ b/packages/llamaindex/package.json @@ -89,10 +89,14 @@ "@notionhq/client": "^2.2.15", "@swc/cli": "^0.4.0", "@swc/core": "^1.7.22", + "@types/better-sqlite3": "^7.6.11", + "better-sqlite3": "^11.3.0", "concurrently": "^8.2.2", "glob": "^11.0.0", "pg": "^8.12.0", "pgvector": "0.2.0", + "sqlite-vec": "0.1.2-alpha.9", + "sqlite3": "^5.1.7", "typescript": "^5.5.4" }, "engines": { diff --git a/packages/llamaindex/src/vector-store/SQLiteVectorStore.ts b/packages/llamaindex/src/vector-store/SQLiteVectorStore.ts new file mode 100644 index 0000000000..aca6b27147 --- /dev/null +++ b/packages/llamaindex/src/vector-store/SQLiteVectorStore.ts @@ -0,0 +1,178 @@ +import { + VectorStoreBase, + type VectorStoreNoEmbedModel, + type VectorStoreQuery, + type VectorStoreQueryResult +} from './types.js'; + +import type { BaseEmbedding } from '@llamaindex/core/embeddings'; +import { + type BaseNode, + Document, + type Metadata, + MetadataMode +} from '@llamaindex/core/schema'; +import { + type StatementResultingChanges, + type SupportedValueType +} from 'node:sqlite'; + +interface Statement { + run ( + ...anonymousParameters: SupportedValueType[] + ): StatementResultingChanges; + + get + ( + ...anonymousParameters: SupportedValueType[] + ): unknown; + + all ( + ...anonymousParameters: SupportedValueType[] + ): unknown[]; +} + +// we use node.js version as standard +type Database = { + close (): void; + exec (sql: string): void; + loadExtension: (path: string) => void; + prepare: (sql: string) => Statement; +}; + +export type SQLiteVectorStoreConfig = { + filename: string; + tableName?: string | undefined; + dimensions?: number | undefined; + embedModel?: BaseEmbedding | undefined; +}; + +/** + * Provides support for writing and querying vector data in SQLite. + */ +export class SQLiteVectorStore + extends VectorStoreBase + implements VectorStoreNoEmbedModel { + storesText: boolean = true; + + readonly tableName: string = 'vector_data'; + readonly dimensions: number = 1536; + private db?: Database; + + public readonly filename: string; + + constructor (config: SQLiteVectorStoreConfig) { + super(config.embedModel); + this.tableName = config.tableName ?? this.tableName; + this.dimensions = config.dimensions ?? this.dimensions; + this.filename = config.filename; + } + + static async fromBetterSqlite3 (filename: string): Promise { + const betterSqlite3 = await import('better-sqlite3'); + const Database = 'default' in betterSqlite3 + ? betterSqlite3.default + : betterSqlite3; + const db = new Database(filename); + const wrapper = { + loadExtension (path: string) { + db.loadExtension(path); + }, + close () { + db.close(); + }, + exec (sql: string) { + db.exec(sql); + }, + prepare (sql: string) { + const statement = db.prepare(sql); + return { + run (...params: SupportedValueType[]) { + return statement.run(...params); + }, + get (...params: SupportedValueType[]) { + return statement.get(...params); + }, + all (...params: SupportedValueType[]) { + return statement.all(...params); + } + }; + } + }; + + const vectorStore = new SQLiteVectorStore( + { filename, embedModel: undefined }); + vectorStore.db = wrapper; + await vectorStore.initializeDatabase(); + return vectorStore; + } + + client (): Database { + if (!this.db) { + throw new Error('Database connection is not initialized.'); + } + return this.db; + } + + async initializeDatabase () { + if (!this.db) { + throw new Error('Database connection is not initialized.'); + } + this.db.prepare(`CREATE TABLE IF NOT EXISTS ${this.tableName} (id INTEGER PRIMARY KEY AUTOINCREMENT, document TEXT, metadata TEXT, embeddings float[${this.dimensions}])`). + run(); + } + + async add (nodes: BaseNode[]): Promise { + if (!this.db) { + throw new Error('Database connection is not initialized.'); + } + + const ids: string[] = []; + + for (const node of nodes) { + this.db.prepare(`INSERT INTO ${this.tableName} (document, metadata, embeddings) VALUES (?, ?, ?)`). + run(node.getContent(MetadataMode.NONE), JSON.stringify(node.metadata), + JSON.stringify(node.embedding)); + } + + return ids; + } + + async delete (id: string): Promise { + if (!this.db) { + throw new Error('Database connection is not initialized.'); + } + + this.db.prepare(`DELETE FROM ${this.tableName} WHERE id = ?`).run(id); + } + + async query (query: VectorStoreQuery): Promise { + if (!this.db) { + throw new Error('Database connection is not initialized.'); + } + + const { queryEmbedding, similarityTopK } = query; + const embedding = JSON.stringify(queryEmbedding); + + const results = this.db.prepare(`SELECT * FROM ${this.tableName} ORDER BY ((embeddings - ?) * (embeddings - ?)) ASC LIMIT ?`). + all(embedding, embedding, similarityTopK); + + const nodes = results.map((row: any) => new Document({ + id_: row.id.toString(), + text: row.document, + metadata: JSON.parse(row.metadata), + embedding: JSON.parse(row.embeddings) + })); + + return { + nodes, + similarities: [], // Calculating similarities would require additional logic + ids: nodes.map(node => node.id_) + }; + } + + persist (persistPath: string): Promise { + // No implementation needed for SQLite as changes are auto-committed + return Promise.resolve(); + } +} \ No newline at end of file diff --git a/packages/llamaindex/src/vector-store/index.ts b/packages/llamaindex/src/vector-store/index.ts index f01bed7a5f..b122c2e9d7 100644 --- a/packages/llamaindex/src/vector-store/index.ts +++ b/packages/llamaindex/src/vector-store/index.ts @@ -8,3 +8,4 @@ export * from "./QdrantVectorStore.js"; export * from "./SimpleVectorStore.js"; export * from "./types.js"; export * from "./WeaviateVectorStore.js"; +export * from './SQLiteVectorStore.js' diff --git a/packages/llamaindex/tests/vector-stores/sqlite-vector-store.test.ts b/packages/llamaindex/tests/vector-stores/sqlite-vector-store.test.ts new file mode 100644 index 0000000000..a4e9d615c6 --- /dev/null +++ b/packages/llamaindex/tests/vector-stores/sqlite-vector-store.test.ts @@ -0,0 +1,50 @@ +import { describe, expect, test } from 'vitest'; +import { + SQLiteVectorStore, + VectorStoreQueryMode +} from 'llamaindex/vector-store'; +import { Document } from '@llamaindex/core/schema'; + +describe("better sqlite3", () => { + test("init from better sqlite3", async () => { + const vectorStore = await SQLiteVectorStore.fromBetterSqlite3('llamaindex_node_test'); + const client = vectorStore.client() + expect(client).toBeDefined(); + client.close(); + }) + + test('add and query', async () => { + const nodes = [ + new Document({ + text: 'hello world', + embedding: [0.1, 0.2, 0.3], + }), + new Document({ + text: 'hello world 2', + embedding: [0.2, 0.3, 0.4], + }), + ] + const vectorStore = await SQLiteVectorStore.fromBetterSqlite3('llamaindex_node_test'); + await vectorStore.add(nodes); + { + const result = await vectorStore.query({ + mode: VectorStoreQueryMode.DEFAULT, + similarityTopK: 1, + queryEmbedding: [0.1, 0.2, 0.3] + }); + expect(result.nodes).toHaveLength(1); + expect(result.ids).toHaveLength(1); + await vectorStore.delete(result.ids[0]!); + } + { + const result = await vectorStore.query({ + mode: VectorStoreQueryMode.DEFAULT, + similarityTopK: 1, + queryEmbedding: [0.1, 0.2, 0.3] + }); + console.log(result); + expect(result.nodes).toHaveLength(0); + expect(result.ids).toHaveLength(0); + } + }) +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9d1561587c..6ec76de68b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -167,7 +167,7 @@ importers: version: link:../packages/llamaindex mongodb: specifier: ^6.7.0 - version: 6.8.0(@aws-sdk/credential-providers@3.637.0) + version: 6.8.0(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3) pathe: specifier: ^1.1.2 version: 1.1.2 @@ -390,7 +390,7 @@ importers: version: 5.3.2(typescript@5.5.4) natural: specifier: ^8.0.1 - version: 8.0.1(@aws-sdk/credential-providers@3.637.0) + version: 8.0.1(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3) python-format-js: specifier: ^1.4.3 version: 1.4.3(patch_hash=th6l7y4oiguwssg6vyt7e3sc3i) @@ -581,7 +581,7 @@ importers: version: 2.0.0 mongodb: specifier: ^6.7.0 - version: 6.8.0(@aws-sdk/credential-providers@3.637.0) + version: 6.8.0(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3) notion-md-crawler: specifier: ^1.0.0 version: 1.0.0(encoding@0.1.13) @@ -631,6 +631,12 @@ importers: '@swc/core': specifier: ^1.7.22 version: 1.7.22(@swc/helpers@0.5.12) + '@types/better-sqlite3': + specifier: ^7.6.11 + version: 7.6.11 + better-sqlite3: + specifier: ^11.3.0 + version: 11.3.0 concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -643,6 +649,12 @@ importers: pgvector: specifier: 0.2.0 version: 0.2.0 + sqlite-vec: + specifier: 0.1.2-alpha.9 + version: 0.1.2-alpha.9 + sqlite3: + specifier: ^5.1.7 + version: 5.1.7 typescript: specifier: ^5.5.4 version: 5.5.4 @@ -2714,6 +2726,9 @@ packages: '@fastify/deepmerge@1.3.0': resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + '@google-cloud/vertexai@1.2.0': resolution: {integrity: sha512-EH0dnoMRIBQzJEEOUWN03eWPSdLBFdsZA/am3eU+qYrnNyY9okUueOajZd79U48KwgFbqoFrCA9yHQ30DgfD8Q==} engines: {node: '>=18.0.0'} @@ -3107,6 +3122,14 @@ packages: resolution: {integrity: sha512-XhdSY/4B1D34tSco/GION+23GMjaS9S2zszcqYkMHo8RcWInymF6L1x+Gk7EmHdrSxNFva2WM8orhC4BwQCwgw==} engines: {node: '>=12'} + '@npmcli/fs@1.1.1': + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + + '@npmcli/move-file@1.1.2': + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -3877,6 +3900,10 @@ packages: '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -3915,6 +3942,9 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/better-sqlite3@7.6.11': + resolution: {integrity: sha512-i8KcD3PgGtGBLl3+mMYA8PdKkButvPyARxA7IQAd6qeslht13qxb1zzO8dRCtE7U3IoJS782zDBAeoKiM695kg==} + '@types/body-parser@1.19.5': resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -4553,6 +4583,11 @@ packages: engines: {node: '>=10'} deprecated: This package is no longer supported. + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -4738,6 +4773,9 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} + better-sqlite3@11.3.0: + resolution: {integrity: sha512-iHt9j8NPYF3oKCNOO5ZI4JwThjt3Z6J6XrcwG85VNMVzv1ByqrHWv5VILEbCMFWDsoHhXvQ7oC8vgRXFAKgl9w==} + big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -4764,6 +4802,9 @@ packages: resolution: {integrity: sha512-0GZrojJnuhoe+hiwji7QFaL3tBlJoA+KFUN7ouYSDGZLSo9CKM8swQX8n/UcbR0d1VuZKU+nhogNzv423JEu5A==} hasBin: true + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + birpc@0.2.14: resolution: {integrity: sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==} @@ -4866,6 +4907,10 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} @@ -5782,10 +5827,17 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -6216,6 +6268,9 @@ packages: resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + filename-reserved-regex@3.0.0: resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6417,6 +6472,11 @@ packages: engines: {node: '>=10'} deprecated: This package is no longer supported. + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + gaxios@6.7.1: resolution: {integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==} engines: {node: '>=14'} @@ -6772,6 +6832,10 @@ packages: http-parser-js@0.5.8: resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -6877,6 +6941,9 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + infima@0.2.0-alpha.44: resolution: {integrity: sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ==} engines: {node: '>=12'} @@ -6918,6 +6985,10 @@ packages: invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -7054,6 +7125,9 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -7295,6 +7369,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -7593,6 +7670,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + lru-cache@9.1.2: resolution: {integrity: sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==} engines: {node: 14 || >=16.14} @@ -7628,6 +7709,10 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} + make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + mammoth@1.8.0: resolution: {integrity: sha512-pJNfxSk9IEGVpau+tsZFz22ofjUsl2mnA5eT8PjPs2n0BP+rhVte4Nez6FdgEuxv3IGI3afiV46ImKqTGDVlbA==} engines: {node: '>=12.0.0'} @@ -7963,6 +8048,26 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@1.4.1: + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -8193,6 +8298,9 @@ packages: node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -8221,6 +8329,11 @@ packages: resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} hasBin: true + node-gyp@8.4.1: + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} + hasBin: true + node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -8272,6 +8385,11 @@ packages: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} @@ -9113,6 +9231,18 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -9534,6 +9664,10 @@ packages: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} @@ -9839,12 +9973,24 @@ packages: resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} engines: {node: '>=18'} + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + sonner@1.5.0: resolution: {integrity: sha512-FBjhG/gnnbN6FY0jaNnqZOMmB73R+5IiyYAw8yBj7L54ER7HB3fOSE5OFiQiE2iXWxeXKvg6fIP4LtVppHEdJA==} peerDependencies: @@ -9911,10 +10057,43 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + sqlite-vec-darwin-arm64@0.1.2-alpha.9: + resolution: {integrity: sha512-UZkWKMrUD7D2ncYsyPgFAFNroPEQkormT/2GFKE5x4gMBIelQDx8eVBekzm3dtVVoFJI+7ngOa6uXeyGQghxoA==} + cpu: [arm64] + os: [darwin] + + sqlite-vec-darwin-x64@0.1.2-alpha.9: + resolution: {integrity: sha512-Zysmr362eXwnNJSFVPiE/PBzClF6wHf0THBqVMzN/Pi0ctyVW9gwfRgpL+BwGarhJuZMxpF/aNgsr5t4Pvi1mw==} + cpu: [x64] + os: [darwin] + + sqlite-vec-linux-x64@0.1.2-alpha.9: + resolution: {integrity: sha512-XKmYomypkD/Kgmo/LoBTOcxUx1v4iBDW4rKdUdhBxjtjerstwxh7fZeJlr3nBkEnSNC24ytDQbbP/EVE6EqXnQ==} + cpu: [x64] + os: [linux] + + sqlite-vec-windows-x64@0.1.2-alpha.9: + resolution: {integrity: sha512-XxsMiqM0i0Rv8cl/U4s7xjD7AVarpSKo8TbhUZtQbrNyFW38DfR4UiA+0jioTemYkMgJu3EWqjnmJACpE0RjcA==} + cpu: [x64] + os: [windows] + + sqlite-vec@0.1.2-alpha.9: + resolution: {integrity: sha512-Bf+umiD4nadZY/S3ZHkUEY9eeBCsxAxndRMZhA0KjYS+CkpqPeyumCxZVnDemND97/XZKmxuvmPN3bxD4633Jg==} + + sqlite3@5.1.7: + resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} + srcset@4.0.0: resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} engines: {node: '>=12'} + ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + sswr@2.1.0: resolution: {integrity: sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==} peerDependencies: @@ -10552,6 +10731,12 @@ packages: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} engines: {node: '>= 0.8.0'} + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} @@ -14045,6 +14230,9 @@ snapshots: '@fastify/deepmerge@1.3.0': {} + '@gar/promisify@1.1.3': + optional: true + '@google-cloud/vertexai@1.2.0(encoding@0.1.13)': dependencies: google-auth-library: 9.14.0(encoding@0.1.13) @@ -14424,6 +14612,18 @@ snapshots: transitivePeerDependencies: - encoding + '@npmcli/fs@1.1.1': + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.6.3 + optional: true + + '@npmcli/move-file@1.1.2': + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + optional: true + '@opentelemetry/api@1.9.0': {} '@petamoriken/float16@3.8.7': {} @@ -15236,6 +15436,9 @@ snapshots: '@tokenizer/token@0.3.0': {} + '@tootallnate/once@1.1.2': + optional: true + '@trysound/sax@0.2.0': {} '@ts-graphviz/adapter@2.0.3': @@ -15280,6 +15483,10 @@ snapshots: dependencies: '@babel/types': 7.25.6 + '@types/better-sqlite3@7.6.11': + dependencies: + '@types/node': 22.5.1 + '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 @@ -16088,6 +16295,12 @@ snapshots: readable-stream: 3.6.2 optional: true + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + optional: true + arg@5.0.2: {} argparse@1.0.10: @@ -16315,6 +16528,11 @@ snapshots: dependencies: is-windows: 1.0.2 + better-sqlite3@11.3.0: + dependencies: + bindings: 1.5.0 + prebuild-install: 7.1.2 + big.js@5.2.2: {} bignumber.js@9.1.2: {} @@ -16339,6 +16557,10 @@ snapshots: binaryen@116.0.0-nightly.20240114: {} + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + birpc@0.2.14: {} bl@4.1.0: @@ -16485,6 +16707,30 @@ snapshots: cac@6.7.14: {} + cacache@15.3.0: + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.2.1 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + optional: true + cacheable-lookup@5.0.4: {} cacheable-lookup@7.0.0: {} @@ -17460,8 +17706,14 @@ snapshots: entities@4.5.0: {} + env-paths@2.2.1: + optional: true + environment@1.1.0: {} + err-code@2.0.3: + optional: true + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -18195,6 +18447,8 @@ snapshots: strtok3: 7.1.0 token-types: 5.0.1 + file-uri-to-path@1.0.0: {} + filename-reserved-regex@3.0.0: {} filenamify@5.1.1: @@ -18425,6 +18679,18 @@ snapshots: wide-align: 1.1.5 optional: true + gauge@4.0.4: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + optional: true + gaxios@6.7.1(encoding@0.1.13): dependencies: extend: 3.0.2 @@ -18943,6 +19209,15 @@ snapshots: http-parser-js@0.5.8: {} + http-proxy-agent@4.0.1: + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.6 + transitivePeerDependencies: + - supports-color + optional: true + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 @@ -19061,6 +19336,9 @@ snapshots: indent-string@4.0.0: {} + infer-owner@1.0.4: + optional: true + infima@0.2.0-alpha.44: {} inflight@1.0.6: @@ -19096,6 +19374,12 @@ snapshots: dependencies: loose-envify: 1.4.0 + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + optional: true + ipaddr.js@1.9.1: {} ipaddr.js@2.2.0: {} @@ -19214,6 +19498,9 @@ snapshots: is-interactive@2.0.0: {} + is-lambda@1.0.1: + optional: true + is-map@2.0.3: {} is-module@1.0.0: {} @@ -19425,6 +19712,9 @@ snapshots: dependencies: argparse: 2.0.1 + jsbn@1.1.0: + optional: true + jsesc@0.5.0: {} jsesc@2.5.2: {} @@ -19751,6 +20041,11 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + optional: true + lru-cache@9.1.2: {} lucide-react@0.436.0(react@18.3.1): @@ -19793,6 +20088,29 @@ snapshots: semver: 6.3.1 optional: true + make-fetch-happen@9.1.0: + dependencies: + agentkeepalive: 4.5.0 + cacache: 15.3.0 + http-cache-semantics: 4.1.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 1.4.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 6.2.1 + ssri: 8.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + mammoth@1.8.0: dependencies: '@xmldom/xmldom': 0.8.10 @@ -20432,6 +20750,35 @@ snapshots: minimist@1.2.8: {} + minipass-collect@1.0.2: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-fetch@1.4.1: + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + optional: true + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 + optional: true + minipass@3.3.6: dependencies: yallist: 4.0.0 @@ -20477,27 +20824,29 @@ snapshots: '@types/whatwg-url': 11.0.5 whatwg-url: 13.0.0 - mongodb@6.7.0(@aws-sdk/credential-providers@3.637.0): + mongodb@6.7.0(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3): dependencies: '@mongodb-js/saslprep': 1.1.7 bson: 6.8.0 mongodb-connection-string-url: 3.0.1 optionalDependencies: '@aws-sdk/credential-providers': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0)) + socks: 2.8.3 - mongodb@6.8.0(@aws-sdk/credential-providers@3.637.0): + mongodb@6.8.0(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3): dependencies: '@mongodb-js/saslprep': 1.1.7 bson: 6.8.0 mongodb-connection-string-url: 3.0.1 optionalDependencies: '@aws-sdk/credential-providers': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0)) + socks: 2.8.3 - mongoose@8.5.1(@aws-sdk/credential-providers@3.637.0): + mongoose@8.5.1(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3): dependencies: bson: 6.8.0 kareem: 2.6.3 - mongodb: 6.7.0(@aws-sdk/credential-providers@3.637.0) + mongodb: 6.7.0(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3) mpath: 0.9.0 mquery: 5.0.0 ms: 2.1.3 @@ -20554,7 +20903,7 @@ snapshots: natural-compare@1.4.0: {} - natural@8.0.1(@aws-sdk/credential-providers@3.637.0): + natural@8.0.1(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3): dependencies: afinn-165: 1.0.4 afinn-165-financialmarketnews: 3.0.0 @@ -20562,7 +20911,7 @@ snapshots: dotenv: 16.4.5 http-server: 14.1.1 memjs: 1.3.2 - mongoose: 8.5.1(@aws-sdk/credential-providers@3.637.0) + mongoose: 8.5.1(@aws-sdk/credential-providers@3.637.0)(socks@2.8.3) pg: 8.12.0 redis: 4.6.15 safe-stable-stringify: 2.4.3 @@ -20700,6 +21049,8 @@ snapshots: node-addon-api@6.1.0: {} + node-addon-api@7.1.1: {} + node-domexception@1.0.0: {} node-emoji@2.1.3: @@ -20722,6 +21073,23 @@ snapshots: node-gyp-build@4.8.1: optional: true + node-gyp@8.4.1: + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 9.1.0 + nopt: 5.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.6.3 + tar: 6.2.1 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + node-releases@2.0.18: {} node-source-walk@7.0.0: @@ -20770,6 +21138,14 @@ snapshots: set-blocking: 2.0.0 optional: true + npmlog@6.0.2: + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + optional: true + nprogress@0.2.0: {} nth-check@2.1.1: @@ -21632,6 +22008,15 @@ snapshots: process@0.11.10: {} + promise-inflight@1.0.1: + optional: true + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + optional: true + prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -22190,6 +22575,9 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 + retry@0.12.0: + optional: true + retry@0.13.1: {} reusify@1.0.4: {} @@ -22357,7 +22745,7 @@ snapshots: semver-truncate@3.0.0: dependencies: - semver: 7.6.2 + semver: 7.6.3 semver@6.3.1: {} @@ -22580,6 +22968,9 @@ snapshots: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 + smart-buffer@4.2.0: + optional: true + snake-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -22591,6 +22982,21 @@ snapshots: uuid: 8.3.2 websocket-driver: 0.7.4 + socks-proxy-agent@6.2.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.6 + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + optional: true + + socks@2.8.3: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + optional: true + sonner@1.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 @@ -22659,8 +23065,47 @@ snapshots: sprintf-js@1.0.3: {} + sprintf-js@1.1.3: + optional: true + + sqlite-vec-darwin-arm64@0.1.2-alpha.9: + optional: true + + sqlite-vec-darwin-x64@0.1.2-alpha.9: + optional: true + + sqlite-vec-linux-x64@0.1.2-alpha.9: + optional: true + + sqlite-vec-windows-x64@0.1.2-alpha.9: + optional: true + + sqlite-vec@0.1.2-alpha.9: + optionalDependencies: + sqlite-vec-darwin-arm64: 0.1.2-alpha.9 + sqlite-vec-darwin-x64: 0.1.2-alpha.9 + sqlite-vec-linux-x64: 0.1.2-alpha.9 + sqlite-vec-windows-x64: 0.1.2-alpha.9 + + sqlite3@5.1.7: + dependencies: + bindings: 1.5.0 + node-addon-api: 7.1.1 + prebuild-install: 7.1.2 + tar: 6.2.1 + optionalDependencies: + node-gyp: 8.4.1 + transitivePeerDependencies: + - bluebird + - supports-color + srcset@4.0.0: {} + ssri@8.0.1: + dependencies: + minipass: 3.3.6 + optional: true + sswr@2.1.0(svelte@4.2.19): dependencies: svelte: 4.2.19 @@ -23342,6 +23787,16 @@ snapshots: dependencies: qs: 6.11.2 + unique-filename@1.1.1: + dependencies: + unique-slug: 2.0.2 + optional: true + + unique-slug@2.0.2: + dependencies: + imurmurhash: 0.1.4 + optional: true + unique-string@3.0.0: dependencies: crypto-random-string: 4.0.0