From 1e82822a2d40628bc7fdf0fb8e46ea655b4b04e5 Mon Sep 17 00:00:00 2001 From: sshekhar1 Date: Mon, 1 Sep 2025 19:07:09 +0530 Subject: [PATCH 1/7] Adding Teradata VectorStore support in DocumentStore --- .../TeradataVectorStoreApi.credential.ts | 47 + .../nodes/vectorstores/Teradata/Teradata.ts | 819 ++++++++++++++++++ .../nodes/vectorstores/Teradata/teradata.jpg | Bin 0 -> 1079 bytes 3 files changed, 866 insertions(+) create mode 100644 packages/components/credentials/TeradataVectorStoreApi.credential.ts create mode 100644 packages/components/nodes/vectorstores/Teradata/Teradata.ts create mode 100644 packages/components/nodes/vectorstores/Teradata/teradata.jpg diff --git a/packages/components/credentials/TeradataVectorStoreApi.credential.ts b/packages/components/credentials/TeradataVectorStoreApi.credential.ts new file mode 100644 index 00000000000..633dcec37d6 --- /dev/null +++ b/packages/components/credentials/TeradataVectorStoreApi.credential.ts @@ -0,0 +1,47 @@ +import { INodeParams, INodeCredential } from '../src/Interface' + +class TeradataVectorStoreApiCredentials implements INodeCredential { + label: string + name: string + version: number + inputs: INodeParams[] + + constructor() { + this.label = 'Teradata Vector Store API Credentials' + this.name = 'teradataVectorStoreApiCredentials' + this.version = 1.0 + this.inputs = [ + { + label: 'Teradata Host IP', + name: 'tdHostIp', + type: 'string' + }, + { + label: 'Username', + name: 'tdUsername', + type: 'string' + }, + { + label: 'Password', + name: 'tdPassword', + type: 'password' + }, + { + label: 'Vector_Store_Base_URL', + name: 'baseURL', + description: 'Teradata Vector Store Base URL', + placeholder: `Base_URL`, + type: 'string' + }, + { + label: 'JWT Token', + name: 'jwtToken', + type: 'password', + description: 'Bearer token for JWT authentication', + optional: true + } + ] + } +} + +module.exports = { credClass: TeradataVectorStoreApiCredentials } diff --git a/packages/components/nodes/vectorstores/Teradata/Teradata.ts b/packages/components/nodes/vectorstores/Teradata/Teradata.ts new file mode 100644 index 00000000000..7b8f16fef3c --- /dev/null +++ b/packages/components/nodes/vectorstores/Teradata/Teradata.ts @@ -0,0 +1,819 @@ +import { Document } from '@langchain/core/documents' +import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams, IndexingResult } from '../../../src/Interface' +import { Embeddings } from '@langchain/core/embeddings' +import * as teradatasql from 'teradatasql' +import { getCredentialData, getCredentialParam } from '../../../src/utils' + +class Teradata_VectorStores implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + badge: string + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + outputs: INodeOutputsValue[] + + constructor() { + this.label = 'teradata' + this.name = 'teradata' + this.version = 1.0 + this.type = 'teradata' + this.icon = 'teradata.jpg' + this.category = 'Vector Stores' + this.description = 'Upsert embedded data and perform similarity search upon query using Teradata Enterprise Vector Store' + this.baseClasses = [this.type, 'BaseRetriever'] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['teradataVectorStoreApiCredentials'] + } + this.inputs = [ + { + label: 'Document', + name: 'document', + type: 'Document', + list: true, + }, + { + label: 'Embeddings', + name: 'embeddings', + type: 'Embeddings', + }, + { + label: 'Vector_Store_Name', + name: 'vectorStoreName', + description: 'Teradata Vector Store Name', + placeholder: `Vector_Store_Name`, + type: 'string' + }, + { + label: 'Database', + name: 'database', + description: 'Database for Teradata Vector Store', + placeholder: 'Database', + type: 'string' + }, + { + label: 'Embeddings_Table_Name', + name: 'embeddingsTableName', + description: 'Table name for storing embeddings', + placeholder: 'Embeddings_Table_Name', + type: 'string' + }, + { + label: 'Vector_Store_Description', + name: 'vectorStoreDescription', + description: 'Teradata Vector Store Description', + placeholder: `Vector_Store_Description`, + type: 'string', + optional: true + }, + { + label: 'Search_Algorithm', + name: 'searchAlgorithm', + description: 'Search Algorithm for Vector Store', + placeholder: 'Search_Algorithm', + type: 'string', + optional: true + }, + { + label: 'Distance_Metric', + name: 'distanceMetric', + description: 'Distance Metric to be used for distance calculation between vectors', + placeholder: 'Distance_Metric', + type: 'string', + optional: true + }, + { + label: 'Initial_Centroids_Method', + name: 'initialCentroidsMethod', + description: 'Algorithm to be used for initializing the cluster centroids', + placeholder: 'Initial_Centroids_Method', + type: 'string', + optional: true + }, + { + label: 'Train_NumCluster', + name: 'trainNumCluster', + description: 'Number of clusters to be trained', + placeholder: 'Train_NumCluster', + type: 'string', + optional: true + }, + { + label: 'MaxIterNum', + name: 'maxIterNum', + description: 'Maximum number of iterations to be run during training', + placeholder: 'MaxIterNum', + type: 'string', + optional: true + }, + { + label: 'Stop_Threshold', + name: 'stopThreshold', + description: 'Threshold value at which training should be stopped', + placeholder: 'Stop_Threshold', + type: 'string', + optional: true + }, + { + label: 'Seed', + name: 'seed', + description: 'Seed value to be used for random number generation', + placeholder: 'Seed', + type: 'string', + optional: true + }, + { + label: 'Num_Init', + name: 'numInit', + description: 'number of times the k-means algorithm should run with different initial centroid seeds', + placeholder: 'Num_Init', + type: 'string', + optional: true + }, + { + label: 'Top_K', + name: 'topK', + description: 'Number of top results to fetch. Default to 4', + placeholder: 'Top_K', + type: 'string', + optional: true + }, + { + label: 'Search_Threshold', + name: 'searchThreshold', + description: 'Threshold value to consider for matching tables/views while searching', + placeholder: 'Search_Threshold', + type: 'string', + optional: true + }, + { + label: 'Search_NumCluster', + name: 'searchNumCluster', + description: 'Number of clusters to be considered while searching', + placeholder: 'Search_NumCluster', + type: 'string', + optional: true + }, + { + label: 'Ef_Search', + name: 'efSearch', + description: 'Number of neighbors to be considered during search in HNSW graph', + placeholder: 'Ef_Search', + type: 'string', + optional: true + }, + { + label: 'Num_Layer', + name: 'numLayer', + description: 'Number of neighbors to be considered during search in HNSW graph', + placeholder: 'Num_Layer', + type: 'string', + optional: true + }, + { + label: 'Ef_Construction', + name: 'efConstruction', + description: 'Number of neighbors to be considered during construction of the HNSW graph', + placeholder: 'Ef_Construction', + type: 'string', + optional: true + }, + { + label: 'Num_ConnPerNode', + name: 'numConnPerNode', + description: 'Number of connections per node in the HNSW graph during construction', + placeholder: 'Num_ConnPerNode', + type: 'string', + optional: true + }, + { + label: 'MaxNum_ConnPerNode', + name: 'maxNumConnPerNode', + description: 'Maximum number of connections per node in the HNSW graph during construction', + placeholder: 'MaxNum_ConnPerNode', + type: 'string', + optional: true + }, + { + label: 'Apply_Heuristics', + name: 'applyHeuristics', + description: 'Specifies whether to apply heuristics optimizations during construction of the HNSW graph', + placeholder: 'Apply_Heuristics', + type: 'string', + optional: true + }, + { + label: 'Rerank_Weight', + name: 'rerankWeight', + description: 'Weight to be used for reranking the search results', + placeholder: 'Rerank_Weight', + type: 'string', + optional: true + }, + { + label: 'Relevance_Top_K', + name: 'relevanceTopK', + description: 'Number of top similarity matches to be considered for reranking', + placeholder: 'Relevance_Top_K', + type: 'string', + optional: true + }, + { + label: 'Relevance_Search_Threshold', + name: 'relevanceSearchThreshold', + description: 'Threshold value to consider for matching tables/views while reranking', + placeholder: 'Relevance_Search_Threshold', + type: 'string', + optional: true + } + ] + this.outputs = [ + { + label: 'Teradata Retriever', + name: 'retriever', + baseClasses: this.baseClasses + }, + { + label: 'Teradata Vector Store', + name: 'vectorStore', + baseClasses: [this.type, ...this.baseClasses] + } + ] + } + + //@ts-ignore + vectorStoreMethods = { + async upsert(nodeData: INodeData, options: ICommonObject): Promise> { + const docs = nodeData.inputs?.document as Document[] + const embeddings = nodeData.inputs?.embeddings as Embeddings + const embeddingsTableName = nodeData.inputs?.embeddingsTableName as string + const vectorStoreName = nodeData.inputs?.vectorStoreName as string + const database = nodeData.inputs?.database as string + + const vectorStoreDescription = nodeData.inputs?.vectorStoreDescription as string || null + const searchAlgorithm = nodeData.inputs?.searchAlgorithm as string || null + const distanceMetric = nodeData.inputs?.distanceMetric as string || null + const initialCentroidsMethod = nodeData.inputs?.initialCentroidsMethod as string || null + const trainNumCluster = parseInt(nodeData.inputs?.trainNumCluster as string) || null + const maxIterNum = parseInt(nodeData.inputs?.maxIterNum as string) || null + const stopThreshold = parseFloat(nodeData.inputs?.stopThreshold as string) || null + const seed = parseInt(nodeData.inputs?.seed as string) || null + const numInit = parseInt(nodeData.inputs?.numInit as string) || null + const topK = parseInt(nodeData.inputs?.topK as string) || 10 + const searchThreshold = parseFloat(nodeData.inputs?.searchThreshold as string) || null + const searchNumCluster = parseInt(nodeData.inputs?.searchNumCluster as string) || null + const efSearch = parseInt(nodeData.inputs?.efSearch as string) || null + const numLayer = parseInt(nodeData.inputs?.numLayer as string) || null + const efConstruction = parseInt(nodeData.inputs?.efConstruction as string) || null + const numConnPerNode = parseInt(nodeData.inputs?.numConnPerNode as string) || null + const maxNumConnPerNode = parseInt(nodeData.inputs?.maxNumConnPerNode as string) || null + const applyHeuristics = (nodeData.inputs?.applyHeuristics as string)?.toLowerCase() === 'true' || null + const rerankWeight = parseFloat(nodeData.inputs?.rerankWeight as string) || null + const relevanceTopK = parseInt(nodeData.inputs?.relevanceTopK as string) || null + const relevanceSearchThreshold = parseFloat(nodeData.inputs?.relevanceSearchThreshold as string) || null + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + + // Get authentication parameters with fallback to direct inputs + const user = getCredentialParam('tdUsername', credentialData, nodeData) || null + const password = getCredentialParam('tdPassword', credentialData, nodeData) || null + const host = getCredentialParam('tdHostIp', credentialData, nodeData) || null + const baseURL = getCredentialParam('baseURL', credentialData, nodeData) || null + + // JWT authentication parameters - prioritize credential store + const providedJwtToken = getCredentialParam('jwtToken', credentialData, nodeData) || null + + if (!docs || docs.length === 0) { + throw new Error('No documents provided for upsert operation'); + } + + if (!embeddings) { + throw new Error('Embeddings are required for upsert operation'); + } + + let jwtToken = null; + if (providedJwtToken) { + jwtToken = providedJwtToken; + } + + // Generate embeddings + const embedded_vectors = await embeddings.embedDocuments(docs.map(doc => doc.pageContent)); + if (embedded_vectors.length !== docs.length) { + throw new Error('The number of embedded vectors does not match the number of documents.'); + } + + const embeddings_dims = embedded_vectors[0].length; + + // Create Teradata connection + const connection = new teradatasql.TeradataConnection(); + let cur = null; + let tempTableName = ''; + let embeddingsTableCreated = false; + + try { + // Connect to Teradata + connection.connect({ + host: host, + user: user, + password: password, + database: database + }); + + cur = connection.cursor(); + + // Start transaction + connection.autocommit = false; + + // Create temporary embeddings table with VARBYTE first + tempTableName = `${embeddingsTableName}_temp_${Date.now()}`; + const createTempTableSql = ` + CREATE MULTISET TABLE ${tempTableName} + ( + element_id INTEGER, + chunks VARCHAR(32000) CHARACTER SET UNICODE, + embedding VARBYTE(64000) + ); + `; + + try { + cur.execute(createTempTableSql); + // Commit the DDL statement + connection.commit(); + } catch (error: any) { + throw new Error(`Failed to create temporary table ${tempTableName}: ${error.message}`); + } + + // Insert documents and embeddings into the temporary table using FastLoad + const insertSql = ` + {fn teradata_require_fastload}INSERT INTO ${tempTableName} (?, ?, ?)`; + + const insertDataArr: any[][] = []; + for (let i = 0; i < docs.length; i++) { + const doc = docs[i]; + const embedding = embedded_vectors[i]; + const elementId = i; + + // Convert embedding array of doubles to byte array for VARBYTE column + const embeddingBuffer = Buffer.alloc(embedding.length * 8); // 8 bytes per double + for (let j = 0; j < embedding.length; j++) { + embeddingBuffer.writeDoubleLE(embedding[j], j * 8); + } + + insertDataArr.push([ + elementId, + doc.pageContent, + embeddingBuffer + ]); + } + + try { + cur.execute(insertSql, insertDataArr); + // Commit the insert operation + connection.commit(); + } catch (error: any) { + console.error(`Failed to insert documents into temporary table: ${error.message}`); + throw error; + } + + // Create the final table with VECTOR datatype using the original embeddings table name + const createFinalTableSql = ` + CREATE MULTISET TABLE ${embeddingsTableName} + ( + element_id INTEGER, + chunks VARCHAR(32000) CHARACTER SET UNICODE, + embedding VECTOR + ) no primary index; + `; + + try { + cur.execute(createFinalTableSql); + embeddingsTableCreated = true; + // Commit the DDL statement + connection.commit(); + } catch (error: any) { + throw new Error(`Failed to create final embeddings table ${embeddingsTableName}: ${error.message}`); + } + + // Load data from temporary VARBYTE table to final VECTOR table with casting + const loadFinalTableSql = ` + INSERT INTO ${embeddingsTableName} (element_id, chunks, embedding) + SELECT + element_id, + chunks, + CAST(embedding AS VECTOR) + FROM ${tempTableName}; + `; + + try { + cur.execute(loadFinalTableSql); + // Get count of loaded records + const countSql = `SELECT COUNT(*) as record_count FROM ${embeddingsTableName}`; + cur.execute(countSql); + const countResult = cur.fetchone(); + const recordCount = countResult ? countResult[0] : 0; + } catch (error: any) { + console.error(`Failed to load data into final table: ${error.message}`); + throw new Error(`Failed to load data into final table: ${error.message}`); + } + + // Drop the temporary table + try { + cur.execute(`DROP TABLE ${tempTableName}`); + tempTableName = ''; // Clear the temp table name since it's been dropped + } catch (error: any) { + console.error(`Failed to drop temporary table: ${error.message}`); + throw new Error(`Failed to drop temporary table: ${error.message}`); + } + + // Commit the transaction + connection.commit(); + connection.autocommit = true; // Re-enable autocommit + + // Continue with the original API-based vector store upload for compatibility + const data = { + database_name: database, + }; + + // Determine authentication method and headers + let authHeaders: Record = {}; + if (jwtToken) { + authHeaders = { + "Authorization": `Bearer ${jwtToken}`, + 'Content-Type': 'application/json' + }; + } else { + // Encode the credentials string using Base64 + const credentials: string = `${user}:${password}`; + const encodedCredentials: string = Buffer.from(credentials).toString('base64'); + authHeaders = { + "Authorization": `Basic ${encodedCredentials}`, + 'Content-Type': 'application/json' + }; + } + + const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'session'; + const response = await fetch(sessionUrl, { + method: 'POST', + headers: authHeaders, + body: JSON.stringify(data) + }); + + if (!response.ok) { + throw new Error(`Failed to create session: ${response.status}`); + } + + // Extract session_id from Set-Cookie header + const setCookie = response.headers.get('set-cookie'); + let session_id = ''; + if (setCookie) { + const match = setCookie.match(/session_id=([^;]+)/); + if (match) { + session_id = match[1]; + } + } + + // Utility function to filter out null/undefined values + const filterNullValues = (obj: Record): Record => { + return Object.fromEntries( + Object.entries(obj).filter(([_, value]) => value !== null && value !== undefined) + ); + }; + + const vsParameters = filterNullValues({ + search_algorithm: searchAlgorithm, + top_k: topK, + embeddings_dims: embeddings_dims, + metric: distanceMetric, + initial_centroids_method: initialCentroidsMethod, + train_numcluster: trainNumCluster, + max_iternum: maxIterNum, + stop_threshold: stopThreshold, + seed: seed, + num_init: numInit, + search_threshold: searchThreshold, + search_num_cluster: searchNumCluster, + ef_search: efSearch, + num_layer: numLayer, + ef_construction: efConstruction, + num_connpernode: numConnPerNode, + maxnum_connpernode: maxNumConnPerNode, + apply_heuristics: applyHeuristics, + rerank_weight: rerankWeight, + relevance_top_k: relevanceTopK, + relevance_search_threshold: relevanceSearchThreshold, + description: vectorStoreDescription + }); + + const vsIndex = filterNullValues({ + target_database: database, + object_names: [embeddingsTableName], + key_columns: ['element_id'], + data_columns: ['embedding'], + vector_column: 'vector_index', + is_embedded: true, + is_normalized: false, + metadata_columns: ['chunks'], + metadata_descriptions: ['Content or Chunk of the document'], + }); + + const formData = new FormData(); + formData.append('vs_parameters', JSON.stringify(vsParameters)); + formData.append('vs_index', JSON.stringify(vsIndex)); + + const vectorstoresUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'vectorstores/' + vectorStoreName; + + // Prepare headers for vectorstores API call + let vectorstoreHeaders: Record = {}; + if (jwtToken) { + vectorstoreHeaders = { + "Authorization": `Bearer ${jwtToken}`, + "Cookie": `session_id=${session_id}` + }; + } else { + const credentials: string = `${user}:${password}`; + const encodedCredentials: string = Buffer.from(credentials).toString('base64'); + vectorstoreHeaders = { + "Authorization": `Basic ${encodedCredentials}`, + "Cookie": `session_id=${session_id}` + }; + } + + const upsertResponse = await fetch(vectorstoresUrl, { + method: 'POST', + headers: vectorstoreHeaders, + body: formData, + credentials: 'include' + }); + + if (!upsertResponse.ok) { + throw new Error(`Failed to upsert documents: ${upsertResponse.statusText}`); + } + + return { numAdded: docs.length, addedDocs: docs as Document>[] } + + } catch (e: any) { + // Rollback transaction on any error + try { + if (connection && !connection.autocommit) { + connection.rollback(); + connection.autocommit = true; + } + + // Clean up temporary table if it exists + if (tempTableName && cur) { + try { + cur.execute(`DROP TABLE ${tempTableName}`); + } catch (cleanupError: any) { + console.warn(`Failed to clean up temporary table: ${cleanupError.message}`); + } + } + + // Clean up embeddings table if it was created during this transaction + if (embeddingsTableCreated && cur) { + try { + cur.execute(`DROP TABLE ${embeddingsTableName}`); + } catch (cleanupError: any) { + console.warn(`Failed to clean up embeddings table: ${cleanupError.message}`); + } + } + } catch (rollbackError: any) { + console.error(`Failed to rollback transaction: ${rollbackError.message}`); + } + + throw new Error(e.message || e) + } finally { + if (cur) { + cur.close(); + } + // Close the connection + if (connection) { + connection.close(); + } + } + } + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const log_level = 1; + const docs = nodeData.inputs?.document as Document[] + const embeddings = nodeData.inputs?.embeddings as Embeddings + const embeddingsTableName = nodeData.inputs?.embeddingsTableName as string + const vectorStoreName = nodeData.inputs?.vectorStoreName as string + const database = nodeData.inputs?.database as string + + // Optional parameters for vector store configuration + const vectorStoreDescription = nodeData.inputs?.vectorStoreDescription as string || null + const searchAlgorithm = nodeData.inputs?.searchAlgorithm as string || null + const distanceMetric = nodeData.inputs?.distanceMetric as string || null + const initialCentroidsMethod = nodeData.inputs?.initialCentroidsMethod as string || null + const trainNumCluster = parseInt(nodeData.inputs?.trainNumCluster as string) || null + const maxIterNum = parseInt(nodeData.inputs?.maxIterNum as string) || null + const stopThreshold = parseFloat(nodeData.inputs?.stopThreshold as string) || null + const seed = parseInt(nodeData.inputs?.seed as string) || null + const numInit = parseInt(nodeData.inputs?.numInit as string) || null + const topK = parseInt(nodeData.inputs?.topK as string) || 4 + const searchThreshold = parseFloat(nodeData.inputs?.searchThreshold as string) || null + const searchNumCluster = parseInt(nodeData.inputs?.searchNumCluster as string) || null + const efSearch = parseInt(nodeData.inputs?.efSearch as string) || null + const numLayer = parseInt(nodeData.inputs?.numLayer as string) || null + const efConstruction = parseInt(nodeData.inputs?.efConstruction as string) || null + const numConnPerNode = parseInt(nodeData.inputs?.numConnPerNode as string) || null + const maxNumConnPerNode = parseInt(nodeData.inputs?.maxNumConnPerNode as string) || null + const applyHeuristics = (nodeData.inputs?.applyHeuristics as string)?.toLowerCase() === 'true' || null + const rerankWeight = parseFloat(nodeData.inputs?.rerankWeight as string) || null + const relevanceTopK = parseInt(nodeData.inputs?.relevanceTopK as string) || null + const relevanceSearchThreshold = parseFloat(nodeData.inputs?.relevanceSearchThreshold as string) || null + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + + // Get authentication parameters with fallback to direct inputs + const user = getCredentialParam('tdUsername', credentialData, nodeData) || null + const password = getCredentialParam('tdPassword', credentialData, nodeData) || null + const host = getCredentialParam('tdHostIp', credentialData, nodeData) || null + const baseURL = getCredentialParam('baseURL', credentialData, nodeData) || null + + // JWT authentication parameters - prioritize credential store + const providedJwtToken = getCredentialParam('jwtToken', credentialData, nodeData) || null + + // Check if JWT authentication should be used + let jwtToken = null; + if (providedJwtToken) { + jwtToken = providedJwtToken; + } + + // Determine authentication headers + let authHeaders: Record = {}; + if (jwtToken) { + authHeaders = { + "Authorization": `Bearer ${jwtToken}`, + 'Content-Type': 'application/json' + }; + } else { + const credentials = `${user}:${password}` + const encodedCredentials = Buffer.from(credentials).toString('base64') + authHeaders = { + "Authorization": `Basic ${encodedCredentials}`, + 'Content-Type': 'application/json' + }; + } + + const sessionData = { + database_name: database, + } + + const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'session' + const sessionResponse = await fetch(sessionUrl, { + method: 'POST', + headers: authHeaders, + body: JSON.stringify(sessionData) + }) + + if (!sessionResponse.ok) { + throw new Error(`Failed to create session: ${sessionResponse.status}`) + } + + // Extract session_id from Set-Cookie header + const setCookie = sessionResponse.headers.get('set-cookie') + let session_id = '' + if (setCookie) { + const match = setCookie.match(/session_id=([^;]+)/) + if (match) { + session_id = match[1] + } + } + + // Helper function for similarity search + const performSimilaritySearch = async (query: string, k: number = topK): Promise => { + try { + // Generate embeddings for the query + const queryEmbedding = await embeddings.embedQuery(query); + if (!queryEmbedding || queryEmbedding.length === 0) { + throw new Error('Failed to generate query embedding'); + } + const queryEmbeddingString = queryEmbedding.join(','); + // Prepare the search request + const searchData = { + question_vector: queryEmbeddingString + } + + // Prepare headers for search API call + let searchHeaders: Record = {}; + if (jwtToken) { + searchHeaders = { + 'Content-Type': 'application/json', + "Authorization": `Bearer ${jwtToken}`, + "Cookie": `session_id=${session_id}` + }; + } else { + const credentials = `${user}:${password}` + const encodedCredentials = Buffer.from(credentials).toString('base64') + searchHeaders = { + 'Content-Type': 'application/json', + "Authorization": `Basic ${encodedCredentials}`, + "Cookie": `session_id=${session_id}` + }; + } + + const searchUrl = `${baseURL}${baseURL.endsWith('/') ? '' : '/'}vectorstores/${vectorStoreName}/similarity-search?log_level=${log_level}` + const searchResponse = await fetch(searchUrl, { + method: 'POST', + headers: searchHeaders, + body: JSON.stringify(searchData), + credentials: 'include' + }) + + if (!searchResponse.ok) { + throw new Error(`Search failed: ${searchResponse.statusText}`) + } + + const searchResults = await searchResponse.json() + + return searchResults.similar_objects_list?.map((result: any) => new Document({ + pageContent: result.chunks || '', + metadata: { + score: result.score || 0, + source: vectorStoreName, + database: result.DataBaseName, + table: result.TableName, + id: result.element_id + } + })) || [] + + } catch (error) { + console.error('Error during similarity search:', error) + throw error + } + } + + // Store reference to this class instance for upsert method + const self = this + + // Create vector store object following Flowise pattern + const vectorStore = { + async similaritySearch(query: string, k: number = topK): Promise { + return performSimilaritySearch(query, k) + }, + + async similaritySearchWithScore(query: string, k: number = topK): Promise<[Document, number][]> { + const docs = await performSimilaritySearch(query, k) + return docs.map(doc => [doc, doc.metadata.score || 0]) + }, + + // Add invoke method directly to vectorStore + async invoke(query: string, options?: any): Promise { + return performSimilaritySearch(query, topK) + }, + + async getRelevantDocuments(query: string, options?: any): Promise { + return performSimilaritySearch(query, topK) + }, + + async _getRelevantDocuments(query: string, options?: any): Promise { + return performSimilaritySearch(query, topK) + }, + + asRetriever(options?: { k?: number }) { + const k = options?.k || topK + + return { + async getRelevantDocuments(query: string, options?: any): Promise { + return performSimilaritySearch(query, k) + }, + + async invoke(query: string, options?: any): Promise { + return performSimilaritySearch(query, k) + }, + + async _getRelevantDocuments(query: string, options?: any): Promise { + return performSimilaritySearch(query, k) + } + } + } + } + + // Create retriever using the vectorStore methods + const retriever = { + async getRelevantDocuments(query: string, options?: any): Promise { + return vectorStore.getRelevantDocuments(query, options) + }, + + async invoke(query: string, options?: any): Promise { + return vectorStore.invoke(query, options) + }, + + async _getRelevantDocuments(query: string, options?: any): Promise { + return vectorStore._getRelevantDocuments(query, options) + } + } + + return vectorStore + } +} + +module.exports = { nodeClass: Teradata_VectorStores } \ No newline at end of file diff --git a/packages/components/nodes/vectorstores/Teradata/teradata.jpg b/packages/components/nodes/vectorstores/Teradata/teradata.jpg new file mode 100644 index 0000000000000000000000000000000000000000..55d2057cc4bc2ef7172485da51022e0dcc8403c9 GIT binary patch literal 1079 zcmeAS@N?(olHy`uVBq!ia0vp^4?viM8A$4Wo^=^W6$SW&xIW2o`v3pmlT5ppU0J_h zKKgQe$I}A0$4N%dDnoxhxc+iN@wcm|p4Wsu$*_H#ZuL0D^xv-^e?Go_UKjne*ylw{ z(wjMr-!32j{rbt<1#KVJ&3IN8@M=oMpAWAdCFp+Kweshqo1YGC`LJpJr+sVQub%R< zC-=*#eG;?3Z((3yZt!$*45^s&_U_%HRR$8RiJck>lRjj#YIR)sz5nRiySJOq-S~7e z#b0dh*LhpoZG<@*BX&m_9+OD!ff6xGeGKN7)lT^w{8Vk;x_i6q&fQ%3b+-B4w380= z9hfF6PjL9ap(0?z#L3d{z;qA`cZq}QiLFmFjUJftFTcHen~g8qnO_-J_AWBck^$G| zIj{?QC^Y5)^)cObQ)pz_)$72-St8xYBJ{$HiBsi5E{o6)?S}R;^H}bk-dcAUVqd0M zU7xnRkb5>Ed-1ypB>V7s-`}za3kz!JY@W>c_}JINbAD5W68L|ndoD^ju)XHsfjEXQ z*G{v(Q|8_h8cbE}*V(Pix1M%6P*PC4#5lN@XUCn%S3Lgtzg>Por+BZ}iFd;HYESMx zVR&V$$cv-*xrKSH_hjj^Rn;z^FSyn4?N6TH0Xa_&NN+T1tgBi7_ig&3vzgJce{S!6 z)=|a8zUk_V#U^t0pEhWAE#myVX{~v`=PCEt^{*bPKG?gapTFH%=4ZSZ=ZgNnp1+Mg zRLZ^*5M#GK@SUxMqf|BKj87@s+_Vsls$9dl@r(EtRu~#z?D)CXVS91Nw-Y9j@eO>5 z2`^>7DqUD@a5Ivrig|@W#del64$mcxBbXNLQwm$SR{w-|{|w`mR#Cfd9?skP^5Uhn zhjusZdv<+Mt%)b|vqjdLxr~>&J{$2^MLWrt?BB9ss|wIG_T_808oJEQ@LRuk-cQ8~ zZ_Pq)%<|eS`1x?)t}S0G~Hy-cT;T>fzT;_5>zUwHod%r5-LoHQ% Date: Wed, 3 Sep 2025 14:46:18 +0530 Subject: [PATCH 2/7] Minor update --- .../nodes/vectorstores/Teradata/Teradata.ts | 8 ++++---- .../nodes/vectorstores/Teradata/teradata.jpg | Bin 1079 -> 0 bytes .../nodes/vectorstores/Teradata/teradata.svg | 19 ++++++++++++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) delete mode 100644 packages/components/nodes/vectorstores/Teradata/teradata.jpg create mode 100644 packages/components/nodes/vectorstores/Teradata/teradata.svg diff --git a/packages/components/nodes/vectorstores/Teradata/Teradata.ts b/packages/components/nodes/vectorstores/Teradata/Teradata.ts index 7b8f16fef3c..6183ca6acab 100644 --- a/packages/components/nodes/vectorstores/Teradata/Teradata.ts +++ b/packages/components/nodes/vectorstores/Teradata/Teradata.ts @@ -458,7 +458,7 @@ class Teradata_VectorStores implements INode { }; } - const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'session'; + const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/session'; const response = await fetch(sessionUrl, { method: 'POST', headers: authHeaders, @@ -527,7 +527,7 @@ class Teradata_VectorStores implements INode { formData.append('vs_parameters', JSON.stringify(vsParameters)); formData.append('vs_index', JSON.stringify(vsIndex)); - const vectorstoresUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'vectorstores/' + vectorStoreName; + const vectorstoresUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/vectorstores/' + vectorStoreName; // Prepare headers for vectorstores API call let vectorstoreHeaders: Record = {}; @@ -667,7 +667,7 @@ class Teradata_VectorStores implements INode { database_name: database, } - const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'session' + const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/session' const sessionResponse = await fetch(sessionUrl, { method: 'POST', headers: authHeaders, @@ -720,7 +720,7 @@ class Teradata_VectorStores implements INode { }; } - const searchUrl = `${baseURL}${baseURL.endsWith('/') ? '' : '/'}vectorstores/${vectorStoreName}/similarity-search?log_level=${log_level}` + const searchUrl = `${baseURL}${baseURL.endsWith('/') ? '' : '/'}data-insights/api/v1/vectorstores/${vectorStoreName}/similarity-search?log_level=${log_level}` const searchResponse = await fetch(searchUrl, { method: 'POST', headers: searchHeaders, diff --git a/packages/components/nodes/vectorstores/Teradata/teradata.jpg b/packages/components/nodes/vectorstores/Teradata/teradata.jpg deleted file mode 100644 index 55d2057cc4bc2ef7172485da51022e0dcc8403c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1079 zcmeAS@N?(olHy`uVBq!ia0vp^4?viM8A$4Wo^=^W6$SW&xIW2o`v3pmlT5ppU0J_h zKKgQe$I}A0$4N%dDnoxhxc+iN@wcm|p4Wsu$*_H#ZuL0D^xv-^e?Go_UKjne*ylw{ z(wjMr-!32j{rbt<1#KVJ&3IN8@M=oMpAWAdCFp+Kweshqo1YGC`LJpJr+sVQub%R< zC-=*#eG;?3Z((3yZt!$*45^s&_U_%HRR$8RiJck>lRjj#YIR)sz5nRiySJOq-S~7e z#b0dh*LhpoZG<@*BX&m_9+OD!ff6xGeGKN7)lT^w{8Vk;x_i6q&fQ%3b+-B4w380= z9hfF6PjL9ap(0?z#L3d{z;qA`cZq}QiLFmFjUJftFTcHen~g8qnO_-J_AWBck^$G| zIj{?QC^Y5)^)cObQ)pz_)$72-St8xYBJ{$HiBsi5E{o6)?S}R;^H}bk-dcAUVqd0M zU7xnRkb5>Ed-1ypB>V7s-`}za3kz!JY@W>c_}JINbAD5W68L|ndoD^ju)XHsfjEXQ z*G{v(Q|8_h8cbE}*V(Pix1M%6P*PC4#5lN@XUCn%S3Lgtzg>Por+BZ}iFd;HYESMx zVR&V$$cv-*xrKSH_hjj^Rn;z^FSyn4?N6TH0Xa_&NN+T1tgBi7_ig&3vzgJce{S!6 z)=|a8zUk_V#U^t0pEhWAE#myVX{~v`=PCEt^{*bPKG?gapTFH%=4ZSZ=ZgNnp1+Mg zRLZ^*5M#GK@SUxMqf|BKj87@s+_Vsls$9dl@r(EtRu~#z?D)CXVS91Nw-Y9j@eO>5 z2`^>7DqUD@a5Ivrig|@W#del64$mcxBbXNLQwm$SR{w-|{|w`mR#Cfd9?skP^5Uhn zhjusZdv<+Mt%)b|vqjdLxr~>&J{$2^MLWrt?BB9ss|wIG_T_808oJEQ@LRuk-cQ8~ zZ_Pq)%<|eS`1x?)t}S0G~Hy-cT;T>fzT;_5>zUwHod%r5-LoHQ% + + + + + + + + + + + + + + + + + + From 79620b41e35b552caf36765f6a4a57a555013002 Mon Sep 17 00:00:00 2001 From: sshekhar1 Date: Wed, 3 Sep 2025 15:28:18 +0530 Subject: [PATCH 3/7] Updated icon --- packages/components/nodes/vectorstores/Teradata/Teradata.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/nodes/vectorstores/Teradata/Teradata.ts b/packages/components/nodes/vectorstores/Teradata/Teradata.ts index 6183ca6acab..ff84eb084c3 100644 --- a/packages/components/nodes/vectorstores/Teradata/Teradata.ts +++ b/packages/components/nodes/vectorstores/Teradata/Teradata.ts @@ -23,7 +23,7 @@ class Teradata_VectorStores implements INode { this.name = 'teradata' this.version = 1.0 this.type = 'teradata' - this.icon = 'teradata.jpg' + this.icon = 'teradata.svg' this.category = 'Vector Stores' this.description = 'Upsert embedded data and perform similarity search upon query using Teradata Enterprise Vector Store' this.baseClasses = [this.type, 'BaseRetriever'] @@ -816,4 +816,4 @@ class Teradata_VectorStores implements INode { } } -module.exports = { nodeClass: Teradata_VectorStores } \ No newline at end of file +module.exports = { nodeClass: Teradata_VectorStores } From ee01ecc2bd86c1cf312135ba15af19b83ecc39bf Mon Sep 17 00:00:00 2001 From: sshekhar1 Date: Mon, 8 Sep 2025 12:44:27 +0530 Subject: [PATCH 4/7] Updated input fields descriptions --- .../nodes/vectorstores/Teradata/Teradata.ts | 55 +++++++++++++------ 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/packages/components/nodes/vectorstores/Teradata/Teradata.ts b/packages/components/nodes/vectorstores/Teradata/Teradata.ts index ff84eb084c3..950b8ef4143 100644 --- a/packages/components/nodes/vectorstores/Teradata/Teradata.ts +++ b/packages/components/nodes/vectorstores/Teradata/Teradata.ts @@ -72,6 +72,7 @@ class Teradata_VectorStores implements INode { description: 'Teradata Vector Store Description', placeholder: `Vector_Store_Description`, type: 'string', + additionalParams: true, optional: true }, { @@ -80,6 +81,7 @@ class Teradata_VectorStores implements INode { description: 'Search Algorithm for Vector Store', placeholder: 'Search_Algorithm', type: 'string', + additionalParams: true, optional: true }, { @@ -88,62 +90,70 @@ class Teradata_VectorStores implements INode { description: 'Distance Metric to be used for distance calculation between vectors', placeholder: 'Distance_Metric', type: 'string', + additionalParams: true, optional: true }, { label: 'Initial_Centroids_Method', name: 'initialCentroidsMethod', - description: 'Algorithm to be used for initializing the cluster centroids', + description: 'Algorithm to be used for initializing the cluster centroids for Search Algorithm KMEANS', placeholder: 'Initial_Centroids_Method', type: 'string', + additionalParams: true, optional: true }, { label: 'Train_NumCluster', name: 'trainNumCluster', - description: 'Number of clusters to be trained', + description: 'Number of clusters to be trained for Search Algorithm KMEANS', placeholder: 'Train_NumCluster', type: 'string', + additionalParams: true, optional: true }, { label: 'MaxIterNum', name: 'maxIterNum', - description: 'Maximum number of iterations to be run during training', + description: 'Maximum number of iterations to be run during training for Search Algorithm KMEANS', placeholder: 'MaxIterNum', type: 'string', + additionalParams: true, optional: true }, { label: 'Stop_Threshold', name: 'stopThreshold', - description: 'Threshold value at which training should be stopped', + description: 'Threshold value at which training should be stopped for Search Algorithm KMEANS', placeholder: 'Stop_Threshold', type: 'string', + additionalParams: true, optional: true }, { label: 'Seed', name: 'seed', - description: 'Seed value to be used for random number generation', + description: 'Seed value to be used for random number generation for Search Algorithm KMEANS', placeholder: 'Seed', type: 'string', + additionalParams: true, optional: true }, { label: 'Num_Init', name: 'numInit', - description: 'number of times the k-means algorithm should run with different initial centroid seeds', + description: 'number of times the k-means algorithm should run with different initial centroid seeds for Search Algorithm KMEANS', placeholder: 'Num_Init', type: 'string', + additionalParams: true, optional: true }, { label: 'Top_K', name: 'topK', - description: 'Number of top results to fetch. Default to 4', + description: 'Number of top results to fetch. Default to 10', placeholder: 'Top_K', type: 'string', + additionalParams: true, optional: true }, { @@ -152,62 +162,70 @@ class Teradata_VectorStores implements INode { description: 'Threshold value to consider for matching tables/views while searching', placeholder: 'Search_Threshold', type: 'string', + additionalParams: true, optional: true }, { label: 'Search_NumCluster', name: 'searchNumCluster', - description: 'Number of clusters to be considered while searching', + description: 'Number of clusters to be considered while searching for Search Algorithm KMEANS', placeholder: 'Search_NumCluster', type: 'string', + additionalParams: true, optional: true }, { label: 'Ef_Search', name: 'efSearch', - description: 'Number of neighbors to be considered during search in HNSW graph', + description: 'Number of neighbors to be considered during search in HNSW graph for Search Algorithm HNSW', placeholder: 'Ef_Search', type: 'string', + additionalParams: true, optional: true }, { label: 'Num_Layer', name: 'numLayer', - description: 'Number of neighbors to be considered during search in HNSW graph', + description: 'Number of layers in the HNSW graph for Search Algorithm HNSW', placeholder: 'Num_Layer', type: 'string', + additionalParams: true, optional: true }, { label: 'Ef_Construction', name: 'efConstruction', - description: 'Number of neighbors to be considered during construction of the HNSW graph', + description: 'Number of neighbors to be considered during construction of the HNSW graph for Search Algorithm HNSW', placeholder: 'Ef_Construction', type: 'string', + additionalParams: true, optional: true }, { label: 'Num_ConnPerNode', name: 'numConnPerNode', - description: 'Number of connections per node in the HNSW graph during construction', + description: 'Number of connections per node in the HNSW graph during construction for Search Algorithm HNSW', placeholder: 'Num_ConnPerNode', type: 'string', + additionalParams: true, optional: true }, { label: 'MaxNum_ConnPerNode', name: 'maxNumConnPerNode', - description: 'Maximum number of connections per node in the HNSW graph during construction', + description: 'Maximum number of connections per node in the HNSW graph during construction for Search Algorithm HNSW', placeholder: 'MaxNum_ConnPerNode', type: 'string', + additionalParams: true, optional: true }, { label: 'Apply_Heuristics', name: 'applyHeuristics', - description: 'Specifies whether to apply heuristics optimizations during construction of the HNSW graph', + description: 'Specifies whether to apply heuristics optimizations during construction of the HNSW graph for Search Algorithm HNSW', placeholder: 'Apply_Heuristics', type: 'string', + additionalParams: true, optional: true }, { @@ -216,6 +234,7 @@ class Teradata_VectorStores implements INode { description: 'Weight to be used for reranking the search results', placeholder: 'Rerank_Weight', type: 'string', + additionalParams: true, optional: true }, { @@ -224,6 +243,7 @@ class Teradata_VectorStores implements INode { description: 'Number of top similarity matches to be considered for reranking', placeholder: 'Relevance_Top_K', type: 'string', + additionalParams: true, optional: true }, { @@ -232,6 +252,7 @@ class Teradata_VectorStores implements INode { description: 'Threshold value to consider for matching tables/views while reranking', placeholder: 'Relevance_Search_Threshold', type: 'string', + additionalParams: true, optional: true } ] @@ -601,7 +622,7 @@ class Teradata_VectorStores implements INode { } async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { - const log_level = 1; + const log_level = 0; const docs = nodeData.inputs?.document as Document[] const embeddings = nodeData.inputs?.embeddings as Embeddings const embeddingsTableName = nodeData.inputs?.embeddingsTableName as string @@ -618,7 +639,7 @@ class Teradata_VectorStores implements INode { const stopThreshold = parseFloat(nodeData.inputs?.stopThreshold as string) || null const seed = parseInt(nodeData.inputs?.seed as string) || null const numInit = parseInt(nodeData.inputs?.numInit as string) || null - const topK = parseInt(nodeData.inputs?.topK as string) || 4 + const topK = parseInt(nodeData.inputs?.topK as string) || 10 const searchThreshold = parseFloat(nodeData.inputs?.searchThreshold as string) || null const searchNumCluster = parseInt(nodeData.inputs?.searchNumCluster as string) || null const efSearch = parseInt(nodeData.inputs?.efSearch as string) || null @@ -816,4 +837,4 @@ class Teradata_VectorStores implements INode { } } -module.exports = { nodeClass: Teradata_VectorStores } +module.exports = { nodeClass: Teradata_VectorStores } \ No newline at end of file From 8b261785867815668cb794089b037c949267a981 Mon Sep 17 00:00:00 2001 From: sshekhar1 Date: Wed, 10 Sep 2025 00:42:06 +0530 Subject: [PATCH 5/7] Added teradatasql dependency in components package.json --- packages/components/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/components/package.json b/packages/components/package.json index eea9b24f277..c0cd7aa738e 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -142,6 +142,7 @@ "sanitize-filename": "^1.6.3", "srt-parser-2": "^1.2.3", "supergateway": "3.0.1", + "teradatasql": "^20.0.40", "typeorm": "^0.3.6", "weaviate-ts-client": "^1.1.0", "winston": "^3.9.0", From 06a02f19b37568c22bb8ed7891a394fe95783f91 Mon Sep 17 00:00:00 2001 From: sshekhar1 Date: Wed, 10 Sep 2025 10:53:07 +0530 Subject: [PATCH 6/7] Updated code based on lint-fix command --- .../TeradataVectorStoreApi.credential.ts | 2 +- .../nodes/vectorstores/Teradata/Teradata.ts | 418 +++++++++--------- 2 files changed, 198 insertions(+), 222 deletions(-) diff --git a/packages/components/credentials/TeradataVectorStoreApi.credential.ts b/packages/components/credentials/TeradataVectorStoreApi.credential.ts index 633dcec37d6..9f613cf6c45 100644 --- a/packages/components/credentials/TeradataVectorStoreApi.credential.ts +++ b/packages/components/credentials/TeradataVectorStoreApi.credential.ts @@ -14,7 +14,7 @@ class TeradataVectorStoreApiCredentials implements INodeCredential { { label: 'Teradata Host IP', name: 'tdHostIp', - type: 'string' + type: 'string' }, { label: 'Username', diff --git a/packages/components/nodes/vectorstores/Teradata/Teradata.ts b/packages/components/nodes/vectorstores/Teradata/Teradata.ts index 950b8ef4143..2cd4fa22d8e 100644 --- a/packages/components/nodes/vectorstores/Teradata/Teradata.ts +++ b/packages/components/nodes/vectorstores/Teradata/Teradata.ts @@ -15,7 +15,7 @@ class Teradata_VectorStores implements INode { badge: string baseClasses: string[] credential: INodeParams - inputs: INodeParams[] + inputs: INodeParams[] outputs: INodeOutputsValue[] constructor() { @@ -38,12 +38,12 @@ class Teradata_VectorStores implements INode { label: 'Document', name: 'document', type: 'Document', - list: true, + list: true }, { label: 'Embeddings', name: 'embeddings', - type: 'Embeddings', + type: 'Embeddings' }, { label: 'Vector_Store_Name', @@ -141,7 +141,8 @@ class Teradata_VectorStores implements INode { { label: 'Num_Init', name: 'numInit', - description: 'number of times the k-means algorithm should run with different initial centroid seeds for Search Algorithm KMEANS', + description: + 'number of times the k-means algorithm should run with different initial centroid seeds for Search Algorithm KMEANS', placeholder: 'Num_Init', type: 'string', additionalParams: true, @@ -222,7 +223,8 @@ class Teradata_VectorStores implements INode { { label: 'Apply_Heuristics', name: 'applyHeuristics', - description: 'Specifies whether to apply heuristics optimizations during construction of the HNSW graph for Search Algorithm HNSW', + description: + 'Specifies whether to apply heuristics optimizations during construction of the HNSW graph for Search Algorithm HNSW', placeholder: 'Apply_Heuristics', type: 'string', additionalParams: true, @@ -254,7 +256,7 @@ class Teradata_VectorStores implements INode { type: 'string', additionalParams: true, optional: true - } + } ] this.outputs = [ { @@ -279,10 +281,10 @@ class Teradata_VectorStores implements INode { const vectorStoreName = nodeData.inputs?.vectorStoreName as string const database = nodeData.inputs?.database as string - const vectorStoreDescription = nodeData.inputs?.vectorStoreDescription as string || null - const searchAlgorithm = nodeData.inputs?.searchAlgorithm as string || null - const distanceMetric = nodeData.inputs?.distanceMetric as string || null - const initialCentroidsMethod = nodeData.inputs?.initialCentroidsMethod as string || null + const vectorStoreDescription = (nodeData.inputs?.vectorStoreDescription as string) || null + const searchAlgorithm = (nodeData.inputs?.searchAlgorithm as string) || null + const distanceMetric = (nodeData.inputs?.distanceMetric as string) || null + const initialCentroidsMethod = (nodeData.inputs?.initialCentroidsMethod as string) || null const trainNumCluster = parseInt(nodeData.inputs?.trainNumCluster as string) || null const maxIterNum = parseInt(nodeData.inputs?.maxIterNum as string) || null const stopThreshold = parseFloat(nodeData.inputs?.stopThreshold as string) || null @@ -312,32 +314,32 @@ class Teradata_VectorStores implements INode { const providedJwtToken = getCredentialParam('jwtToken', credentialData, nodeData) || null if (!docs || docs.length === 0) { - throw new Error('No documents provided for upsert operation'); + throw new Error('No documents provided for upsert operation') } if (!embeddings) { - throw new Error('Embeddings are required for upsert operation'); + throw new Error('Embeddings are required for upsert operation') } - let jwtToken = null; + let jwtToken = null if (providedJwtToken) { - jwtToken = providedJwtToken; + jwtToken = providedJwtToken } - + // Generate embeddings - const embedded_vectors = await embeddings.embedDocuments(docs.map(doc => doc.pageContent)); + const embedded_vectors = await embeddings.embedDocuments(docs.map((doc) => doc.pageContent)) if (embedded_vectors.length !== docs.length) { - throw new Error('The number of embedded vectors does not match the number of documents.'); + throw new Error('The number of embedded vectors does not match the number of documents.') } - const embeddings_dims = embedded_vectors[0].length; - + const embeddings_dims = embedded_vectors[0].length + // Create Teradata connection - const connection = new teradatasql.TeradataConnection(); - let cur = null; - let tempTableName = ''; - let embeddingsTableCreated = false; - + const connection = new teradatasql.TeradataConnection() + let cur = null + let tempTableName = '' + let embeddingsTableCreated = false + try { // Connect to Teradata connection.connect({ @@ -345,15 +347,15 @@ class Teradata_VectorStores implements INode { user: user, password: password, database: database - }); + }) + + cur = connection.cursor() - cur = connection.cursor(); - // Start transaction - connection.autocommit = false; + connection.autocommit = false // Create temporary embeddings table with VARBYTE first - tempTableName = `${embeddingsTableName}_temp_${Date.now()}`; + tempTableName = `${embeddingsTableName}_temp_${Date.now()}` const createTempTableSql = ` CREATE MULTISET TABLE ${tempTableName} ( @@ -361,46 +363,42 @@ class Teradata_VectorStores implements INode { chunks VARCHAR(32000) CHARACTER SET UNICODE, embedding VARBYTE(64000) ); - `; + ` try { - cur.execute(createTempTableSql); + cur.execute(createTempTableSql) // Commit the DDL statement - connection.commit(); + connection.commit() } catch (error: any) { - throw new Error(`Failed to create temporary table ${tempTableName}: ${error.message}`); + throw new Error(`Failed to create temporary table ${tempTableName}: ${error.message}`) } // Insert documents and embeddings into the temporary table using FastLoad const insertSql = ` - {fn teradata_require_fastload}INSERT INTO ${tempTableName} (?, ?, ?)`; - - const insertDataArr: any[][] = []; + {fn teradata_require_fastload}INSERT INTO ${tempTableName} (?, ?, ?)` + + const insertDataArr: any[][] = [] for (let i = 0; i < docs.length; i++) { - const doc = docs[i]; - const embedding = embedded_vectors[i]; - const elementId = i; - + const doc = docs[i] + const embedding = embedded_vectors[i] + const elementId = i + // Convert embedding array of doubles to byte array for VARBYTE column - const embeddingBuffer = Buffer.alloc(embedding.length * 8); // 8 bytes per double + const embeddingBuffer = Buffer.alloc(embedding.length * 8) // 8 bytes per double for (let j = 0; j < embedding.length; j++) { - embeddingBuffer.writeDoubleLE(embedding[j], j * 8); + embeddingBuffer.writeDoubleLE(embedding[j], j * 8) } - - insertDataArr.push([ - elementId, - doc.pageContent, - embeddingBuffer - ]); + + insertDataArr.push([elementId, doc.pageContent, embeddingBuffer]) } - + try { - cur.execute(insertSql, insertDataArr); + cur.execute(insertSql, insertDataArr) // Commit the insert operation - connection.commit(); + connection.commit() } catch (error: any) { - console.error(`Failed to insert documents into temporary table: ${error.message}`); - throw error; + console.error(`Failed to insert documents into temporary table: ${error.message}`) + throw error } // Create the final table with VECTOR datatype using the original embeddings table name @@ -411,15 +409,15 @@ class Teradata_VectorStores implements INode { chunks VARCHAR(32000) CHARACTER SET UNICODE, embedding VECTOR ) no primary index; - `; + ` try { - cur.execute(createFinalTableSql); - embeddingsTableCreated = true; + cur.execute(createFinalTableSql) + embeddingsTableCreated = true // Commit the DDL statement - connection.commit(); + connection.commit() } catch (error: any) { - throw new Error(`Failed to create final embeddings table ${embeddingsTableName}: ${error.message}`); + throw new Error(`Failed to create final embeddings table ${embeddingsTableName}: ${error.message}`) } // Load data from temporary VARBYTE table to final VECTOR table with casting @@ -430,82 +428,75 @@ class Teradata_VectorStores implements INode { chunks, CAST(embedding AS VECTOR) FROM ${tempTableName}; - `; + ` try { - cur.execute(loadFinalTableSql); - // Get count of loaded records - const countSql = `SELECT COUNT(*) as record_count FROM ${embeddingsTableName}`; - cur.execute(countSql); - const countResult = cur.fetchone(); - const recordCount = countResult ? countResult[0] : 0; + cur.execute(loadFinalTableSql) } catch (error: any) { - console.error(`Failed to load data into final table: ${error.message}`); - throw new Error(`Failed to load data into final table: ${error.message}`); + console.error(`Failed to load data into final table: ${error.message}`) + throw new Error(`Failed to load data into final table: ${error.message}`) } // Drop the temporary table try { - cur.execute(`DROP TABLE ${tempTableName}`); - tempTableName = ''; // Clear the temp table name since it's been dropped + cur.execute(`DROP TABLE ${tempTableName}`) + tempTableName = '' // Clear the temp table name since it's been dropped } catch (error: any) { - console.error(`Failed to drop temporary table: ${error.message}`); - throw new Error(`Failed to drop temporary table: ${error.message}`); + console.error(`Failed to drop temporary table: ${error.message}`) + throw new Error(`Failed to drop temporary table: ${error.message}`) } // Commit the transaction - connection.commit(); - connection.autocommit = true; // Re-enable autocommit + connection.commit() + connection.autocommit = true // Re-enable autocommit // Continue with the original API-based vector store upload for compatibility const data = { - database_name: database, - }; - + database_name: database + } + // Determine authentication method and headers - let authHeaders: Record = {}; + let authHeaders: Record = {} if (jwtToken) { - authHeaders = { - "Authorization": `Bearer ${jwtToken}`, + authHeaders = { + Authorization: `Bearer ${jwtToken}`, 'Content-Type': 'application/json' - }; + } } else { // Encode the credentials string using Base64 - const credentials: string = `${user}:${password}`; - const encodedCredentials: string = Buffer.from(credentials).toString('base64'); - authHeaders = { - "Authorization": `Basic ${encodedCredentials}`, + const credentials: string = `${user}:${password}` + const encodedCredentials: string = Buffer.from(credentials).toString('base64') + authHeaders = { + Authorization: `Basic ${encodedCredentials}`, 'Content-Type': 'application/json' - }; + } } - const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/session'; + const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/session' const response = await fetch(sessionUrl, { method: 'POST', headers: authHeaders, body: JSON.stringify(data) - }); + }) if (!response.ok) { - throw new Error(`Failed to create session: ${response.status}`); + throw new Error(`Failed to create session: ${response.status}`) } // Extract session_id from Set-Cookie header - const setCookie = response.headers.get('set-cookie'); - let session_id = ''; + const setCookie = response.headers.get('set-cookie') + let session_id = '' if (setCookie) { - const match = setCookie.match(/session_id=([^;]+)/); + const match = setCookie.match(/session_id=([^;]+)/) if (match) { - session_id = match[1]; + session_id = match[1] } } // Utility function to filter out null/undefined values const filterNullValues = (obj: Record): Record => { - return Object.fromEntries( - Object.entries(obj).filter(([_, value]) => value !== null && value !== undefined) - ); - }; + return Object.fromEntries(Object.entries(obj).filter(([_, value]) => value !== null && value !== undefined)) + } const vsParameters = filterNullValues({ search_algorithm: searchAlgorithm, @@ -530,7 +521,7 @@ class Teradata_VectorStores implements INode { relevance_top_k: relevanceTopK, relevance_search_threshold: relevanceSearchThreshold, description: vectorStoreDescription - }); + }) const vsIndex = filterNullValues({ target_database: database, @@ -541,29 +532,30 @@ class Teradata_VectorStores implements INode { is_embedded: true, is_normalized: false, metadata_columns: ['chunks'], - metadata_descriptions: ['Content or Chunk of the document'], - }); - - const formData = new FormData(); - formData.append('vs_parameters', JSON.stringify(vsParameters)); - formData.append('vs_index', JSON.stringify(vsIndex)); - - const vectorstoresUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/vectorstores/' + vectorStoreName; - + metadata_descriptions: ['Content or Chunk of the document'] + }) + + const formData = new FormData() + formData.append('vs_parameters', JSON.stringify(vsParameters)) + formData.append('vs_index', JSON.stringify(vsIndex)) + + const vectorstoresUrl = + baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/vectorstores/' + vectorStoreName + // Prepare headers for vectorstores API call - let vectorstoreHeaders: Record = {}; + let vectorstoreHeaders: Record = {} if (jwtToken) { vectorstoreHeaders = { - "Authorization": `Bearer ${jwtToken}`, - "Cookie": `session_id=${session_id}` - }; + Authorization: `Bearer ${jwtToken}`, + Cookie: `session_id=${session_id}` + } } else { - const credentials: string = `${user}:${password}`; - const encodedCredentials: string = Buffer.from(credentials).toString('base64'); + const credentials: string = `${user}:${password}` + const encodedCredentials: string = Buffer.from(credentials).toString('base64') vectorstoreHeaders = { - "Authorization": `Basic ${encodedCredentials}`, - "Cookie": `session_id=${session_id}` - }; + Authorization: `Basic ${encodedCredentials}`, + Cookie: `session_id=${session_id}` + } } const upsertResponse = await fetch(vectorstoresUrl, { @@ -571,121 +563,97 @@ class Teradata_VectorStores implements INode { headers: vectorstoreHeaders, body: formData, credentials: 'include' - }); + }) if (!upsertResponse.ok) { - throw new Error(`Failed to upsert documents: ${upsertResponse.statusText}`); + throw new Error(`Failed to upsert documents: ${upsertResponse.statusText}`) } return { numAdded: docs.length, addedDocs: docs as Document>[] } - } catch (e: any) { // Rollback transaction on any error try { if (connection && !connection.autocommit) { - connection.rollback(); - connection.autocommit = true; + connection.rollback() + connection.autocommit = true } - + // Clean up temporary table if it exists if (tempTableName && cur) { try { - cur.execute(`DROP TABLE ${tempTableName}`); + cur.execute(`DROP TABLE ${tempTableName}`) } catch (cleanupError: any) { - console.warn(`Failed to clean up temporary table: ${cleanupError.message}`); + console.warn(`Failed to clean up temporary table: ${cleanupError.message}`) } } - + // Clean up embeddings table if it was created during this transaction if (embeddingsTableCreated && cur) { try { - cur.execute(`DROP TABLE ${embeddingsTableName}`); + cur.execute(`DROP TABLE ${embeddingsTableName}`) } catch (cleanupError: any) { - console.warn(`Failed to clean up embeddings table: ${cleanupError.message}`); + console.warn(`Failed to clean up embeddings table: ${cleanupError.message}`) } } } catch (rollbackError: any) { - console.error(`Failed to rollback transaction: ${rollbackError.message}`); + console.error(`Failed to rollback transaction: ${rollbackError.message}`) } - + throw new Error(e.message || e) } finally { if (cur) { - cur.close(); + cur.close() } // Close the connection if (connection) { - connection.close(); + connection.close() } } - } + } } async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { - const log_level = 0; - const docs = nodeData.inputs?.document as Document[] + const log_level = 0 const embeddings = nodeData.inputs?.embeddings as Embeddings - const embeddingsTableName = nodeData.inputs?.embeddingsTableName as string const vectorStoreName = nodeData.inputs?.vectorStoreName as string const database = nodeData.inputs?.database as string // Optional parameters for vector store configuration - const vectorStoreDescription = nodeData.inputs?.vectorStoreDescription as string || null - const searchAlgorithm = nodeData.inputs?.searchAlgorithm as string || null - const distanceMetric = nodeData.inputs?.distanceMetric as string || null - const initialCentroidsMethod = nodeData.inputs?.initialCentroidsMethod as string || null - const trainNumCluster = parseInt(nodeData.inputs?.trainNumCluster as string) || null - const maxIterNum = parseInt(nodeData.inputs?.maxIterNum as string) || null - const stopThreshold = parseFloat(nodeData.inputs?.stopThreshold as string) || null - const seed = parseInt(nodeData.inputs?.seed as string) || null - const numInit = parseInt(nodeData.inputs?.numInit as string) || null const topK = parseInt(nodeData.inputs?.topK as string) || 10 - const searchThreshold = parseFloat(nodeData.inputs?.searchThreshold as string) || null - const searchNumCluster = parseInt(nodeData.inputs?.searchNumCluster as string) || null - const efSearch = parseInt(nodeData.inputs?.efSearch as string) || null - const numLayer = parseInt(nodeData.inputs?.numLayer as string) || null - const efConstruction = parseInt(nodeData.inputs?.efConstruction as string) || null - const numConnPerNode = parseInt(nodeData.inputs?.numConnPerNode as string) || null - const maxNumConnPerNode = parseInt(nodeData.inputs?.maxNumConnPerNode as string) || null - const applyHeuristics = (nodeData.inputs?.applyHeuristics as string)?.toLowerCase() === 'true' || null - const rerankWeight = parseFloat(nodeData.inputs?.rerankWeight as string) || null - const relevanceTopK = parseInt(nodeData.inputs?.relevanceTopK as string) || null - const relevanceSearchThreshold = parseFloat(nodeData.inputs?.relevanceSearchThreshold as string) || null const credentialData = await getCredentialData(nodeData.credential ?? '', options) // Get authentication parameters with fallback to direct inputs const user = getCredentialParam('tdUsername', credentialData, nodeData) || null const password = getCredentialParam('tdPassword', credentialData, nodeData) || null - const host = getCredentialParam('tdHostIp', credentialData, nodeData) || null const baseURL = getCredentialParam('baseURL', credentialData, nodeData) || null // JWT authentication parameters - prioritize credential store const providedJwtToken = getCredentialParam('jwtToken', credentialData, nodeData) || null - + // Check if JWT authentication should be used - let jwtToken = null; + let jwtToken = null if (providedJwtToken) { - jwtToken = providedJwtToken; + jwtToken = providedJwtToken } // Determine authentication headers - let authHeaders: Record = {}; + let authHeaders: Record = {} if (jwtToken) { - authHeaders = { - "Authorization": `Bearer ${jwtToken}`, + authHeaders = { + Authorization: `Bearer ${jwtToken}`, 'Content-Type': 'application/json' - }; + } } else { const credentials = `${user}:${password}` const encodedCredentials = Buffer.from(credentials).toString('base64') - authHeaders = { - "Authorization": `Basic ${encodedCredentials}`, + authHeaders = { + Authorization: `Basic ${encodedCredentials}`, 'Content-Type': 'application/json' - }; + } } - + const sessionData = { - database_name: database, + database_name: database } const sessionUrl = baseURL + (baseURL.endsWith('/') ? '' : '/') + 'data-insights/api/v1/session' @@ -710,38 +678,40 @@ class Teradata_VectorStores implements INode { } // Helper function for similarity search - const performSimilaritySearch = async (query: string, k: number = topK): Promise => { + const performSimilaritySearch = async (query: string): Promise => { try { // Generate embeddings for the query - const queryEmbedding = await embeddings.embedQuery(query); + const queryEmbedding = await embeddings.embedQuery(query) if (!queryEmbedding || queryEmbedding.length === 0) { - throw new Error('Failed to generate query embedding'); - } - const queryEmbeddingString = queryEmbedding.join(','); + throw new Error('Failed to generate query embedding') + } + const queryEmbeddingString = queryEmbedding.join(',') // Prepare the search request const searchData = { question_vector: queryEmbeddingString } // Prepare headers for search API call - let searchHeaders: Record = {}; + let searchHeaders: Record = {} if (jwtToken) { searchHeaders = { 'Content-Type': 'application/json', - "Authorization": `Bearer ${jwtToken}`, - "Cookie": `session_id=${session_id}` - }; + Authorization: `Bearer ${jwtToken}`, + Cookie: `session_id=${session_id}` + } } else { const credentials = `${user}:${password}` const encodedCredentials = Buffer.from(credentials).toString('base64') searchHeaders = { 'Content-Type': 'application/json', - "Authorization": `Basic ${encodedCredentials}`, - "Cookie": `session_id=${session_id}` - }; + Authorization: `Basic ${encodedCredentials}`, + Cookie: `session_id=${session_id}` + } } - const searchUrl = `${baseURL}${baseURL.endsWith('/') ? '' : '/'}data-insights/api/v1/vectorstores/${vectorStoreName}/similarity-search?log_level=${log_level}` + const searchUrl = `${baseURL}${ + baseURL.endsWith('/') ? '' : '/' + }data-insights/api/v1/vectorstores/${vectorStoreName}/similarity-search?log_level=${log_level}` const searchResponse = await fetch(searchUrl, { method: 'POST', headers: searchHeaders, @@ -754,65 +724,64 @@ class Teradata_VectorStores implements INode { } const searchResults = await searchResponse.json() - - return searchResults.similar_objects_list?.map((result: any) => new Document({ - pageContent: result.chunks || '', - metadata: { - score: result.score || 0, - source: vectorStoreName, - database: result.DataBaseName, - table: result.TableName, - id: result.element_id - } - })) || [] + return ( + searchResults.similar_objects_list?.map( + (result: any) => + new Document({ + pageContent: result.chunks || '', + metadata: { + score: result.score || 0, + source: vectorStoreName, + database: result.DataBaseName, + table: result.TableName, + id: result.element_id + } + }) + ) || [] + ) } catch (error) { console.error('Error during similarity search:', error) throw error } } - // Store reference to this class instance for upsert method - const self = this - // Create vector store object following Flowise pattern const vectorStore = { - async similaritySearch(query: string, k: number = topK): Promise { - return performSimilaritySearch(query, k) + async similaritySearch(query: string): Promise { + return performSimilaritySearch(query) }, - async similaritySearchWithScore(query: string, k: number = topK): Promise<[Document, number][]> { - const docs = await performSimilaritySearch(query, k) - return docs.map(doc => [doc, doc.metadata.score || 0]) + async similaritySearchWithScore(query: string): Promise<[Document, number][]> { + const docs = await performSimilaritySearch(query) + return docs.map((doc) => [doc, doc.metadata.score || 0]) }, // Add invoke method directly to vectorStore - async invoke(query: string, options?: any): Promise { - return performSimilaritySearch(query, topK) + async invoke(query: string): Promise { + return performSimilaritySearch(query) }, - async getRelevantDocuments(query: string, options?: any): Promise { - return performSimilaritySearch(query, topK) + async getRelevantDocuments(query: string): Promise { + return performSimilaritySearch(query) }, - async _getRelevantDocuments(query: string, options?: any): Promise { - return performSimilaritySearch(query, topK) + async _getRelevantDocuments(query: string): Promise { + return performSimilaritySearch(query) }, - asRetriever(options?: { k?: number }) { - const k = options?.k || topK - + asRetriever() { return { - async getRelevantDocuments(query: string, options?: any): Promise { - return performSimilaritySearch(query, k) + async getRelevantDocuments(query: string): Promise { + return performSimilaritySearch(query) }, - async invoke(query: string, options?: any): Promise { - return performSimilaritySearch(query, k) + async invoke(query: string): Promise { + return performSimilaritySearch(query) }, - async _getRelevantDocuments(query: string, options?: any): Promise { - return performSimilaritySearch(query, k) + async _getRelevantDocuments(query: string): Promise { + return performSimilaritySearch(query) } } } @@ -820,21 +789,28 @@ class Teradata_VectorStores implements INode { // Create retriever using the vectorStore methods const retriever = { - async getRelevantDocuments(query: string, options?: any): Promise { - return vectorStore.getRelevantDocuments(query, options) + async getRelevantDocuments(query: string): Promise { + return vectorStore.getRelevantDocuments(query) }, - async invoke(query: string, options?: any): Promise { - return vectorStore.invoke(query, options) + async invoke(query: string): Promise { + return vectorStore.invoke(query) }, - async _getRelevantDocuments(query: string, options?: any): Promise { - return vectorStore._getRelevantDocuments(query, options) + async _getRelevantDocuments(query: string): Promise { + return vectorStore._getRelevantDocuments(query) } } + if (nodeData.outputs?.output === 'retriever') { + return retriever + } else if (nodeData.outputs?.output === 'vectorStore') { + ;(vectorStore as any).k = topK + return vectorStore + } + return vectorStore } } -module.exports = { nodeClass: Teradata_VectorStores } \ No newline at end of file +module.exports = { nodeClass: Teradata_VectorStores } From 42d831d339224fdaf2c54e1566c3c2770adde239 Mon Sep 17 00:00:00 2001 From: sshekhar1 Date: Thu, 11 Sep 2025 22:56:27 +0530 Subject: [PATCH 7/7] Updated pnpm-lock.yaml file --- pnpm-lock.yaml | 389 ++++++++++++++++--------------------------------- 1 file changed, 126 insertions(+), 263 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4db63a4c00f..edaa4a21f60 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -164,7 +164,7 @@ importers: version: 3.9.25 '@getzep/zep-cloud': specifier: ~1.0.7 - version: 1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))) + version: 1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(683fe467d9d79f4282c05badf40ee84a)) '@getzep/zep-js': specifier: ^0.9.0 version: 0.9.0 @@ -200,7 +200,7 @@ importers: version: 0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)) '@langchain/community': specifier: ^0.3.47 - version: 0.3.49(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-agent-runtime@3.755.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-kendra@3.750.0)(@aws-sdk/client-s3@3.844.0)(@aws-sdk/credential-provider-node@3.529.1)(@browserbasehq/sdk@2.0.0(encoding@0.1.13))(@browserbasehq/stagehand@1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4))(@datastax/astra-db-ts@1.5.0)(@elastic/elasticsearch@8.12.2)(@getzep/zep-cloud@1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))))(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@2.6.0(encoding@0.1.13))(@google-cloud/storage@7.16.0(encoding@0.1.13))(@huggingface/inference@2.6.4)(@ibm-cloud/watsonx-ai@1.2.0)(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@mendable/firecrawl-js@1.25.1)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@4.0.0)(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@smithy/eventstream-codec@4.0.4)(@smithy/protocol-http@5.1.3)(@smithy/signature-v4@5.1.3)(@smithy/util-utf8@4.0.0)(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@upstash/redis@1.22.1(encoding@0.1.13))(@upstash/vector@1.1.5)(@zilliz/milvus2-sdk-node@2.3.5)(apify-client@2.9.3)(assemblyai@4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(axios@1.10.0)(cheerio@1.0.0-rc.12)(chromadb@1.10.3(@google/generative-ai@0.24.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(cohere-ai@7.10.0(encoding@0.1.13))(crypto-js@4.2.0)(d3-dsv@2.0.0)(encoding@0.1.13)(epub2@3.0.2(ts-toolbelt@9.6.0))(fast-xml-parser@5.2.5)(google-auth-library@9.6.3(encoding@0.1.13))(handlebars@4.7.8)(html-to-text@9.0.5)(ibm-cloud-sdk-core@5.1.0)(ignore@5.3.1)(ioredis@5.3.2)(jsdom@22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4))(jsonwebtoken@9.0.2)(lodash@4.17.21)(lunary@0.7.12(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0))(mammoth@1.7.0)(mem0ai@2.1.16(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@google/genai@0.7.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@6.0.4))(@mistralai/mistralai@0.1.3(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.14)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(neo4j-driver@5.27.0)(notion-to-md@3.1.1(encoding@0.1.13))(officeparser@5.1.1)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(pdf-parse@1.1.1)(pg@8.11.3)(playwright@1.42.1)(portkey-ai@0.1.16)(puppeteer@20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4))(pyodide@0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(redis@4.6.13)(replicate@0.31.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(weaviate-client@3.8.0(encoding@0.1.13))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + version: 0.3.49(5988ec1095c03dca6ac5e1fafe36512f) '@langchain/core': specifier: 0.3.61 version: 0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)) @@ -224,7 +224,7 @@ importers: version: 0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))) '@langchain/mongodb': specifier: ^0.0.1 - version: 0.0.1(gcp-metadata@7.0.1)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(socks@2.8.1) + version: 0.0.1(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(socks@2.8.1) '@langchain/ollama': specifier: 0.2.0 version: 0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))) @@ -245,7 +245,7 @@ importers: version: 0.0.1(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) '@mem0/community': specifier: ^0.0.1 - version: 0.0.1(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-agent-runtime@3.755.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-kendra@3.750.0)(@aws-sdk/client-s3@3.844.0)(@aws-sdk/credential-provider-node@3.529.1)(@browserbasehq/sdk@2.0.0(encoding@0.1.13))(@browserbasehq/stagehand@1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4))(@datastax/astra-db-ts@1.5.0)(@elastic/elasticsearch@8.12.2)(@getzep/zep-cloud@1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))))(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@2.6.0(encoding@0.1.13))(@google-cloud/storage@7.16.0(encoding@0.1.13))(@google/genai@0.7.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@6.0.4))(@huggingface/inference@2.6.4)(@ibm-cloud/watsonx-ai@1.2.0)(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@mendable/firecrawl-js@1.25.1)(@mistralai/mistralai@0.1.3(encoding@0.1.13))(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@4.0.0)(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@smithy/eventstream-codec@4.0.4)(@smithy/protocol-http@5.1.3)(@smithy/signature-v4@5.1.3)(@smithy/util-utf8@4.0.0)(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.14)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(@upstash/redis@1.22.1(encoding@0.1.13))(@upstash/vector@1.1.5)(@zilliz/milvus2-sdk-node@2.3.5)(apify-client@2.9.3)(assemblyai@4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(cheerio@1.0.0-rc.12)(chromadb@1.10.3(@google/generative-ai@0.24.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(cohere-ai@7.10.0(encoding@0.1.13))(crypto-js@4.2.0)(d3-dsv@2.0.0)(encoding@0.1.13)(epub2@3.0.2(ts-toolbelt@9.6.0))(fast-xml-parser@5.2.5)(google-auth-library@9.6.3(encoding@0.1.13))(groq-sdk@0.5.0(encoding@0.1.13))(handlebars@4.7.8)(html-to-text@9.0.5)(ibm-cloud-sdk-core@5.1.0)(ignore@5.3.1)(ioredis@5.3.2)(jsdom@22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4))(jsonwebtoken@9.0.2)(lodash@4.17.21)(lunary@0.7.12(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(neo4j-driver@5.27.0)(notion-to-md@3.1.1(encoding@0.1.13))(officeparser@5.1.1)(ollama@0.5.11)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(pdf-parse@1.1.1)(pg@8.11.3)(playwright@1.42.1)(portkey-ai@0.1.16)(puppeteer@20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4))(pyodide@0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(redis@4.6.13)(replicate@0.31.1)(sqlite3@5.1.7)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(weaviate-client@3.8.0(encoding@0.1.13))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + version: 0.0.1(36284437fc84e11a7227ebb7400f662c) '@mendable/firecrawl-js': specifier: ^1.18.2 version: 1.25.1 @@ -383,13 +383,13 @@ importers: version: 3.12.0 langchain: specifier: ^0.3.5 - version: 0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + version: 0.3.6(683fe467d9d79f4282c05badf40ee84a) langfuse: specifier: 3.3.4 version: 3.3.4 langfuse-langchain: specifier: ^3.3.4 - version: 3.3.4(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))) + version: 3.3.4(langchain@0.3.6(683fe467d9d79f4282c05badf40ee84a)) langsmith: specifier: 0.1.6 version: 0.1.6 @@ -401,7 +401,7 @@ importers: version: 4.3.2 llamaindex: specifier: ^0.3.13 - version: 0.3.13(@notionhq/client@2.2.14(encoding@0.1.13))(bufferutil@4.0.8)(encoding@0.1.13)(gcp-metadata@7.0.1)(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@5.5.2)(utf-8-validate@6.0.4)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4) + version: 0.3.13(@notionhq/client@2.2.14(encoding@0.1.13))(bufferutil@4.0.8)(encoding@0.1.13)(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@5.5.2)(utf-8-validate@6.0.4)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -419,7 +419,7 @@ importers: version: 2.30.1 mongodb: specifier: 6.3.0 - version: 6.3.0(gcp-metadata@7.0.1)(socks@2.8.1) + version: 6.3.0(socks@2.8.1) mysql2: specifier: ^3.11.3 version: 3.11.4 @@ -486,9 +486,12 @@ importers: supergateway: specifier: 3.0.1 version: 3.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) + teradatasql: + specifier: ^20.0.40 + version: 20.0.40 typeorm: specifier: ^0.3.6 - version: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) + version: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) weaviate-ts-client: specifier: ^1.1.0 version: 1.6.0(encoding@0.1.13)(graphql@16.8.1) @@ -759,7 +762,7 @@ importers: version: 6.9.15 openai: specifier: 4.96.0 - version: 4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4) + version: 4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.25.32) passport: specifier: ^0.7.0 version: 0.7.0 @@ -816,7 +819,7 @@ importers: version: 7.2.0 typeorm: specifier: ^0.3.6 - version: 0.3.20(ioredis@5.4.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.7.0)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) + version: 0.3.20(ioredis@5.4.2)(mysql2@3.11.4)(pg@8.11.3)(redis@4.7.0)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) uuid: specifier: ^9.0.1 version: 9.0.1 @@ -883,13 +886,13 @@ importers: version: 13.13.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) + version: 29.7.0(@types/node@22.16.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) nodemon: specifier: ^2.0.22 version: 2.0.22 oclif: specifier: ^4.20.5 - version: 4.20.6(@types/node@22.5.4) + version: 4.20.6(@types/node@22.16.3) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -907,10 +910,10 @@ importers: version: 7.1.0 ts-jest: specifier: ^29.3.2 - version: 29.3.2(@babel/core@7.24.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.0))(jest@29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)))(typescript@5.5.2) + version: 29.3.2(@babel/core@7.24.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.0))(jest@29.7.0(@types/node@22.16.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(typescript@5.5.2) ts-node: specifier: ^10.7.0 - version: 10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2) + version: 10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2) tsc-watch: specifier: ^6.0.4 version: 6.0.4(typescript@5.5.2) @@ -12751,6 +12754,9 @@ packages: resolution: { integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== } engines: { node: '>= 8' } + koffi@2.14.0: + resolution: { integrity: sha512-/ihgdvoeSSaX9S6nVNaZ/uPdYrpN0rIx15kgqzVdu6JPxo9jhc6Lh+dmxpURrEi8MAZcJqRLP1FFsmIF4uTZbg== } + kuler@2.0.0: resolution: { integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== } @@ -16903,6 +16909,11 @@ packages: resolution: { integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== } engines: { node: '>=10' } + teradatasql@20.0.40: + resolution: { integrity: sha512-lwuwzYaobvG2eSZ0I2D30vSPaFumBS5fMk9pSCpEy47JbLf9ca/kpq4ZUpakrO1R4/O47QzYXJ8yrVFyISzeBQ== } + engines: { node: '>=18.20.7' } + hasBin: true + terminal-link@2.1.1: resolution: { integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== } engines: { node: '>=8' } @@ -18113,6 +18124,7 @@ packages: workbox-google-analytics@7.0.0: resolution: { integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg== } + deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained workbox-navigation-preload@6.6.0: resolution: { integrity: sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q== } @@ -22956,7 +22968,7 @@ snapshots: '@gar/promisify@1.1.3': optional: true - '@getzep/zep-cloud@1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))': + '@getzep/zep-cloud@1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(683fe467d9d79f4282c05badf40ee84a))': dependencies: form-data: 4.0.4 node-fetch: 2.7.0(encoding@0.1.13) @@ -22965,7 +22977,7 @@ snapshots: zod: 3.23.8 optionalDependencies: '@langchain/core': 0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)) - langchain: 0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + langchain: 0.3.6(683fe467d9d79f4282c05badf40ee84a) transitivePeerDependencies: - encoding @@ -23251,32 +23263,32 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true - '@inquirer/checkbox@4.1.9(@types/node@22.5.4)': + '@inquirer/checkbox@4.1.9(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/type': 3.0.7(@types/node@22.16.3) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 '@inquirer/confirm@3.2.0': dependencies: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.1.13(@types/node@22.5.4)': + '@inquirer/confirm@5.1.13(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) + '@inquirer/type': 3.0.7(@types/node@22.16.3) optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 - '@inquirer/core@10.1.14(@types/node@22.5.4)': + '@inquirer/core@10.1.14(@types/node@22.16.3)': dependencies: '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/type': 3.0.7(@types/node@22.16.3) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -23284,7 +23296,7 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 '@inquirer/core@9.2.1': dependencies: @@ -23301,21 +23313,21 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - '@inquirer/editor@4.2.14(@types/node@22.5.4)': + '@inquirer/editor@4.2.14(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) + '@inquirer/type': 3.0.7(@types/node@22.16.3) external-editor: 3.1.0 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 - '@inquirer/expand@4.0.16(@types/node@22.5.4)': + '@inquirer/expand@4.0.16(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) + '@inquirer/type': 3.0.7(@types/node@22.16.3) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 '@inquirer/figures@1.0.12': {} @@ -23324,59 +23336,59 @@ snapshots: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/input@4.2.0(@types/node@22.5.4)': + '@inquirer/input@4.2.0(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) + '@inquirer/type': 3.0.7(@types/node@22.16.3) optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 - '@inquirer/number@3.0.16(@types/node@22.5.4)': + '@inquirer/number@3.0.16(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) + '@inquirer/type': 3.0.7(@types/node@22.16.3) optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 - '@inquirer/password@4.0.16(@types/node@22.5.4)': + '@inquirer/password@4.0.16(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) + '@inquirer/type': 3.0.7(@types/node@22.16.3) ansi-escapes: 4.3.2 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 - '@inquirer/prompts@7.6.0(@types/node@22.5.4)': - dependencies: - '@inquirer/checkbox': 4.1.9(@types/node@22.5.4) - '@inquirer/confirm': 5.1.13(@types/node@22.5.4) - '@inquirer/editor': 4.2.14(@types/node@22.5.4) - '@inquirer/expand': 4.0.16(@types/node@22.5.4) - '@inquirer/input': 4.2.0(@types/node@22.5.4) - '@inquirer/number': 3.0.16(@types/node@22.5.4) - '@inquirer/password': 4.0.16(@types/node@22.5.4) - '@inquirer/rawlist': 4.1.4(@types/node@22.5.4) - '@inquirer/search': 3.0.16(@types/node@22.5.4) - '@inquirer/select': 4.2.4(@types/node@22.5.4) + '@inquirer/prompts@7.6.0(@types/node@22.16.3)': + dependencies: + '@inquirer/checkbox': 4.1.9(@types/node@22.16.3) + '@inquirer/confirm': 5.1.13(@types/node@22.16.3) + '@inquirer/editor': 4.2.14(@types/node@22.16.3) + '@inquirer/expand': 4.0.16(@types/node@22.16.3) + '@inquirer/input': 4.2.0(@types/node@22.16.3) + '@inquirer/number': 3.0.16(@types/node@22.16.3) + '@inquirer/password': 4.0.16(@types/node@22.16.3) + '@inquirer/rawlist': 4.1.4(@types/node@22.16.3) + '@inquirer/search': 3.0.16(@types/node@22.16.3) + '@inquirer/select': 4.2.4(@types/node@22.16.3) optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 - '@inquirer/rawlist@4.1.4(@types/node@22.5.4)': + '@inquirer/rawlist@4.1.4(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) + '@inquirer/type': 3.0.7(@types/node@22.16.3) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 - '@inquirer/search@3.0.16(@types/node@22.5.4)': + '@inquirer/search@3.0.16(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/type': 3.0.7(@types/node@22.16.3) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 '@inquirer/select@2.5.0': dependencies: @@ -23386,15 +23398,15 @@ snapshots: ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/select@4.2.4(@types/node@22.5.4)': + '@inquirer/select@4.2.4(@types/node@22.16.3)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.5.4) + '@inquirer/core': 10.1.14(@types/node@22.16.3) '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.5.4) + '@inquirer/type': 3.0.7(@types/node@22.16.3) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 '@inquirer/type@1.5.5': dependencies: @@ -23404,9 +23416,9 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.7(@types/node@22.5.4)': + '@inquirer/type@3.0.7(@types/node@22.16.3)': optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.16.3 '@ioredis/commands@1.2.0': {} @@ -23528,41 +23540,6 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.5.4 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - '@jest/environment@27.5.1': dependencies: '@jest/fake-timers': 27.5.1 @@ -23956,7 +23933,7 @@ snapshots: - encoding - openai - '@langchain/community@0.3.49(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-agent-runtime@3.755.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-kendra@3.750.0)(@aws-sdk/client-s3@3.844.0)(@aws-sdk/credential-provider-node@3.529.1)(@browserbasehq/sdk@2.0.0(encoding@0.1.13))(@browserbasehq/stagehand@1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4))(@datastax/astra-db-ts@1.5.0)(@elastic/elasticsearch@8.12.2)(@getzep/zep-cloud@1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))))(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@2.6.0(encoding@0.1.13))(@google-cloud/storage@7.16.0(encoding@0.1.13))(@huggingface/inference@2.6.4)(@ibm-cloud/watsonx-ai@1.2.0)(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@mendable/firecrawl-js@1.25.1)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@4.0.0)(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@smithy/eventstream-codec@4.0.4)(@smithy/protocol-http@5.1.3)(@smithy/signature-v4@5.1.3)(@smithy/util-utf8@4.0.0)(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@upstash/redis@1.22.1(encoding@0.1.13))(@upstash/vector@1.1.5)(@zilliz/milvus2-sdk-node@2.3.5)(apify-client@2.9.3)(assemblyai@4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(axios@1.10.0)(cheerio@1.0.0-rc.12)(chromadb@1.10.3(@google/generative-ai@0.24.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(cohere-ai@7.10.0(encoding@0.1.13))(crypto-js@4.2.0)(d3-dsv@2.0.0)(encoding@0.1.13)(epub2@3.0.2(ts-toolbelt@9.6.0))(fast-xml-parser@5.2.5)(google-auth-library@9.6.3(encoding@0.1.13))(handlebars@4.7.8)(html-to-text@9.0.5)(ibm-cloud-sdk-core@5.1.0)(ignore@5.3.1)(ioredis@5.3.2)(jsdom@22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4))(jsonwebtoken@9.0.2)(lodash@4.17.21)(lunary@0.7.12(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0))(mammoth@1.7.0)(mem0ai@2.1.16(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@google/genai@0.7.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@6.0.4))(@mistralai/mistralai@0.1.3(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.14)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(neo4j-driver@5.27.0)(notion-to-md@3.1.1(encoding@0.1.13))(officeparser@5.1.1)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(pdf-parse@1.1.1)(pg@8.11.3)(playwright@1.42.1)(portkey-ai@0.1.16)(puppeteer@20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4))(pyodide@0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(redis@4.6.13)(replicate@0.31.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(weaviate-client@3.8.0(encoding@0.1.13))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@langchain/community@0.3.49(5988ec1095c03dca6ac5e1fafe36512f)': dependencies: '@browserbasehq/stagehand': 1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4) '@ibm-cloud/watsonx-ai': 1.2.0 @@ -23968,7 +23945,7 @@ snapshots: flat: 5.0.2 ibm-cloud-sdk-core: 5.1.0 js-yaml: 4.1.0 - langchain: 0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + langchain: 0.3.6(683fe467d9d79f4282c05badf40ee84a) langsmith: 0.3.34(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)) openai: 4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4) uuid: 10.0.0 @@ -23984,7 +23961,7 @@ snapshots: '@browserbasehq/sdk': 2.0.0(encoding@0.1.13) '@datastax/astra-db-ts': 1.5.0 '@elastic/elasticsearch': 8.12.2 - '@getzep/zep-cloud': 1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))) + '@getzep/zep-cloud': 1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(683fe467d9d79f4282c05badf40ee84a)) '@getzep/zep-js': 0.9.0 '@gomomento/sdk': 1.68.1(encoding@0.1.13) '@gomomento/sdk-core': 1.68.1 @@ -23996,10 +23973,10 @@ snapshots: '@opensearch-project/opensearch': 1.2.0 '@pinecone-database/pinecone': 4.0.0 '@qdrant/js-client-rest': 1.9.0(typescript@5.5.2) - '@smithy/eventstream-codec': 4.0.4 - '@smithy/protocol-http': 5.1.3 - '@smithy/signature-v4': 5.1.3 - '@smithy/util-utf8': 4.0.0 + '@smithy/eventstream-codec': 2.1.4 + '@smithy/protocol-http': 3.2.2 + '@smithy/signature-v4': 2.1.4 + '@smithy/util-utf8': 2.2.0 '@supabase/supabase-js': 2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4) '@upstash/redis': 1.22.1(encoding@0.1.13) '@upstash/vector': 1.1.5 @@ -24023,7 +24000,7 @@ snapshots: lunary: 0.7.12(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0) mammoth: 1.7.0 mem0ai: 2.1.16(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@google/genai@0.7.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@6.0.4))(@mistralai/mistralai@0.1.3(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.14)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - mongodb: 6.3.0(gcp-metadata@7.0.1)(socks@2.8.1) + mongodb: 6.3.0(socks@2.8.1) mysql2: 3.11.4 neo4j-driver: 5.27.0 notion-to-md: 3.1.1(encoding@0.1.13) @@ -24037,7 +24014,7 @@ snapshots: redis: 4.6.13 replicate: 0.31.1 srt-parser-2: 1.2.3 - typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) + typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) weaviate-client: 3.8.0(encoding@0.1.13) ws: 8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: @@ -24134,10 +24111,10 @@ snapshots: zod: 3.23.8 zod-to-json-schema: 3.23.1(zod@3.23.8) - '@langchain/mongodb@0.0.1(gcp-metadata@7.0.1)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(socks@2.8.1)': + '@langchain/mongodb@0.0.1(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(socks@2.8.1)': dependencies: '@langchain/core': 0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)) - mongodb: 6.3.0(gcp-metadata@7.0.1)(socks@2.8.1) + mongodb: 6.3.0(socks@2.8.1) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' @@ -24299,9 +24276,9 @@ snapshots: - encoding - supports-color - '@mem0/community@0.0.1(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-agent-runtime@3.755.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-kendra@3.750.0)(@aws-sdk/client-s3@3.844.0)(@aws-sdk/credential-provider-node@3.529.1)(@browserbasehq/sdk@2.0.0(encoding@0.1.13))(@browserbasehq/stagehand@1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4))(@datastax/astra-db-ts@1.5.0)(@elastic/elasticsearch@8.12.2)(@getzep/zep-cloud@1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))))(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@2.6.0(encoding@0.1.13))(@google-cloud/storage@7.16.0(encoding@0.1.13))(@google/genai@0.7.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@6.0.4))(@huggingface/inference@2.6.4)(@ibm-cloud/watsonx-ai@1.2.0)(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@mendable/firecrawl-js@1.25.1)(@mistralai/mistralai@0.1.3(encoding@0.1.13))(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@4.0.0)(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@smithy/eventstream-codec@4.0.4)(@smithy/protocol-http@5.1.3)(@smithy/signature-v4@5.1.3)(@smithy/util-utf8@4.0.0)(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.14)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(@upstash/redis@1.22.1(encoding@0.1.13))(@upstash/vector@1.1.5)(@zilliz/milvus2-sdk-node@2.3.5)(apify-client@2.9.3)(assemblyai@4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(cheerio@1.0.0-rc.12)(chromadb@1.10.3(@google/generative-ai@0.24.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(cohere-ai@7.10.0(encoding@0.1.13))(crypto-js@4.2.0)(d3-dsv@2.0.0)(encoding@0.1.13)(epub2@3.0.2(ts-toolbelt@9.6.0))(fast-xml-parser@5.2.5)(google-auth-library@9.6.3(encoding@0.1.13))(groq-sdk@0.5.0(encoding@0.1.13))(handlebars@4.7.8)(html-to-text@9.0.5)(ibm-cloud-sdk-core@5.1.0)(ignore@5.3.1)(ioredis@5.3.2)(jsdom@22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4))(jsonwebtoken@9.0.2)(lodash@4.17.21)(lunary@0.7.12(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(neo4j-driver@5.27.0)(notion-to-md@3.1.1(encoding@0.1.13))(officeparser@5.1.1)(ollama@0.5.11)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(pdf-parse@1.1.1)(pg@8.11.3)(playwright@1.42.1)(portkey-ai@0.1.16)(puppeteer@20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4))(pyodide@0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(redis@4.6.13)(replicate@0.31.1)(sqlite3@5.1.7)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(weaviate-client@3.8.0(encoding@0.1.13))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@mem0/community@0.0.1(36284437fc84e11a7227ebb7400f662c)': dependencies: - '@langchain/community': 0.3.49(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-agent-runtime@3.755.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-kendra@3.750.0)(@aws-sdk/client-s3@3.844.0)(@aws-sdk/credential-provider-node@3.529.1)(@browserbasehq/sdk@2.0.0(encoding@0.1.13))(@browserbasehq/stagehand@1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4))(@datastax/astra-db-ts@1.5.0)(@elastic/elasticsearch@8.12.2)(@getzep/zep-cloud@1.0.7(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))))(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@2.6.0(encoding@0.1.13))(@google-cloud/storage@7.16.0(encoding@0.1.13))(@huggingface/inference@2.6.4)(@ibm-cloud/watsonx-ai@1.2.0)(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@mendable/firecrawl-js@1.25.1)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@4.0.0)(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@smithy/eventstream-codec@4.0.4)(@smithy/protocol-http@5.1.3)(@smithy/signature-v4@5.1.3)(@smithy/util-utf8@4.0.0)(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@upstash/redis@1.22.1(encoding@0.1.13))(@upstash/vector@1.1.5)(@zilliz/milvus2-sdk-node@2.3.5)(apify-client@2.9.3)(assemblyai@4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(axios@1.10.0)(cheerio@1.0.0-rc.12)(chromadb@1.10.3(@google/generative-ai@0.24.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(cohere-ai@7.10.0(encoding@0.1.13))(crypto-js@4.2.0)(d3-dsv@2.0.0)(encoding@0.1.13)(epub2@3.0.2(ts-toolbelt@9.6.0))(fast-xml-parser@5.2.5)(google-auth-library@9.6.3(encoding@0.1.13))(handlebars@4.7.8)(html-to-text@9.0.5)(ibm-cloud-sdk-core@5.1.0)(ignore@5.3.1)(ioredis@5.3.2)(jsdom@22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4))(jsonwebtoken@9.0.2)(lodash@4.17.21)(lunary@0.7.12(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0))(mammoth@1.7.0)(mem0ai@2.1.16(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@google/genai@0.7.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@6.0.4))(@mistralai/mistralai@0.1.3(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.14)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(neo4j-driver@5.27.0)(notion-to-md@3.1.1(encoding@0.1.13))(officeparser@5.1.1)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(pdf-parse@1.1.1)(pg@8.11.3)(playwright@1.42.1)(portkey-ai@0.1.16)(puppeteer@20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4))(pyodide@0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(redis@4.6.13)(replicate@0.31.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(weaviate-client@3.8.0(encoding@0.1.13))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@langchain/community': 0.3.49(5988ec1095c03dca6ac5e1fafe36512f) '@langchain/core': 0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)) axios: 1.10.0(debug@4.3.4) mem0ai: 2.1.16(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@google/genai@0.7.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@6.0.4))(@mistralai/mistralai@0.1.3(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.14)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) @@ -24942,9 +24919,9 @@ snapshots: dependencies: '@oclif/core': 4.0.7 - '@oclif/plugin-not-found@3.2.59(@types/node@22.5.4)': + '@oclif/plugin-not-found@3.2.59(@types/node@22.16.3)': dependencies: - '@inquirer/prompts': 7.6.0(@types/node@22.5.4) + '@inquirer/prompts': 7.6.0(@types/node@22.16.3) '@oclif/core': 4.0.7 ansis: 3.17.0 fast-levenshtein: 3.0.0 @@ -30262,21 +30239,6 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - create-require@1.1.1: {} crelt@1.0.6: {} @@ -33338,7 +33300,7 @@ snapshots: isstream: 0.1.2 jsonwebtoken: 9.0.2 mime-types: 2.1.35 - retry-axios: 2.6.0(axios@1.10.0(debug@4.4.1)) + retry-axios: 2.6.0(axios@1.10.0) tough-cookie: 4.1.3 transitivePeerDependencies: - supports-color @@ -33906,25 +33868,6 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)): - dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - exit: 0.1.2 - import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jest-config@27.5.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2))(utf-8-validate@6.0.4): dependencies: '@babel/core': 7.24.0 @@ -33990,37 +33933,6 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)): - dependencies: - '@babel/core': 7.24.0 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.24.0) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0(babel-plugin-macros@3.1.0) - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 22.5.4 - ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - jest-diff@27.5.1: dependencies: chalk: 4.1.2 @@ -34579,18 +34491,6 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)): - dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - '@jest/types': 29.6.3 - import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jiti@1.21.0: {} joi@17.12.2: @@ -34880,9 +34780,11 @@ snapshots: klona@2.0.6: {} + koffi@2.14.0: {} + kuler@2.0.0: {} - langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)): + langchain@0.3.6(683fe467d9d79f4282c05badf40ee84a): dependencies: '@langchain/core': 0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)) '@langchain/openai': 0.3.13(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) @@ -34909,7 +34811,7 @@ snapshots: axios: 1.10.0(debug@4.3.4) cheerio: 1.0.0-rc.12 handlebars: 4.7.8 - typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) + typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) transitivePeerDependencies: - encoding - openai @@ -34921,9 +34823,9 @@ snapshots: dependencies: mustache: 4.2.0 - langfuse-langchain@3.3.4(langchain@0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))): + langfuse-langchain@3.3.4(langchain@0.3.6(683fe467d9d79f4282c05badf40ee84a)): dependencies: - langchain: 0.3.6(@langchain/anthropic@0.3.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13))(@langchain/aws@0.1.11(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/cohere@0.0.7(encoding@0.1.13)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(@langchain/google-genai@0.2.3(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(zod@3.22.4))(@langchain/google-vertexai@0.2.14(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/groq@0.1.2(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@langchain/mistralai@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(@langchain/ollama@0.2.0(@langchain/core@0.3.61(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))))(axios@1.10.0)(cheerio@1.0.0-rc.12)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)))(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + langchain: 0.3.6(683fe467d9d79f4282c05badf40ee84a) langfuse: 3.3.4 langfuse-core: 3.3.4 @@ -35093,7 +34995,7 @@ snapshots: optionalDependencies: enquirer: 2.4.1 - llamaindex@0.3.13(@notionhq/client@2.2.14(encoding@0.1.13))(bufferutil@4.0.8)(encoding@0.1.13)(gcp-metadata@7.0.1)(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@5.5.2)(utf-8-validate@6.0.4)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4): + llamaindex@0.3.13(@notionhq/client@2.2.14(encoding@0.1.13))(bufferutil@4.0.8)(encoding@0.1.13)(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@5.5.2)(utf-8-validate@6.0.4)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4): dependencies: '@anthropic-ai/sdk': 0.20.9(encoding@0.1.13) '@aws-crypto/sha256-js': 5.2.0 @@ -35122,7 +35024,7 @@ snapshots: magic-bytes.js: 1.10.0 mammoth: 1.7.2 md-utils-ts: 2.0.0 - mongodb: 6.6.2(gcp-metadata@7.0.1)(socks@2.8.1) + mongodb: 6.6.2(socks@2.8.1) notion-md-crawler: 1.0.0(encoding@0.1.13) openai: 4.96.0(encoding@0.1.13)(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4) papaparse: 5.4.1 @@ -36062,22 +35964,20 @@ snapshots: '@types/whatwg-url': 11.0.4 whatwg-url: 13.0.0 - mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1): + mongodb@6.3.0(socks@2.8.1): dependencies: '@mongodb-js/saslprep': 1.1.5 bson: 6.4.0 mongodb-connection-string-url: 3.0.0 optionalDependencies: - gcp-metadata: 7.0.1 socks: 2.8.1 - mongodb@6.6.2(gcp-metadata@7.0.1)(socks@2.8.1): + mongodb@6.6.2(socks@2.8.1): dependencies: '@mongodb-js/saslprep': 1.1.5 bson: 6.7.0 mongodb-connection-string-url: 3.0.0 optionalDependencies: - gcp-metadata: 7.0.1 socks: 2.8.1 mri@1.2.0: {} @@ -36537,7 +36437,7 @@ snapshots: obuf@1.1.2: {} - oclif@4.20.6(@types/node@22.5.4): + oclif@4.20.6(@types/node@22.16.3): dependencies: '@aws-sdk/client-cloudfront': 3.844.0 '@aws-sdk/client-s3': 3.844.0 @@ -36546,7 +36446,7 @@ snapshots: '@inquirer/select': 2.5.0 '@oclif/core': 4.5.0 '@oclif/plugin-help': 6.2.31 - '@oclif/plugin-not-found': 3.2.59(@types/node@22.5.4) + '@oclif/plugin-not-found': 3.2.59(@types/node@22.16.3) '@oclif/plugin-warn-if-update-available': 3.1.44 ansis: 3.17.0 async-retry: 1.3.3 @@ -38777,9 +38677,9 @@ snapshots: ret@0.1.15: {} - retry-axios@2.6.0(axios@1.10.0(debug@4.4.1)): + retry-axios@2.6.0(axios@1.10.0): dependencies: - axios: 1.10.0(debug@4.4.1) + axios: 1.10.0(debug@4.3.4) retry-request@7.0.2(encoding@0.1.13): dependencies: @@ -40024,6 +39924,11 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 + teradatasql@20.0.40: + dependencies: + koffi: 2.14.0 + uuid: 9.0.1 + terminal-link@2.1.1: dependencies: ansi-escapes: 4.3.2 @@ -40237,26 +40142,6 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.0) - ts-jest@29.3.2(@babel/core@7.24.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.0))(jest@29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)))(typescript@5.5.2): - dependencies: - bs-logger: 0.2.6 - ejs: 3.1.10 - fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.5.4)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)) - jest-util: 29.7.0 - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.7.1 - type-fest: 4.40.1 - typescript: 5.5.2 - yargs-parser: 21.1.1 - optionalDependencies: - '@babel/core': 7.24.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.24.0) - ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -40276,27 +40161,6 @@ snapshots: yn: 3.1.1 optionalDependencies: '@swc/core': 1.4.6 - optional: true - - ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 22.5.4 - acorn: 8.11.3 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.5.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.4.6 ts-toolbelt@9.6.0: {} @@ -40455,7 +40319,7 @@ snapshots: typedarray@0.0.6: {} - typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)): + typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)): dependencies: '@sqltools/formatter': 1.2.5 app-root-path: 3.1.0 @@ -40474,7 +40338,7 @@ snapshots: yargs: 17.7.2 optionalDependencies: ioredis: 5.3.2 - mongodb: 6.3.0(gcp-metadata@7.0.1)(socks@2.8.1) + mongodb: 6.3.0(socks@2.8.1) mysql2: 3.11.4 pg: 8.11.3 redis: 4.6.13 @@ -40483,7 +40347,7 @@ snapshots: transitivePeerDependencies: - supports-color - typeorm@0.3.20(ioredis@5.4.2)(mongodb@6.3.0(gcp-metadata@7.0.1)(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.7.0)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2)): + typeorm@0.3.20(ioredis@5.4.2)(mysql2@3.11.4)(pg@8.11.3)(redis@4.7.0)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)): dependencies: '@sqltools/formatter': 1.2.5 app-root-path: 3.1.0 @@ -40502,12 +40366,11 @@ snapshots: yargs: 17.7.2 optionalDependencies: ioredis: 5.4.2 - mongodb: 6.3.0(gcp-metadata@7.0.1)(socks@2.8.1) mysql2: 3.11.4 pg: 8.11.3 redis: 4.7.0 sqlite3: 5.1.7 - ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@22.5.4)(typescript@5.5.2) + ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2) transitivePeerDependencies: - supports-color