diff --git a/core/embedjs-interfaces/package.json b/core/embedjs-interfaces/package.json index 5474b959..cb324f25 100644 --- a/core/embedjs-interfaces/package.json +++ b/core/embedjs-interfaces/package.json @@ -1,6 +1,6 @@ { "name": "@llm-tools/embedjs-interfaces", - "version": "0.1.22", + "version": "0.1.23", "description": "Interfaces for extending the embedjs ecosystem", "dependencies": { "@langchain/core": "^0.3.19", diff --git a/core/embedjs-interfaces/src/interfaces/base-embeddings.ts b/core/embedjs-interfaces/src/interfaces/base-embeddings.ts index 541c1131..eab5e60c 100644 --- a/core/embedjs-interfaces/src/interfaces/base-embeddings.ts +++ b/core/embedjs-interfaces/src/interfaces/base-embeddings.ts @@ -1,5 +1,8 @@ -export interface BaseEmbeddings { - embedDocuments(texts: string[]): Promise; - embedQuery(text: string): Promise; - getDimensions(): Promise; +export abstract class BaseEmbeddings { + // eslint-disable-next-line @typescript-eslint/no-empty-function + public async init(): Promise {} + + public abstract embedDocuments(texts: string[]): Promise; + public abstract embedQuery(text: string): Promise; + public abstract getDimensions(): Promise; } diff --git a/core/embedjs-utils/package.json b/core/embedjs-utils/package.json index 5e1eb5a5..97cf092a 100644 --- a/core/embedjs-utils/package.json +++ b/core/embedjs-utils/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-utils", - "version": "0.1.22", + "version": "0.1.23", "description": "Useful util functions when extending the embedjs ecosystem", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22" + "@llm-tools/embedjs-interfaces": "0.1.23" }, "type": "module", "main": "./src/index.js", diff --git a/core/embedjs/package.json b/core/embedjs/package.json index aa2d7656..0617d4f5 100644 --- a/core/embedjs/package.json +++ b/core/embedjs/package.json @@ -1,12 +1,12 @@ { "type": "module", "name": "@llm-tools/embedjs", - "version": "0.1.22", + "version": "0.1.23", "description": "A NodeJS RAG framework to easily work with LLMs and custom datasets", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7", "langchain": "^0.3.6", "md5": "^2.3.0", diff --git a/core/embedjs/src/core/rag-application.ts b/core/embedjs/src/core/rag-application.ts index de8c2e0c..1e93c987 100644 --- a/core/embedjs/src/core/rag-application.ts +++ b/core/embedjs/src/core/rag-application.ts @@ -44,8 +44,6 @@ export class RAGApplication { this.searchResultCount = llmBuilder.getSearchResultCount(); this.embeddingRelevanceCutOff = llmBuilder.getEmbeddingRelevanceCutOff(); - - RAGEmbedding.init(llmBuilder.getEmbeddingModel()); } /** @@ -57,6 +55,8 @@ export class RAGApplication { * LLM based on the configuration provided */ public async init(llmBuilder: RAGApplicationBuilder) { + await RAGEmbedding.init(llmBuilder.getEmbeddingModel()); + this.model = await this.getModel(llmBuilder.getModel()); if (!this.model) this.debug('No base model set; query function unavailable!'); else BaseModel.setDefaultTemperature(llmBuilder.getTemperature()); diff --git a/core/embedjs/src/core/rag-embedding.ts b/core/embedjs/src/core/rag-embedding.ts index 4d876371..d303ea41 100644 --- a/core/embedjs/src/core/rag-embedding.ts +++ b/core/embedjs/src/core/rag-embedding.ts @@ -4,8 +4,9 @@ import { Document } from 'langchain/document'; export class RAGEmbedding { private static singleton: RAGEmbedding; - public static init(embeddingModel: BaseEmbeddings) { + public static async init(embeddingModel: BaseEmbeddings) { if (!this.singleton) { + await embeddingModel.init(); this.singleton = new RAGEmbedding(embeddingModel); } } diff --git a/databases/embedjs-astra/package.json b/databases/embedjs-astra/package.json index 4ec0d0f7..049c227b 100644 --- a/databases/embedjs-astra/package.json +++ b/databases/embedjs-astra/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-astradb", - "version": "0.1.22", + "version": "0.1.23", "description": "Add AstraDB support to embedjs", "dependencies": { "@datastax/astra-db-ts": "^1.5.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/databases/embedjs-cosmos/package.json b/databases/embedjs-cosmos/package.json index 80a4e143..e64d9ad5 100644 --- a/databases/embedjs-cosmos/package.json +++ b/databases/embedjs-cosmos/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-cosmos", - "version": "0.1.22", + "version": "0.1.23", "description": "Add CosmosDB support to embedjs", "dependencies": { "@azure/cosmos": "^4.2.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/databases/embedjs-hnswlib/package.json b/databases/embedjs-hnswlib/package.json index 1c7c3247..845eb3e2 100644 --- a/databases/embedjs-hnswlib/package.json +++ b/databases/embedjs-hnswlib/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-hnswlib", - "version": "0.1.22", + "version": "0.1.23", "description": "Add HNSWLib support to embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "hnswlib-node": "^3.0.0" }, diff --git a/databases/embedjs-lancedb/package.json b/databases/embedjs-lancedb/package.json index 65140350..1f79a3c1 100644 --- a/databases/embedjs-lancedb/package.json +++ b/databases/embedjs-lancedb/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-lancedb", - "version": "0.1.22", + "version": "0.1.23", "description": "Add LanceDb support to embedjs", "dependencies": { "@lancedb/lancedb": "^0.13.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "compute-cosine-similarity": "^1.1.0", "debug": "^4.3.7" }, diff --git a/databases/embedjs-libsql/package.json b/databases/embedjs-libsql/package.json index 913b5092..78ae45e8 100644 --- a/databases/embedjs-libsql/package.json +++ b/databases/embedjs-libsql/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-libsql", - "version": "0.1.22", + "version": "0.1.23", "description": "Add LibSQL support to embedjs", "dependencies": { "@libsql/client": "^0.14.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/databases/embedjs-libsql/src/libsql-store.ts b/databases/embedjs-libsql/src/libsql-store.ts index 1472a86f..d353fa0b 100644 --- a/databases/embedjs-libsql/src/libsql-store.ts +++ b/databases/embedjs-libsql/src/libsql-store.ts @@ -116,13 +116,17 @@ export class LibSqlStore implements BaseStore { } async loaderCustomSet>(loaderId: string, key: string, value: T): Promise { + this.debug(`LibSQL custom set '${key}' with values`, value); await this.loaderCustomDelete(key); - await this.client.execute({ + this.debug(`LibSQL custom set '${key}' insert started`); + const results = await this.client.execute({ sql: `INSERT INTO ${this.loadersCustomDataTableName} (key, loaderId, value) VALUES (?, ?, ?)`, args: [key, loaderId, JSON.stringify(value)], }); + + this.debug(`LibSQL custom set for key '${key}' resulted in`, results.rows); } async loaderCustomGet>(key: string): Promise { @@ -144,10 +148,15 @@ export class LibSqlStore implements BaseStore { } async loaderCustomDelete(key: string): Promise { - await this.client.execute(`DELETE FROM ${this.loadersCustomDataTableName} WHERE key = '${key}';`); + this.debug(`LibSQL custom delete '${key}'`); + const results = await this.client.execute( + `DELETE FROM ${this.loadersCustomDataTableName} WHERE key = '${key}';`, + ); + this.debug(`LibSQL custom delete for key '${key}' resulted in`, results.rowsAffected); } async deleteLoaderMetadataAndCustomValues(loaderId: string): Promise { + this.debug(`LibSQL deleteLoaderMetadataAndCustomValues for loader '${loaderId}'`); await this.client.execute(`DELETE FROM ${this.loadersTableName} WHERE id = '${loaderId}';`); await this.client.execute(`DELETE FROM ${this.loadersCustomDataTableName} WHERE loaderId = '${loaderId}';`); } diff --git a/databases/embedjs-lmdb/package.json b/databases/embedjs-lmdb/package.json index 35945283..9d375396 100644 --- a/databases/embedjs-lmdb/package.json +++ b/databases/embedjs-lmdb/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-lmdb", - "version": "0.1.22", + "version": "0.1.23", "description": "Add LMDB support to embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "lmdb": "^3.1.6" }, diff --git a/databases/embedjs-mongodb/package.json b/databases/embedjs-mongodb/package.json index eada7230..cf0b585e 100644 --- a/databases/embedjs-mongodb/package.json +++ b/databases/embedjs-mongodb/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-mongodb", - "version": "0.1.22", + "version": "0.1.23", "description": "Add MongoDB support to embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "mongodb": "^6.11.0" }, diff --git a/databases/embedjs-pinecone/package.json b/databases/embedjs-pinecone/package.json index 10762677..e4c78538 100644 --- a/databases/embedjs-pinecone/package.json +++ b/databases/embedjs-pinecone/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-pinecone", - "version": "0.1.22", + "version": "0.1.23", "description": "Add Pinecone support to embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "@pinecone-database/pinecone": "^4.0.0", "debug": "^4.3.7" }, diff --git a/databases/embedjs-qdrant/package.json b/databases/embedjs-qdrant/package.json index d140bde4..52555983 100644 --- a/databases/embedjs-qdrant/package.json +++ b/databases/embedjs-qdrant/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-qdrant", - "version": "0.1.22", + "version": "0.1.23", "description": "Add Qdrant support to embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "@qdrant/js-client-rest": "^1.12.0", "debug": "^4.3.7", "uuid": "^11.0.3" diff --git a/databases/embedjs-redis/package.json b/databases/embedjs-redis/package.json index 6ef73159..584f2eb5 100644 --- a/databases/embedjs-redis/package.json +++ b/databases/embedjs-redis/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-redis", - "version": "0.1.22", + "version": "0.1.23", "description": "Add Redis support to embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "ioredis": "^5.4.1" }, "type": "module", diff --git a/databases/embedjs-weaviate/package.json b/databases/embedjs-weaviate/package.json index f3fe7595..3dff4ca9 100644 --- a/databases/embedjs-weaviate/package.json +++ b/databases/embedjs-weaviate/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-weaviate", - "version": "0.1.22", + "version": "0.1.23", "description": "Add Weaviate support to embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "compute-cosine-similarity": "^1.1.0", "debug": "^4.3.7", "weaviate-ts-client": "^2.2.0" diff --git a/examples/confluence/src/main.ts b/examples/confluence/src/main.ts index 637629ec..ff9b3386 100644 --- a/examples/confluence/src/main.ts +++ b/examples/confluence/src/main.ts @@ -1,13 +1,16 @@ import 'dotenv/config'; +import path from 'node:path'; import { RAGApplicationBuilder } from '@llm-tools/embedjs'; +import { LibSqlDb, LibSqlStore } from '@llm-tools/embedjs-libsql'; import { OpenAi, OpenAiEmbeddings } from '@llm-tools/embedjs-openai'; import { ConfluenceLoader } from '@llm-tools/embedjs-loader-confluence'; -import { HNSWDb } from '@llm-tools/embedjs-hnswlib'; +const databasePath = path.resolve('./examples/confluence/data.db'); const llmApplication = await new RAGApplicationBuilder() + .setStore(new LibSqlStore({ path: databasePath })) + .setVectorDatabase(new LibSqlDb({ path: databasePath })) .setModel(new OpenAi({ modelName: 'gpt-4o' })) .setEmbeddingModel(new OpenAiEmbeddings()) - .setVectorDatabase(new HNSWDb()) .build(); await llmApplication.addLoader(new ConfluenceLoader({ spaceNames: ['DEMO'] })); diff --git a/loaders/embedjs-loader-confluence/package.json b/loaders/embedjs-loader-confluence/package.json index 4aec537c..7e7731e5 100644 --- a/loaders/embedjs-loader-confluence/package.json +++ b/loaders/embedjs-loader-confluence/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-loader-confluence", - "version": "0.1.22", + "version": "0.1.23", "description": "Confluence loader for embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-loader-web": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-loader-web": "0.1.23", "confluence.js": "^1.7.4", "debug": "^4.3.7", "md5": "^2.3.0" diff --git a/loaders/embedjs-loader-confluence/src/confluence-loader.ts b/loaders/embedjs-loader-confluence/src/confluence-loader.ts index b2330273..e77c7ce6 100644 --- a/loaders/embedjs-loader-confluence/src/confluence-loader.ts +++ b/loaders/embedjs-loader-confluence/src/confluence-loader.ts @@ -63,12 +63,13 @@ export class ConfluenceLoader extends BaseLoader<{ type: 'ConfluenceLoader' }, { private async *processSpace(spaceKey: string) { this.debug('Processing space', spaceKey); + try { const spaceContent = await this.confluence.space.getContentForSpace({ spaceKey }); this.debug(`Confluence space '${spaceKey}' has '${spaceContent['page'].results.length}' root pages`); - for (const { id } of spaceContent['page'].results) { - for await (const result of this.processPage(id)) { + for (const { id, title } of spaceContent['page'].results) { + for await (const result of this.processPage(id, title)) { yield result; } } @@ -78,8 +79,10 @@ export class ConfluenceLoader extends BaseLoader<{ type: 'ConfluenceLoader' }, { } } - private async *processPage(pageId: string) { + private async *processPage(pageId: string, title: string) { + this.debug('Processing page', title); let confluenceVersion = 0; + try { const spaceProperties = await this.confluence.content.getContentById({ id: pageId, @@ -89,29 +92,29 @@ export class ConfluenceLoader extends BaseLoader<{ type: 'ConfluenceLoader' }, { if (!spaceProperties.version.number) throw new Error('Version number not found in space properties...'); confluenceVersion = spaceProperties.version.number; } catch (e) { - this.debug('Could not get page properties. Page will be SKIPPED!', pageId, e.response); + this.debug('Could not get page properties. Page will be SKIPPED!', title, e.response); return; } let doProcess = false; if (!(await this.checkInCache(pageId))) { - this.debug(`Processing '${pageId}' for the FIRST time...`); + this.debug(`Processing '${title}' for the FIRST time...`); doProcess = true; } else { const cacheVersion = (await this.getFromCache(pageId)).version; if (cacheVersion !== confluenceVersion) { this.debug( - `For page '${pageId}' - version in cache is ${cacheVersion} and confluence version is ${confluenceVersion}. This page will be PROCESSED.`, + `For page '${title}' - version in cache is ${cacheVersion} and confluence version is ${confluenceVersion}. This page will be PROCESSED.`, ); doProcess = true; } else this.debug( - `For page '${pageId}' - version in cache and confluence are the same ${confluenceVersion}. This page will be SKIPPED.`, + `For page '${title}' - version in cache and confluence are the same ${confluenceVersion}. This page will be SKIPPED.`, ); } if (!doProcess) { - this.debug(`Skipping page '${pageId}'`); + this.debug(`Skipping page '${title}'`); return; } @@ -126,6 +129,7 @@ export class ConfluenceLoader extends BaseLoader<{ type: 'ConfluenceLoader' }, { return; } + this.debug(`Processing content for page '${title}'...`); for await (const result of this.getContentChunks(content.body.view.value, content._links.webui)) { yield result; } @@ -133,14 +137,19 @@ export class ConfluenceLoader extends BaseLoader<{ type: 'ConfluenceLoader' }, { await this.saveToCache(pageId, { version: confluenceVersion }); if (content.children) { - for (const { id } of content.children.page.results) { - for await (const result of this.processPage(id)) { - yield result; + for (const { id, title } of content.children.page.results) { + try { + for await (const result of this.processPage(id, title)) { + yield result; + } + } catch (e) { + this.debug(`Error! Could not process page child '${title}'`, pageId, e); + return; } } } } catch (e) { - this.debug('Error! Could not process page content or children', pageId, e); + this.debug('Error! Could not process page content', pageId, e); return; } } diff --git a/loaders/embedjs-loader-csv/package.json b/loaders/embedjs-loader-csv/package.json index 3165c9a8..993e5039 100644 --- a/loaders/embedjs-loader-csv/package.json +++ b/loaders/embedjs-loader-csv/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-loader-csv", - "version": "0.1.22", + "version": "0.1.23", "description": "CSV loader for embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "csv-parse": "^5.6.0", "debug": "^4.3.7", "md5": "^2.3.0" diff --git a/loaders/embedjs-loader-markdown/package.json b/loaders/embedjs-loader-markdown/package.json index d0274355..60ff0fb2 100644 --- a/loaders/embedjs-loader-markdown/package.json +++ b/loaders/embedjs-loader-markdown/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-loader-markdown", - "version": "0.1.22", + "version": "0.1.23", "description": "XML loader for embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-loader-web": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-loader-web": "0.1.23", "debug": "^4.3.7", "md5": "^2.3.0", "micromark": "^4.0.1", diff --git a/loaders/embedjs-loader-msoffice/package.json b/loaders/embedjs-loader-msoffice/package.json index ddec8455..1450113e 100644 --- a/loaders/embedjs-loader-msoffice/package.json +++ b/loaders/embedjs-loader-msoffice/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-loader-msoffice", - "version": "0.1.22", + "version": "0.1.23", "description": "Word, PPT and Excel loader for embedjs", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "md5": "^2.3.0", "office-text-extractor": "^3.0.3" }, diff --git a/loaders/embedjs-loader-pdf/package.json b/loaders/embedjs-loader-pdf/package.json index 75caed91..5b77abc2 100644 --- a/loaders/embedjs-loader-pdf/package.json +++ b/loaders/embedjs-loader-pdf/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-loader-pdf", - "version": "0.1.22", + "version": "0.1.23", "description": "PDF loader for embedjs", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "md5": "^2.3.0", "office-text-extractor": "^3.0.3" }, diff --git a/loaders/embedjs-loader-sitemap/package.json b/loaders/embedjs-loader-sitemap/package.json index dee5181e..efb9645c 100644 --- a/loaders/embedjs-loader-sitemap/package.json +++ b/loaders/embedjs-loader-sitemap/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-loader-sitemap", - "version": "0.1.22", + "version": "0.1.23", "description": "Sitemap recursive loader for embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-loader-web": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-loader-web": "0.1.23", "debug": "^4.3.7", "md5": "^2.3.0", "sitemapper": "^3.2.18" diff --git a/loaders/embedjs-loader-web/package.json b/loaders/embedjs-loader-web/package.json index 172d14a3..6facffd3 100644 --- a/loaders/embedjs-loader-web/package.json +++ b/loaders/embedjs-loader-web/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-loader-web", - "version": "0.1.22", + "version": "0.1.23", "description": "Web page loader for embedjs", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7", "html-to-text": "^9.0.5", "md5": "^2.3.0" diff --git a/loaders/embedjs-loader-xml/package.json b/loaders/embedjs-loader-xml/package.json index 4a8e9a1d..cdde442a 100644 --- a/loaders/embedjs-loader-xml/package.json +++ b/loaders/embedjs-loader-xml/package.json @@ -1,9 +1,9 @@ { "name": "@llm-tools/embedjs-loader-xml", - "version": "0.1.22", + "version": "0.1.23", "description": "XML loader for embedjs", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "fast-xml-parser": "^4.5.0", "md5": "^2.3.0" diff --git a/loaders/embedjs-loader-youtube/package.json b/loaders/embedjs-loader-youtube/package.json index 3c28c8cb..abf908dc 100644 --- a/loaders/embedjs-loader-youtube/package.json +++ b/loaders/embedjs-loader-youtube/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-loader-youtube", - "version": "0.1.22", + "version": "0.1.23", "description": "Youtube transcript and channel recursive loader for embedjs", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7", "md5": "^2.3.0", "usetube": "^2.2.7", diff --git a/models/embedjs-anthropic/package.json b/models/embedjs-anthropic/package.json index 98b8f06c..eeedd863 100644 --- a/models/embedjs-anthropic/package.json +++ b/models/embedjs-anthropic/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-anthropic", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of Anthropic models with embedjs", "dependencies": { "@langchain/anthropic": "^0.3.8", "@langchain/core": "^0.3.19", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/models/embedjs-cohere/package.json b/models/embedjs-cohere/package.json index 8fc7f680..07040829 100644 --- a/models/embedjs-cohere/package.json +++ b/models/embedjs-cohere/package.json @@ -1,10 +1,10 @@ { "name": "@llm-tools/embedjs-cohere", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of Cohere models with embedjs", "dependencies": { "@langchain/cohere": "^0.3.1", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "cohere-ai": "^7.14.0" }, "type": "module", diff --git a/models/embedjs-cohere/src/cohere-embeddings.ts b/models/embedjs-cohere/src/cohere-embeddings.ts index 5bb7d5db..baa058fc 100644 --- a/models/embedjs-cohere/src/cohere-embeddings.ts +++ b/models/embedjs-cohere/src/cohere-embeddings.ts @@ -1,10 +1,12 @@ import { CohereEmbeddings as LangChainCohereEmbeddings } from '@langchain/cohere'; import { BaseEmbeddings } from '@llm-tools/embedjs-interfaces'; -export class CohereEmbeddings implements BaseEmbeddings { +export class CohereEmbeddings extends BaseEmbeddings { private model: LangChainCohereEmbeddings; constructor() { + super(); + this.model = new LangChainCohereEmbeddings({ model: 'embed-english-v2.0', maxConcurrency: 3, @@ -12,15 +14,15 @@ export class CohereEmbeddings implements BaseEmbeddings { }); } - async getDimensions(): Promise { + override async getDimensions(): Promise { return 4096; } - async embedDocuments(texts: string[]): Promise { + override async embedDocuments(texts: string[]): Promise { return this.model.embedDocuments(texts); } - async embedQuery(text: string): Promise { + override async embedQuery(text: string): Promise { return this.model.embedQuery(text); } } diff --git a/models/embedjs-huggingface/package.json b/models/embedjs-huggingface/package.json index 744cdf42..aad86302 100644 --- a/models/embedjs-huggingface/package.json +++ b/models/embedjs-huggingface/package.json @@ -1,12 +1,12 @@ { "name": "@llm-tools/embedjs-huggingface", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of HuggingFace models with embedjs", "dependencies": { "@huggingface/inference": "^2.8.1", "@langchain/community": "^0.3.16", "@langchain/core": "^0.3.19", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/models/embedjs-huggingface/src/huggingface-embeddings.ts b/models/embedjs-huggingface/src/huggingface-embeddings.ts index aebe8f3d..d5e7a7c5 100644 --- a/models/embedjs-huggingface/src/huggingface-embeddings.ts +++ b/models/embedjs-huggingface/src/huggingface-embeddings.ts @@ -1,11 +1,13 @@ import { HuggingFaceInferenceEmbeddings } from '@langchain/community/embeddings/hf'; import { BaseEmbeddings } from '@llm-tools/embedjs-interfaces'; -export class HuggingFaceEmbeddings implements BaseEmbeddings { +export class HuggingFaceEmbeddings extends BaseEmbeddings { private model: HuggingFaceInferenceEmbeddings; private dimensions: number | null; constructor({ apiKey, model, dimensions }: { apiKey?: string; model?: string; dimensions?: number }) { + super(); + this.dimensions = dimensions ?? null; this.model = new HuggingFaceInferenceEmbeddings({ apiKey, //Or set process.env.HUGGINGFACEHUB_API_KEY @@ -13,7 +15,7 @@ export class HuggingFaceEmbeddings implements BaseEmbeddings { }); } - async getDimensions(): Promise { + override async getDimensions(): Promise { if (this.dimensions === null) { this.dimensions = (await this.embedQuery('Test')).length; } @@ -21,11 +23,11 @@ export class HuggingFaceEmbeddings implements BaseEmbeddings { return this.dimensions; } - async embedDocuments(texts: string[]): Promise { + override async embedDocuments(texts: string[]): Promise { return this.model.embedDocuments(texts); } - async embedQuery(text: string): Promise { + override async embedQuery(text: string): Promise { return this.model.embedQuery(text); } } diff --git a/models/embedjs-llama-cpp/package.json b/models/embedjs-llama-cpp/package.json index 5da109b5..23b83838 100644 --- a/models/embedjs-llama-cpp/package.json +++ b/models/embedjs-llama-cpp/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-llama-cpp", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of Node-Llama-Cpp with embedjs", "dependencies": { "@langchain/community": "^0.3.16", "@langchain/core": "^0.3.19", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "node-llama-cpp": "^3.2.0" }, diff --git a/models/embedjs-llama-cpp/src/llama-cpp-embeddings.ts b/models/embedjs-llama-cpp/src/llama-cpp-embeddings.ts index 7adf5e6a..609dd2e3 100644 --- a/models/embedjs-llama-cpp/src/llama-cpp-embeddings.ts +++ b/models/embedjs-llama-cpp/src/llama-cpp-embeddings.ts @@ -1,33 +1,42 @@ import { BaseEmbeddings } from '@llm-tools/embedjs-interfaces'; import { getLlama, Llama, LlamaEmbedding, LlamaEmbeddingContext, LlamaModel } from 'node-llama-cpp'; -export class LlamaCppEmbeddings implements BaseEmbeddings { +export class LlamaCppEmbeddings extends BaseEmbeddings { + private readonly modelPath: string; private context: LlamaEmbeddingContext; - constructor(options: { modelPath: string; }) { - getLlama().then((llama: Llama) => { - llama.loadModel({ modelPath: options.modelPath }).then((model: LlamaModel) => { + constructor({ modelPath }: { modelPath: string }) { + super(); + this.modelPath = modelPath; + } + + override async init(): Promise { + await getLlama().then((llama: Llama) => { + llama.loadModel({ modelPath: this.modelPath }).then((model: LlamaModel) => { model.createEmbeddingContext().then((context: LlamaEmbeddingContext) => { this.context = context; }); }); }); } - async getDimensions(): Promise { + + override async getDimensions(): Promise { const sample = await this.embedDocuments(['sample']); return sample[0].length; } - async embedDocuments(texts: string[]): Promise { + override async embedDocuments(texts: string[]): Promise { const embeddings = new Map(); - await Promise.all(texts.map(async (document) => { - const embedding = await this.context.getEmbeddingFor(document); - embeddings.set(document, embedding); - })); + await Promise.all( + texts.map(async (document) => { + const embedding = await this.context.getEmbeddingFor(document); + embeddings.set(document, embedding); + }), + ); return Array.from(embeddings).map(([_, embedding]) => embedding.vector as number[]); } - async embedQuery(text: string): Promise { + override async embedQuery(text: string): Promise { return (await this.context.getEmbeddingFor(text)).vector as number[]; } } diff --git a/models/embedjs-llama-cpp/src/llama-cpp-model.ts b/models/embedjs-llama-cpp/src/llama-cpp-model.ts index 60244b82..70578696 100644 --- a/models/embedjs-llama-cpp/src/llama-cpp-model.ts +++ b/models/embedjs-llama-cpp/src/llama-cpp-model.ts @@ -1,7 +1,7 @@ import createDebugMessages from 'debug'; import { AIMessage, HumanMessage, SystemMessage } from '@langchain/core/messages'; -import { BaseModel, ModelResponse } from '@llm-tools/embedjs-interfaces'; import { LlamaCpp as ChatLlamaCpp } from '@langchain/community/llms/llama_cpp'; +import { BaseModel, ModelResponse } from '@llm-tools/embedjs-interfaces'; export class LlamaCpp extends BaseModel { private readonly debug = createDebugMessages('embedjs:model:LlamaCpp'); diff --git a/models/embedjs-mistral/package.json b/models/embedjs-mistral/package.json index 5889520d..6d0fc8b9 100644 --- a/models/embedjs-mistral/package.json +++ b/models/embedjs-mistral/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-mistral", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of Mistral models with embedjs", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/mistralai": "^0.2.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/models/embedjs-ollama/package.json b/models/embedjs-ollama/package.json index f90ea8d1..b00a9b50 100644 --- a/models/embedjs-ollama/package.json +++ b/models/embedjs-ollama/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-ollama", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of Ollama with embedjs", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/ollama": "^0.1.2", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/models/embedjs-ollama/src/ollama-embeddings.ts b/models/embedjs-ollama/src/ollama-embeddings.ts index eec9866a..cffdb59e 100644 --- a/models/embedjs-ollama/src/ollama-embeddings.ts +++ b/models/embedjs-ollama/src/ollama-embeddings.ts @@ -1,7 +1,7 @@ import { OllamaEmbeddings as OllamaEmbedding, OllamaInput } from '@langchain/ollama'; import { BaseEmbeddings } from '@llm-tools/embedjs-interfaces'; -export class OllamaEmbeddings implements BaseEmbeddings { +export class OllamaEmbeddings extends BaseEmbeddings { private model: OllamaEmbedding; constructor(options: { @@ -11,6 +11,8 @@ export class OllamaEmbeddings implements BaseEmbeddings { keepAlive?: string; requestOptions?: Omit; }) { + super(); + this.model = new OllamaEmbedding({ model: options.model, baseUrl: options.baseUrl, @@ -19,16 +21,16 @@ export class OllamaEmbeddings implements BaseEmbeddings { }); } - async getDimensions(): Promise { + override async getDimensions(): Promise { const sample = await this.model.embedDocuments(['sample']); return sample[0].length; } - async embedDocuments(texts: string[]): Promise { + override async embedDocuments(texts: string[]): Promise { return this.model.embedDocuments(texts); } - async embedQuery(text: string): Promise { + override async embedQuery(text: string): Promise { return this.model.embedQuery(text); } } diff --git a/models/embedjs-openai/package.json b/models/embedjs-openai/package.json index bbd990ae..2c2478f4 100644 --- a/models/embedjs-openai/package.json +++ b/models/embedjs-openai/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-openai", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of OpenAI models with embedjs", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/openai": "^0.3.14", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/models/embedjs-openai/src/azure-openai-embeddings.ts b/models/embedjs-openai/src/azure-openai-embeddings.ts index 5ddabba8..f01faa05 100644 --- a/models/embedjs-openai/src/azure-openai-embeddings.ts +++ b/models/embedjs-openai/src/azure-openai-embeddings.ts @@ -1,10 +1,11 @@ import { AzureOpenAIEmbeddings as LangchainAzureOpenAiEmbeddings } from '@langchain/openai'; import { BaseEmbeddings } from '@llm-tools/embedjs-interfaces'; -export class AzureOpenAiEmbeddings implements BaseEmbeddings { +export class AzureOpenAiEmbeddings extends BaseEmbeddings { private model: LangchainAzureOpenAiEmbeddings; constructor(private readonly configuration?: ConstructorParameters[0]) { + super(); if (!this.configuration) this.configuration = {}; if (!this.configuration.model) this.configuration.model = 'text-embedding-3-small'; @@ -23,15 +24,15 @@ export class AzureOpenAiEmbeddings implements BaseEmbeddings { this.model = new LangchainAzureOpenAiEmbeddings(this.configuration); } - async getDimensions(): Promise { + override async getDimensions(): Promise { return this.configuration.dimensions; } - async embedDocuments(texts: string[]): Promise { + override async embedDocuments(texts: string[]): Promise { return this.model.embedDocuments(texts); } - async embedQuery(text: string): Promise { + override async embedQuery(text: string): Promise { return this.model.embedQuery(text); } } diff --git a/models/embedjs-openai/src/openai-embeddings.ts b/models/embedjs-openai/src/openai-embeddings.ts index eaaafd11..a97a8803 100644 --- a/models/embedjs-openai/src/openai-embeddings.ts +++ b/models/embedjs-openai/src/openai-embeddings.ts @@ -1,10 +1,11 @@ import { OpenAIEmbeddings } from '@langchain/openai'; import { BaseEmbeddings } from '@llm-tools/embedjs-interfaces'; -export class OpenAiEmbeddings implements BaseEmbeddings { +export class OpenAiEmbeddings extends BaseEmbeddings { private model: OpenAIEmbeddings; constructor(private readonly configuration?: ConstructorParameters[0]) { + super(); if (!this.configuration) this.configuration = {}; if (!this.configuration.model) this.configuration.model = 'text-embedding-3-small'; @@ -23,15 +24,15 @@ export class OpenAiEmbeddings implements BaseEmbeddings { this.model = new OpenAIEmbeddings(this.configuration); } - async getDimensions(): Promise { + override async getDimensions(): Promise { return this.configuration.dimensions; } - async embedDocuments(texts: string[]): Promise { + override async embedDocuments(texts: string[]): Promise { return this.model.embedDocuments(texts); } - async embedQuery(text: string): Promise { + override async embedQuery(text: string): Promise { return this.model.embedQuery(text); } } diff --git a/models/embedjs-vertexai/package.json b/models/embedjs-vertexai/package.json index 2f2d53e3..71eb2c67 100644 --- a/models/embedjs-vertexai/package.json +++ b/models/embedjs-vertexai/package.json @@ -1,11 +1,11 @@ { "name": "@llm-tools/embedjs-vertexai", - "version": "0.1.22", + "version": "0.1.23", "description": "Enable usage of VertexAI models with embedjs", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/google-vertexai": "^0.1.3", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" }, "type": "module", diff --git a/models/embedjs-vertexai/src/gecko-embeddings.ts b/models/embedjs-vertexai/src/gecko-embeddings.ts index b93bc4f8..6a1c792e 100644 --- a/models/embedjs-vertexai/src/gecko-embeddings.ts +++ b/models/embedjs-vertexai/src/gecko-embeddings.ts @@ -1,22 +1,23 @@ import { VertexAIEmbeddings } from '@langchain/google-vertexai'; import { BaseEmbeddings } from '@llm-tools/embedjs-interfaces'; -export class GeckoEmbeddings implements BaseEmbeddings { +export class GeckoEmbeddings extends BaseEmbeddings { private model: VertexAIEmbeddings; constructor() { + super(); this.model = new VertexAIEmbeddings({ model: 'textembedding-gecko', maxConcurrency: 3, maxRetries: 5 }); } - async getDimensions(): Promise { + override async getDimensions(): Promise { return 768; } - async embedDocuments(texts: string[]): Promise { + override async embedDocuments(texts: string[]): Promise { return this.model.embedDocuments(texts); } - async embedQuery(text: string): Promise { + override async embedQuery(text: string): Promise { return this.model.embedQuery(text); } } diff --git a/package-lock.json b/package-lock.json index f7cbb730..8e0d134e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,29 +18,29 @@ "@commitlint/config-conventional": "^19.6.0", "@eslint/eslintrc": "^3.2.0", "@inquirer/prompts": "^7.1.0", - "@npmcli/package-json": "^6.0.1", - "@nx/esbuild": "20.1.3", - "@nx/eslint": "20.1.3", - "@nx/eslint-plugin": "20.1.3", - "@nx/js": "20.1.3", - "@nx/node": "20.1.3", + "@npmcli/package-json": "^6.1.0", + "@nx/esbuild": "20.1.4", + "@nx/eslint": "20.1.4", + "@nx/eslint-plugin": "20.1.4", + "@nx/js": "20.1.4", + "@nx/node": "20.1.4", "@swc-node/register": "~1.10.9", "@swc/core": "~1.9.3", "@swc/helpers": "~0.5.15", - "@types/node": "22.10.0", - "@typescript-eslint/eslint-plugin": "^8.16.0", - "@typescript-eslint/parser": "^8.16.0", + "@types/node": "22.10.1", + "@typescript-eslint/eslint-plugin": "^8.17.0", + "@typescript-eslint/parser": "^8.17.0", "arg": "^5.0.2", "esbuild": "^0.19.12", "eslint": "~9.15.0", "eslint-config-prettier": "^9.1.0", "husky": "^9.1.7", - "nx": "20.1.3", + "nx": "20.1.4", "prettier": "^3.4.1", "simple-git": "^3.27.0", "tslib": "^2.8.1", "typescript": "5.7.2", - "typescript-eslint": "^8.16.0" + "typescript-eslint": "^8.17.0" }, "engines": { "node": ">= 18.0.0" @@ -48,12 +48,12 @@ }, "core/embedjs": { "name": "@llm-tools/embedjs", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7", "langchain": "^0.3.6", "md5": "^2.3.0", @@ -68,7 +68,7 @@ }, "core/embedjs-interfaces": { "name": "@llm-tools/embedjs-interfaces", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/core": "^0.3.19", @@ -91,10 +91,10 @@ }, "core/embedjs-utils": { "name": "@llm-tools/embedjs-utils", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22" + "@llm-tools/embedjs-interfaces": "0.1.23" } }, "core/embedjs/node_modules/langchain": { @@ -189,92 +189,92 @@ }, "databases/embedjs-astra": { "name": "@llm-tools/embedjs-astradb", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@datastax/astra-db-ts": "^1.5.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, "databases/embedjs-cosmos": { "name": "@llm-tools/embedjs-cosmos", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@azure/cosmos": "^4.2.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, "databases/embedjs-hnswlib": { "name": "@llm-tools/embedjs-hnswlib", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "hnswlib-node": "^3.0.0" } }, "databases/embedjs-lancedb": { "name": "@llm-tools/embedjs-lancedb", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@lancedb/lancedb": "^0.13.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "compute-cosine-similarity": "^1.1.0", "debug": "^4.3.7" } }, "databases/embedjs-libsql": { "name": "@llm-tools/embedjs-libsql", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@libsql/client": "^0.14.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7" } }, "databases/embedjs-lmdb": { "name": "@llm-tools/embedjs-lmdb", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "lmdb": "^3.1.6" } }, "databases/embedjs-mongodb": { "name": "@llm-tools/embedjs-mongodb", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "mongodb": "^6.11.0" } }, "databases/embedjs-pinecone": { "name": "@llm-tools/embedjs-pinecone", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "@pinecone-database/pinecone": "^4.0.0", "debug": "^4.3.7" } }, "databases/embedjs-qdrant": { "name": "@llm-tools/embedjs-qdrant", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "@qdrant/js-client-rest": "^1.12.0", "debug": "^4.3.7", "uuid": "^11.0.3" @@ -294,19 +294,19 @@ }, "databases/embedjs-redis": { "name": "@llm-tools/embedjs-redis", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "ioredis": "^5.4.1" } }, "databases/embedjs-weaviate": { "name": "@llm-tools/embedjs-weaviate", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "compute-cosine-similarity": "^1.1.0", "debug": "^4.3.7", "weaviate-ts-client": "^2.2.0" @@ -314,11 +314,11 @@ }, "loaders/embedjs-loader-confluence": { "name": "@llm-tools/embedjs-loader-confluence", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-loader-web": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-loader-web": "0.1.23", "confluence.js": "^1.7.4", "debug": "^4.3.7", "md5": "^2.3.0" @@ -326,11 +326,11 @@ }, "loaders/embedjs-loader-csv": { "name": "@llm-tools/embedjs-loader-csv", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "csv-parse": "^5.6.0", "debug": "^4.3.7", "md5": "^2.3.0" @@ -338,11 +338,11 @@ }, "loaders/embedjs-loader-markdown": { "name": "@llm-tools/embedjs-loader-markdown", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-loader-web": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-loader-web": "0.1.23", "debug": "^4.3.7", "md5": "^2.3.0", "micromark": "^4.0.1", @@ -352,35 +352,35 @@ }, "loaders/embedjs-loader-msoffice": { "name": "@llm-tools/embedjs-loader-msoffice", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "md5": "^2.3.0", "office-text-extractor": "^3.0.3" } }, "loaders/embedjs-loader-pdf": { "name": "@llm-tools/embedjs-loader-pdf", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "md5": "^2.3.0", "office-text-extractor": "^3.0.3" } }, "loaders/embedjs-loader-sitemap": { "name": "@llm-tools/embedjs-loader-sitemap", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-loader-web": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-loader-web": "0.1.23", "debug": "^4.3.7", "md5": "^2.3.0", "sitemapper": "^3.2.18" @@ -388,12 +388,12 @@ }, "loaders/embedjs-loader-web": { "name": "@llm-tools/embedjs-loader-web", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7", "html-to-text": "^9.0.5", "md5": "^2.3.0" @@ -404,10 +404,10 @@ }, "loaders/embedjs-loader-xml": { "name": "@llm-tools/embedjs-loader-xml", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "fast-xml-parser": "^4.5.0", "md5": "^2.3.0" @@ -415,12 +415,12 @@ }, "loaders/embedjs-loader-youtube": { "name": "@llm-tools/embedjs-loader-youtube", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/textsplitters": "^0.1.0", - "@llm-tools/embedjs-interfaces": "0.1.22", - "@llm-tools/embedjs-utils": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", + "@llm-tools/embedjs-utils": "0.1.23", "debug": "^4.3.7", "md5": "^2.3.0", "usetube": "^2.2.7", @@ -432,34 +432,34 @@ }, "models/embedjs-anthropic": { "name": "@llm-tools/embedjs-anthropic", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/anthropic": "^0.3.8", "@langchain/core": "^0.3.19", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, "models/embedjs-cohere": { "name": "@llm-tools/embedjs-cohere", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/cohere": "^0.3.1", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "cohere-ai": "^7.14.0" } }, "models/embedjs-huggingface": { "name": "@llm-tools/embedjs-huggingface", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@huggingface/inference": "^2.8.1", "@langchain/community": "^0.3.16", "@langchain/core": "^0.3.19", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, @@ -974,12 +974,12 @@ }, "models/embedjs-llama-cpp": { "name": "@llm-tools/embedjs-llama-cpp", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/community": "^0.3.16", "@langchain/core": "^0.3.19", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7", "node-llama-cpp": "^3.2.0" } @@ -1495,45 +1495,45 @@ }, "models/embedjs-mistral": { "name": "@llm-tools/embedjs-mistral", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/mistralai": "^0.2.0", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, "models/embedjs-ollama": { "name": "@llm-tools/embedjs-ollama", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/ollama": "^0.1.2", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, "models/embedjs-openai": { "name": "@llm-tools/embedjs-openai", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/openai": "^0.3.14", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, "models/embedjs-vertexai": { "name": "@llm-tools/embedjs-vertexai", - "version": "0.1.22", + "version": "0.1.23", "license": "Apache-2.0", "dependencies": { "@langchain/core": "^0.3.19", "@langchain/google-vertexai": "^0.1.3", - "@llm-tools/embedjs-interfaces": "0.1.22", + "@llm-tools/embedjs-interfaces": "0.1.23", "debug": "^4.3.7" } }, @@ -7102,11 +7102,10 @@ } }, "node_modules/@npmcli/package-json": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.0.1.tgz", - "integrity": "sha512-YW6PZ99sc1Q4DINEY2td5z9Z3rwbbsx7CyCnOc7UXUUdePXh5gPi1UeaoQVmKQMVbIU7aOwX2l1OG5ZfjgGi5g==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.1.0.tgz", + "integrity": "sha512-t6G+6ZInT4X+tqj2i+wlLIeCKnKOTuz9/VFYDtj+TGTur5q7sp/OYrQA19LdBbWfXDOi0Y4jtedV6xtB8zQ9ug==", "dev": true, - "license": "ISC", "dependencies": { "@npmcli/git": "^6.0.0", "glob": "^10.2.2", @@ -7134,9 +7133,9 @@ } }, "node_modules/@nx/devkit": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.1.3.tgz", - "integrity": "sha512-+bNCRNSHKS7SS4Q2xI/p4hhd4mIibIbeF+hpF3TLO5wxyXbrYGSdhCVK5SwclwWUN/KhcKQjOrVGW5CKAm7HAw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.1.4.tgz", + "integrity": "sha512-Opz7eRPmpt3e4SGkbwZbE9Bg3MhKeivh1QTNCj4tQVAB4gucz0lW/F3mdtRDFdj6gUbqIc5rRrbO/DGlNaEzYw==", "dev": true, "dependencies": { "ejs": "^3.1.7", @@ -7177,13 +7176,13 @@ } }, "node_modules/@nx/esbuild": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/esbuild/-/esbuild-20.1.3.tgz", - "integrity": "sha512-UvgofmZquWv7yM7+1snJF5B4zopQQeSyewGrtrE7tPjjmYoGBs6pyfOKI+n8U3jCOsdfXArMSyAsXDESy8Hl0Q==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/esbuild/-/esbuild-20.1.4.tgz", + "integrity": "sha512-GqSSJTBj2op2r5CCHtiV0FIIardrmDa02Qm97XeAySrdqRhATlmTLK+6/LkJDtkCFohzPzJYEOj9qEXLXlq4+g==", "dev": true, "dependencies": { - "@nx/devkit": "20.1.3", - "@nx/js": "20.1.3", + "@nx/devkit": "20.1.4", + "@nx/js": "20.1.4", "fast-glob": "3.2.7", "picocolors": "^1.1.0", "tsconfig-paths": "^4.1.2", @@ -7199,13 +7198,13 @@ } }, "node_modules/@nx/eslint": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-20.1.3.tgz", - "integrity": "sha512-XYgnBmQwYRCKHocTKvEVaeugg/TspaoUUJW5cr0lPywEEUnxwQoGMl91CK+rll079mJp9CIBD7zeZs5rZgqVcQ==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-20.1.4.tgz", + "integrity": "sha512-Qq5Hq4LA+3aYgPvBrPng5JX2T54UnpOCUBHmIbPk6PAXYWPTHM/qfeKNTjY0zYpX/dv5l0ij5OAGg20CmHqXaQ==", "dev": true, "dependencies": { - "@nx/devkit": "20.1.3", - "@nx/js": "20.1.3", + "@nx/devkit": "20.1.4", + "@nx/js": "20.1.4", "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.4.2" @@ -7221,13 +7220,13 @@ } }, "node_modules/@nx/eslint-plugin": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-20.1.3.tgz", - "integrity": "sha512-EnYr8HxFZDVckugKMvb7DDkYeyZ4zMJDckPiqCJZAEnUgr97usk2kUDAc5LYyBfTohQPKC84t81ztcIRZ9jMbw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-20.1.4.tgz", + "integrity": "sha512-Oa3elOiVm8u3XZgooY0b+k+ro7wEoV9vuf7k4vhPxXUDE4nPglvB1mWagnmwlGuLVQXsDhIEujAP4dMSH5qQrw==", "dev": true, "dependencies": { - "@nx/devkit": "20.1.3", - "@nx/js": "20.1.3", + "@nx/devkit": "20.1.4", + "@nx/js": "20.1.4", "@typescript-eslint/type-utils": "^8.0.0", "@typescript-eslint/utils": "^8.0.0", "chalk": "^4.1.0", @@ -7308,15 +7307,15 @@ } }, "node_modules/@nx/jest": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-20.1.3.tgz", - "integrity": "sha512-OGP7iCrpfuVscVeMtQRvC/dvCkyNKSuoqcEnP9bs79agKknxhpvhFmFNwELh9Ovcf6MJber13QeSZCE+p9rxOw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-20.1.4.tgz", + "integrity": "sha512-6U4AhFTMcRq3a7w5OkLDZ7Okyqc0xFXUbrpxKy5XiOtL0mtWZ4oNSWc1P12jV8OfN4SVWx0sNIvw+jVjB4iF/w==", "dev": true, "dependencies": { "@jest/reporters": "^29.4.1", "@jest/test-result": "^29.4.1", - "@nx/devkit": "20.1.3", - "@nx/js": "20.1.3", + "@nx/devkit": "20.1.4", + "@nx/js": "20.1.4", "@phenomnomnominal/tsquery": "~5.0.1", "chalk": "^4.1.0", "identity-obj-proxy": "3.0.0", @@ -7386,9 +7385,9 @@ } }, "node_modules/@nx/js": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-20.1.3.tgz", - "integrity": "sha512-PS6GjPWS0u37JJ6Gh7MVq+r25p5YRHcm+FlxzIfngDesLB8rZ2GFgztsz2r21WlOncGurDmjzJ8aRKQZNWXl8Q==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-20.1.4.tgz", + "integrity": "sha512-o44prlNHyEEzhLOaIsEWdHm0I6SrEYkX5zjGAjlajoHuZ0o9JJBuE4uyIPZGo/EOZIy6idANfvpAbEtd6XAhJA==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", @@ -7398,8 +7397,8 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nx/devkit": "20.1.3", - "@nx/workspace": "20.1.3", + "@nx/devkit": "20.1.4", + "@nx/workspace": "20.1.4", "@zkochan/js-yaml": "0.0.7", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", @@ -7491,22 +7490,22 @@ } }, "node_modules/@nx/node": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/node/-/node-20.1.3.tgz", - "integrity": "sha512-w2njtw+bcRDe7YRTY4QxG6B4/K755yH+GYewQlA6MvK1kNaRdC7a/bnD6wEjRfGRwq3xBsY9NGW3vAc7c1yGAw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/node/-/node-20.1.4.tgz", + "integrity": "sha512-xsjClR4LoVWkjs5YhNPHTdDHgZC4t9R/HsKd1+KrGg+K9UunbjTZ0bxYqrt5np7ORsRv2+teeJvPOyu0mngp2A==", "dev": true, "dependencies": { - "@nx/devkit": "20.1.3", - "@nx/eslint": "20.1.3", - "@nx/jest": "20.1.3", - "@nx/js": "20.1.3", + "@nx/devkit": "20.1.4", + "@nx/eslint": "20.1.4", + "@nx/jest": "20.1.4", + "@nx/js": "20.1.4", "tslib": "^2.3.0" } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.1.3.tgz", - "integrity": "sha512-m0Rwawht7Jwq6u2QPmAtsv+khFsTUIZUfiO1kXGcKOX3nQdJ7i82zLRd5yGbrDTAyRbAsgWO3v8zWQyhC1oGjw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.1.4.tgz", + "integrity": "sha512-afyDOZbIyHi6BgKk+Bb4RI1t8dZ6/oIbOY89z4mBPNNevZkbGqUfMwO2vjKnaOoThcjT93SEMJfCLGL8i857ww==", "cpu": [ "arm64" ], @@ -7520,9 +7519,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.1.3.tgz", - "integrity": "sha512-WsQK1sxOJFzD0vOtFqSHpLzWuFO4vG7G1PUyJ1Y5mPo4vbRslqoAUTqF7n42bBRPY/lE2aT7BqAAj8hm4PgcnQ==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.1.4.tgz", + "integrity": "sha512-aiYklAt95aX0EinepJRryMna8K53G52ngYOFuac1G8iLlguinJvg/YgSKCf7GOAzec8b7Hm7KauPjSJE/P3/iw==", "cpu": [ "x64" ], @@ -7536,9 +7535,9 @@ } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.1.3.tgz", - "integrity": "sha512-HV57XMtCVPy/0LZtifcEHbOpVNKLTOBFUoUXkmGYBmAKfw7lccfF600/tunTCZ4aijsD6+opEeGHzlDUK0Ir1w==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.1.4.tgz", + "integrity": "sha512-WUh4bsLK+e7wuN3lE3ZQUj+xQKdWU4P4RymutfLQQnPYiilCMtFwITcvDmazmOHFWI2vPhzSyYJRbOu+YMIR3A==", "cpu": [ "x64" ], @@ -7552,9 +7551,9 @@ } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.1.3.tgz", - "integrity": "sha512-RzP0vc4yhXktKxz7iiwVYFkgpyb5TN/lLGcKLMM4kjuyYJ0IUX58Kk5FDoqCy+HMKiMfGyTOT4fP+/UEsgW6qQ==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.1.4.tgz", + "integrity": "sha512-9vPMw5s89v3od7aw3enTWjdMSCAmQ0tIA89Uz7xbbjB2kX2mAdihSzAKd9woi/cj+ROnY+ynNXzU9UjqhfxdBg==", "cpu": [ "arm" ], @@ -7568,9 +7567,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.1.3.tgz", - "integrity": "sha512-WCaU5AiGx21C3t3v4+d7nrA1r5Xc5Wk7yVxZFWh+mKHdcqk1JebDIr1qj/7yoKHD2R9k2Vp5x5Kd0pzAGS8AyA==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.1.4.tgz", + "integrity": "sha512-JUE4l8utr9KmQSG9tO2Qw5R5i/bZ16s1+J5xnEar7UfcSOfOLqxGHS7HCBUZcfr46dmtv6KjIC83uHMs19AwDQ==", "cpu": [ "arm64" ], @@ -7584,9 +7583,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.1.3.tgz", - "integrity": "sha512-lKAvR9jNyx/qvk3UZGYNJAoK5mkZc+rDD4gA23tOGYPjNrWHJEgbWycCk5A9tQ4QX4CskCNmkgQx0lOMdLeXsw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.1.4.tgz", + "integrity": "sha512-EaPUDqXvnPc/ure0x7N+5lRYvk5zqOQ3LzFOTRPWdqnFXejyTkGjZEYWbLFIJTFrvyEdpfaPTHyNmCHUrEz9TQ==", "cpu": [ "arm64" ], @@ -7600,9 +7599,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.1.3.tgz", - "integrity": "sha512-RKNm7RnTgCSl2HstDb/qMKO9r8o81EUe+UZB5fgjNR89PB757iHUX30kM0xbkiRZui1vIkMAvWcNsidxBnGGfg==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.1.4.tgz", + "integrity": "sha512-vaWV37ZayfyckVI/faWdQWIV9XQb06ZT8jHQnwgSd9tKbGz37vN30eYtgZlFL0P4bHfhjtmMXnLvADmfyO/KOw==", "cpu": [ "x64" ], @@ -7616,9 +7615,9 @@ } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.1.3.tgz", - "integrity": "sha512-aCXEWt1WQDPLzgp5I+NfqaP0y4ZKi2aauZMnSO6KE54MnZmvB+B4HQMZvqHM3dfU0jluvLRBmVIPLeTHiCccrw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.1.4.tgz", + "integrity": "sha512-wjq4Ea1oweBsIA9jq+jDT6BALxv/uac0aFykwoN23dOiwwSMFWMxbXUuBrxp0LjMFGV49S62kVDoRezukvkiZA==", "cpu": [ "x64" ], @@ -7632,9 +7631,9 @@ } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.1.3.tgz", - "integrity": "sha512-625rRYFfoCTu73bjDZ+jOLU0lvEN2heiiUGlErc6GchfcWuIcZy16oyYQzZX69UQqryGkkZVTaoyMXhGS5p7Tg==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.1.4.tgz", + "integrity": "sha512-d9jN8biyEJh4Mjdc3RU1j/+WIOjrO9mCDxYuERXP2ELaNsOk0tJgcXE1xsa9AF88AHGpOkCOS2rxy61DKBtFKg==", "cpu": [ "arm64" ], @@ -7648,9 +7647,9 @@ } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.1.3.tgz", - "integrity": "sha512-XUbxSB6vUWoixNyCXkaXGkeUy/syqFOBXVh5Wbi6bqwTJ5o6EFUxCnzK/JsK55dfOz+I/jMXJzDWYEDAsikTSA==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.1.4.tgz", + "integrity": "sha512-s3RwOkkWKzOflbTmc5MRc4EH2mk1AkJ/V8Gu3Qi2QncF9r1GrR7hDxROpu0MEoHfIhRG+d+n8OGX31nC9GZWUg==", "cpu": [ "x64" ], @@ -7664,15 +7663,15 @@ } }, "node_modules/@nx/workspace": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-20.1.3.tgz", - "integrity": "sha512-YOFzkvCcREG4sYNrW3GukBiXCUjxfe4dN2qgYZJ7p4aGoStgfIntjP0REwbgdrZMPTQi9gfAQo27+wTJ6O0FwA==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-20.1.4.tgz", + "integrity": "sha512-rEceXQqcNdlD5EvUA2w3MLi7mZPH13OvpvDPPyBNBurBrRcSaylDSvUCL54jWJ2G7bLzJx9bqWy81W8g7KNS5Q==", "dev": true, "dependencies": { - "@nx/devkit": "20.1.3", + "@nx/devkit": "20.1.4", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "20.1.3", + "nx": "20.1.4", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -9671,9 +9670,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.0.tgz", - "integrity": "sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==", + "version": "22.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", + "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", "dependencies": { "undici-types": "~6.20.0" } @@ -9780,16 +9779,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz", - "integrity": "sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz", + "integrity": "sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.16.0", - "@typescript-eslint/type-utils": "8.16.0", - "@typescript-eslint/utils": "8.16.0", - "@typescript-eslint/visitor-keys": "8.16.0", + "@typescript-eslint/scope-manager": "8.17.0", + "@typescript-eslint/type-utils": "8.17.0", + "@typescript-eslint/utils": "8.17.0", + "@typescript-eslint/visitor-keys": "8.17.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -9813,15 +9812,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.16.0.tgz", - "integrity": "sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.17.0.tgz", + "integrity": "sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.16.0", - "@typescript-eslint/types": "8.16.0", - "@typescript-eslint/typescript-estree": "8.16.0", - "@typescript-eslint/visitor-keys": "8.16.0", + "@typescript-eslint/scope-manager": "8.17.0", + "@typescript-eslint/types": "8.17.0", + "@typescript-eslint/typescript-estree": "8.17.0", + "@typescript-eslint/visitor-keys": "8.17.0", "debug": "^4.3.4" }, "engines": { @@ -9841,13 +9840,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz", - "integrity": "sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz", + "integrity": "sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.16.0", - "@typescript-eslint/visitor-keys": "8.16.0" + "@typescript-eslint/types": "8.17.0", + "@typescript-eslint/visitor-keys": "8.17.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9858,13 +9857,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.16.0.tgz", - "integrity": "sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz", + "integrity": "sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "8.16.0", - "@typescript-eslint/utils": "8.16.0", + "@typescript-eslint/typescript-estree": "8.17.0", + "@typescript-eslint/utils": "8.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -9885,9 +9884,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.16.0.tgz", - "integrity": "sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.17.0.tgz", + "integrity": "sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9898,13 +9897,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz", - "integrity": "sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz", + "integrity": "sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.16.0", - "@typescript-eslint/visitor-keys": "8.16.0", + "@typescript-eslint/types": "8.17.0", + "@typescript-eslint/visitor-keys": "8.17.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -9978,15 +9977,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.16.0.tgz", - "integrity": "sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.17.0.tgz", + "integrity": "sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.16.0", - "@typescript-eslint/types": "8.16.0", - "@typescript-eslint/typescript-estree": "8.16.0" + "@typescript-eslint/scope-manager": "8.17.0", + "@typescript-eslint/types": "8.17.0", + "@typescript-eslint/typescript-estree": "8.17.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10005,12 +10004,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz", - "integrity": "sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz", + "integrity": "sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.16.0", + "@typescript-eslint/types": "8.17.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -11865,9 +11864,9 @@ } }, "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "version": "16.4.6", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.6.tgz", + "integrity": "sha512-JhcR/+KIjkkjiU8yEpaB/USlzVi3i5whwOjpIRNGi9svKEXZSe+Qp6IWAjFjv+2GViAoDRCUv/QLNziQxsLqDg==", "dev": true, "engines": { "node": ">=12" @@ -14776,9 +14775,9 @@ } }, "node_modules/jest-resolve/node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, "engines": { "node": ">=10" @@ -17403,9 +17402,9 @@ } }, "node_modules/nx": { - "version": "20.1.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.1.3.tgz", - "integrity": "sha512-mipsacEpn0gLd/4NSlOgyHW6Ozl++8ZIfuv42RtZEnS3BaGnnW+L2dkt85h4zffq+zBILoudd/VDFzaLY7Yrfw==", + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.1.4.tgz", + "integrity": "sha512-hyvGYxTzBkPxSXAB2tuqdv9TpVde5xOdGalsIdhF7j7PI3nwPpqtc3y28YTgRgpxtOE1Y6BfDNkXMO1SW0xu2w==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -17447,16 +17446,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.1.3", - "@nx/nx-darwin-x64": "20.1.3", - "@nx/nx-freebsd-x64": "20.1.3", - "@nx/nx-linux-arm-gnueabihf": "20.1.3", - "@nx/nx-linux-arm64-gnu": "20.1.3", - "@nx/nx-linux-arm64-musl": "20.1.3", - "@nx/nx-linux-x64-gnu": "20.1.3", - "@nx/nx-linux-x64-musl": "20.1.3", - "@nx/nx-win32-arm64-msvc": "20.1.3", - "@nx/nx-win32-x64-msvc": "20.1.3" + "@nx/nx-darwin-arm64": "20.1.4", + "@nx/nx-darwin-x64": "20.1.4", + "@nx/nx-freebsd-x64": "20.1.4", + "@nx/nx-linux-arm-gnueabihf": "20.1.4", + "@nx/nx-linux-arm64-gnu": "20.1.4", + "@nx/nx-linux-arm64-musl": "20.1.4", + "@nx/nx-linux-x64-gnu": "20.1.4", + "@nx/nx-linux-x64-musl": "20.1.4", + "@nx/nx-win32-arm64-msvc": "20.1.4", + "@nx/nx-win32-x64-msvc": "20.1.4" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -19936,14 +19935,14 @@ } }, "node_modules/typescript-eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.16.0.tgz", - "integrity": "sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.17.0.tgz", + "integrity": "sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "8.16.0", - "@typescript-eslint/parser": "8.16.0", - "@typescript-eslint/utils": "8.16.0" + "@typescript-eslint/eslint-plugin": "8.17.0", + "@typescript-eslint/parser": "8.17.0", + "@typescript-eslint/utils": "8.17.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 46c48cfc..e589e75a 100644 --- a/package.json +++ b/package.json @@ -20,29 +20,29 @@ "@commitlint/config-conventional": "^19.6.0", "@eslint/eslintrc": "^3.2.0", "@inquirer/prompts": "^7.1.0", - "@npmcli/package-json": "^6.0.1", - "@nx/esbuild": "20.1.3", - "@nx/eslint": "20.1.3", - "@nx/eslint-plugin": "20.1.3", - "@nx/js": "20.1.3", - "@nx/node": "20.1.3", + "@npmcli/package-json": "^6.1.0", + "@nx/esbuild": "20.1.4", + "@nx/eslint": "20.1.4", + "@nx/eslint-plugin": "20.1.4", + "@nx/js": "20.1.4", + "@nx/node": "20.1.4", "@swc-node/register": "~1.10.9", "@swc/core": "~1.9.3", "@swc/helpers": "~0.5.15", - "@types/node": "22.10.0", - "@typescript-eslint/eslint-plugin": "^8.16.0", - "@typescript-eslint/parser": "^8.16.0", + "@types/node": "22.10.1", + "@typescript-eslint/eslint-plugin": "^8.17.0", + "@typescript-eslint/parser": "^8.17.0", "arg": "^5.0.2", "esbuild": "^0.19.12", "eslint": "~9.15.0", "eslint-config-prettier": "^9.1.0", "husky": "^9.1.7", - "nx": "20.1.3", + "nx": "20.1.4", "prettier": "^3.4.1", "simple-git": "^3.27.0", "tslib": "^2.8.1", "typescript": "5.7.2", - "typescript-eslint": "^8.16.0" + "typescript-eslint": "^8.17.0" }, "workspaces": [ "core/*",