From 68625c05891be5a278069c6e93e1f7e224143ee3 Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 21 May 2024 16:49:59 +0100 Subject: [PATCH 01/23] =?UTF-8?q?=F0=9F=A5=B3=20flowise-components@1.8.0?= =?UTF-8?q?=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/components/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/package.json b/packages/components/package.json index 83d739377a0..8c1794e593a 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "flowise-components", - "version": "1.7.2", + "version": "1.8.0", "description": "Flowiseai Components", "main": "dist/src/index", "types": "dist/src/index.d.ts", From 9d10dc4856fef14d428c7f0ee9bc0e0df2f59d3b Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 21 May 2024 16:50:29 +0100 Subject: [PATCH 02/23] =?UTF-8?q?=F0=9F=A5=B3=20flowise@1.8.0=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- packages/server/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2cbdeb7231c..060dd5d22e0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flowise", - "version": "1.7.2", + "version": "1.8.0", "private": true, "homepage": "https://flowiseai.com", "workspaces": [ diff --git a/packages/server/package.json b/packages/server/package.json index e1b77b90b47..e5bf5e2c259 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "flowise", - "version": "1.7.2", + "version": "1.8.0", "description": "Flowiseai Server", "main": "dist/index", "types": "dist/index.d.ts", From e83dcb01b8e6cdc75939f6dfc309f39d7a09337e Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 21 May 2024 16:50:53 +0100 Subject: [PATCH 03/23] =?UTF-8?q?=F0=9F=A5=B3=20flowise-ui@1.8.0=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/ui/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui/package.json b/packages/ui/package.json index 3eb1776ef7a..4d02991e2a5 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "flowise-ui", - "version": "1.7.2", + "version": "1.8.0", "license": "SEE LICENSE IN LICENSE.md", "homepage": "https://flowiseai.com", "author": { From ff2381741e7a8a610c8ba0e31958bba32af846ca Mon Sep 17 00:00:00 2001 From: Vinod Kiran Date: Wed, 22 May 2024 18:05:08 +0530 Subject: [PATCH 04/23] Chore/upgrade llamaindex version (#2440) * updates to loader to support file upload * adding a todo * upgrade llamaindex * update groq icon * update azure models * update llamaindex version --------- Co-authored-by: Henry --- packages/components/models.json | 37 +- .../AnthropicAgent/Anthropic.svg | 1 + .../AnthropicAgent_LlamaIndex.ts} | 47 +- .../OpenAIToolAgent_LlamaIndex.ts | 167 ++++ .../OpenAIToolAgent/function.svg | 9 + .../AzureChatOpenAI_LlamaIndex.ts | 26 +- .../ChatAnthropic/ChatAnthropic_LlamaIndex.ts | 2 +- .../ChatMistral/ChatMistral_LlamaIndex.ts | 100 +++ .../ChatOllama/ChatOllama_LlamaIndex.ts | 221 +++++ .../ChatOpenAI/ChatOpenAI_LlamaIndex.ts | 5 +- .../ChatTogetherAI/ChatTogether_LlamaIndex.ts | 71 ++ .../chatmodels/Groq/ChatGroq_LlamaIndex.ts | 80 ++ .../components/nodes/chatmodels/Groq/groq.png | Bin 1450 -> 1773 bytes .../engine/ChatEngine/ContextChatEngine.ts | 4 +- .../components/nodes/engine/EngineUtils.ts | 8 +- .../nodes/engine/QueryEngine/QueryEngine.ts | 6 +- .../SubQuestionQueryEngine.ts | 6 +- .../Pinecone/Pinecone_LlamaIndex.ts | 15 +- packages/components/package.json | 2 +- packages/components/src/utils.ts | 2 + packages/server/src/utils/index.ts | 9 +- pnpm-lock.yaml | 819 ++++++++++++------ 22 files changed, 1340 insertions(+), 297 deletions(-) create mode 100644 packages/components/nodes/agents/LlamaIndexAgents/AnthropicAgent/Anthropic.svg rename packages/components/nodes/agents/{OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts => LlamaIndexAgents/AnthropicAgent/AnthropicAgent_LlamaIndex.ts} (68%) create mode 100644 packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts create mode 100644 packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/function.svg create mode 100644 packages/components/nodes/chatmodels/ChatMistral/ChatMistral_LlamaIndex.ts create mode 100644 packages/components/nodes/chatmodels/ChatOllama/ChatOllama_LlamaIndex.ts create mode 100644 packages/components/nodes/chatmodels/ChatTogetherAI/ChatTogether_LlamaIndex.ts create mode 100644 packages/components/nodes/chatmodels/Groq/ChatGroq_LlamaIndex.ts diff --git a/packages/components/models.json b/packages/components/models.json index 3500cca3b23..222cd6884a7 100644 --- a/packages/components/models.json +++ b/packages/components/models.json @@ -244,21 +244,29 @@ "label": "gpt-4", "name": "gpt-4" }, + { + "label": "gpt-4-turbo", + "name": "gpt-4-turbo" + }, { "label": "gpt-4-32k", "name": "gpt-4-32k" }, { - "label": "gpt-35-turbo", - "name": "gpt-35-turbo" + "label": "gpt-3.5-turbo", + "name": "gpt-3.5-turbo" }, { - "label": "gpt-35-turbo-16k", - "name": "gpt-35-turbo-16k" + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" }, { "label": "gpt-4-vision-preview", "name": "gpt-4-vision-preview" + }, + { + "label": "gpt-4-1106-preview", + "name": "gpt-4-1106-preview" } ] }, @@ -504,6 +512,10 @@ { "name": "chatOpenAI_LlamaIndex", "models": [ + { + "label": "gpt-4o", + "name": "gpt-4o" + }, { "label": "gpt-4", "name": "gpt-4" @@ -622,6 +634,23 @@ "name": "mistral-large-2402" } ] + }, + { + "name": "chatMistral_LlamaIndex", + "models": [ + { + "label": "mistral-tiny", + "name": "mistral-tiny" + }, + { + "label": "mistral-small", + "name": "mistral-small" + }, + { + "label": "mistral-medium", + "name": "mistral-medium" + } + ] } ], "llm": [ diff --git a/packages/components/nodes/agents/LlamaIndexAgents/AnthropicAgent/Anthropic.svg b/packages/components/nodes/agents/LlamaIndexAgents/AnthropicAgent/Anthropic.svg new file mode 100644 index 00000000000..84bc18ca51a --- /dev/null +++ b/packages/components/nodes/agents/LlamaIndexAgents/AnthropicAgent/Anthropic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/agents/OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts b/packages/components/nodes/agents/LlamaIndexAgents/AnthropicAgent/AnthropicAgent_LlamaIndex.ts similarity index 68% rename from packages/components/nodes/agents/OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts rename to packages/components/nodes/agents/LlamaIndexAgents/AnthropicAgent/AnthropicAgent_LlamaIndex.ts index d7ff9ddeb1c..8fa4c854211 100644 --- a/packages/components/nodes/agents/OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts +++ b/packages/components/nodes/agents/LlamaIndexAgents/AnthropicAgent/AnthropicAgent_LlamaIndex.ts @@ -1,9 +1,9 @@ import { flatten } from 'lodash' -import { ChatMessage, OpenAI, OpenAIAgent } from 'llamaindex' -import { getBaseClasses } from '../../../src/utils' -import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, IUsedTool } from '../../../src/Interface' +import { MessageContentTextDetail, ChatMessage, AnthropicAgent, Anthropic } from 'llamaindex' +import { getBaseClasses } from '../../../../src/utils' +import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, IUsedTool } from '../../../../src/Interface' -class OpenAIFunctionAgent_LlamaIndex_Agents implements INode { +class AnthropicAgent_LlamaIndex_Agents implements INode { label: string name: string version: number @@ -18,16 +18,15 @@ class OpenAIFunctionAgent_LlamaIndex_Agents implements INode { badge?: string constructor(fields?: { sessionId?: string }) { - this.label = 'OpenAI Tool Agent' - this.name = 'openAIToolAgentLlamaIndex' + this.label = 'Anthropic Agent' + this.name = 'anthropicAgentLlamaIndex' this.version = 1.0 - this.type = 'OpenAIToolAgent' + this.type = 'AnthropicAgent' this.category = 'Agents' - this.icon = 'function.svg' - this.description = `Agent that uses OpenAI Function Calling to pick the tools and args to call using LlamaIndex` - this.baseClasses = [this.type, ...getBaseClasses(OpenAIAgent)] + this.icon = 'Anthropic.svg' + this.description = `Agent that uses Anthropic Claude Function Calling to pick the tools and args to call using LlamaIndex` + this.baseClasses = [this.type, ...getBaseClasses(AnthropicAgent)] this.tags = ['LlamaIndex'] - this.badge = 'NEW' this.inputs = [ { label: 'Tools', @@ -41,7 +40,7 @@ class OpenAIFunctionAgent_LlamaIndex_Agents implements INode { type: 'BaseChatMemory' }, { - label: 'OpenAI/Azure Chat Model', + label: 'Anthropic Claude Model', name: 'model', type: 'BaseChatModel_LlamaIndex' }, @@ -63,7 +62,7 @@ class OpenAIFunctionAgent_LlamaIndex_Agents implements INode { async run(nodeData: INodeData, input: string, options: ICommonObject): Promise { const memory = nodeData.inputs?.memory as FlowiseMemory - const model = nodeData.inputs?.model as OpenAI + const model = nodeData.inputs?.model as Anthropic const systemMessage = nodeData.inputs?.systemMessage as string const prependMessages = options?.prependMessages @@ -94,31 +93,33 @@ class OpenAIFunctionAgent_LlamaIndex_Agents implements INode { } } - const agent = new OpenAIAgent({ + const agent = new AnthropicAgent({ tools, llm: model, - prefixMessages: chatHistory, + chatHistory: chatHistory, verbose: process.env.DEBUG === 'true' ? true : false }) let text = '' const usedTools: IUsedTool[] = [] - const response = await agent.chat({ - message: input - }) + const response = await agent.chat({ message: input, chatHistory, verbose: process.env.DEBUG === 'true' ? true : false }) if (response.sources.length) { for (const sourceTool of response.sources) { usedTools.push({ - tool: sourceTool.toolName, - toolInput: sourceTool.rawInput, - toolOutput: sourceTool.rawOutput + tool: sourceTool.tool?.metadata.name ?? '', + toolInput: sourceTool.input, + toolOutput: sourceTool.output as any }) } } - text = String(response) + if (Array.isArray(response.response.message.content) && response.response.message.content.length > 0) { + text = (response.response.message.content[0] as MessageContentTextDetail).text + } else { + text = response.response.message.content as string + } await memory.addChatMessages( [ @@ -138,4 +139,4 @@ class OpenAIFunctionAgent_LlamaIndex_Agents implements INode { } } -module.exports = { nodeClass: OpenAIFunctionAgent_LlamaIndex_Agents } +module.exports = { nodeClass: AnthropicAgent_LlamaIndex_Agents } diff --git a/packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts b/packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts new file mode 100644 index 00000000000..ed9895de0ed --- /dev/null +++ b/packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/OpenAIToolAgent_LlamaIndex.ts @@ -0,0 +1,167 @@ +import { flatten } from 'lodash' +import { ChatMessage, OpenAI, OpenAIAgent } from 'llamaindex' +import { getBaseClasses } from '../../../../src/utils' +import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, IUsedTool } from '../../../../src/Interface' + +class OpenAIFunctionAgent_LlamaIndex_Agents implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + baseClasses: string[] + tags: string[] + inputs: INodeParams[] + sessionId?: string + badge?: string + + constructor(fields?: { sessionId?: string }) { + this.label = 'OpenAI Tool Agent' + this.name = 'openAIToolAgentLlamaIndex' + this.version = 2.0 + this.type = 'OpenAIToolAgent' + this.category = 'Agents' + this.icon = 'function.svg' + this.description = `Agent that uses OpenAI Function Calling to pick the tools and args to call using LlamaIndex` + this.baseClasses = [this.type, ...getBaseClasses(OpenAIAgent)] + this.tags = ['LlamaIndex'] + this.inputs = [ + { + label: 'Tools', + name: 'tools', + type: 'Tool_LlamaIndex', + list: true + }, + { + label: 'Memory', + name: 'memory', + type: 'BaseChatMemory' + }, + { + label: 'OpenAI/Azure Chat Model', + name: 'model', + type: 'BaseChatModel_LlamaIndex' + }, + { + label: 'System Message', + name: 'systemMessage', + type: 'string', + rows: 4, + optional: true, + additionalParams: true + } + ] + this.sessionId = fields?.sessionId + } + + async init(): Promise { + return null + } + + async run(nodeData: INodeData, input: string, options: ICommonObject): Promise { + const memory = nodeData.inputs?.memory as FlowiseMemory + const model = nodeData.inputs?.model as OpenAI + const systemMessage = nodeData.inputs?.systemMessage as string + let tools = nodeData.inputs?.tools + tools = flatten(tools) + + const isStreamingEnabled = options.socketIO && options.socketIOClientId + + const chatHistory = [] as ChatMessage[] + + if (systemMessage) { + chatHistory.push({ + content: systemMessage, + role: 'system' + }) + } + + const msgs = (await memory.getChatMessages(this.sessionId, false)) as IMessage[] + for (const message of msgs) { + if (message.type === 'apiMessage') { + chatHistory.push({ + content: message.message, + role: 'assistant' + }) + } else if (message.type === 'userMessage') { + chatHistory.push({ + content: message.message, + role: 'user' + }) + } + } + + const agent = new OpenAIAgent({ + tools, + llm: model, + chatHistory: chatHistory, + verbose: process.env.DEBUG === 'true' ? true : false + }) + + let text = '' + let isStreamingStarted = false + const usedTools: IUsedTool[] = [] + + if (isStreamingEnabled) { + const stream = await agent.chat({ + message: input, + chatHistory, + stream: true, + verbose: process.env.DEBUG === 'true' ? true : false + }) + for await (const chunk of stream) { + //console.log('chunk', chunk) + text += chunk.response.delta + if (!isStreamingStarted) { + isStreamingStarted = true + options.socketIO.to(options.socketIOClientId).emit('start', chunk.response.delta) + if (chunk.sources.length) { + for (const sourceTool of chunk.sources) { + usedTools.push({ + tool: sourceTool.tool?.metadata.name ?? '', + toolInput: sourceTool.input, + toolOutput: sourceTool.output as any + }) + } + options.socketIO.to(options.socketIOClientId).emit('usedTools', usedTools) + } + } + + options.socketIO.to(options.socketIOClientId).emit('token', chunk.response.delta) + } + } else { + const response = await agent.chat({ message: input, chatHistory, verbose: process.env.DEBUG === 'true' ? true : false }) + if (response.sources.length) { + for (const sourceTool of response.sources) { + usedTools.push({ + tool: sourceTool.tool?.metadata.name ?? '', + toolInput: sourceTool.input, + toolOutput: sourceTool.output as any + }) + } + } + + text = response.response.message.content as string + } + + await memory.addChatMessages( + [ + { + text: input, + type: 'userMessage' + }, + { + text: text, + type: 'apiMessage' + } + ], + this.sessionId + ) + + return usedTools.length ? { text: text, usedTools } : text + } +} + +module.exports = { nodeClass: OpenAIFunctionAgent_LlamaIndex_Agents } diff --git a/packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/function.svg b/packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/function.svg new file mode 100644 index 00000000000..9e283b91ff3 --- /dev/null +++ b/packages/components/nodes/agents/LlamaIndexAgents/OpenAIToolAgent/function.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI_LlamaIndex.ts b/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI_LlamaIndex.ts index bfd1b7ffcf4..3d75bd4ae98 100644 --- a/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI_LlamaIndex.ts +++ b/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI_LlamaIndex.ts @@ -1,6 +1,6 @@ import { ICommonObject, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src/Interface' import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' -import { OpenAI, ALL_AVAILABLE_OPENAI_MODELS } from 'llamaindex' +import { OpenAI } from 'llamaindex' import { getModels, MODEL_TYPE } from '../../../src/modelLoader' interface AzureOpenAIConfig { @@ -10,6 +10,28 @@ interface AzureOpenAIConfig { deploymentName?: string } +const ALL_AZURE_OPENAI_CHAT_MODELS = { + 'gpt-35-turbo': { contextWindow: 4096, openAIModel: 'gpt-3.5-turbo' }, + 'gpt-35-turbo-16k': { + contextWindow: 16384, + openAIModel: 'gpt-3.5-turbo-16k' + }, + 'gpt-4': { contextWindow: 8192, openAIModel: 'gpt-4' }, + 'gpt-4-32k': { contextWindow: 32768, openAIModel: 'gpt-4-32k' }, + 'gpt-4-turbo': { + contextWindow: 128000, + openAIModel: 'gpt-4-turbo' + }, + 'gpt-4-vision-preview': { + contextWindow: 128000, + openAIModel: 'gpt-4-vision-preview' + }, + 'gpt-4-1106-preview': { + contextWindow: 128000, + openAIModel: 'gpt-4-1106-preview' + } +} + class AzureChatOpenAI_LlamaIndex_ChatModels implements INode { label: string name: string @@ -90,7 +112,7 @@ class AzureChatOpenAI_LlamaIndex_ChatModels implements INode { } async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { - const modelName = nodeData.inputs?.modelName as keyof typeof ALL_AVAILABLE_OPENAI_MODELS + const modelName = nodeData.inputs?.modelName as keyof typeof ALL_AZURE_OPENAI_CHAT_MODELS const temperature = nodeData.inputs?.temperature as string const maxTokens = nodeData.inputs?.maxTokens as string const topP = nodeData.inputs?.topP as string diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic_LlamaIndex.ts b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic_LlamaIndex.ts index 2e0e64e5f0a..699a34055ac 100644 --- a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic_LlamaIndex.ts +++ b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic_LlamaIndex.ts @@ -36,7 +36,7 @@ class ChatAnthropic_LlamaIndex_ChatModels implements INode { { label: 'Model Name', name: 'modelName', - type: 'options', + type: 'asyncOptions', loadMethod: 'listModels', default: 'claude-3-haiku' }, diff --git a/packages/components/nodes/chatmodels/ChatMistral/ChatMistral_LlamaIndex.ts b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral_LlamaIndex.ts new file mode 100644 index 00000000000..c67a6bed5d3 --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral_LlamaIndex.ts @@ -0,0 +1,100 @@ +import { ICommonObject, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src/Interface' +import { MODEL_TYPE, getModels } from '../../../src/modelLoader' +import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' +import { ALL_AVAILABLE_MISTRAL_MODELS, MistralAI } from 'llamaindex' + +class ChatMistral_LlamaIndex_ChatModels implements INode { + label: string + name: string + version: number + type: string + icon: string + category: string + description: string + tags: string[] + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + + constructor() { + this.label = 'ChatMistral' + this.name = 'chatMistral_LlamaIndex' + this.version = 1.0 + this.type = 'ChatMistral' + this.icon = 'MistralAI.svg' + this.category = 'Chat Models' + this.description = 'Wrapper around ChatMistral LLM specific for LlamaIndex' + this.baseClasses = [this.type, 'BaseChatModel_LlamaIndex', ...getBaseClasses(MistralAI)] + this.tags = ['LlamaIndex'] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['mistralAIApi'] + } + this.inputs = [ + { + label: 'Model Name', + name: 'modelName', + type: 'asyncOptions', + loadMethod: 'listModels', + default: 'mistral-tiny' + }, + { + label: 'Temperature', + name: 'temperature', + type: 'number', + step: 0.1, + default: 0.9, + optional: true + }, + { + label: 'Max Tokens', + name: 'maxTokensToSample', + type: 'number', + step: 1, + optional: true, + additionalParams: true + }, + { + label: 'Top P', + name: 'topP', + type: 'number', + step: 0.1, + optional: true, + additionalParams: true + } + ] + } + + //@ts-ignore + loadMethods = { + async listModels(): Promise { + return await getModels(MODEL_TYPE.CHAT, 'chatMistral_LlamaIndex') + } + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const temperature = nodeData.inputs?.temperature as string + const modelName = nodeData.inputs?.modelName as keyof typeof ALL_AVAILABLE_MISTRAL_MODELS + const maxTokensToSample = nodeData.inputs?.maxTokensToSample as string + const topP = nodeData.inputs?.topP as string + + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const apiKey = getCredentialParam('mistralAIAPIKey', credentialData, nodeData) + + const obj: Partial = { + temperature: parseFloat(temperature), + model: modelName, + apiKey: apiKey + } + + if (maxTokensToSample) obj.maxTokens = parseInt(maxTokensToSample, 10) + if (topP) obj.topP = parseFloat(topP) + + const model = new MistralAI(obj) + return model + } +} + +module.exports = { nodeClass: ChatMistral_LlamaIndex_ChatModels } diff --git a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama_LlamaIndex.ts b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama_LlamaIndex.ts new file mode 100644 index 00000000000..548c9d7d0b2 --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama_LlamaIndex.ts @@ -0,0 +1,221 @@ +import { INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses } from '../../../src/utils' +import { OllamaParams, Ollama } from 'llamaindex' + +class ChatOllama_LlamaIndex_ChatModels implements INode { + label: string + name: string + version: number + type: string + icon: string + category: string + description: string + tags: string[] + baseClasses: string[] + inputs: INodeParams[] + + constructor() { + this.label = 'ChatOllama' + this.name = 'chatOllama_LlamaIndex' + this.version = 1.0 + this.type = 'ChatOllama' + this.icon = 'Ollama.svg' + this.category = 'Chat Models' + this.description = 'Wrapper around ChatOllama LLM specific for LlamaIndex' + this.baseClasses = [this.type, 'BaseChatModel_LlamaIndex', ...getBaseClasses(Ollama)] + this.tags = ['LlamaIndex'] + this.inputs = [ + { + label: 'Base URL', + name: 'baseUrl', + type: 'string', + default: 'http://localhost:11434' + }, + { + label: 'Model Name', + name: 'modelName', + type: 'string', + placeholder: 'llama3' + }, + { + label: 'Temperature', + name: 'temperature', + type: 'number', + description: + 'The temperature of the model. Increasing the temperature will make the model answer more creatively. (Default: 0.8). Refer to docs for more details', + step: 0.1, + default: 0.9, + optional: true + }, + { + label: 'Top P', + name: 'topP', + type: 'number', + description: + 'Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text. (Default: 0.9). Refer to docs for more details', + step: 0.1, + optional: true, + additionalParams: true + }, + { + label: 'Top K', + name: 'topK', + type: 'number', + description: + 'Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative. (Default: 40). Refer to docs for more details', + step: 1, + optional: true, + additionalParams: true + }, + { + label: 'Mirostat', + name: 'mirostat', + type: 'number', + description: + 'Enable Mirostat sampling for controlling perplexity. (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0). Refer to docs for more details', + step: 1, + optional: true, + additionalParams: true + }, + { + label: 'Mirostat ETA', + name: 'mirostatEta', + type: 'number', + description: + 'Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive. (Default: 0.1) Refer to docs for more details', + step: 0.1, + optional: true, + additionalParams: true + }, + { + label: 'Mirostat TAU', + name: 'mirostatTau', + type: 'number', + description: + 'Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text. (Default: 5.0) Refer to docs for more details', + step: 0.1, + optional: true, + additionalParams: true + }, + { + label: 'Context Window Size', + name: 'numCtx', + type: 'number', + description: + 'Sets the size of the context window used to generate the next token. (Default: 2048) Refer to docs for more details', + step: 1, + optional: true, + additionalParams: true + }, + { + label: 'Number of GPU', + name: 'numGpu', + type: 'number', + description: + 'The number of layers to send to the GPU(s). On macOS it defaults to 1 to enable metal support, 0 to disable. Refer to docs for more details', + step: 1, + optional: true, + additionalParams: true + }, + { + label: 'Number of Thread', + name: 'numThread', + type: 'number', + description: + 'Sets the number of threads to use during computation. By default, Ollama will detect this for optimal performance. It is recommended to set this value to the number of physical CPU cores your system has (as opposed to the logical number of cores). Refer to docs for more details', + step: 1, + optional: true, + additionalParams: true + }, + { + label: 'Repeat Last N', + name: 'repeatLastN', + type: 'number', + description: + 'Sets how far back for the model to look back to prevent repetition. (Default: 64, 0 = disabled, -1 = num_ctx). Refer to docs for more details', + step: 1, + optional: true, + additionalParams: true + }, + { + label: 'Repeat Penalty', + name: 'repeatPenalty', + type: 'number', + description: + 'Sets how strongly to penalize repetitions. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. (Default: 1.1). Refer to docs for more details', + step: 0.1, + optional: true, + additionalParams: true + }, + { + label: 'Stop Sequence', + name: 'stop', + type: 'string', + rows: 4, + placeholder: 'AI assistant:', + description: + 'Sets the stop sequences to use. Use comma to seperate different sequences. Refer to docs for more details', + optional: true, + additionalParams: true + }, + { + label: 'Tail Free Sampling', + name: 'tfsZ', + type: 'number', + description: + 'Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting. (Default: 1). Refer to docs for more details', + step: 0.1, + optional: true, + additionalParams: true + } + ] + } + + async init(nodeData: INodeData): Promise { + const temperature = nodeData.inputs?.temperature as string + const baseUrl = nodeData.inputs?.baseUrl as string + const modelName = nodeData.inputs?.modelName as string + const topP = nodeData.inputs?.topP as string + const topK = nodeData.inputs?.topK as string + const mirostat = nodeData.inputs?.mirostat as string + const mirostatEta = nodeData.inputs?.mirostatEta as string + const mirostatTau = nodeData.inputs?.mirostatTau as string + const numCtx = nodeData.inputs?.numCtx as string + const numGpu = nodeData.inputs?.numGpu as string + const numThread = nodeData.inputs?.numThread as string + const repeatLastN = nodeData.inputs?.repeatLastN as string + const repeatPenalty = nodeData.inputs?.repeatPenalty as string + const stop = nodeData.inputs?.stop as string + const tfsZ = nodeData.inputs?.tfsZ as string + + const obj: OllamaParams = { + model: modelName, + options: {}, + config: { + host: baseUrl + } + } + + if (temperature) obj.options.temperature = parseFloat(temperature) + if (topP) obj.options.top_p = parseFloat(topP) + if (topK) obj.options.top_k = parseFloat(topK) + if (mirostat) obj.options.mirostat = parseFloat(mirostat) + if (mirostatEta) obj.options.mirostat_eta = parseFloat(mirostatEta) + if (mirostatTau) obj.options.mirostat_tau = parseFloat(mirostatTau) + if (numCtx) obj.options.num_ctx = parseFloat(numCtx) + if (numGpu) obj.options.main_gpu = parseFloat(numGpu) + if (numThread) obj.options.num_thread = parseFloat(numThread) + if (repeatLastN) obj.options.repeat_last_n = parseFloat(repeatLastN) + if (repeatPenalty) obj.options.repeat_penalty = parseFloat(repeatPenalty) + if (tfsZ) obj.options.tfs_z = parseFloat(tfsZ) + if (stop) { + const stopSequences = stop.split(',') + obj.options.stop = stopSequences + } + + const model = new Ollama(obj) + return model + } +} + +module.exports = { nodeClass: ChatOllama_LlamaIndex_ChatModels } diff --git a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI_LlamaIndex.ts b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI_LlamaIndex.ts index e0c8ee141b3..4bc1a88b506 100644 --- a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI_LlamaIndex.ts +++ b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI_LlamaIndex.ts @@ -1,6 +1,6 @@ import { ICommonObject, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src/Interface' import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' -import { OpenAI, ALL_AVAILABLE_OPENAI_MODELS } from 'llamaindex' +import { OpenAI, OpenAISession, ALL_AVAILABLE_OPENAI_MODELS } from 'llamaindex' import { getModels, MODEL_TYPE } from '../../../src/modelLoader' class ChatOpenAI_LlamaIndex_LLMs implements INode { @@ -115,8 +115,9 @@ class ChatOpenAI_LlamaIndex_LLMs implements INode { if (maxTokens) obj.maxTokens = parseInt(maxTokens, 10) if (topP) obj.topP = parseFloat(topP) if (timeout) obj.timeout = parseInt(timeout, 10) + const openai = new OpenAISession(obj) - const model = new OpenAI(obj) + const model = new OpenAI({ ...obj, session: openai }) return model } } diff --git a/packages/components/nodes/chatmodels/ChatTogetherAI/ChatTogether_LlamaIndex.ts b/packages/components/nodes/chatmodels/ChatTogetherAI/ChatTogether_LlamaIndex.ts new file mode 100644 index 00000000000..a2f815a4906 --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatTogetherAI/ChatTogether_LlamaIndex.ts @@ -0,0 +1,71 @@ +import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' +import { TogetherLLM, OpenAI } from 'llamaindex' + +class ChatTogetherAI_LlamaIndex_ChatModels implements INode { + label: string + name: string + version: number + type: string + icon: string + category: string + description: string + tags: string[] + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + + constructor() { + this.label = 'ChatTogetherAI' + this.name = 'chatTogetherAI_LlamaIndex' + this.version = 1.0 + this.type = 'ChatTogetherAI' + this.icon = 'togetherai.png' + this.category = 'Chat Models' + this.description = 'Wrapper around ChatTogetherAI LLM specific for LlamaIndex' + this.baseClasses = [this.type, 'BaseChatModel_LlamaIndex', ...getBaseClasses(TogetherLLM)] + this.tags = ['LlamaIndex'] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['togetherAIApi'] + } + this.inputs = [ + { + label: 'Model Name', + name: 'modelName', + type: 'string', + placeholder: 'mixtral-8x7b-32768', + description: 'Refer to models page' + }, + { + label: 'Temperature', + name: 'temperature', + type: 'number', + step: 0.1, + default: 0.9, + optional: true + } + ] + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const temperature = nodeData.inputs?.temperature as string + const modelName = nodeData.inputs?.modelName as string + + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const togetherAIApiKey = getCredentialParam('togetherAIApiKey', credentialData, nodeData) + + const obj: Partial = { + temperature: parseFloat(temperature), + model: modelName, + apiKey: togetherAIApiKey + } + + const model = new TogetherLLM(obj) + return model + } +} + +module.exports = { nodeClass: ChatTogetherAI_LlamaIndex_ChatModels } diff --git a/packages/components/nodes/chatmodels/Groq/ChatGroq_LlamaIndex.ts b/packages/components/nodes/chatmodels/Groq/ChatGroq_LlamaIndex.ts new file mode 100644 index 00000000000..31e58d84fc9 --- /dev/null +++ b/packages/components/nodes/chatmodels/Groq/ChatGroq_LlamaIndex.ts @@ -0,0 +1,80 @@ +import { ICommonObject, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src/Interface' +import { MODEL_TYPE, getModels } from '../../../src/modelLoader' +import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' +import { Groq, OpenAI } from 'llamaindex' + +class ChatGroq_LlamaIndex_ChatModels implements INode { + label: string + name: string + version: number + type: string + icon: string + category: string + description: string + tags: string[] + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + + constructor() { + this.label = 'ChatGroq' + this.name = 'chatGroq_LlamaIndex' + this.version = 1.0 + this.type = 'ChatGroq' + this.icon = 'groq.png' + this.category = 'Chat Models' + this.description = 'Wrapper around Groq LLM specific for LlamaIndex' + this.baseClasses = [this.type, 'BaseChatModel_LlamaIndex', ...getBaseClasses(Groq)] + this.tags = ['LlamaIndex'] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['groqApi'], + optional: true + } + this.inputs = [ + { + label: 'Model Name', + name: 'modelName', + type: 'asyncOptions', + loadMethod: 'listModels', + placeholder: 'llama3-70b-8192' + }, + { + label: 'Temperature', + name: 'temperature', + type: 'number', + step: 0.1, + default: 0.9, + optional: true + } + ] + } + + //@ts-ignore + loadMethods = { + async listModels(): Promise { + return await getModels(MODEL_TYPE.CHAT, 'groqChat') + } + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const temperature = nodeData.inputs?.temperature as string + const modelName = nodeData.inputs?.modelName as string + + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const groqApiKey = getCredentialParam('groqApiKey', credentialData, nodeData) + + const obj: Partial = { + temperature: parseFloat(temperature), + model: modelName, + apiKey: groqApiKey + } + + const model = new Groq(obj) + return model + } +} + +module.exports = { nodeClass: ChatGroq_LlamaIndex_ChatModels } diff --git a/packages/components/nodes/chatmodels/Groq/groq.png b/packages/components/nodes/chatmodels/Groq/groq.png index 31564145e1068131f3cf0a49766efbd68a0b4d54..ea2b8821cf8a317fa3e2cf1a7b36e1d0b7b89798 100644 GIT binary patch literal 1773 zcmVJ78yIdGfP8*~D}jcBgoz@DjEIVOjggLzX_A(clvXvniDM+O3jVZoWes8fy)YW|W!Yyi=xSRpD1Fm=i>13I&c1=s+jt~|pKj9vTi zf!SP1hQVY@_uqq`XH)%}Teq*&T6%Ty?OWGvULwB^5MB(yFkHmC3NU8ufGgl0z66BD z`d|S90&f8jD1d+gTLy=7{AwWf!N)2Y$0A6LE0|XfQcD0qYF7(keuEsxs?Cua*)kojbh=%dHOO8p^J^fZ5Ze zG6@R`vAJ|9(~zbB3y`v$Fq;eim9$9v54D?Et7Na)QtHd2a>eLJhLU@mY|Jqr=mG??#tx7CMgSgvoG~LJtE@-6mYcnHopLx-Eq zjQ}0A8v{SZ0Ki`uee@XtMC_CU2NX<)(@&c*K+8rokU&9uV4Zat#!iOo5@L`2Mbc)Q zDn#09dl6*Y)1sYn+-J;9cdl^j>W$uJ^L@9a;Q-E<;1%a3PT7kguIISqdP4x$ggHJa z~9W^myPA;>~&_|PseJj3Lif}s^+uo_2nh;vr9zrkIwI?{+@TM%Hw zCKzC6JWGxVvv|D!2XL_qyaOXjDnmpAHA9OhS%3ko1_RzH;CRS$;uw9?2GX%&7 z0v3QnqfE?Fv*05h>Bf-`?hrW0=p!R#(ts}d4>G@y^`X+};a;~F}~&nqtJU0i)4d%4B3eT7H|L{!m<+K7!3mE z$qxo3V4ejaKsP=4O%Qg=9{#)pJOUbtb`bOs>NqGM&Y{pcWTK&O00%_P(29wE;T9GJ z1}`$I3}bL=bQ;Tu+(%&$(g6aom9liAE_EXaW6HyT(sYjuyeWMQs8iLj zucvtQT$Rm%*&tNegE6tFx zX~(OSS86M*Ff-*bWJY9AB4p4GJG+1FUwh7;bMO7$d%x%2KR;Pc4mL7Uho!{C#AI+F z)C%l{0cSnPN$C?LbJuzsrmhz*qR>*$4wYt2$y}dOzvyq>& zo)P_{qe&3q`RD6y;l$`#fWt;PNp#!cIN&Y%CK2u8;F{Ovd()hO4f|a*!*N&(xA^jf z^3Rles?r(!-?BNJ5YNSJ!lO)dG|ma>xACQ5QGoxX5DA%2OicJ#s)R4HLuc6_j|jx0 z;O7)!mAT@M)~Uxdo)zTtdcmdtSd+ESw}f(9$38TNdkzn8R2Jn?jgJb>(uZWORTk$= zBT@1`oHOpek&s)%o~ZGd`S&W66sobV?>Q~&3ac{WHPfVvd+D-6T6JiIY@JD{sYekt z1a8zYf4aCts~1A4$todQY7yjB#)0Ku3n(^28dnh_x7q0(SbbeDr+WH%Gf24QMe`Tf z0&qE+M2%%+{!Q(>_o1Ui)#3Puyj%mY-%l_`YDj8d+T?MNwg}}ksa~Bl3zi_Faq-1H zCsmj@+;q$&6NP8gy~gcIGS$7?B})_@n?%ZkBP|B~rO029cEiObRKB%BIg~jPJeRg* zhwo|U-d^e+9db65(}A7RbiR70%yu-hxG>EDN9+!CI?M#qfWG+4as2xaUZ1c6G0$V$ z_f$JL7Rvtt_7jn?;NA9-SbZyNOcYPPzDW2;PZ8#>8azpQoRe;J8nF-N?v-We8LF$d z5BANgPH}gse2M^`FK0t}(%)MzCw~zOY$23fldH%M^97>bh&7e6{Yi5@wh)rLWgl0) zwaj^_oO}BP_x447>E+Va1f)9L%)rsGAWL`fJHxqvNNU^68cX17s(q_iqDYb~s`aIk zy-6=X+sw$8^h-(oB zpyN{1OEZ?{p1C$f+=Jz$nJFp^tpq&-F*S`A(*c0_bS-0GReH@J(5|l1SIk zlb9^Pzwdj?3d_e%yyuAH-dS~rL3s8xW>#4G^h;FN%T~+COa3>s+1$gu=lMy}Z~In) zgfvMol0Eozac0k5=H+rvCe$VM$nN97@TSjkJjO6^Xxq&X&W%wpX4a{4@#2EiH)IGy z=?bw?>p-%^>lIPY2 zV!qI2!{>Svz3FRiQ!m@XE9yUU+OA$XWVV4b@3fRzumHCa+Y}Ccj!O>4$HFRXE zZBT5<`L3Jtb;7_M%;xnN?IxvM7wTO4e%X)XntK<_Sft!Kd*c>k?Fnkx1MJU?E*j@2 z!r6lkL4oz0ZG%_E1mdkp--dRAVrP;+MKg{R5h*Lseb|K=B&j4 diff --git a/packages/components/nodes/engine/ChatEngine/ContextChatEngine.ts b/packages/components/nodes/engine/ChatEngine/ContextChatEngine.ts index ac944d4414f..a5bacaad070 100644 --- a/packages/components/nodes/engine/ChatEngine/ContextChatEngine.ts +++ b/packages/components/nodes/engine/ChatEngine/ContextChatEngine.ts @@ -1,5 +1,5 @@ import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface' -import { BaseNode, Metadata, BaseRetriever, LLM, ContextChatEngine, ChatMessage } from 'llamaindex' +import { Metadata, BaseRetriever, LLM, ContextChatEngine, ChatMessage, NodeWithScore } from 'llamaindex' import { reformatSourceDocuments } from '../EngineUtils' class ContextChatEngine_LlamaIndex implements INode { @@ -102,7 +102,7 @@ class ContextChatEngine_LlamaIndex implements INode { let text = '' let isStreamingStarted = false let sourceDocuments: ICommonObject[] = [] - let sourceNodes: BaseNode[] = [] + let sourceNodes: NodeWithScore[] = [] const isStreamingEnabled = options.socketIO && options.socketIOClientId if (isStreamingEnabled) { diff --git a/packages/components/nodes/engine/EngineUtils.ts b/packages/components/nodes/engine/EngineUtils.ts index 9424e789a2e..923f62ae3b5 100644 --- a/packages/components/nodes/engine/EngineUtils.ts +++ b/packages/components/nodes/engine/EngineUtils.ts @@ -1,11 +1,11 @@ -import { BaseNode, Metadata } from 'llamaindex' +import { Metadata, NodeWithScore } from 'llamaindex' -export const reformatSourceDocuments = (sourceNodes: BaseNode[]) => { +export const reformatSourceDocuments = (sourceNodes: NodeWithScore[]) => { const sourceDocuments = [] for (const node of sourceNodes) { sourceDocuments.push({ - pageContent: (node as any).text, - metadata: node.metadata + pageContent: (node.node as any).text, + metadata: node.node.metadata }) } return sourceDocuments diff --git a/packages/components/nodes/engine/QueryEngine/QueryEngine.ts b/packages/components/nodes/engine/QueryEngine/QueryEngine.ts index 8ced3fcc114..1b580f9be6e 100644 --- a/packages/components/nodes/engine/QueryEngine/QueryEngine.ts +++ b/packages/components/nodes/engine/QueryEngine/QueryEngine.ts @@ -6,8 +6,8 @@ import { TreeSummarize, Refine, SimpleResponseBuilder, - BaseNode, - Metadata + Metadata, + NodeWithScore } from 'llamaindex' import { reformatSourceDocuments } from '../EngineUtils' @@ -69,7 +69,7 @@ class QueryEngine_LlamaIndex implements INode { let text = '' let sourceDocuments: ICommonObject[] = [] - let sourceNodes: BaseNode[] = [] + let sourceNodes: NodeWithScore[] = [] let isStreamingStarted = false const isStreamingEnabled = options.socketIO && options.socketIOClientId diff --git a/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts b/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts index a2a1e029feb..11239a4d39c 100644 --- a/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts +++ b/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts @@ -10,9 +10,9 @@ import { QueryEngineTool, LLMQuestionGenerator, SubQuestionQueryEngine, - BaseNode, Metadata, - serviceContextFromDefaults + serviceContextFromDefaults, + NodeWithScore } from 'llamaindex' import { reformatSourceDocuments } from '../EngineUtils' @@ -86,7 +86,7 @@ class SubQuestionQueryEngine_LlamaIndex implements INode { let text = '' let sourceDocuments: ICommonObject[] = [] - let sourceNodes: BaseNode[] = [] + let sourceNodes: NodeWithScore[] = [] let isStreamingStarted = false const isStreamingEnabled = options.socketIO && options.socketIOClientId diff --git a/packages/components/nodes/vectorstores/Pinecone/Pinecone_LlamaIndex.ts b/packages/components/nodes/vectorstores/Pinecone/Pinecone_LlamaIndex.ts index 4045012ea8c..075b82a7f59 100644 --- a/packages/components/nodes/vectorstores/Pinecone/Pinecone_LlamaIndex.ts +++ b/packages/components/nodes/vectorstores/Pinecone/Pinecone_LlamaIndex.ts @@ -2,7 +2,9 @@ import { BaseNode, Document, Metadata, - VectorStore, + IEmbedModel, + VectorStoreBase, + VectorStoreNoEmbedModel, VectorStoreQuery, VectorStoreQueryResult, serviceContextFromDefaults, @@ -123,7 +125,8 @@ class PineconeLlamaIndex_VectorStores implements INode { const pcvs = new PineconeVectorStore({ indexName, apiKey: pineconeApiKey, - namespace: pineconeNamespace + namespace: pineconeNamespace, + embedModel: embeddings }) const flattenDocs = docs && docs.length ? flatten(docs) : [] @@ -165,7 +168,8 @@ class PineconeLlamaIndex_VectorStores implements INode { const obj: PineconeParams = { indexName, - apiKey: pineconeApiKey + apiKey: pineconeApiKey, + embedModel: embeddings } if (pineconeNamespace) obj.namespace = pineconeNamespace @@ -211,9 +215,9 @@ type PineconeParams = { namespace?: string chunkSize?: number queryFilter?: object -} +} & IEmbedModel -class PineconeVectorStore implements VectorStore { +class PineconeVectorStore extends VectorStoreBase implements VectorStoreNoEmbedModel { storesText: boolean = true db?: Pinecone indexName: string @@ -223,6 +227,7 @@ class PineconeVectorStore implements VectorStore { queryFilter?: object constructor(params: PineconeParams) { + super(params?.embedModel) this.indexName = params?.indexName this.apiKey = params?.apiKey this.namespace = params?.namespace ?? '' diff --git a/packages/components/package.json b/packages/components/package.json index 8c1794e593a..3b5e113a7cd 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -83,7 +83,7 @@ "langfuse-langchain": "^3.3.4", "langsmith": "0.1.6", "linkifyjs": "^4.1.1", - "llamaindex": "^0.2.1", + "llamaindex": "^0.3.13", "lodash": "^4.17.21", "lunary": "^0.6.16", "mammoth": "^1.5.1", diff --git a/packages/components/src/utils.ts b/packages/components/src/utils.ts index f6bdbd5ce3b..b0cdb893945 100644 --- a/packages/components/src/utils.ts +++ b/packages/components/src/utils.ts @@ -660,6 +660,8 @@ export const convertSchemaToZod = (schema: string | object): ICommonObject => { export const flattenObject = (obj: ICommonObject, parentKey?: string) => { let result: any = {} + if (!obj) return result + Object.keys(obj).forEach((key) => { const value = obj[key] const _key = parentKey ? parentKey + '.' + key : key diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 1b5d9ed6dda..edee311299f 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -1078,12 +1078,16 @@ export const isFlowValidForStream = (reactFlowNodes: IReactFlowNode[], endingNod 'chatAnthropic', 'chatAnthropic_LlamaIndex', 'chatOllama', + 'chatOllama_LlamaIndex', 'awsChatBedrock', 'chatMistralAI', + 'chatMistral_LlamaIndex', 'groqChat', + 'chatGroq_LlamaIndex', 'chatCohere', 'chatGoogleGenerativeAI', - 'chatTogetherAI' + 'chatTogetherAI', + 'chatTogetherAI_LlamaIndex' ], LLMs: ['azureOpenAI', 'openAI', 'ollama'] } @@ -1112,7 +1116,8 @@ export const isFlowValidForStream = (reactFlowNodes: IReactFlowNode[], endingNod 'airtableAgent', 'conversationalRetrievalAgent', 'openAIToolAgent', - 'toolAgent' + 'toolAgent', + 'openAIToolAgentLlamaIndex' ] isValidChainOrAgent = whitelistAgents.includes(endingNodeData.name) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e885ac9966..5039b68dbac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,7 +32,7 @@ importers: version: 8.10.0(eslint@8.57.0) eslint-config-react-app: specifier: ^7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(eslint@8.57.0)(jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5) + version: 7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(eslint@8.57.0)(jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.6.1 version: 6.8.0(eslint@8.57.0) @@ -104,7 +104,7 @@ importers: version: 8.12.2 '@getzep/zep-cloud': specifier: npm:@getzep/zep-js@next - version: '@getzep/zep-js@2.0.0-rc.4(@langchain/core@0.1.63)(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)))' + version: '@getzep/zep-js@2.0.0-rc.4(@langchain/core@0.1.63)(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)))' '@getzep/zep-js': specifier: ^0.9.0 version: 0.9.0 @@ -131,7 +131,7 @@ importers: version: 0.0.7(encoding@0.1.13) '@langchain/community': specifier: ^0.0.43 - version: 0.0.43(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + version: 0.0.43(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) '@langchain/core': specifier: ^0.1.63 version: 0.1.63 @@ -257,13 +257,13 @@ importers: version: 5.0.1 langchain: specifier: ^0.1.37 - version: 0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + version: 0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) langfuse: specifier: 3.3.4 version: 3.3.4 langfuse-langchain: specifier: ^3.3.4 - version: 3.3.4(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))) + version: 3.3.4(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))) langsmith: specifier: 0.1.6 version: 0.1.6 @@ -271,8 +271,8 @@ importers: specifier: ^4.1.1 version: 4.1.3 llamaindex: - specifier: ^0.2.1 - version: 0.2.1(@google/generative-ai@0.7.0)(bufferutil@4.0.8)(encoding@0.1.13)(gcp-metadata@6.1.0(encoding@0.1.13))(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@4.9.5)(utf-8-validate@6.0.4) + 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@6.1.0(encoding@0.1.13))(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@4.9.5)(utf-8-validate@6.0.4) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -338,7 +338,7 @@ importers: version: 1.2.3 typeorm: specifier: ^0.3.6 - version: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)) + version: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)) vm2: specifier: ^3.9.19 version: 3.9.19 @@ -498,7 +498,7 @@ importers: version: 5.1.7 typeorm: specifier: ^0.3.6 - version: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)) + version: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)) uuid: specifier: ^9.0.1 version: 9.0.1 @@ -532,7 +532,7 @@ importers: version: 2.0.22 oclif: specifier: ^3 - version: 3.17.2(@swc/core@1.4.6)(@types/node@20.11.26)(encoding@0.1.13)(mem-fs@2.3.0)(typescript@4.9.5) + version: 3.17.2(@swc/core@1.4.6)(@types/node@20.12.12)(encoding@0.1.13)(mem-fs@2.3.0)(typescript@4.9.5) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -547,7 +547,7 @@ importers: version: 2.0.3 ts-node: specifier: ^10.7.0 - version: 10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + version: 10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) tsc-watch: specifier: ^6.0.4 version: 6.0.4(typescript@4.9.5) @@ -613,7 +613,7 @@ importers: version: 1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) flowise-embed-react: specifier: latest - version: 1.0.2(@types/node@20.11.26)(flowise-embed@1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5) + version: 1.0.2(@types/node@20.12.12)(flowise-embed@1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5) flowise-react-json-view: specifier: '*' version: 1.21.7(@types/react@18.2.65)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -722,13 +722,13 @@ importers: version: 12.8.3(@testing-library/dom@9.3.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1)) + version: 4.2.1(vite@5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1)) pretty-quick: specifier: ^3.1.3 version: 3.3.1(prettier@3.2.5) react-scripts: specifier: ^5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(@swc/core@1.4.6)(@types/babel__core@7.20.5)(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(eslint@8.57.0)(react@18.2.0)(sass@1.71.1)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5))(type-fest@4.12.0)(typescript@4.9.5)(utf-8-validate@6.0.4) + version: 5.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(@swc/core@1.4.6)(@types/babel__core@7.20.5)(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(eslint@8.57.0)(react@18.2.0)(sass@1.71.1)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5))(type-fest@4.12.0)(typescript@4.9.5)(utf-8-validate@6.0.4) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -740,10 +740,10 @@ importers: version: 4.9.5 vite: specifier: ^5.0.2 - version: 5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1) + version: 5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1) vite-plugin-pwa: specifier: ^0.17.0 - version: 0.17.5(vite@5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0) + version: 0.17.5(vite@5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0) vite-plugin-react-js-support: specifier: ^1.0.7 version: 1.0.7 @@ -764,12 +764,12 @@ packages: resolution: { integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== } engines: { node: '>=6.0.0' } - '@anthropic-ai/sdk@0.18.0': - resolution: { integrity: sha512-3XsWEn/4nPGRd4AdSguugbSDFy6Z2AWTNOeI3iK+aV22+w23+vY9CEb3Hiy0kvKIQuxSmZz/+5WKC8nPWy8gVg== } - '@anthropic-ai/sdk@0.20.4': resolution: { integrity: sha512-ULzz+0Smk9SNkAi1tcjJByxbt4taBhnQkRAB75iH0ku5dRwiPxGxN0WOWHoNIq22dGWBXJByrQRhVf80V4xAPA== } + '@anthropic-ai/sdk@0.20.9': + resolution: { integrity: sha512-Lq74+DhiEQO6F9/gdVOLmHx57pX45ebK2Q/zH14xYe1157a7QeUVknRqIp0Jz5gQI01o7NKbuv9Dag2uQsLjDg== } + '@anthropic-ai/sdk@0.9.1': resolution: { integrity: sha512-wa1meQ2WSfoY8Uor3EdrJq0jTiZJoKoSii2ZVWRY1oN4Tlr5s59pADg9T79FTbPe1/se5c3pBeZgJL63wmuoBA== } @@ -2367,6 +2367,10 @@ packages: engines: { node: '>=14.0.0' } hasBin: true + '@datastax/astra-db-ts@1.1.0': + resolution: { integrity: sha512-MqXLbhd7JU30LVzytGl7sQUYKwMbV1nU3lnHLAZCy1XLQDlcEynRHh/mJrmVKQGNqezQnCwM4r2knq1sYLyMGw== } + engines: { node: '>=14.0.0' } + '@dqbd/tiktoken@1.0.13': resolution: { integrity: sha512-941kjlHjfI97l6NuH/AwuXV4mHuVnRooDcHNSlzi98hz+4ug3wT4gJcWjSwSZHqeGAEn90lC9sFD+8a9d5Jvxg== } @@ -2789,6 +2793,10 @@ packages: resolution: { integrity: sha512-oqEQScnGO6UoEqdKMIGiRfLWNpc83RtLWcO/g/VH3+2PnqIwEqJThDAMCHmRZ9B3zUiiL2cd4FaHx3ZU93CXEA== } engines: { node: '>=12.0.0' } + '@google-cloud/vertexai@1.1.0': + resolution: { integrity: sha512-hfwfdlVpJ+kM6o2b5UFfPnweBcz8tgHAFRswnqUKYqLJsvKU0DDD0Z2/YKoHyAUoPJAv20qg6KlC3msNeUKUiw== } + engines: { node: '>=18.0.0' } + '@google/generative-ai@0.7.0': resolution: { integrity: sha512-+1kNkKbkDJftrvwfULQphkyC2ZQ42exlyR+TFARMuykuu6y8XyevbX0dDarqt1GVpZDm55yg0TBq6I1J65X6OA== } engines: { node: '>=18.0.0' } @@ -2802,8 +2810,8 @@ packages: resolution: { integrity: sha512-tx+eoEsqkMkLCHR4OOplwNIaJ7SVZWzeVKzEMBz8VR+TbssgBYOP4a0P+KQiQ6LaTG4SGaIEu7YTS8xOmkOWLA== } engines: { node: ^8.13.0 || >=10.10.0 } - '@grpc/grpc-js@1.10.3': - resolution: { integrity: sha512-qiO9MNgYnwbvZ8MK0YLWbnGrNX3zTcj6/Ef7UHu5ZofER3e2nF3Y35GaPo9qNJJ/UJQKa4KL+z/F4Q8Q+uCdUQ== } + '@grpc/grpc-js@1.10.8': + resolution: { integrity: sha512-vYVqYzHicDqyKB+NQhAc54I1QWCBLCrYG6unqOIcBTHx+7x8C9lcoLj3KVJXs2VB4lUbpWY+Kk9NipcbXYWmvg== } engines: { node: '>=12.10.0' } '@grpc/grpc-js@1.8.17': @@ -2819,6 +2827,11 @@ packages: engines: { node: '>=6' } hasBin: true + '@grpc/proto-loader@0.7.13': + resolution: { integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw== } + engines: { node: '>=6' } + hasBin: true + '@grpc/proto-loader@0.7.7': resolution: { integrity: sha512-1TIeXOi8TuSCQprPItwoMymZXxWT0CPxUhkrkeCUH+D8U7QDwQ6b7SUz2MaLuWM2llT+J/TVFLmQI5KtML3BhQ== } engines: { node: '>=6' } @@ -2834,10 +2847,17 @@ packages: resolution: { integrity: sha512-Xna7arltBSBoKaH3diGi3sYvkExgJMd/pF4T6vl2YbmDccbr1G/X5EPZ2048p+YgrJYG1jTYFCtY6Dr3HvJaow== } engines: { node: '>=18' } - '@huggingface/jinja@0.2.1': - resolution: { integrity: sha512-HxjVCll8oGfgUQmN91NYWCjfuaQ5mYZkc/BB1gjfp28q3s48yiB5jUEV7BvaRdIAb/+14cNdX8TIdalFykwywA== } + '@huggingface/inference@2.7.0': + resolution: { integrity: sha512-u7Fn637Q3f7nUB1tajM4CgzhvoFQkOQr5W5Fm+2wT9ETgGoLBh25BLlYPTJRjAd2WY01s71v0lqAwNvHHCc3mg== } engines: { node: '>=18' } + '@huggingface/jinja@0.2.2': + resolution: { integrity: sha512-/KPde26khDUIPkTGU82jdtTW9UAuvUTumCAbFs/7giR0SxsvZC4hru51PBvpijH6BVkHcROcvZM/lpy5h1jRRA== } + engines: { node: '>=18' } + + '@huggingface/tasks@0.10.6': + resolution: { integrity: sha512-aGqvPsZZ8JLkAs7IChsEZil/aNLoMsqDryDFqJV7N5u//EaHzHAU6ORwVxEJIWJ9MIqJauJ9f7LYNtKC5Axh3w== } + '@humanwhocodes/config-array@0.11.14': resolution: { integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== } engines: { node: '>=10.10.0' } @@ -3632,30 +3652,35 @@ packages: '@lezer/lr@1.4.0': resolution: { integrity: sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg== } - '@llamaindex/cloud@0.0.4': - resolution: { integrity: sha512-ufu8sASmttGQZBrDVt5XHF+Lf7ZFImMe/bCwqfoGiywJUchc88igxhP0xF5iUpthyQr2/0nAhH117owj5+GF3A== } + '@llamaindex/cloud@0.0.5': + resolution: { integrity: sha512-8HBSiAZkmX1RvpEM2czEVKqMUCKk7uvMSiDpMGWlEj3MUKBYCh+r8E2TtVhZfU4TunEI7nJRMcVBfXDyFz6Lpw== } peerDependencies: node-fetch: ^3.3.2 peerDependenciesMeta: node-fetch: optional: true - '@llamaindex/env@0.0.5': - resolution: { integrity: sha512-+Eepyl2o0ykyo5alryUwuXriLtrtkTIUKlemK5kPbzZ/RV1VD6WMd8gykrAQZgYeRT3jK7sNm/7PVi/u+3zw3Q== } + '@llamaindex/env@0.1.3': + resolution: { integrity: sha512-PM9cZ8x6jjdugWG30vBxb9Ju2LFmGY0l0pN7AUXXKULFNytQddx96xHh07pV/juf/WqjhFp75FVAykAlqO/qzQ== } peerDependencies: '@aws-crypto/sha256-js': ^5.2.0 pathe: ^1.1.2 + peerDependenciesMeta: + '@aws-crypto/sha256-js': + optional: true + pathe: + optional: true '@mapbox/node-pre-gyp@1.0.11': resolution: { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } hasBin: true - '@mistralai/mistralai@0.0.10': - resolution: { integrity: sha512-fZOt7A32DcPSff58wTa44pKUBoJBH5toAuzNI9yoM7s5NjTupa1IYcSqqk2LigO8M5EtOEkFsD/XzdyWPnhaRA== } - '@mistralai/mistralai@0.1.3': resolution: { integrity: sha512-WUHxC2xdeqX9PTXJEqdiNY54vT2ir72WSJrZTTBKRnkfhX6zIfCYA24faRlWjUB5WTpn+wfdGsTMl3ArijlXFA== } + '@mistralai/mistralai@0.2.0': + resolution: { integrity: sha512-mYjE9NovwWdhSXd6KvOgjWUyka2qlxhuohsqhRN4rFtH2MdTDJhAeH3Aqvu3P9q71Xz9oBX2pNWrPVVzkgwZTg== } + '@mongodb-js/saslprep@1.1.5': resolution: { integrity: sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA== } @@ -3956,6 +3981,9 @@ packages: resolution: { integrity: sha512-bX0aUz5e7rlY1lKz1rFrqnNbl/l1CHvvysYB2Jn+C3WNs7nL6FnQjuxLhGwyRdW9W1bFokDoOVgPMIOi/Nn9/g== } engines: { node: '>=10' } + '@petamoriken/float16@3.8.7': + resolution: { integrity: sha512-/Ri4xDDpe12NT6Ex/DRgHzLlobiQXEW/hmG08w1wj/YU7hLemk97c+zHQFp0iZQ9r7YqgLEXZR2sls4HxBf9NA== } + '@pinecone-database/pinecone@2.2.0': resolution: { integrity: sha512-qfVs9n5YyTmerIV1GE1u89xF1W3oFSF53STW68Oqyxey0dGq4775cCw8G5pnwoy872uqfh+tMRDME9bcWfinUw== } engines: { node: '>=14.0.0' } @@ -4039,6 +4067,12 @@ packages: peerDependencies: typescript: '>=4.7' + '@qdrant/js-client-rest@1.9.0': + resolution: { integrity: sha512-YiX/IskbRCoAY2ujyPDI6FBcO0ygAS4pgkGaJ7DcrJFh4SZV2XHs+u0KM7mO72RWJn1eJQFF2PQwxG+401xxJg== } + engines: { node: '>=18.0.0', pnpm: '>=8' } + peerDependencies: + typescript: '>=4.7' + '@qdrant/openapi-typescript-fetch@1.2.1': resolution: { integrity: sha512-oiBJRN1ME7orFZocgE25jrM3knIF/OKJfMsZPBbtMMKfgNVYfps0MokGvSJkBmecj6bf8QoLXWIGlIoaTM4Zmw== } engines: { node: '>=12.0.0', pnpm: '>=8' } @@ -4922,6 +4956,9 @@ packages: '@types/lodash@4.14.202': resolution: { integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== } + '@types/lodash@4.17.4': + resolution: { integrity: sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ== } + '@types/long@4.0.2': resolution: { integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== } @@ -4976,6 +5013,9 @@ packages: '@types/node@20.11.26': resolution: { integrity: sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ== } + '@types/node@20.12.12': + resolution: { integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw== } + '@types/normalize-package-data@2.4.4': resolution: { integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== } @@ -4991,6 +5031,9 @@ packages: '@types/pg@8.11.2': resolution: { integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw== } + '@types/pg@8.11.6': + resolution: { integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ== } + '@types/phoenix@1.6.4': resolution: { integrity: sha512-B34A7uot1Cv0XtaHRYDATltAdKx0BvVKNgYNqE4WjtPUa4VQJM7kxeXcVKaH+KS+kCmZ+6w+QaUdcljiheiBJA== } @@ -5288,8 +5331,8 @@ packages: '@webassemblyjs/wast-printer@1.11.6': resolution: { integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== } - '@xenova/transformers@2.16.0': - resolution: { integrity: sha512-UMlw9D9IHq8DSekl9J5DHB0SmEREHThqDZiMloexHoOqXF9wPLXe7Emiisqm9RPU6hKwTVAVFo2uPFxMoByF+w== } + '@xenova/transformers@2.17.1': + resolution: { integrity: sha512-zo702tQAFZXhzeD2GCYUNUqeqkoueOdiSbQWa4s0q7ZE4z8WBIwIsMMPGobpgdqjQ2u0Qulo08wuqVEUrBXjkQ== } '@xmldom/xmldom@0.8.10': resolution: { integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== } @@ -5304,6 +5347,9 @@ packages: '@zilliz/milvus2-sdk-node@2.3.5': resolution: { integrity: sha512-bWbQnhvu+7jZXoqI+qySycwph3vloy0LDV54TBY4wRmu6HhMlqIqyIiI8sQNeSJFs8M1jHg1PlmhE/dvckA1bA== } + '@zilliz/milvus2-sdk-node@2.4.2': + resolution: { integrity: sha512-fkPu7XXzfUvHoCnSPVOjqQpWuSnnn9x2NMmmCcIOyRzMeXIsrz4Mf/+M7LUzmT8J9F0Khx65B0rJgCu27YzWQw== } + abab@2.0.6: resolution: { integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== } deprecated: Use your platform's native atob() and btoa() methods instead @@ -5408,6 +5454,9 @@ packages: resolution: { integrity: sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== } engines: { node: '>=0.10.0' } + already@2.2.1: + resolution: { integrity: sha512-qk6RIVMS/R1yTvBzfIL1T76PsIL7DIVCINoLuFw2YXKLpLtsTobqdChMs8m3OhuPS3CEE3+Ra5ibYiqdyogbsQ== } + ansi-align@3.0.1: resolution: { integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== } @@ -5801,6 +5850,10 @@ packages: resolution: { integrity: sha512-XSrLNA8laggP2P8GswK2HlAdx/uwGQ8Y2O0IkAoOz/OsRE3zBqtcY0RPFB2vQSdVKkHVbDC/S5kcQ8Sp1ABcqA== } engines: { node: '>=18' } + assemblyai@4.4.3: + resolution: { integrity: sha512-kciFasQyO+fVxwr2PrrMByFoRRSG4FLwUGXiYJOB9WFd2A121r3nqBwOs4rjkPByxSbIOAQqf/OggnUwWbsNDw== } + engines: { node: '>=18' } + assert-plus@1.0.0: resolution: { integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== } engines: { node: '>=0.8' } @@ -6298,11 +6351,18 @@ packages: bser@2.1.1: resolution: { integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== } + bson-objectid@2.0.4: + resolution: { integrity: sha512-vgnKAUzcDoa+AeyYwXCoHyF2q6u/8H46dxu5JN+4/TZeq/Dlinn0K6GvxsCLb3LHUJl0m/TLiEK31kUwtgocMQ== } + bson@6.4.0: resolution: { integrity: sha512-6/gSSEdbkuFlSb+ufj5jUSU4+wo8xQOwm2bDSqwmxiPE17JTpsP63eAwoN8iF8Oy4gJYj+PAL3zdRCTdaw5Y1g== } engines: { node: '>=16.20.1' } deprecated: a critical bug affecting zSeries s390x big-endian systems is fixed in bson@6.5.0 + bson@6.7.0: + resolution: { integrity: sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ== } + engines: { node: '>=16.20.1' } + buffer-crc32@0.2.13: resolution: { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } @@ -6395,6 +6455,9 @@ packages: resolution: { integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== } engines: { node: '>= 0.4' } + callguard@2.0.0: + resolution: { integrity: sha512-I3nd+fuj20FK1qu00ImrbH+II+8ULS6ioYr9igqR1xyqySoqc3DiHEyUM0mkoAdKeLGg2CtGnO8R3VRQX5krpQ== } + callsites@3.1.0: resolution: { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } engines: { node: '>=6' } @@ -6413,6 +6476,10 @@ packages: resolution: { integrity: sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg== } engines: { node: '>=0.10.0' } + camelcase@4.1.0: + resolution: { integrity: sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== } + engines: { node: '>=4' } + camelcase@5.3.1: resolution: { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } engines: { node: '>=6' } @@ -6735,8 +6802,8 @@ packages: cohere-ai@6.2.2: resolution: { integrity: sha512-+Tq+4e8N/YWKJqFpWaULsfbZR/GOvGh8WWYFKR1bpipu8bCok3VcbTPnBmIToQiIqOgFpGk3HsA4b0guVyL3vg== } - cohere-ai@7.7.7: - resolution: { integrity: sha512-eLL/5lkAxFvqwV200bsBsS5ZnPHZZKur0WR3dXD5K47QT7C9r0OFv/ykJw/rCuoSsyyK3eoHm+znIi3W3QCwiQ== } + cohere-ai@7.10.0: + resolution: { integrity: sha512-HmPyn+DOM9yUv20oM1xlQSZWtFSAKbS8nqtstGKdjX9DK5zTiQXwpwsP7Il5l66jx2TB8NyNXLujmuw0MTgmSQ== } cohere-ai@7.9.3: resolution: { integrity: sha512-DcZ6B9Fa1yaFFkZ3+HO/aE4R97m08cZs/ww7YpfEcTatAljznmnXtaFKRMP57olLMGKmYA/oHpkUqh/Vt4kvFA== } @@ -8286,6 +8353,10 @@ packages: fecha@4.2.3: resolution: { integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== } + fetch-h2@3.0.2: + resolution: { integrity: sha512-Lo6UPdMKKc9Ond7yjG2vq0mnocspOLh1oV6+XZdtfdexacvMSz5xm3WoQhTAdoR2+UqPlyMNqcqfecipoD+l/A== } + engines: { node: '>=12' } + figures@1.7.0: resolution: { integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ== } engines: { node: '>=0.10.0' } @@ -8511,6 +8582,10 @@ packages: form-data-encoder@1.7.2: resolution: { integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A== } + form-data-encoder@4.0.2: + resolution: { integrity: sha512-KQVhvhK8ZkWzxKxOr56CPulAhH3dobtuQ4+hNQ+HekH/Wp5gSOafqRAeTphQUJAIk0GBvHZgJ2ZGRWd5kphMuw== } + engines: { node: '>= 18' } + form-data@2.3.3: resolution: { integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== } engines: { node: '>= 0.12' } @@ -8531,6 +8606,10 @@ packages: resolution: { integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ== } engines: { node: '>= 12.20' } + formdata-node@6.0.3: + resolution: { integrity: sha512-8e1++BCiTzUno9v5IZ2J6bv4RU+3UKDmqWUQD0MIMVCd9AdhWkO1gw57oo1mNEX1dMq2EGI+FbWz4B92pscSQg== } + engines: { node: '>= 18' } + formik@2.4.5: resolution: { integrity: sha512-Gxlht0TD3vVdzMDHwkiNZqJ7Mvg77xQNfmBRrNtvzcHZs72TJppSTDKHpImCMJZwcWPBJ8jSQQ95GJzXFf1nAQ== } peerDependencies: @@ -9354,6 +9433,9 @@ packages: resolution: { integrity: sha512-qkc9wjLDQ+dYYZnY5uJXGNNHyZ0UOMDUnhvy0SEZGVVYmQ5s4i8cPAin2MbU6OxJgi8dfj/AnwqPx0CJE6+Lsw== } engines: { node: '>=0.10.0' } + infobox-parser@3.6.4: + resolution: { integrity: sha512-d2lTlxKZX7WsYxk9/UPt51nkmZv5tbC75SSw4hfHqZ3LpRAn6ug0oru9xI2X+S78va3aUAze3xl/UqMuwLmJUw== } + inherits@2.0.3: resolution: { integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== } @@ -10617,9 +10699,11 @@ packages: enquirer: optional: true - llamaindex@0.2.1: - resolution: { integrity: sha512-p1dg3o4zveFCTjYwWJmsww8Mvnh2feHlNEo0x85XwbDZoZ35zCWxc1Rep55duyAirguqLpIwT1UTacVBxSm+8A== } + llamaindex@0.3.13: + resolution: { integrity: sha512-c/6Rvwdy5NNleS29rEOQTjcGfeXLfpI4CGX0MEPjy8yd1KjZIB5dPEED5vepvgoSL8shW+5452G3vmvwrD258Q== } engines: { node: '>=18.0.0' } + peerDependencies: + '@notionhq/client': ^2.2.15 load-helpers@0.2.11: resolution: { integrity: sha512-+iUnxQSddtpXoeRrza02jbJOUgCbJGG6GGeE4WTf6nV0Z0uR+/+/h2RMfDAl5SI4Cd/fu5xFPqo0ibP3v9y1ew== } @@ -10955,6 +11039,11 @@ packages: engines: { node: '>=12.0.0' } hasBin: true + mammoth@1.7.2: + resolution: { integrity: sha512-MqWU2hcLf1I5QMKyAbfJCvrLxnv5WztrAQyorfZ+WPq7Hk82vZFmvfR2/64ajIPpM4jlq0TXp1xZvp/FFaL1Ug== } + engines: { node: '>=12.0.0' } + hasBin: true + map-cache@0.2.2: resolution: { integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== } engines: { node: '>=0.10.0' } @@ -11465,6 +11554,33 @@ packages: socks: optional: true + mongodb@6.6.2: + resolution: { integrity: sha512-ZF9Ugo2JCG/GfR7DEb4ypfyJJyiKbg5qBYKRintebj8+DNS33CyGMkWbrS9lara+u+h+yEOGSRiLhFO/g1s1aw== } + engines: { node: '>=16.20.1' } + peerDependencies: + '@aws-sdk/credential-providers': ^3.188.0 + '@mongodb-js/zstd': ^1.1.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: '>=6.0.0 <7' + snappy: ^7.2.2 + socks: ^2.7.1 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + '@mongodb-js/zstd': + optional: true + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true + mri@1.2.0: resolution: { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } engines: { node: '>=4' } @@ -11688,8 +11804,8 @@ packages: resolution: { integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== } engines: { node: '>=10' } - notion-md-crawler@0.0.2: - resolution: { integrity: sha512-lE3/DFMrg7GSbl1sBfDuLVLyxw+yjdarPVm1JGfQ6eONEbNGgO+BdZxpwwZQ1uYeEJurAXMXb/AXT8GKYjKAyg== } + notion-md-crawler@1.0.0: + resolution: { integrity: sha512-mdB6zn/i32qO2C7X7wZLDpWvFryO3bPYMuBfFgmTPomnfEtIejdQJNVaZzw2GapM82lfWZ5dfsZp3s3UL4p1Fg== } notion-to-md@3.1.1: resolution: { integrity: sha512-Zaa2P1B9Rx99bevFYTGuUMYbbfdHn2G1AZMsytYGDWIJjr6Ie1qp/8CorpwVUh1qrquES/V2PkEREqCuTu1zKA== } @@ -12301,6 +12417,9 @@ packages: pg-connection-string@2.6.2: resolution: { integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== } + pg-connection-string@2.6.4: + resolution: { integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA== } + pg-int8@1.0.1: resolution: { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } engines: { node: '>=4.0.0' } @@ -12314,9 +12433,17 @@ packages: peerDependencies: pg: '>=8.0' + pg-pool@3.6.2: + resolution: { integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg== } + peerDependencies: + pg: '>=8.0' + pg-protocol@1.6.0: resolution: { integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== } + pg-protocol@1.6.1: + resolution: { integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg== } + pg-types@2.2.0: resolution: { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } engines: { node: '>=4' } @@ -12334,6 +12461,15 @@ packages: pg-native: optional: true + pg@8.11.5: + resolution: { integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw== } + engines: { node: '>= 8.0.0' } + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + pgpass@1.0.5: resolution: { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } @@ -13147,6 +13283,10 @@ packages: resolution: { integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== } engines: { node: '>=0.6' } + qs@6.12.1: + resolution: { integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== } + engines: { node: '>=0.6' } + query-string@8.2.0: resolution: { integrity: sha512-tUZIw8J0CawM5wyGBiDOAp7ObdRQh4uBor/fUR9ZjmbZVvw95OD9If4w3MQxr99rg0DJZ/9CIORcpEqU5hQG7g== } engines: { node: '>=14.16' } @@ -13198,8 +13338,8 @@ packages: resolution: { integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== } engines: { node: '>= 0.6' } - ranges-apply@7.0.15: - resolution: { integrity: sha512-YMYWexEb5+irsSRGCV4JnWflhc5TvMNbaZrqNTXQYD6vA6hk60CrPZyd5bxTUoZ8Phd1v80UIQJCoxh+bSiHdg== } + ranges-apply@7.0.16: + resolution: { integrity: sha512-4rGJHOyA7qatiMDg3vcETkc/TVBPU86/xZRTXff6o7a2neYLmj0EXUUAlhLVuiWAzTPHDPHOQxtk8EDrIF4ohg== } engines: { node: '>=14.18.0' } ranges-merge@9.0.15: @@ -13648,10 +13788,6 @@ packages: resolution: { integrity: sha512-JFK5qWL7AAajsIjtkW/nTaoX+yKp8zkaANe+pQpBh9RjH5vIy6/tn/sVNlRF1z5bCJLupshJBHFgnHRdWjbKXg== } engines: { git: '>=2.11.0', node: '>=18.0.0', npm: '>=7.19.0', yarn: '>=1.7.0' } - replicate@0.25.2: - resolution: { integrity: sha512-c5otBJ5E66XLS0X196pBCsyy85b03ZBLeV/lbKfU8cqfkt3Qd6NGEiPwTtxtsQ4AznggMJNn2Qq68t/bV85M2w== } - engines: { git: '>=2.11.0', node: '>=18.0.0', npm: '>=7.19.0', yarn: '>=1.7.0' } - repo-utils@0.3.7: resolution: { integrity: sha512-NQmnug1GX04LoNb2bXGsCV3FzLDqmwf3qMmjToibrxI1CFV2uyE2XDdo9SYW8epfBK7wmw0ANhkmDtbGlrkyWQ== } engines: { node: '>=0.10.0' } @@ -14453,8 +14589,8 @@ packages: string-natural-compare@3.0.1: resolution: { integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== } - string-strip-html@13.4.6: - resolution: { integrity: sha512-I1uUTS/BGQ/3jj+9WF6GENATSUPy9UruqVHdvAikOqlvFvlOAQL8M3qjoLu60Usp2x3yJpnAYtUTzDYiDdqXqg== } + string-strip-html@13.4.8: + resolution: { integrity: sha512-vlcRAtx5DN6zXGUx3EYGFg0/JOQWM65mqLgDaBHviQPP+ovUFzqZ30iQ+674JHWr9wNgnzFGxx9TGipPZMnZXg== } engines: { node: '>=14.18.0' } string-trim-spaces-only@5.0.10: @@ -14794,6 +14930,9 @@ packages: through2@2.0.5: resolution: { integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== } + through2@4.0.2: + resolution: { integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== } + through@2.3.8: resolution: { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== } @@ -14843,6 +14982,9 @@ packages: resolution: { integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA== } engines: { node: '>=0.10.0' } + to-arraybuffer@1.0.1: + resolution: { integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== } + to-choices@0.2.0: resolution: { integrity: sha512-oPVwP4jpJZM4R3Yvfcod8/OjddMoi33amdFzwZktcHAjddmIEAzQ9DQsdPKUr/Q4hLxNMWPys4Pn1qJdLiR4Kg== } engines: { node: '>=0.10.0' } @@ -15104,6 +15246,9 @@ packages: resolution: { integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA== } engines: { node: '>= 0.4' } + typed-emitter@2.1.0: + resolution: { integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== } + typedarray-to-buffer@3.1.5: resolution: { integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== } @@ -15229,6 +15374,10 @@ packages: resolution: { integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA== } engines: { node: '>=14.0' } + undici@5.28.4: + resolution: { integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== } + engines: { node: '>=14.0' } + unicode-canonical-property-names-ecmascript@2.0.0: resolution: { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } engines: { node: '>=4' } @@ -15468,6 +15617,10 @@ packages: resolution: { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } hasBin: true + uuidv7@0.6.3: + resolution: { integrity: sha512-zV3eW2NlXTsun/aJ7AixxZjH/byQcH/r3J99MI0dDEkU2cJIBJxhEWUHDTpOaLPRNhebPZoeHuykYREkI9HafA== } + hasBin: true + uvu@0.5.6: resolution: { integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== } engines: { node: '>=8' } @@ -15864,8 +16017,12 @@ packages: resolution: { integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== } engines: { node: '>=12' } - wink-nlp@1.14.3: - resolution: { integrity: sha512-lvY5iCs3T8I34F8WKS70+2P0U9dWLn3vdPf/Z+m2VK14N7OmqnPzmHfh3moHdusajoQ37Em39z0IZB9K4x/96A== } + wikipedia@2.1.2: + resolution: { integrity: sha512-RAYaMpXC9/E873RaSEtlEa8dXK4e0p5k98GKOd210MtkE5emm6fcnwD+N6ZA4cuffjDWagvhaQKtp/mGp2BOVQ== } + engines: { node: '>=10' } + + wink-nlp@2.3.0: + resolution: { integrity: sha512-NcMmlsJavRZgaV4dAjsOQPuXG4v3yLRRssEibfx41lhmwTTOCaQGW7czNC73bDKCq7q4vqGTjX3/MFhK3I76TA== } winston-transport@4.7.0: resolution: { integrity: sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg== } @@ -16069,6 +16226,18 @@ packages: utf-8-validate: optional: true + ws@8.17.0: + resolution: { integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow== } + engines: { node: '>=10.0.0' } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xdg-default-browser@2.1.0: resolution: { integrity: sha512-HY4G725+IDQr16N8XOjAms5qJGArdJaWIuC7Q7A8UXIwj2mifqnPXephazyL7sIkQPvmEoPX3E0v2yFv6hQUNg== } engines: { node: '>=4' } @@ -16244,13 +16413,12 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@anthropic-ai/sdk@0.18.0(encoding@0.1.13)': + '@anthropic-ai/sdk@0.20.4(encoding@0.1.13)': dependencies: '@types/node': 18.19.23 '@types/node-fetch': 2.6.11 abort-controller: 3.0.0 agentkeepalive: 4.5.0 - digest-fetch: 1.3.0 form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0(encoding@0.1.13) @@ -16258,7 +16426,7 @@ snapshots: transitivePeerDependencies: - encoding - '@anthropic-ai/sdk@0.20.4(encoding@0.1.13)': + '@anthropic-ai/sdk@0.20.9(encoding@0.1.13)': dependencies: '@types/node': 18.19.23 '@types/node-fetch': 2.6.11 @@ -16285,13 +16453,6 @@ snapshots: transitivePeerDependencies: - encoding - '@apideck/better-ajv-errors@0.3.6(ajv@8.12.0)': - dependencies: - ajv: 8.12.0 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 - '@apideck/better-ajv-errors@0.3.6(ajv@8.13.0)': dependencies: ajv: 8.13.0 @@ -18775,6 +18936,14 @@ snapshots: transitivePeerDependencies: - debug + '@datastax/astra-db-ts@1.1.0': + dependencies: + bson-objectid: 2.0.4 + fetch-h2: 3.0.2 + object-hash: 3.0.0 + typed-emitter: 2.1.0 + uuidv7: 0.6.3 + '@dqbd/tiktoken@1.0.13': {} '@e2b/code-interpreter@0.0.5(bufferutil@4.0.8)(utf-8-validate@6.0.4)': @@ -19078,14 +19247,14 @@ snapshots: semver: 7.6.0 typescript: 5.4.2 - '@getzep/zep-js@2.0.0-rc.4(@langchain/core@0.1.63)(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)))': + '@getzep/zep-js@2.0.0-rc.4(@langchain/core@0.1.63)(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)))': dependencies: '@supercharge/promise-pool': 3.1.1 semver: 7.6.0 typescript: 5.4.2 optionalDependencies: '@langchain/core': 0.1.63 - langchain: 0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + langchain: 0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) '@gomomento/generated-types@0.106.1(encoding@0.1.13)': dependencies: @@ -19121,6 +19290,13 @@ snapshots: - encoding - supports-color + '@google-cloud/vertexai@1.1.0(encoding@0.1.13)': + dependencies: + google-auth-library: 9.6.3(encoding@0.1.13) + transitivePeerDependencies: + - encoding + - supports-color + '@google/generative-ai@0.7.0': {} '@graphql-typed-document-node/core@3.2.0(graphql@16.8.1)': @@ -19132,9 +19308,9 @@ snapshots: '@grpc/proto-loader': 0.7.10 '@types/node': 20.11.26 - '@grpc/grpc-js@1.10.3': + '@grpc/grpc-js@1.10.8': dependencies: - '@grpc/proto-loader': 0.7.10 + '@grpc/proto-loader': 0.7.13 '@js-sdsl/ordered-map': 4.4.2 '@grpc/grpc-js@1.8.17': @@ -19144,8 +19320,8 @@ snapshots: '@grpc/grpc-js@1.8.21': dependencies: - '@grpc/proto-loader': 0.7.10 - '@types/node': 20.11.26 + '@grpc/proto-loader': 0.7.13 + '@types/node': 20.12.12 '@grpc/proto-loader@0.7.10': dependencies: @@ -19154,6 +19330,13 @@ snapshots: protobufjs: 7.2.6 yargs: 17.7.2 + '@grpc/proto-loader@0.7.13': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.3 + protobufjs: 7.2.6 + yargs: 17.7.2 + '@grpc/proto-loader@0.7.7': dependencies: '@types/long': 4.0.2 @@ -19170,7 +19353,13 @@ snapshots: '@huggingface/inference@2.6.4': {} - '@huggingface/jinja@0.2.1': {} + '@huggingface/inference@2.7.0': + dependencies: + '@huggingface/tasks': 0.10.6 + + '@huggingface/jinja@0.2.2': {} + + '@huggingface/tasks@0.10.6': {} '@humanwhocodes/config-array@0.11.14': dependencies: @@ -19214,7 +19403,7 @@ snapshots: '@jest/console@27.5.1': dependencies: '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -19223,27 +19412,27 @@ snapshots: '@jest/console@28.1.3': dependencies: '@jest/types': 28.1.3 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 slash: 3.0.0 - '@jest/core@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4)': + '@jest/core@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4)': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -19270,7 +19459,7 @@ snapshots: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 jest-mock: 27.5.1 '@jest/expect-utils@29.7.0': @@ -19281,7 +19470,7 @@ snapshots: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.11.26 + '@types/node': 20.12.12 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -19299,7 +19488,7 @@ snapshots: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -19383,7 +19572,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/yargs': 16.0.9 chalk: 4.1.2 @@ -19392,7 +19581,7 @@ snapshots: '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -19401,7 +19590,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -19443,7 +19632,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@ladle/react@2.5.1(@types/node@20.11.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5)': + '@ladle/react@2.5.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5)': dependencies: '@babel/code-frame': 7.23.5 '@babel/core': 7.24.0 @@ -19458,7 +19647,7 @@ snapshots: '@babel/traverse': 7.24.0(supports-color@5.5.0) '@babel/types': 7.24.0 '@ladle/react-context': 1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@vitejs/plugin-react': 3.1.0(vite@4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1)) + '@vitejs/plugin-react': 3.1.0(vite@4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1)) axe-core: 4.8.4 boxen: 7.1.1 chokidar: 3.6.0 @@ -19480,8 +19669,8 @@ snapshots: react-dom: 18.2.0(react@18.2.0) react-frame-component: 5.2.6(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-inspector: 6.0.2(react@18.2.0) - vite: 4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1) - vite-tsconfig-paths: 4.3.1(typescript@4.9.5)(vite@4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1)) + vite: 4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1) + vite-tsconfig-paths: 4.3.1(typescript@4.9.5)(vite@4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1)) transitivePeerDependencies: - '@types/node' - less @@ -19510,7 +19699,7 @@ snapshots: transitivePeerDependencies: - encoding - '@langchain/community@0.0.43(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@langchain/community@0.0.43(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))': dependencies: '@langchain/core': 0.1.63 '@langchain/openai': 0.0.30(encoding@0.1.13) @@ -19542,7 +19731,7 @@ snapshots: '@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.0.7 - '@xenova/transformers': 2.16.0 + '@xenova/transformers': 2.17.1 '@zilliz/milvus2-sdk-node': 2.3.5 chromadb: 1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)) cohere-ai: 6.2.2 @@ -19560,13 +19749,13 @@ snapshots: portkey-ai: 0.1.16 redis: 4.6.13 replicate: 0.18.1 - typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)) + typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)) weaviate-ts-client: 1.6.0(encoding@0.1.13)(graphql@16.8.1) ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - encoding - '@langchain/community@0.0.48(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@langchain/community@0.0.48(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))': dependencies: '@langchain/core': 0.1.63 '@langchain/openai': 0.0.30(encoding@0.1.13) @@ -19599,7 +19788,7 @@ snapshots: '@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.0.7 - '@xenova/transformers': 2.16.0 + '@xenova/transformers': 2.17.1 '@zilliz/milvus2-sdk-node': 2.3.5 chromadb: 1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)) cohere-ai: 6.2.2 @@ -19617,7 +19806,7 @@ snapshots: portkey-ai: 0.1.16 redis: 4.6.13 replicate: 0.18.1 - typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)) + typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)) weaviate-ts-client: 1.6.0(encoding@0.1.13)(graphql@16.8.1) ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: @@ -19762,21 +19951,21 @@ snapshots: dependencies: '@lezer/common': 1.2.1 - '@llamaindex/cloud@0.0.4(node-fetch@2.7.0(encoding@0.1.13))': + '@llamaindex/cloud@0.0.5(node-fetch@2.7.0(encoding@0.1.13))': dependencies: '@types/qs': 6.9.12 form-data: 4.0.0 js-base64: 3.7.7 - qs: 6.11.2 + qs: 6.12.1 optionalDependencies: node-fetch: 2.7.0(encoding@0.1.13) - '@llamaindex/env@0.0.5(@aws-crypto/sha256-js@5.2.0)(pathe@1.1.2)': + '@llamaindex/env@0.1.3(@aws-crypto/sha256-js@5.2.0)(pathe@1.1.2)': dependencies: + '@types/lodash': 4.17.4 + '@types/node': 20.12.12 + optionalDependencies: '@aws-crypto/sha256-js': 5.2.0 - '@types/lodash': 4.14.202 - '@types/node': 20.11.26 - lodash: 4.17.21 pathe: 1.1.2 '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': @@ -19794,13 +19983,13 @@ snapshots: - encoding - supports-color - '@mistralai/mistralai@0.0.10(encoding@0.1.13)': + '@mistralai/mistralai@0.1.3(encoding@0.1.13)': dependencies: node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding - '@mistralai/mistralai@0.1.3(encoding@0.1.13)': + '@mistralai/mistralai@0.2.0(encoding@0.1.13)': dependencies: node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: @@ -20144,7 +20333,7 @@ snapshots: widest-line: 3.1.0 wrap-ansi: 7.0.0 - '@oclif/core@2.15.0(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)': + '@oclif/core@2.15.0(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)': dependencies: '@types/cli-progress': 3.11.5 ansi-escapes: 4.3.2 @@ -20169,7 +20358,7 @@ snapshots: strip-ansi: 6.0.1 supports-color: 8.1.1 supports-hyperlinks: 2.3.0 - ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) tslib: 2.6.2 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -20182,18 +20371,18 @@ snapshots: '@oclif/linewrap@1.0.0': {} - '@oclif/plugin-help@5.2.20(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)': + '@oclif/plugin-help@5.2.20(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)': dependencies: - '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' - typescript - '@oclif/plugin-not-found@2.4.3(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)': + '@oclif/plugin-not-found@2.4.3(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)': dependencies: - '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) chalk: 4.1.2 fast-levenshtein: 3.0.0 transitivePeerDependencies: @@ -20202,9 +20391,9 @@ snapshots: - '@types/node' - typescript - '@oclif/plugin-warn-if-update-available@2.1.1(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)': + '@oclif/plugin-warn-if-update-available@2.1.1(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)': dependencies: - '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) chalk: 4.1.2 debug: 4.3.4(supports-color@5.5.0) http-call: 5.3.0 @@ -20306,6 +20495,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@petamoriken/float16@3.8.7': {} + '@pinecone-database/pinecone@2.2.0': dependencies: '@sinclair/typebox': 0.29.6 @@ -20379,6 +20570,13 @@ snapshots: typescript: 4.9.5 undici: 5.28.3 + '@qdrant/js-client-rest@1.9.0(typescript@4.9.5)': + dependencies: + '@qdrant/openapi-typescript-fetch': 1.2.1 + '@sevinf/maybe': 0.5.0 + typescript: 4.9.5 + undici: 5.28.4 + '@qdrant/openapi-typescript-fetch@1.2.1': {} '@reactflow/background@11.3.9(@types/react@18.2.65)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -21197,31 +21395,31 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/responselike': 1.0.3 '@types/cli-progress@3.11.5': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.17.43 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/connect@3.4.38': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/content-disposition@0.5.8': {} @@ -21372,7 +21570,7 @@ snapshots: '@types/express-serve-static-core@4.17.43': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -21388,20 +21586,20 @@ snapshots: '@types/glob-stream@8.0.2': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/picomatch': 2.3.3 '@types/streamx': 2.9.5 '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/google-protobuf@3.15.10': {} '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/gulp@4.0.9': dependencies: @@ -21430,7 +21628,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/istanbul-lib-coverage@2.0.6': {} @@ -21463,16 +21661,18 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/linkify-it@3.0.5': {} '@types/lodash-es@4.17.12': dependencies: - '@types/lodash': 4.14.202 + '@types/lodash': 4.17.4 '@types/lodash@4.14.202': {} + '@types/lodash@4.17.4': {} + '@types/long@4.0.2': {} '@types/markdown-it@12.2.3': @@ -21518,7 +21718,7 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/node@15.14.9': {} @@ -21530,13 +21730,17 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@20.12.12': + dependencies: + undici-types: 5.26.5 + '@types/normalize-package-data@2.4.4': {} '@types/object-hash@3.0.6': {} '@types/papaparse@5.3.14': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/parse-json@4.0.2': {} @@ -21546,6 +21750,12 @@ snapshots: pg-protocol: 1.6.0 pg-types: 4.0.2 + '@types/pg@8.11.6': + dependencies: + '@types/node': 20.12.12 + pg-protocol: 1.6.1 + pg-types: 4.0.2 + '@types/phoenix@1.6.4': {} '@types/picomatch@2.3.3': {} @@ -21576,18 +21786,18 @@ snapshots: '@types/resolve@1.17.1': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/responselike@1.0.3': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/retry@0.12.0': {} '@types/rimraf@3.0.2': dependencies: '@types/glob': 8.1.0 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/sanitize-html@2.11.0': dependencies: @@ -21600,7 +21810,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/serve-index@1.9.4': dependencies: @@ -21610,7 +21820,7 @@ snapshots: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/sinonjs__fake-timers@8.1.1': {} @@ -21618,13 +21828,13 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/stack-utils@2.0.3': {} '@types/streamx@2.9.5': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/testing-library__jest-dom@5.14.9': dependencies: @@ -21661,7 +21871,7 @@ snapshots: '@types/vinyl@2.0.11': dependencies: '@types/expect': 1.20.4 - '@types/node': 20.11.26 + '@types/node': 20.12.12 '@types/webidl-conversions@7.0.3': {} @@ -21685,7 +21895,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 optional: true '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5)': @@ -21839,25 +22049,25 @@ snapshots: '@upstash/vector@1.0.7': {} - '@vitejs/plugin-react@3.1.0(vite@4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1))': + '@vitejs/plugin-react@3.1.0(vite@4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1))': dependencies: '@babel/core': 7.24.0 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.0) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.0) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1) + vite: 4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.2.1(vite@5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1))': + '@vitejs/plugin-react@4.2.1(vite@5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1))': dependencies: '@babel/core': 7.24.0 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.0) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1) + vite: 5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1) transitivePeerDependencies: - supports-color @@ -21937,9 +22147,9 @@ snapshots: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - '@xenova/transformers@2.16.0': + '@xenova/transformers@2.17.1': dependencies: - '@huggingface/jinja': 0.2.1 + '@huggingface/jinja': 0.2.2 onnxruntime-web: 1.14.0 sharp: 0.32.6 optionalDependencies: @@ -21960,6 +22170,17 @@ snapshots: protobufjs: 7.2.4 winston: 3.12.0 + '@zilliz/milvus2-sdk-node@2.4.2': + dependencies: + '@grpc/grpc-js': 1.10.8 + '@grpc/proto-loader': 0.7.13 + '@petamoriken/float16': 3.8.7 + dayjs: 1.11.10 + generic-pool: 3.9.0 + lru-cache: 9.1.2 + protobufjs: 7.2.6 + winston: 3.12.0 + abab@2.0.6: {} abbrev@1.1.1: {} @@ -22027,17 +22248,17 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.12.0): + ajv-formats@2.1.1(ajv@8.13.0): optionalDependencies: - ajv: 8.12.0 + ajv: 8.13.0 ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 - ajv-keywords@5.1.0(ajv@8.12.0): + ajv-keywords@5.1.0(ajv@8.13.0): dependencies: - ajv: 8.12.0 + ajv: 8.13.0 fast-deep-equal: 3.1.3 ajv@6.12.6: @@ -22067,6 +22288,8 @@ snapshots: longest: 1.0.1 repeat-string: 1.6.1 + already@2.2.1: {} + ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -22570,6 +22793,13 @@ snapshots: - bufferutil - utf-8-validate + assemblyai@4.4.3(bufferutil@4.0.8)(utf-8-validate@6.0.4): + dependencies: + ws: 8.17.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + assert-plus@1.0.0: {} assign-deep@0.4.8: @@ -23486,8 +23716,12 @@ snapshots: dependencies: node-int64: 0.4.0 + bson-objectid@2.0.4: {} + bson@6.4.0: {} + bson@6.7.0: {} + buffer-crc32@0.2.13: {} buffer-equal-constant-time@1.0.1: {} @@ -23647,6 +23881,8 @@ snapshots: get-intrinsic: 1.2.4 set-function-length: 1.2.2 + callguard@2.0.0: {} + callsites@3.1.0: {} camel-case@3.0.0: @@ -23663,6 +23899,8 @@ snapshots: camelcase@3.0.0: {} + camelcase@4.1.0: {} + camelcase@5.3.1: {} camelcase@6.3.0: {} @@ -23804,13 +24042,13 @@ snapshots: chownr@2.0.0: {} - chromadb@1.7.3(@google/generative-ai@0.7.0)(cohere-ai@7.7.7(encoding@0.1.13))(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)): + chromadb@1.7.3(@google/generative-ai@0.7.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)): dependencies: cliui: 8.0.1 isomorphic-fetch: 3.0.0(encoding@0.1.13) optionalDependencies: '@google/generative-ai': 0.7.0 - cohere-ai: 7.7.7(encoding@0.1.13) + cohere-ai: 7.10.0(encoding@0.1.13) openai: 4.38.3(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -24021,9 +24259,11 @@ snapshots: cohere-ai@6.2.2: {} - cohere-ai@7.7.7(encoding@0.1.13): + cohere-ai@7.10.0(encoding@0.1.13): dependencies: form-data: 4.0.0 + form-data-encoder: 4.0.2 + formdata-node: 6.0.3 js-base64: 3.7.2 node-fetch: 2.7.0(encoding@0.1.13) qs: 6.11.2 @@ -25379,7 +25619,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(eslint@8.57.0)(jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(eslint@8.57.0)(jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5): dependencies: '@babel/core': 7.24.0 '@babel/eslint-parser': 7.23.10(@babel/core@7.24.0)(eslint@8.57.0) @@ -25391,7 +25631,7 @@ snapshots: eslint: 8.57.0 eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.34.0(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) @@ -25459,13 +25699,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5): + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5): dependencies: '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5) - jest: 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + jest: 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) transitivePeerDependencies: - supports-color - typescript @@ -26031,6 +26271,16 @@ snapshots: fecha@4.2.3: {} + fetch-h2@3.0.2: + dependencies: + '@types/tough-cookie': 4.0.5 + already: 2.2.1 + callguard: 2.0.0 + get-stream: 6.0.1 + through2: 4.0.2 + to-arraybuffer: 1.0.1 + tough-cookie: 4.1.3 + figures@1.7.0: dependencies: escape-string-regexp: 1.0.5 @@ -26218,9 +26468,9 @@ snapshots: flatted@3.3.1: {} - flowise-embed-react@1.0.2(@types/node@20.11.26)(flowise-embed@1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5): + flowise-embed-react@1.0.2(@types/node@20.12.12)(flowise-embed@1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5): dependencies: - '@ladle/react': 2.5.1(@types/node@20.11.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5) + '@ladle/react': 2.5.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5) flowise-embed: 1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) react: 18.2.0 transitivePeerDependencies: @@ -26327,6 +26577,8 @@ snapshots: form-data-encoder@1.7.2: {} + form-data-encoder@4.0.2: {} + form-data@2.3.3: dependencies: asynckit: 0.4.0 @@ -26352,6 +26604,8 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 + formdata-node@6.0.3: {} + formik@2.4.5(react@18.2.0): dependencies: '@types/hoist-non-react-statics': 3.3.5 @@ -27465,6 +27719,10 @@ snapshots: info-symbol@0.1.0: {} + infobox-parser@3.6.4: + dependencies: + camelcase: 4.1.0 + inherits@2.0.3: {} inherits@2.0.4: {} @@ -27998,7 +28256,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -28017,16 +28275,16 @@ snapshots: transitivePeerDependencies: - supports-color - jest-cli@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4): + jest-cli@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4): dependencies: - '@jest/core': 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + '@jest/core': 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -28038,7 +28296,7 @@ snapshots: - ts-node - utf-8-validate - 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4): + 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4): dependencies: '@babel/core': 7.24.0 '@jest/test-sequencer': 27.5.1 @@ -28065,7 +28323,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) transitivePeerDependencies: - bufferutil - canvas @@ -28103,7 +28361,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4) @@ -28118,7 +28376,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -28130,7 +28388,7 @@ snapshots: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.9 - '@types/node': 20.11.26 + '@types/node': 20.12.12 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -28149,7 +28407,7 @@ snapshots: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -28223,7 +28481,7 @@ snapshots: jest-mock@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): optionalDependencies: @@ -28261,7 +28519,7 @@ snapshots: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -28312,7 +28570,7 @@ snapshots: jest-serializer@27.5.1: dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 graceful-fs: 4.2.11 jest-snapshot@27.5.1: @@ -28345,7 +28603,7 @@ snapshots: jest-util@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -28354,7 +28612,7 @@ snapshots: jest-util@28.1.3: dependencies: '@jest/types': 28.1.3 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -28363,7 +28621,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.26 + '@types/node': 20.12.12 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -28378,11 +28636,11 @@ snapshots: leven: 3.1.0 pretty-format: 27.5.1 - jest-watch-typeahead@1.1.0(jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4)): + jest-watch-typeahead@1.1.0(jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4)): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 - jest: 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + jest: 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) jest-regex-util: 28.0.2 jest-watcher: 28.1.3 slash: 4.0.0 @@ -28393,7 +28651,7 @@ snapshots: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.26 + '@types/node': 20.12.12 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -28403,7 +28661,7 @@ snapshots: dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 20.11.26 + '@types/node': 20.12.12 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -28412,27 +28670,27 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@28.1.3: dependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4): + jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4): dependencies: - '@jest/core': 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + '@jest/core': 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) import-local: 3.1.0 - jest-cli: 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + jest-cli: 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) transitivePeerDependencies: - bufferutil - canvas @@ -28565,7 +28823,7 @@ snapshots: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 8.17.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) xml-name-validator: 4.0.0 optionalDependencies: canvas: 2.11.2(encoding@0.1.13) @@ -28751,10 +29009,10 @@ snapshots: kuler@2.0.0: {} - langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)): + langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)): dependencies: '@anthropic-ai/sdk': 0.9.1(encoding@0.1.13) - '@langchain/community': 0.0.48(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@langchain/community': 0.0.48(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@zilliz/milvus2-sdk-node@2.3.5)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(encoding@0.1.13)(faiss-node@0.5.1)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(portkey-ai@0.1.16)(redis@4.6.13)(replicate@0.18.1)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) '@langchain/core': 0.1.63 '@langchain/openai': 0.0.30(encoding@0.1.13) '@langchain/textsplitters': 0.0.1 @@ -28803,7 +29061,7 @@ snapshots: pyodide: 0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) redis: 4.6.13 srt-parser-2: 1.2.3 - typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)) + typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)) weaviate-ts-client: 1.6.0(encoding@0.1.13)(graphql@16.8.1) ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: @@ -28881,9 +29139,9 @@ snapshots: dependencies: mustache: 4.2.0 - langfuse-langchain@3.3.4(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))): + langfuse-langchain@3.3.4(langchain@0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))): dependencies: - langchain: 0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.16.0)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + langchain: 0.1.37(@aws-crypto/sha256-js@5.2.0)(@aws-sdk/client-bedrock-runtime@3.422.0)(@aws-sdk/client-dynamodb@3.529.1)(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@datastax/astra-db-ts@0.1.4)(@elastic/elasticsearch@8.12.2)(@getzep/zep-js@0.9.0)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@google-ai/generativelanguage@0.2.1(encoding@0.1.13))(@huggingface/inference@2.6.4)(@notionhq/client@2.2.14(encoding@0.1.13))(@opensearch-project/opensearch@1.2.0)(@pinecone-database/pinecone@2.2.0)(@qdrant/js-client-rest@1.8.1(typescript@4.9.5))(@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/postgrest-js@1.9.2)(@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.0.7)(@xenova/transformers@2.17.1)(@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.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.7.0)(cohere-ai@6.2.2)(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)))(cohere-ai@6.2.2)(couchbase@4.3.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.3.5)(google-auth-library@9.6.3(encoding@0.1.13))(html-to-text@9.0.5)(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))(lodash@4.17.21)(lunary@0.6.16(openai@4.38.3(encoding@0.1.13))(react@18.2.0))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(notion-to-md@3.1.1(encoding@0.1.13))(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@4.9.5)(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.18.1)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) langfuse: 3.3.4 langfuse-core: 3.3.4 @@ -29035,48 +29293,50 @@ snapshots: optionalDependencies: enquirer: 2.4.1 - llamaindex@0.2.1(@google/generative-ai@0.7.0)(bufferutil@4.0.8)(encoding@0.1.13)(gcp-metadata@6.1.0(encoding@0.1.13))(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@4.9.5)(utf-8-validate@6.0.4): + llamaindex@0.3.13(@notionhq/client@2.2.14(encoding@0.1.13))(bufferutil@4.0.8)(encoding@0.1.13)(gcp-metadata@6.1.0(encoding@0.1.13))(node-fetch@2.7.0(encoding@0.1.13))(socks@2.8.1)(typescript@4.9.5)(utf-8-validate@6.0.4): dependencies: - '@anthropic-ai/sdk': 0.18.0(encoding@0.1.13) + '@anthropic-ai/sdk': 0.20.9(encoding@0.1.13) '@aws-crypto/sha256-js': 5.2.0 - '@datastax/astra-db-ts': 0.1.4 - '@grpc/grpc-js': 1.10.3 - '@llamaindex/cloud': 0.0.4(node-fetch@2.7.0(encoding@0.1.13)) - '@llamaindex/env': 0.0.5(@aws-crypto/sha256-js@5.2.0)(pathe@1.1.2) - '@mistralai/mistralai': 0.0.10(encoding@0.1.13) + '@datastax/astra-db-ts': 1.1.0 + '@google-cloud/vertexai': 1.1.0(encoding@0.1.13) + '@google/generative-ai': 0.7.0 + '@grpc/grpc-js': 1.10.8 + '@huggingface/inference': 2.7.0 + '@llamaindex/cloud': 0.0.5(node-fetch@2.7.0(encoding@0.1.13)) + '@llamaindex/env': 0.1.3(@aws-crypto/sha256-js@5.2.0)(pathe@1.1.2) + '@mistralai/mistralai': 0.2.0(encoding@0.1.13) '@notionhq/client': 2.2.14(encoding@0.1.13) '@pinecone-database/pinecone': 2.2.0 - '@qdrant/js-client-rest': 1.8.1(typescript@4.9.5) - '@types/lodash': 4.14.202 - '@types/node': 18.19.23 + '@qdrant/js-client-rest': 1.9.0(typescript@4.9.5) + '@types/lodash': 4.17.4 '@types/papaparse': 5.3.14 - '@types/pg': 8.11.2 - '@xenova/transformers': 2.16.0 - '@zilliz/milvus2-sdk-node': 2.3.5 - assemblyai: 4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) - chromadb: 1.7.3(@google/generative-ai@0.7.0)(cohere-ai@7.7.7(encoding@0.1.13))(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)) - cohere-ai: 7.7.7(encoding@0.1.13) - js-tiktoken: 1.0.10 + '@types/pg': 8.11.6 + '@xenova/transformers': 2.17.1 + '@zilliz/milvus2-sdk-node': 2.4.2 + ajv: 8.13.0 + assemblyai: 4.4.3(bufferutil@4.0.8)(utf-8-validate@6.0.4) + chromadb: 1.7.3(@google/generative-ai@0.7.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.38.3(encoding@0.1.13)) + cohere-ai: 7.10.0(encoding@0.1.13) + js-tiktoken: 1.0.12 lodash: 4.17.21 magic-bytes.js: 1.10.0 - mammoth: 1.7.0 + mammoth: 1.7.2 md-utils-ts: 2.0.0 - mongodb: 6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1) - notion-md-crawler: 0.0.2(encoding@0.1.13) + mongodb: 6.6.2(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1) + notion-md-crawler: 1.0.0(encoding@0.1.13) openai: 4.38.3(encoding@0.1.13) papaparse: 5.4.1 pathe: 1.1.2 pdf2json: 3.0.5 - pg: 8.11.3 + pg: 8.11.5 pgvector: 0.1.8 portkey-ai: 0.1.16 rake-modified: 1.0.8 - replicate: 0.25.2 - string-strip-html: 13.4.6 - wink-nlp: 1.14.3 + string-strip-html: 13.4.8 + wikipedia: 2.1.2 + wink-nlp: 2.3.0 transitivePeerDependencies: - '@aws-sdk/credential-providers' - - '@google/generative-ai' - '@mongodb-js/zstd' - bufferutil - debug @@ -29088,6 +29348,7 @@ snapshots: - pg-native - snappy - socks + - supports-color - typescript - utf-8-validate @@ -29525,6 +29786,19 @@ snapshots: underscore: 1.13.6 xmlbuilder: 10.1.1 + mammoth@1.7.2: + dependencies: + '@xmldom/xmldom': 0.8.10 + argparse: 1.0.10 + base64-js: 1.5.1 + bluebird: 3.4.7 + dingbat-to-unicode: 1.0.1 + jszip: 3.10.1 + lop: 0.4.1 + path-is-absolute: 1.0.1 + underscore: 1.13.6 + xmlbuilder: 10.1.1 + map-cache@0.2.2: {} map-config@0.5.0: @@ -30295,6 +30569,15 @@ snapshots: gcp-metadata: 6.1.0(encoding@0.1.13) socks: 2.8.1 + mongodb@6.6.2(gcp-metadata@6.1.0(encoding@0.1.13))(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: 6.1.0(encoding@0.1.13) + socks: 2.8.1 + mri@1.2.0: {} ms@2.0.0: {} @@ -30562,7 +30845,7 @@ snapshots: normalize-url@6.1.0: {} - notion-md-crawler@0.0.2(encoding@0.1.13): + notion-md-crawler@1.0.0(encoding@0.1.13): dependencies: '@notionhq/client': 2.2.14(encoding@0.1.13) md-utils-ts: 2.0.0 @@ -30824,12 +31107,12 @@ snapshots: obuf@1.1.2: {} - oclif@3.17.2(@swc/core@1.4.6)(@types/node@20.11.26)(encoding@0.1.13)(mem-fs@2.3.0)(typescript@4.9.5): + oclif@3.17.2(@swc/core@1.4.6)(@types/node@20.12.12)(encoding@0.1.13)(mem-fs@2.3.0)(typescript@4.9.5): dependencies: - '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) - '@oclif/plugin-help': 5.2.20(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) - '@oclif/plugin-not-found': 2.4.3(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) - '@oclif/plugin-warn-if-update-available': 2.1.1(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + '@oclif/core': 2.15.0(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) + '@oclif/plugin-help': 5.2.20(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) + '@oclif/plugin-not-found': 2.4.3(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) + '@oclif/plugin-warn-if-update-available': 2.1.1(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) async-retry: 1.3.3 aws-sdk: 2.1575.0 concurrently: 7.6.0 @@ -31351,6 +31634,8 @@ snapshots: pg-connection-string@2.6.2: {} + pg-connection-string@2.6.4: {} + pg-int8@1.0.1: {} pg-numeric@1.0.2: {} @@ -31359,8 +31644,14 @@ snapshots: dependencies: pg: 8.11.3 + pg-pool@3.6.2(pg@8.11.5): + dependencies: + pg: 8.11.5 + pg-protocol@1.6.0: {} + pg-protocol@1.6.1: {} + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 @@ -31391,6 +31682,16 @@ snapshots: optionalDependencies: pg-cloudflare: 1.1.1 + pg@8.11.5: + dependencies: + pg-connection-string: 2.6.4 + pg-pool: 3.6.2(pg@8.11.5) + pg-protocol: 1.6.1 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + pgpass@1.0.5: dependencies: split2: 4.2.0 @@ -31606,13 +31907,13 @@ snapshots: postcss: 8.4.35 postcss-value-parser: 4.2.0 - postcss-load-config@4.0.2(postcss@8.4.35)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)): + postcss-load-config@4.0.2(postcss@8.4.35)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)): dependencies: lilconfig: 3.1.1 yaml: 2.4.1 optionalDependencies: postcss: 8.4.35 - ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) postcss-loader@6.2.1(postcss@8.4.35)(webpack@5.90.3(@swc/core@1.4.6)): dependencies: @@ -32106,7 +32407,7 @@ snapshots: '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 - '@types/node': 20.11.26 + '@types/node': 20.12.12 long: 4.0.0 protobufjs@7.2.4: @@ -32136,7 +32437,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.11.26 + '@types/node': 20.12.12 long: 5.2.3 protoc-gen-ts@0.8.7: {} @@ -32245,6 +32546,10 @@ snapshots: dependencies: side-channel: 1.0.6 + qs@6.12.1: + dependencies: + side-channel: 1.0.6 + query-string@8.2.0: dependencies: decode-uri-component: 0.4.1 @@ -32342,7 +32647,7 @@ snapshots: range-parser@1.2.1: {} - ranges-apply@7.0.15: + ranges-apply@7.0.16: dependencies: ranges-merge: 9.0.15 tiny-invariant: 1.3.3 @@ -32570,7 +32875,7 @@ snapshots: history: 5.3.0 react: 18.2.0 - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(@swc/core@1.4.6)(@types/babel__core@7.20.5)(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(eslint@8.57.0)(react@18.2.0)(sass@1.71.1)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5))(type-fest@4.12.0)(typescript@4.9.5)(utf-8-validate@6.0.4): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(@swc/core@1.4.6)(@types/babel__core@7.20.5)(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(eslint@8.57.0)(react@18.2.0)(sass@1.71.1)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5))(type-fest@4.12.0)(typescript@4.9.5)(utf-8-validate@6.0.4): dependencies: '@babel/core': 7.24.0 '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(type-fest@4.12.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)(webpack@5.90.3(@swc/core@1.4.6)))(webpack@5.90.3(@swc/core@1.4.6)) @@ -32588,15 +32893,15 @@ snapshots: dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.57.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(eslint@8.57.0)(jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0))(eslint@8.57.0)(jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4))(typescript@4.9.5) eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.90.3(@swc/core@1.4.6)) file-loader: 6.2.0(webpack@5.90.3(@swc/core@1.4.6)) fs-extra: 10.1.0 html-webpack-plugin: 5.6.0(webpack@5.90.3(@swc/core@1.4.6)) identity-obj-proxy: 3.0.0 - jest: 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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4) + jest: 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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4) jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0(jest@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@20.11.26)(typescript@4.9.5))(utf-8-validate@6.0.4)) + jest-watch-typeahead: 1.1.0(jest@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@20.12.12)(typescript@4.9.5))(utf-8-validate@6.0.4)) mini-css-extract-plugin: 2.8.1(webpack@5.90.3(@swc/core@1.4.6)) postcss: 8.4.35 postcss-flexbugs-fixes: 5.0.2(postcss@8.4.35) @@ -32614,7 +32919,7 @@ snapshots: semver: 7.6.0 source-map-loader: 3.0.2(webpack@5.90.3(@swc/core@1.4.6)) style-loader: 3.3.4(webpack@5.90.3(@swc/core@1.4.6)) - tailwindcss: 3.4.1(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)) + tailwindcss: 3.4.1(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)) terser-webpack-plugin: 5.3.10(@swc/core@1.4.6)(webpack@5.90.3(@swc/core@1.4.6)) webpack: 5.90.3(@swc/core@1.4.6) webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)(webpack@5.90.3(@swc/core@1.4.6)) @@ -33038,10 +33343,6 @@ snapshots: replicate@0.18.1: {} - replicate@0.25.2: - optionalDependencies: - readable-stream: 4.5.2 - repo-utils@0.3.7: dependencies: extend-shallow: 2.0.1 @@ -33367,9 +33668,9 @@ snapshots: schema-utils@4.2.0: dependencies: '@types/json-schema': 7.0.15 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - ajv-keywords: 5.1.0(ajv@8.12.0) + ajv: 8.13.0 + ajv-formats: 2.1.1(ajv@8.13.0) + ajv-keywords: 5.1.0(ajv@8.13.0) scoped-regex@2.1.0: {} @@ -33991,13 +34292,13 @@ snapshots: string-natural-compare@3.0.1: {} - string-strip-html@13.4.6: + string-strip-html@13.4.8: dependencies: '@types/lodash-es': 4.17.12 codsen-utils: 1.6.4 html-entities: 2.5.2 lodash-es: 4.17.21 - ranges-apply: 7.0.15 + ranges-apply: 7.0.16 ranges-push: 7.0.15 string-left-right: 6.0.17 @@ -34253,7 +34554,7 @@ snapshots: dependencies: isobject: 2.1.0 - tailwindcss@3.4.1(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)): + tailwindcss@3.4.1(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -34272,7 +34573,7 @@ snapshots: postcss: 8.4.35 postcss-import: 15.1.0(postcss@8.4.35) postcss-js: 4.0.1(postcss@8.4.35) - postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)) + postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)) postcss-nested: 6.0.1(postcss@8.4.35) postcss-selector-parser: 6.0.15 resolve: 1.22.8 @@ -34449,6 +34750,10 @@ snapshots: readable-stream: 2.3.8 xtend: 4.0.2 + through2@4.0.2: + dependencies: + readable-stream: 3.6.2 + through@2.3.8: {} thunky@1.1.0: {} @@ -34490,6 +34795,8 @@ snapshots: is-absolute: 1.0.0 is-negated-glob: 1.0.0 + to-arraybuffer@1.0.1: {} + to-choices@0.2.0: dependencies: ansi-gray: 0.1.1 @@ -34592,14 +34899,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5): + ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5): 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': 20.11.26 + '@types/node': 20.12.12 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -34746,13 +35053,17 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + typed-emitter@2.1.0: + optionalDependencies: + rxjs: 7.8.1 + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 typedarray@0.0.6: {} - typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5)): + typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.9.2)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5)): dependencies: '@sqltools/formatter': 1.2.5 app-root-path: 3.1.0 @@ -34776,7 +35087,7 @@ snapshots: pg: 8.11.3 redis: 4.6.13 sqlite3: 5.1.7 - ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.11.26)(typescript@4.9.5) + ts-node: 10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@4.9.5) transitivePeerDependencies: - supports-color @@ -34840,6 +35151,10 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 + undici@5.28.4: + dependencies: + '@fastify/busboy': 2.1.1 + unicode-canonical-property-names-ecmascript@2.0.0: {} unicode-match-property-ecmascript@2.0.0: @@ -35124,6 +35439,8 @@ snapshots: uuid@9.0.1: {} + uuidv7@0.6.3: {} + uvu@0.5.6: dependencies: dequal: 2.0.3 @@ -35296,12 +35613,12 @@ snapshots: remove-trailing-separator: 1.1.0 replace-ext: 1.0.1 - vite-plugin-pwa@0.17.5(vite@5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0): + vite-plugin-pwa@0.17.5(vite@5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0): dependencies: debug: 4.3.4(supports-color@5.5.0) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1) + vite: 5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1) workbox-build: 7.0.0(@types/babel__core@7.20.5) workbox-window: 7.0.0 transitivePeerDependencies: @@ -35314,35 +35631,35 @@ snapshots: transitivePeerDependencies: - supports-color - vite-tsconfig-paths@4.3.1(typescript@4.9.5)(vite@4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1)): + vite-tsconfig-paths@4.3.1(typescript@4.9.5)(vite@4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1)): dependencies: debug: 4.3.4(supports-color@5.5.0) globrex: 0.1.2 tsconfck: 3.0.3(typescript@4.9.5) optionalDependencies: - vite: 4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1) + vite: 4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1) transitivePeerDependencies: - supports-color - typescript - vite@4.5.2(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1): + vite@4.5.2(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1): dependencies: esbuild: 0.18.20 postcss: 8.4.35 rollup: 3.29.4 optionalDependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 fsevents: 2.3.3 sass: 1.71.1 terser: 5.29.1 - vite@5.1.6(@types/node@20.11.26)(sass@1.71.1)(terser@5.29.1): + vite@5.1.6(@types/node@20.12.12)(sass@1.71.1)(terser@5.29.1): dependencies: esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.13.0 optionalDependencies: - '@types/node': 20.11.26 + '@types/node': 20.12.12 fsevents: 2.3.3 sass: 1.71.1 terser: 5.29.1 @@ -35474,7 +35791,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 5.3.3(webpack@5.90.3(@swc/core@1.4.6)) - ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 8.17.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) optionalDependencies: webpack: 5.90.3(@swc/core@1.4.6) transitivePeerDependencies: @@ -35659,7 +35976,14 @@ snapshots: dependencies: string-width: 5.1.2 - wink-nlp@1.14.3: {} + wikipedia@2.1.2: + dependencies: + axios: 1.6.2(debug@4.3.4) + infobox-parser: 3.6.4 + transitivePeerDependencies: + - debug + + wink-nlp@2.3.0: {} winston-transport@4.7.0: dependencies: @@ -35705,7 +36029,7 @@ snapshots: workbox-build@6.6.0(@types/babel__core@7.20.5): dependencies: - '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) + '@apideck/better-ajv-errors': 0.3.6(ajv@8.13.0) '@babel/core': 7.24.0 '@babel/preset-env': 7.24.0(@babel/core@7.24.0) '@babel/runtime': 7.24.0 @@ -35713,7 +36037,7 @@ snapshots: '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 - ajv: 8.12.0 + ajv: 8.13.0 common-tags: 1.8.2 fast-json-stable-stringify: 2.1.0 fs-extra: 9.1.0 @@ -35988,6 +36312,11 @@ snapshots: bufferutil: 4.0.8 utf-8-validate: 6.0.4 + ws@8.17.0(bufferutil@4.0.8)(utf-8-validate@6.0.4): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 6.0.4 + xdg-default-browser@2.1.0: dependencies: execa: 0.2.2 From 265de4e97e81441af2cf5b1781af4583b6efd54d Mon Sep 17 00:00:00 2001 From: patrickreinan Date: Thu, 23 May 2024 07:49:15 -0300 Subject: [PATCH 05/23] Added Opensearch credential (#2458) * Added Openserch credential * fix issues detected by linter * rename to camelcase openSearchUrl * Update OpenSearch.ts --------- Co-authored-by: patrick Co-authored-by: Henry Heng --- .../credentials/OpenSearchUrl.credential.ts | 24 ++++++++++++++ .../vectorstores/OpenSearch/OpenSearch.ts | 31 +++++++++++-------- 2 files changed, 42 insertions(+), 13 deletions(-) create mode 100644 packages/components/credentials/OpenSearchUrl.credential.ts diff --git a/packages/components/credentials/OpenSearchUrl.credential.ts b/packages/components/credentials/OpenSearchUrl.credential.ts new file mode 100644 index 00000000000..d5c54bfa80b --- /dev/null +++ b/packages/components/credentials/OpenSearchUrl.credential.ts @@ -0,0 +1,24 @@ +import { INodeParams, INodeCredential } from '../src/Interface' + +class OpenSearchUrl implements INodeCredential { + label: string + name: string + version: number + description: string + inputs: INodeParams[] + + constructor() { + this.label = 'OpenSearch' + this.name = 'openSearchUrl' + this.version = 1.0 + this.inputs = [ + { + label: 'OpenSearch Url', + name: 'openSearchUrl', + type: 'string' + } + ] + } +} + +module.exports = { credClass: OpenSearchUrl } diff --git a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts index c60b4de5b51..662e5130180 100644 --- a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts +++ b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts @@ -3,8 +3,8 @@ import { Client } from '@opensearch-project/opensearch' import { Document } from '@langchain/core/documents' import { OpenSearchVectorStore } from '@langchain/community/vectorstores/opensearch' import { Embeddings } from '@langchain/core/embeddings' -import { INode, INodeData, INodeOutputsValue, INodeParams, IndexingResult } from '../../../src/Interface' -import { getBaseClasses } from '../../../src/utils' +import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams, IndexingResult } from '../../../src/Interface' +import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' class OpenSearch_VectorStores implements INode { label: string @@ -18,17 +18,24 @@ class OpenSearch_VectorStores implements INode { baseClasses: string[] inputs: INodeParams[] outputs: INodeOutputsValue[] + credential: INodeParams constructor() { this.label = 'OpenSearch' this.name = 'openSearch' - this.version = 1.0 + this.version = 2.0 this.type = 'OpenSearch' this.icon = 'opensearch.svg' this.category = 'Vector Stores' this.description = `Upsert embedded data and perform similarity search upon query using OpenSearch, an open-source, all-in-one vector database` this.baseClasses = [this.type, 'VectorStoreRetriever', 'BaseRetriever'] this.badge = 'NEW' + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['openSearchUrl'] + } this.inputs = [ { label: 'Document', @@ -42,12 +49,6 @@ class OpenSearch_VectorStores implements INode { name: 'embeddings', type: 'Embeddings' }, - { - label: 'OpenSearch URL', - name: 'opensearchURL', - type: 'string', - placeholder: 'http://127.0.0.1:9200' - }, { label: 'Index Name', name: 'indexName', @@ -79,12 +80,14 @@ class OpenSearch_VectorStores implements INode { //@ts-ignore vectorStoreMethods = { - async upsert(nodeData: INodeData): Promise> { + async upsert(nodeData: INodeData, _: string, options: ICommonObject): Promise> { const docs = nodeData.inputs?.document as Document[] const embeddings = nodeData.inputs?.embeddings as Embeddings - const opensearchURL = nodeData.inputs?.opensearchURL as string const indexName = nodeData.inputs?.indexName as string + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const opensearchURL = getCredentialParam('openSearchUrl', credentialData, nodeData) + const flattenDocs = docs && docs.length ? flatten(docs) : [] const finalDocs = [] for (let i = 0; i < flattenDocs.length; i += 1) { @@ -109,14 +112,16 @@ class OpenSearch_VectorStores implements INode { } } - async init(nodeData: INodeData): Promise { + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { const embeddings = nodeData.inputs?.embeddings as Embeddings - const opensearchURL = nodeData.inputs?.opensearchURL as string const indexName = nodeData.inputs?.indexName as string const output = nodeData.outputs?.output as string const topK = nodeData.inputs?.topK as string const k = topK ? parseFloat(topK) : 4 + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const opensearchURL = getCredentialParam('openSearchUrl', credentialData, nodeData) + const client = new Client({ nodes: [opensearchURL] }) From e32b64344544312bf38b3e1fefe7b26c1776a426 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Thu, 23 May 2024 15:46:11 +0100 Subject: [PATCH 06/23] Bugfix/Regex check for auth middleware (#2469) add regex check for auth middleware --- packages/server/src/index.ts | 4 ++-- packages/server/src/utils/logger.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 36bfd3d1f06..7cbe5968674 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -140,8 +140,8 @@ export class App { '/api/v1/ip' ] this.app.use((req, res, next) => { - if (req.url.includes('/api/v1/')) { - whitelistURLs.some((url) => req.url.includes(url)) ? next() : basicAuthMiddleware(req, res, next) + if (/\/api\/v1\//i.test(req.url)) { + whitelistURLs.some((url) => new RegExp(url, 'i').test(req.url)) ? next() : basicAuthMiddleware(req, res, next) } else next() }) } diff --git a/packages/server/src/utils/logger.ts b/packages/server/src/utils/logger.ts index 839f1ad74f8..c9d8cc72806 100644 --- a/packages/server/src/utils/logger.ts +++ b/packages/server/src/utils/logger.ts @@ -57,8 +57,8 @@ const logger = createLogger({ * this.app.use(expressRequestLogger) */ export function expressRequestLogger(req: Request, res: Response, next: NextFunction): void { - const unwantedLogURLs = ['/api/v1/node-icon/'] - if (req.url.includes('/api/v1/') && !unwantedLogURLs.some((url) => req.url.includes(url))) { + const unwantedLogURLs = ['/api/v1/node-icon/', '/api/v1/components-credentials-icon/'] + if (/\/api\/v1\//i.test(req.url) && !unwantedLogURLs.some((url) => new RegExp(url, 'i').test(req.url))) { const fileLogger = createLogger({ format: combine(timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.json(), errors({ stack: true })), defaultMeta: { From 50c53de2967203803b414b760d437f66eac2d430 Mon Sep 17 00:00:00 2001 From: jiabaow <60721007+jiabaow@users.noreply.github.com> Date: Thu, 23 May 2024 17:22:41 -0700 Subject: [PATCH 07/23] Together AI llms (#2454) * add TogetherAI.ts skeleton * add TogetherAI api links * fix constructing final obj * fix INodeData import * fix category * fix version & streaming * add stop * update constructor * update constructor with default values * add togetherAI logo * add credential * change logo * update streaming * disable streaming * remove model * clean up comment * delete unused icon * add togetherAI for streaming * Update index.ts --------- Co-authored-by: Henry Heng --- .../nodes/llms/TogetherAI/TogetherAI.ts | 157 ++++++++++++++++++ .../nodes/llms/TogetherAI/togetherai.png | Bin 0 -> 1598 bytes 2 files changed, 157 insertions(+) create mode 100644 packages/components/nodes/llms/TogetherAI/TogetherAI.ts create mode 100644 packages/components/nodes/llms/TogetherAI/togetherai.png diff --git a/packages/components/nodes/llms/TogetherAI/TogetherAI.ts b/packages/components/nodes/llms/TogetherAI/TogetherAI.ts new file mode 100644 index 00000000000..3849328cab0 --- /dev/null +++ b/packages/components/nodes/llms/TogetherAI/TogetherAI.ts @@ -0,0 +1,157 @@ +import { ICommonObject, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src' +import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src' +import { TogetherAI, TogetherAIInputs } from '@langchain/community/llms/togetherai' +import { getModels, MODEL_TYPE } from '../../../src/modelLoader' +import { BaseCache } from '@langchain/core/caches' + +class TogetherAI_LLMs implements INode { + label: string + name: string + version: number + type: string + icon: string + category: string + description: string + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + + constructor() { + this.label = 'TogetherAI' + this.name = 'togetherAI' + this.version = 1.0 + this.type = 'TogetherAI' + this.icon = 'togetherai.png' + this.category = 'LLMs' + this.description = 'Wrapper around TogetherAI large language models' + this.baseClasses = [this.type, ...getBaseClasses(TogetherAI)] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['togetherAIApi'] + } + this.inputs = [ + { + label: 'Cache', + name: 'cache', + type: 'BaseCache', + optional: true + }, + { + label: 'Model Name', + name: 'modelName', + type: 'string', + description: 'The name of the model to query.' + }, + { + label: 'Top K', + name: 'topK', + type: 'number', + description: + 'The topK parameter is used to limit the number of choices for the next predicted word or token. It specifies the maximum number of tokens to consider at each step, based on their probability of occurrence. This technique helps to speed up the generation process and can improve the quality of the generated text by focusing on the most likely options.', + step: 1, + default: 50 + }, + { + label: 'Top P', + name: 'topP', + type: 'number', + description: + 'The topP (nucleus) parameter is used to dynamically adjust the number of choices for each predicted token based on the cumulative probabilities. It specifies a probability threshold, below which all less likely tokens are filtered out. This technique helps to maintain diversity and generate more fluent and natural-sounding text.', + step: 0.1, + default: 0.7 + }, + { + label: 'Temperature', + name: 'temperature', + type: 'number', + description: + 'A decimal number that determines the degree of randomness in the response. A value of 1 will always yield the same output. A temperature less than 1 favors more correctness and is appropriate for question answering or summarization. A value greater than 1 introduces more randomness in the output.', + step: 0.1, + default: 0.7 + }, + { + label: 'Repeat Penalty', + name: 'repeatPenalty', + type: 'number', + description: + 'A number that controls the diversity of generated text by reducing the likelihood of repeated sequences. Higher values decrease repetition.', + step: 0.1, + default: 1 + }, + { + label: 'Streaming', + name: 'streaming', + type: 'boolean', + default: false, + description: 'Whether or not to stream tokens as they are generated' + }, + { + label: 'Max Tokens', + name: 'maxTokens', + type: 'number', + step: 1, + description: 'Limit the number of tokens generated.', + optional: true, + additionalParams: true + }, + { + label: 'Stop Sequence', + name: 'stop', + type: 'string', + rows: 4, + placeholder: 'AI assistant:', + description: 'A list of tokens at which the generation should stop.', + optional: true, + additionalParams: true + } + // todo: safetyModel? logprobs? + ] + } + + //@ts-ignore + loadMethods = { + async listModels(): Promise { + return await getModels(MODEL_TYPE.LLM, 'togetherAI') + } + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const temperature = nodeData.inputs?.temperature as string + const maxTokens = nodeData.inputs?.maxTokens as string + const topP = nodeData.inputs?.topP as string + const topK = nodeData.inputs?.topK as string + const repeatPenalty = nodeData.inputs?.repeatPenalty as string + const modelName = nodeData.inputs?.modelName as string + const stop = nodeData.inputs?.stop as string + const streaming = nodeData.inputs?.streaming as boolean + + const cache = nodeData.inputs?.cache as BaseCache + + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const togetherAiApiKey = getCredentialParam('togetherAIApiKey', credentialData, nodeData) + + const obj: TogetherAIInputs = { + modelName, + apiKey: togetherAiApiKey, + streaming: streaming ?? false + } + + if (temperature) obj.temperature = parseFloat(temperature) + if (maxTokens) obj.maxTokens = parseInt(maxTokens, 10) + if (topP) obj.topP = parseFloat(topP) + if (topK) obj.topK = parseFloat(topK) + if (repeatPenalty) obj.repetitionPenalty = parseFloat(repeatPenalty) + if (streaming) obj.streaming = streaming + if (stop) { + obj.stop = stop.split(',') + } + if (cache) obj.cache = cache + + const togetherAI = new TogetherAI(obj) + return togetherAI + } +} + +module.exports = { nodeClass: TogetherAI_LLMs } diff --git a/packages/components/nodes/llms/TogetherAI/togetherai.png b/packages/components/nodes/llms/TogetherAI/togetherai.png new file mode 100644 index 0000000000000000000000000000000000000000..371103f6f83cc8a3efe7784ae7e0177ca5f245c7 GIT binary patch literal 1598 zcmZ{kc~DbV6vkgL88k?100UUjq5&i8V~@D72*!ZHfJh^V21vqE!lFS)2n>`>l)`|> zAZT%o0u}*T98^Rck%AjZ-pflOpeQP+KvWD3Tc38OGo4On?!Di9=iJ|%`R*ULkP$%D z$FITz0H9CX=@W!%1-eU@E@BS0H8%nS#JR#1q6U`7675jlHXk&=6E7%uR1cqU$6qZR9FsxE2V3|y*KooLVIxv91kZfQ;4#^;?R3?!i z5CqAjDg=?EcjR)JRH{UfXD9+eDg^>bBuXX9!OxTmguy|Xdrk82^l~dH>S$54#r&Rqz%0iM@ zv003)4 z^YIE!Q+}vc2uHx>dD)&_<(07=UgxA4iDR9Uv$qxv>0vQ6n@w%;A6t#Ji56#0Q!qv6 zjquCwf#`a;n_+_+y_#mRyxT9tds8p*O2u)P^Ou`V7;=*6exBt4x23_IBT?9&)?tW= zq!E4NY%-z!fTMXcCntEzS-sxiTW?43eXb|dPFPJ*3rkctj_rlIl7gojOTEs<88n94 zwANup^sBP4YVO^oTZ|ndC~?|G!%iJC!KRF~cg&h4&_8KaK%oO110uaF_%@CqW(^q8 zps=nlR^pdauaC#*fC-=S@Cp0&fxQMeaX7Jm&ce(}ZCdB~#ii{t=ko{a6)SBVY#Y^h z#t7Unlvr|i-rQnMV(aX(=D|aTS6XLH%bJIU(QQW9ONydg?nbgp2G)HtxqqwvxBU24 z;l^WrDH*EsCi#IT#7~A@ew~_kgagKzydq9z39zGXeU39b=w`~P0wDjR+_KN;KKnKf z3?28#3K5gbr-`0~EdJ`YZI(N1p0oX*8Xna#F=NWiYlV7DJNVjLWG*OdDEzuenGnvD zxvUN;4*8bLcZGd16W|2cR_!rZuu|W-K+>*JAYb=BseL?vZGbg9j!*!X!W95GPi^;Rs@7b@ji3@mIMdSvM$aFN9$?*Y-A7 zH(0(J$LOqK$0@hmb6uj%jZcqmcVneStGs}NwXcQBh@4;q8_lchLDk90GS zQh6f5D0|z$-3a^pFED`sb^hh~9w-_b&)YV>aWw(Q=<>`Kx~@}c)P-^HUR9DZe{Q>;o&nXZ}DIq z3G$D5CmF8LY*6Es9qX1oPuoojuWx85)CuYIob*1kd2cn>tuI*tg}q}J$&&^*0Zm zgEAy$Mb`aS3l8R-i>3)YcMLrpKbErniQNT{p5#>TWOiwk0DIX3I9OgD`F=3Ll^ zQOLCPxy4gV6FYNPJ$b~nKNBYspxCU zbm$ZOE{hy=Z!z4&OCKZ8#$W$ali@SZf|J;>zn$Gr-i7tXx=OE;ow{$?&!l-&KUGDd zala;B`_e=FMA8_#${hV}0Smq_lh2OebKIj2aZmvqK}Tm>(8U&X4t8*J2OZpac$SyhL^^SMdLU07rX+0_1-t@MC$L!~6(d(tjCer@x0-N?cSZ1JHZ}d>Xu2 Gzx)LY`}5`i literal 0 HcmV?d00001 From 82899d9d5d5bd8bc8173c867037cbb3049835070 Mon Sep 17 00:00:00 2001 From: YISH Date: Fri, 24 May 2024 09:26:34 +0800 Subject: [PATCH 08/23] Fix JSON escaping (#2461) --- packages/server/src/utils/index.ts | 2 +- packages/server/tsconfig.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index edee311299f..3a77168eb3d 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -780,7 +780,7 @@ export const getVariableValue = ( const variableValue = variableDict[path] // Replace all occurrence if (typeof variableValue === 'object') { - returnVal = returnVal.split(path).join(JSON.stringify(variableValue).replace(/"/g, '\\"')) + returnVal = returnVal.split(path).join(JSON.stringify(variableValue).replaceAll('"', '\\"').replaceAll('\\n', '\\\\n')) } else { returnVal = returnVal.split(path).join(variableValue) } diff --git a/packages/server/tsconfig.json b/packages/server/tsconfig.json index 693ee1b8759..2b0eb0b07b2 100644 --- a/packages/server/tsconfig.json +++ b/packages/server/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { - "lib": ["es2017"], - "target": "es2017" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + "lib": ["es2021"], + "target": "es2021" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, "experimentalDecorators": true /* Enable experimental support for TC39 stage 2 draft decorators. */, "emitDecoratorMetadata": true /* Emit design-type metadata for decorated declarations in source files. */, "module": "commonjs" /* Specify what module code is generated. */, From 22f39692e5458b630c39c52577343592838859da Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Fri, 24 May 2024 18:57:49 +0100 Subject: [PATCH 09/23] Bugfix/Use vm2 for chatflow tool (#2482) use vm2 for chatflow tool --- .../nodes/tools/ChatflowTool/ChatflowTool.ts | 54 ++++++++++++++----- 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/packages/components/nodes/tools/ChatflowTool/ChatflowTool.ts b/packages/components/nodes/tools/ChatflowTool/ChatflowTool.ts index a718a0932e7..e9a0811ebe8 100644 --- a/packages/components/nodes/tools/ChatflowTool/ChatflowTool.ts +++ b/packages/components/nodes/tools/ChatflowTool/ChatflowTool.ts @@ -1,11 +1,11 @@ import { DataSource } from 'typeorm' import { z } from 'zod' -import fetch from 'node-fetch' +import { NodeVM } from 'vm2' import { RunnableConfig } from '@langchain/core/runnables' import { CallbackManagerForToolRun, Callbacks, CallbackManager, parseCallbackConfigArg } from '@langchain/core/callbacks/manager' import { StructuredTool } from '@langchain/core/tools' import { ICommonObject, IDatabaseEntity, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src/Interface' -import { getCredentialData, getCredentialParam } from '../../../src/utils' +import { availableDependencies, defaultAllowBuiltInDep, getCredentialData, getCredentialParam } from '../../../src/utils' class ChatflowTool_Tools implements INode { label: string @@ -112,6 +112,8 @@ class ChatflowTool_Tools implements INode { const credentialData = await getCredentialData(nodeData.credential ?? '', options) const chatflowApiKey = getCredentialParam('chatflowApiKey', credentialData, nodeData) + if (selectedChatflowId === options.chatflowid) throw new Error('Cannot call the same chatflow!') + let headers = {} if (chatflowApiKey) headers = { Authorization: `Bearer ${chatflowApiKey}` } @@ -226,8 +228,6 @@ class ChatflowTool extends StructuredTool { ): Promise { const inputQuestion = this.input || arg.input - const url = `${this.baseURL}/api/v1/prediction/${this.chatflowid}` - const body = { question: inputQuestion, chatId: flowConfig?.chatId, @@ -245,14 +245,44 @@ class ChatflowTool extends StructuredTool { body: JSON.stringify(body) } - try { - const response = await fetch(url, options) - const resp = await response.json() - return resp.text || '' - } catch (error) { - console.error(error) - return '' - } + let sandbox = { $callOptions: options, $callBody: body } + + const code = ` +const fetch = require('node-fetch'); +const url = "${this.baseURL}/api/v1/prediction/${this.chatflowid}"; + +const body = $callBody; + +const options = $callOptions; + +try { + const response = await fetch(url, options); + const resp = await response.json(); + return resp.text; +} catch (error) { + console.error(error); + return ''; +} +` + const builtinDeps = process.env.TOOL_FUNCTION_BUILTIN_DEP + ? defaultAllowBuiltInDep.concat(process.env.TOOL_FUNCTION_BUILTIN_DEP.split(',')) + : defaultAllowBuiltInDep + const externalDeps = process.env.TOOL_FUNCTION_EXTERNAL_DEP ? process.env.TOOL_FUNCTION_EXTERNAL_DEP.split(',') : [] + const deps = availableDependencies.concat(externalDeps) + + const vmOptions = { + console: 'inherit', + sandbox, + require: { + external: { modules: deps }, + builtin: builtinDeps + } + } as any + + const vm = new NodeVM(vmOptions) + const response = await vm.run(`module.exports = async function() {${code}}()`, __dirname) + + return response } } From 97386bc3b2461f9d58147d2b8c9e72f6cc7aab9a Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Tue, 28 May 2024 22:36:12 +0100 Subject: [PATCH 10/23] Bugfix/Files not removed when doc store loader is deleted (#2502) fix files not removed when doc store loader is deleted --- .../src/services/documentstore/index.ts | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/packages/server/src/services/documentstore/index.ts b/packages/server/src/services/documentstore/index.ts index 2367a9330bd..20031b532b8 100644 --- a/packages/server/src/services/documentstore/index.ts +++ b/packages/server/src/services/documentstore/index.ts @@ -71,9 +71,12 @@ const deleteLoaderFromDocumentStore = async (storeId: string, loaderId: string) const existingLoaders = JSON.parse(entity.loaders) const found = existingLoaders.find((uFile: IDocumentStoreLoader) => uFile.id === loaderId) if (found) { - if (found.path) { - //remove the existing files, if any of the file loaders were used. - await removeSpecificFileFromStorage(DOCUMENT_STORE_BASE_FOLDER, entity.id, found.path) + if (found.files?.length) { + for (const file of found.files) { + if (file.name) { + await removeSpecificFileFromStorage(DOCUMENT_STORE_BASE_FOLDER, storeId, file.name) + } + } } const index = existingLoaders.indexOf(found) if (index > -1) { @@ -536,8 +539,23 @@ const _saveChunksToStorage = async (data: IDocumentStoreLoaderForPreview, entity await _normalizeFilePaths(data, entity) //step 2: split the file into chunks previewChunks(data).then(async (response) => { - //{ chunks: docs, totalChunks: totalChunks, previewChunkCount: data.previewChunkCount } - //step 3: remove base64 files and save them to storage, this needs to be rewritten + //step 3: remove all files associated with the loader + const existingLoaders = JSON.parse(entity.loaders) + const loader = existingLoaders.find((ldr: IDocumentStoreLoader) => ldr.id === newLoaderId) + if (data.id) { + const index = existingLoaders.indexOf(loader) + if (index > -1) { + existingLoaders.splice(index, 1) + if (!data.rehydrated) { + if (loader.files) { + loader.files.map(async (file: IDocumentStoreLoaderFile) => { + await removeSpecificFileFromStorage(DOCUMENT_STORE_BASE_FOLDER, entity.id, file.name) + }) + } + } + } + } + //step 4: save new file to storage let filesWithMetadata = [] const keys = Object.getOwnPropertyNames(data.loaderConfig) for (let i = 0; i < keys.length; i++) { @@ -569,23 +587,7 @@ const _saveChunksToStorage = async (data: IDocumentStoreLoaderForPreview, entity break } } - const existingLoaders = JSON.parse(entity.loaders) - const loader = existingLoaders.find((ldr: IDocumentStoreLoader) => ldr.id === newLoaderId) - if (data.id) { - //step 4: remove all files and chunks associated with the previous loader - const index = existingLoaders.indexOf(loader) - if (index > -1) { - existingLoaders.splice(index, 1) - if (!data.rehydrated) { - if (loader.files) { - loader.files.map(async (file: IDocumentStoreLoaderFile) => { - await removeSpecificFileFromStorage(DOCUMENT_STORE_BASE_FOLDER, entity.id, file.name) - }) - } - } - } - } - //step 5: upload with the new files and loaderConfig + //step 5: update with the new files and loaderConfig if (filesWithMetadata.length > 0) { loader.loaderConfig = data.loaderConfig loader.files = filesWithMetadata From f5b08864b8eff8e585faff040e4e806155170845 Mon Sep 17 00:00:00 2001 From: jiabaow <60721007+jiabaow@users.noreply.github.com> Date: Wed, 29 May 2024 10:01:35 -0700 Subject: [PATCH 11/23] test validateKey (#2485) add validateKey.test.ts --- packages/server/package.json | 3 +- .../server/test/utils/validateKey.test.ts | 41 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 packages/server/test/utils/validateKey.test.ts diff --git a/packages/server/package.json b/packages/server/package.json index e5bf5e2c259..01e432f6025 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -40,7 +40,8 @@ "cypress:open": "cypress open", "cypress:run": "cypress run", "e2e": "start-server-and-test dev http://localhost:3000 cypress:run", - "cypress:ci": "START_SERVER_AND_TEST_INSECURE=1 start-server-and-test start https-get://localhost:3000 cypress:run" + "cypress:ci": "START_SERVER_AND_TEST_INSECURE=1 start-server-and-test start https-get://localhost:3000 cypress:run", + "test": "jest" }, "keywords": [], "homepage": "https://flowiseai.com", diff --git a/packages/server/test/utils/validateKey.test.ts b/packages/server/test/utils/validateKey.test.ts new file mode 100644 index 00000000000..7d1e3cdfeae --- /dev/null +++ b/packages/server/test/utils/validateKey.test.ts @@ -0,0 +1,41 @@ +import { Request } from 'express' +import { ChatFlow } from '../../src/database/entities/ChatFlow' +import { utilValidateKey } from '../../src/utils/validateKey' +import { compareKeys, getAPIKeys } from '../../src/utils/apiKey' + +jest.mock('../../src/utils/apiKey') + +describe('utilValidateKey', () => { + let req: Partial + let chatflow: ChatFlow + + beforeEach(() => { + req = { + headers: {} + } + chatflow = { + apikeyid: null + } as ChatFlow + }) + + it('should return true if chatflow.apikeyid is not set', async () => { + const result = await utilValidateKey(req as Request, chatflow) + expect(result).toBe(true) + }) + + it('should return false if chatflow.apikeyid is set but authorization header is missing', async () => { + chatflow.apikeyid = 'some-api-key-id' + const result = await utilValidateKey(req as Request, chatflow) + expect(result).toBe(false) + }) + + it('should return false if supplied key does not match the expected key', async () => { + chatflow.apikeyid = 'some-api-key-id' + req.headers['authorization'] = 'Bearer invalid-key' + ;(getAPIKeys as jest.Mock).mockResolvedValue([{ id: 'some-api-key-id', apiSecret: 'expected-secret-key' }]) + ;(compareKeys as jest.Mock).mockImplementation((expected, supplied) => expected === supplied) + + const result = await utilValidateKey(req as Request, chatflow) + expect(result).toBe(false) + }) +}) From 5d649b27cf3b02b1d1c56e222124292817878c30 Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 29 May 2024 18:22:41 +0100 Subject: [PATCH 12/23] update server ts config to exclude test.ts --- packages/server/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/server/tsconfig.json b/packages/server/tsconfig.json index 2b0eb0b07b2..c92c623cd03 100644 --- a/packages/server/tsconfig.json +++ b/packages/server/tsconfig.json @@ -14,5 +14,6 @@ "strictPropertyInitialization": false, "declaration": true }, - "include": ["src"] + "include": ["src/**/*.ts"], + "exclude": ["node_modules", "**/*.test.ts"] } From 2878af69e424b9da436dad532b36dd037678c35d Mon Sep 17 00:00:00 2001 From: patrickreinan Date: Wed, 29 May 2024 14:25:32 -0300 Subject: [PATCH 13/23] Added LOG_JSON_SPACES to control json beautify (#2483) * Added: environment var LOG_JSON_SPACES with default value 2. Used to no beautify JSON on handler.ts Fix: logger.verbose was not working because default log level was info * Update handler.ts --------- Co-authored-by: patrick Co-authored-by: Henry Heng --- CONTRIBUTING.md | 1 + packages/components/src/handler.ts | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 20c5bab6563..43065876352 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -131,6 +131,7 @@ Flowise support different environment variables to configure your instance. You | DEBUG | Print logs from components | Boolean | | | LOG_PATH | Location where log files are stored | String | `your-path/Flowise/logs` | | LOG_LEVEL | Different levels of logs | Enum String: `error`, `info`, `verbose`, `debug` | `info` | +| LOG_JSON_SPACES | Spaces to beautify JSON logs | | 2 | APIKEY_PATH | Location where api keys are saved | String | `your-path/Flowise/packages/server` | | TOOL_FUNCTION_BUILTIN_DEP | NodeJS built-in modules to be used for Tool Function | String | | | TOOL_FUNCTION_EXTERNAL_DEP | External modules to be used for Tool Function | String | | diff --git a/packages/components/src/handler.ts b/packages/components/src/handler.ts index fcdb83c887e..cafea6436b2 100644 --- a/packages/components/src/handler.ts +++ b/packages/components/src/handler.ts @@ -14,16 +14,24 @@ import { ChainValues } from '@langchain/core/utils/types' import { AgentAction } from '@langchain/core/agents' import { LunaryHandler } from '@langchain/community/callbacks/handlers/lunary' -import { getCredentialData, getCredentialParam } from './utils' +import { getCredentialData, getCredentialParam, getEnvironmentVariable } from './utils' import { ICommonObject, INodeData } from './Interface' interface AgentRun extends Run { actions: AgentAction[] } +function tryGetJsonSpaces() { + try { + return parseInt(getEnvironmentVariable('LOG_JSON_SPACES') ?? '2') + } catch (err) { + return 2 + } +} + function tryJsonStringify(obj: unknown, fallback: string) { try { - return JSON.stringify(obj, null, 2) + return JSON.stringify(obj, null, tryGetJsonSpaces()) } catch (err) { return fallback } @@ -49,10 +57,9 @@ export class ConsoleCallbackHandler extends BaseTracer { constructor(logger: Logger) { super() this.logger = logger + logger.level = getEnvironmentVariable('LOG_LEVEL') ?? 'info' } - // utility methods - getParents(run: Run) { const parents: Run[] = [] let currentRun = run @@ -79,8 +86,6 @@ export class ConsoleCallbackHandler extends BaseTracer { return string } - // logging methods - onChainStart(run: Run) { const crumbs = this.getBreadcrumbs(run) this.logger.verbose(`[chain/start] [${crumbs}] Entering Chain run with input: ${tryJsonStringify(run.inputs, '[inputs]')}`) From 48ac815f8e7f49f41ab359cb1a19ad3b648b34e3 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Wed, 29 May 2024 23:39:11 +0100 Subject: [PATCH 14/23] Bugfix/Restore Requests Tool (#2513) restore requests tool --- .../nodes/tools/RequestsGet/RequestsGet.ts | 72 ++++++++++++++++ .../nodes/tools/RequestsGet/core.ts | 46 ++++++++++ .../nodes/tools/RequestsGet/requestsget.svg | 6 ++ .../nodes/tools/RequestsPost/RequestsPost.ts | 86 +++++++++++++++++++ .../nodes/tools/RequestsPost/core.ts | 72 ++++++++++++++++ .../nodes/tools/RequestsPost/requestspost.svg | 7 ++ 6 files changed, 289 insertions(+) create mode 100644 packages/components/nodes/tools/RequestsGet/RequestsGet.ts create mode 100644 packages/components/nodes/tools/RequestsGet/core.ts create mode 100644 packages/components/nodes/tools/RequestsGet/requestsget.svg create mode 100644 packages/components/nodes/tools/RequestsPost/RequestsPost.ts create mode 100644 packages/components/nodes/tools/RequestsPost/core.ts create mode 100644 packages/components/nodes/tools/RequestsPost/requestspost.svg diff --git a/packages/components/nodes/tools/RequestsGet/RequestsGet.ts b/packages/components/nodes/tools/RequestsGet/RequestsGet.ts new file mode 100644 index 00000000000..91cff5000bb --- /dev/null +++ b/packages/components/nodes/tools/RequestsGet/RequestsGet.ts @@ -0,0 +1,72 @@ +import { INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses } from '../../../src/utils' +import { desc, RequestParameters, RequestsGetTool } from './core' + +class RequestsGet_Tools implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + baseClasses: string[] + inputs: INodeParams[] + + constructor() { + this.label = 'Requests Get' + this.name = 'requestsGet' + this.version = 1.0 + this.type = 'RequestsGet' + this.icon = 'requestsget.svg' + this.category = 'Tools' + this.description = 'Execute HTTP GET requests' + this.baseClasses = [this.type, ...getBaseClasses(RequestsGetTool)] + this.inputs = [ + { + label: 'URL', + name: 'url', + type: 'string', + description: + 'Agent will make call to this exact URL. If not specified, agent will try to figure out itself from AIPlugin if provided', + additionalParams: true, + optional: true + }, + { + label: 'Description', + name: 'description', + type: 'string', + rows: 4, + default: desc, + description: 'Acts like a prompt to tell agent when it should use this tool', + additionalParams: true, + optional: true + }, + { + label: 'Headers', + name: 'headers', + type: 'json', + additionalParams: true, + optional: true + } + ] + } + + async init(nodeData: INodeData): Promise { + const headers = nodeData.inputs?.headers as string + const url = nodeData.inputs?.url as string + const description = nodeData.inputs?.description as string + + const obj: RequestParameters = {} + if (url) obj.url = url + if (description) obj.description = description + if (headers) { + const parsedHeaders = typeof headers === 'object' ? headers : JSON.parse(headers) + obj.headers = parsedHeaders + } + + return new RequestsGetTool(obj) + } +} + +module.exports = { nodeClass: RequestsGet_Tools } diff --git a/packages/components/nodes/tools/RequestsGet/core.ts b/packages/components/nodes/tools/RequestsGet/core.ts new file mode 100644 index 00000000000..ea97cdf2269 --- /dev/null +++ b/packages/components/nodes/tools/RequestsGet/core.ts @@ -0,0 +1,46 @@ +import fetch from 'node-fetch' +import { Tool } from '@langchain/core/tools' + +export const desc = `A portal to the internet. Use this when you need to get specific content from a website. +Input should be a url (i.e. https://www.google.com). The output will be the text response of the GET request.` + +export interface Headers { + [key: string]: string +} + +export interface RequestParameters { + headers?: Headers + url?: string + description?: string + maxOutputLength?: number +} + +export class RequestsGetTool extends Tool { + name = 'requests_get' + url = '' + description = desc + maxOutputLength = 2000 + headers = {} + + constructor(args?: RequestParameters) { + super() + this.url = args?.url ?? this.url + this.headers = args?.headers ?? this.headers + this.description = args?.description ?? this.description + this.maxOutputLength = args?.maxOutputLength ?? this.maxOutputLength + } + + /** @ignore */ + async _call(input: string) { + const inputUrl = !this.url ? input : this.url + + if (process.env.DEBUG === 'true') console.info(`Making GET API call to ${inputUrl}`) + + const res = await fetch(inputUrl, { + headers: this.headers + }) + + const text = await res.text() + return text.slice(0, this.maxOutputLength) + } +} diff --git a/packages/components/nodes/tools/RequestsGet/requestsget.svg b/packages/components/nodes/tools/RequestsGet/requestsget.svg new file mode 100644 index 00000000000..d92c5b51a93 --- /dev/null +++ b/packages/components/nodes/tools/RequestsGet/requestsget.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/components/nodes/tools/RequestsPost/RequestsPost.ts b/packages/components/nodes/tools/RequestsPost/RequestsPost.ts new file mode 100644 index 00000000000..9ff3d1426c9 --- /dev/null +++ b/packages/components/nodes/tools/RequestsPost/RequestsPost.ts @@ -0,0 +1,86 @@ +import { INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses } from '../../../src/utils' +import { RequestParameters, desc, RequestsPostTool } from './core' + +class RequestsPost_Tools implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + baseClasses: string[] + inputs: INodeParams[] + + constructor() { + this.label = 'Requests Post' + this.name = 'requestsPost' + this.version = 1.0 + this.type = 'RequestsPost' + this.icon = 'requestspost.svg' + this.category = 'Tools' + this.description = 'Execute HTTP POST requests' + this.baseClasses = [this.type, ...getBaseClasses(RequestsPostTool)] + this.inputs = [ + { + label: 'URL', + name: 'url', + type: 'string', + description: + 'Agent will make call to this exact URL. If not specified, agent will try to figure out itself from AIPlugin if provided', + additionalParams: true, + optional: true + }, + { + label: 'Body', + name: 'body', + type: 'json', + description: + 'JSON body for the POST request. If not specified, agent will try to figure out itself from AIPlugin if provided', + additionalParams: true, + optional: true + }, + { + label: 'Description', + name: 'description', + type: 'string', + rows: 4, + default: desc, + description: 'Acts like a prompt to tell agent when it should use this tool', + additionalParams: true, + optional: true + }, + { + label: 'Headers', + name: 'headers', + type: 'json', + additionalParams: true, + optional: true + } + ] + } + + async init(nodeData: INodeData): Promise { + const headers = nodeData.inputs?.headers as string + const url = nodeData.inputs?.url as string + const description = nodeData.inputs?.description as string + const body = nodeData.inputs?.body as string + + const obj: RequestParameters = {} + if (url) obj.url = url + if (description) obj.description = description + if (headers) { + const parsedHeaders = typeof headers === 'object' ? headers : JSON.parse(headers) + obj.headers = parsedHeaders + } + if (body) { + const parsedBody = typeof body === 'object' ? body : JSON.parse(body) + obj.body = parsedBody + } + + return new RequestsPostTool(obj) + } +} + +module.exports = { nodeClass: RequestsPost_Tools } diff --git a/packages/components/nodes/tools/RequestsPost/core.ts b/packages/components/nodes/tools/RequestsPost/core.ts new file mode 100644 index 00000000000..a380f1676f8 --- /dev/null +++ b/packages/components/nodes/tools/RequestsPost/core.ts @@ -0,0 +1,72 @@ +import { Tool } from '@langchain/core/tools' +import fetch from 'node-fetch' + +export const desc = `Use this when you want to POST to a website. +Input should be a json string with two keys: "url" and "data". +The value of "url" should be a string, and the value of "data" should be a dictionary of +key-value pairs you want to POST to the url as a JSON body. +Be careful to always use double quotes for strings in the json string +The output will be the text response of the POST request.` + +export interface Headers { + [key: string]: string +} + +export interface Body { + [key: string]: any +} + +export interface RequestParameters { + headers?: Headers + body?: Body + url?: string + description?: string + maxOutputLength?: number +} + +export class RequestsPostTool extends Tool { + name = 'requests_post' + url = '' + description = desc + maxOutputLength = Infinity + headers = {} + body = {} + + constructor(args?: RequestParameters) { + super() + this.url = args?.url ?? this.url + this.headers = args?.headers ?? this.headers + this.body = args?.body ?? this.body + this.description = args?.description ?? this.description + this.maxOutputLength = args?.maxOutputLength ?? this.maxOutputLength + } + + /** @ignore */ + async _call(input: string) { + try { + let inputUrl = '' + let inputBody = {} + if (Object.keys(this.body).length || this.url) { + if (this.url) inputUrl = this.url + if (Object.keys(this.body).length) inputBody = this.body + } else { + const { url, data } = JSON.parse(input) + inputUrl = url + inputBody = data + } + + if (process.env.DEBUG === 'true') console.info(`Making POST API call to ${inputUrl} with body ${JSON.stringify(inputBody)}`) + + const res = await fetch(inputUrl, { + method: 'POST', + headers: this.headers, + body: JSON.stringify(inputBody) + }) + + const text = await res.text() + return text.slice(0, this.maxOutputLength) + } catch (error) { + return `${error}` + } + } +} diff --git a/packages/components/nodes/tools/RequestsPost/requestspost.svg b/packages/components/nodes/tools/RequestsPost/requestspost.svg new file mode 100644 index 00000000000..477b1baf3d4 --- /dev/null +++ b/packages/components/nodes/tools/RequestsPost/requestspost.svg @@ -0,0 +1,7 @@ + + + + + + + From 912c8f3d5bccafc54389f1e9e95536b69eddea11 Mon Sep 17 00:00:00 2001 From: Daniel D'Abate Date: Thu, 30 May 2024 00:40:01 +0200 Subject: [PATCH 15/23] Feature: Support role-based authentication for AWS (#2470) * Storage, DynamoDBChatMemory - Make AWS credentials optional to support role-based authentication * Lint fix --- .../nodes/memory/DynamoDb/DynamoDb.ts | 14 +++++++---- packages/components/src/storageUtils.ts | 23 +++++++++++++++---- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts index 2c64d42e603..94525e96772 100644 --- a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts +++ b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts @@ -46,7 +46,8 @@ class DynamoDb_Memory implements INode { label: 'Connect Credential', name: 'credential', type: 'credential', - credentialNames: ['dynamodbMemoryApi'] + credentialNames: ['dynamodbMemoryApi'], + optional: true } this.inputs = [ { @@ -102,14 +103,19 @@ const initializeDynamoDB = async (nodeData: INodeData, options: ICommonObject): const accessKeyId = getCredentialParam('accessKey', credentialData, nodeData) const secretAccessKey = getCredentialParam('secretAccessKey', credentialData, nodeData) - const config: DynamoDBClientConfig = { - region, - credentials: { + let credentials: DynamoDBClientConfig['credentials'] | undefined + if (accessKeyId && secretAccessKey) { + credentials = { accessKeyId, secretAccessKey } } + const config: DynamoDBClientConfig = { + region, + credentials + } + const client = new DynamoDBClient(config ?? {}) const dynamoDb = new DynamoDBChatMessageHistory({ diff --git a/packages/components/src/storageUtils.ts b/packages/components/src/storageUtils.ts index 7bacec17651..483eb9ae9b0 100644 --- a/packages/components/src/storageUtils.ts +++ b/packages/components/src/storageUtils.ts @@ -1,6 +1,13 @@ import path from 'path' import fs from 'fs' -import { DeleteObjectsCommand, GetObjectCommand, ListObjectsV2Command, PutObjectCommand, S3Client } from '@aws-sdk/client-s3' +import { + DeleteObjectsCommand, + GetObjectCommand, + ListObjectsV2Command, + PutObjectCommand, + S3Client, + S3ClientConfig +} from '@aws-sdk/client-s3' import { Readable } from 'node:stream' import { getUserHome } from './utils' @@ -311,14 +318,20 @@ export const getS3Config = () => { const secretAccessKey = process.env.S3_STORAGE_SECRET_ACCESS_KEY const region = process.env.S3_STORAGE_REGION const Bucket = process.env.S3_STORAGE_BUCKET_NAME - if (!accessKeyId || !secretAccessKey || !region || !Bucket) { + if (!region || !Bucket) { throw new Error('S3 storage configuration is missing') } - const s3Client = new S3Client({ - credentials: { + + let credentials: S3ClientConfig['credentials'] | undefined + if (accessKeyId && secretAccessKey) { + credentials = { accessKeyId, secretAccessKey - }, + } + } + + const s3Client = new S3Client({ + credentials, region }) return { s3Client, Bucket } From d734747ec01790d3c7c8cf90b2a59955f1a1e4cb Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Thu, 30 May 2024 00:18:51 +0100 Subject: [PATCH 16/23] Bugfix/Upserting same id with supabase (#2521) fix upserting same id with supabase --- .../nodes/vectorstores/Supabase/Supabase.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/components/nodes/vectorstores/Supabase/Supabase.ts b/packages/components/nodes/vectorstores/Supabase/Supabase.ts index 5e76f47a85b..f0ba0773c53 100644 --- a/packages/components/nodes/vectorstores/Supabase/Supabase.ts +++ b/packages/components/nodes/vectorstores/Supabase/Supabase.ts @@ -223,10 +223,17 @@ class SupabaseUpsertVectorStore extends SupabaseVectorStore { metadata: documents[idx].metadata })) + let idx = 0 + const { count } = await this.client.from(this.tableName).select('*', { count: 'exact', head: true }) + if (count) { + idx = count + } + let returnedIds: string[] = [] for (let i = 0; i < rows.length; i += this.upsertBatchSize) { - const chunk = rows.slice(i, i + this.upsertBatchSize).map((row, index) => { - return { id: index, ...row } + const chunk = rows.slice(i, i + this.upsertBatchSize).map((row) => { + idx = idx += 1 + return { id: idx, ...row } }) const res = await this.client.from(this.tableName).upsert(chunk).select() @@ -237,6 +244,7 @@ class SupabaseUpsertVectorStore extends SupabaseVectorStore { returnedIds = returnedIds.concat(res.data.map((row) => row.id)) } } + return returnedIds } } From 059eae426807e5c48df0a320003e0a69fb68a51e Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Thu, 30 May 2024 11:59:19 +0100 Subject: [PATCH 17/23] Bugfix/model list unreachable (#2522) * fallback to fetch local models json file * enable user to specify local path to load models.json * Update pnpm-lock.yaml --- CONTRIBUTING.md | 2 +- packages/components/src/modelLoader.ts | 59 ++++++++++++++++++++------ 2 files changed, 46 insertions(+), 15 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 43065876352..389e2f2d1bc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -131,7 +131,7 @@ Flowise support different environment variables to configure your instance. You | DEBUG | Print logs from components | Boolean | | | LOG_PATH | Location where log files are stored | String | `your-path/Flowise/logs` | | LOG_LEVEL | Different levels of logs | Enum String: `error`, `info`, `verbose`, `debug` | `info` | -| LOG_JSON_SPACES | Spaces to beautify JSON logs | | 2 +| LOG_JSON_SPACES | Spaces to beautify JSON logs | | 2 | | APIKEY_PATH | Location where api keys are saved | String | `your-path/Flowise/packages/server` | | TOOL_FUNCTION_BUILTIN_DEP | NodeJS built-in modules to be used for Tool Function | String | | | TOOL_FUNCTION_EXTERNAL_DEP | External modules to be used for Tool Function | String | | diff --git a/packages/components/src/modelLoader.ts b/packages/components/src/modelLoader.ts index dca4cdbf94c..be588d57343 100644 --- a/packages/components/src/modelLoader.ts +++ b/packages/components/src/modelLoader.ts @@ -21,27 +21,58 @@ const getModelsJSONPath = (): string => { return '' } +const isValidUrl = (urlString: string) => { + let url + try { + url = new URL(urlString) + } catch (e) { + return false + } + return url.protocol === 'http:' || url.protocol === 'https:' +} + const getModelConfig = async (category: MODEL_TYPE, name: string) => { const modelFile = process.env.MODEL_LIST_CONFIG_JSON || MASTER_MODEL_LIST + if (!modelFile) { throw new Error('MODEL_LIST_CONFIG_JSON not set') } - try { - const resp = await axios.get(modelFile) - if (resp.status === 200 && resp.data) { - const models = resp.data - const categoryModels = models[category] - return categoryModels.find((model: INodeOptionsValue) => model.name === name) - } else { - throw new Error('Error fetching model list') + if (isValidUrl(modelFile)) { + try { + const resp = await axios.get(modelFile) + if (resp.status === 200 && resp.data) { + const models = resp.data + const categoryModels = models[category] + return categoryModels.find((model: INodeOptionsValue) => model.name === name) + } else { + throw new Error('Error fetching model list') + } + } catch (e) { + const models = await fs.promises.readFile(getModelsJSONPath(), 'utf8') + if (models) { + const categoryModels = JSON.parse(models)[category] + return categoryModels.find((model: INodeOptionsValue) => model.name === name) + } + return {} } - } catch (e) { - const models = await fs.promises.readFile(getModelsJSONPath(), 'utf8') - if (models) { - const categoryModels = JSON.parse(models)[category] - return categoryModels.find((model: INodeOptionsValue) => model.name === name) + } else { + try { + if (fs.existsSync(modelFile)) { + const models = await fs.promises.readFile(modelFile, 'utf8') + if (models) { + const categoryModels = JSON.parse(models)[category] + return categoryModels.find((model: INodeOptionsValue) => model.name === name) + } + } + return {} + } catch (e) { + const models = await fs.promises.readFile(getModelsJSONPath(), 'utf8') + if (models) { + const categoryModels = JSON.parse(models)[category] + return categoryModels.find((model: INodeOptionsValue) => model.name === name) + } + return {} } - return {} } } From eb738a1552aa4b00990c262783335ad1a4809304 Mon Sep 17 00:00:00 2001 From: Rafael Reis Date: Thu, 30 May 2024 08:54:55 -0300 Subject: [PATCH 18/23] Fix for Whisper Error: 'File is not defined' when using Speech to Text (#2526) * tested ok * update localai stt file * update toFile method for OpenAI Assistant uploads --------- Co-authored-by: Henry Heng Co-authored-by: Henry --- packages/components/src/speechToText.ts | 8 +++++--- .../src/services/openai-assistants-vector-store/index.ts | 3 ++- packages/server/src/services/openai-assistants/index.ts | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/components/src/speechToText.ts b/packages/components/src/speechToText.ts index 1b952913088..821f0221630 100644 --- a/packages/components/src/speechToText.ts +++ b/packages/components/src/speechToText.ts @@ -1,6 +1,6 @@ import { ICommonObject, IFileUpload } from './Interface' import { getCredentialData } from './utils' -import { type ClientOptions, OpenAIClient } from '@langchain/openai' +import { type ClientOptions, OpenAIClient, toFile } from '@langchain/openai' import { AssemblyAI } from 'assemblyai' import { getFileFromStorage } from './storageUtils' @@ -22,8 +22,9 @@ export const convertSpeechToText = async (upload: IFileUpload, speechToTextConfi apiKey: credentialData.openAIApiKey } const openAIClient = new OpenAIClient(openAIClientOptions) + const file = await toFile(audio_file, upload.name) const openAITranscription = await openAIClient.audio.transcriptions.create({ - file: new File([new Blob([audio_file])], upload.name), + file: file, model: 'whisper-1', language: speechToTextConfig?.language, temperature: speechToTextConfig?.temperature ? parseFloat(speechToTextConfig.temperature) : undefined, @@ -56,8 +57,9 @@ export const convertSpeechToText = async (upload: IFileUpload, speechToTextConfi baseURL: speechToTextConfig?.baseUrl } const localAIClient = new OpenAIClient(LocalAIClientOptions) + const file = await toFile(audio_file, upload.name) const localAITranscription = await localAIClient.audio.transcriptions.create({ - file: new File([new Blob([audio_file])], upload.name), + file: file, model: speechToTextConfig?.model || 'whisper-1', language: speechToTextConfig?.language, temperature: speechToTextConfig?.temperature ? parseFloat(speechToTextConfig.temperature) : undefined, diff --git a/packages/server/src/services/openai-assistants-vector-store/index.ts b/packages/server/src/services/openai-assistants-vector-store/index.ts index 9b268320280..46f9c183f8e 100644 --- a/packages/server/src/services/openai-assistants-vector-store/index.ts +++ b/packages/server/src/services/openai-assistants-vector-store/index.ts @@ -178,8 +178,9 @@ const uploadFilesToAssistantVectorStore = async ( const openai = new OpenAI({ apiKey: openAIApiKey }) const uploadedFiles = [] for (const file of files) { + const toFile = await OpenAI.toFile(fs.readFileSync(file.filePath), file.fileName) const createdFile = await openai.files.create({ - file: new File([new Blob([fs.readFileSync(file.filePath)])], file.fileName), + file: toFile, purpose: 'assistants' }) uploadedFiles.push(createdFile) diff --git a/packages/server/src/services/openai-assistants/index.ts b/packages/server/src/services/openai-assistants/index.ts index 736e65f899b..c908a546755 100644 --- a/packages/server/src/services/openai-assistants/index.ts +++ b/packages/server/src/services/openai-assistants/index.ts @@ -101,8 +101,9 @@ const uploadFilesToAssistant = async (credentialId: string, files: { filePath: s const uploadedFiles = [] for (const file of files) { + const toFile = await OpenAI.toFile(fs.readFileSync(file.filePath), file.fileName) const createdFile = await openai.files.create({ - file: new File([new Blob([fs.readFileSync(file.filePath)])], file.fileName), + file: toFile, purpose: 'assistants' }) uploadedFiles.push(createdFile) From d50563765efeebfc9fa98979513e42af86f4b50a Mon Sep 17 00:00:00 2001 From: YISH Date: Thu, 30 May 2024 19:58:20 +0800 Subject: [PATCH 19/23] Fix JSON escaping (better) (#2498) Fix JSON escaping --- packages/server/src/utils/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 3a77168eb3d..8edfcbac7a7 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -780,7 +780,7 @@ export const getVariableValue = ( const variableValue = variableDict[path] // Replace all occurrence if (typeof variableValue === 'object') { - returnVal = returnVal.split(path).join(JSON.stringify(variableValue).replaceAll('"', '\\"').replaceAll('\\n', '\\\\n')) + returnVal = returnVal.split(path).join(JSON.stringify(JSON.stringify(variableValue))) } else { returnVal = returnVal.split(path).join(variableValue) } From 7706b3484a7184bfaf477cbfbf627c508345fc83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fahreddin=20=C3=96zcan?= <88107904+fahreddinozcan@users.noreply.github.com> Date: Thu, 30 May 2024 23:20:02 +0200 Subject: [PATCH 20/23] Update Upstash Logo for White Background (#2511) * update: upstash logo for white background * update: upstash chat memory logo --- .../UpstashRedisBackedChatMemory/upstash.svg | 37 +++++++++++++--- .../nodes/vectorstores/Upstash/upstash.svg | 44 +++++++++++++------ 2 files changed, 61 insertions(+), 20 deletions(-) diff --git a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/upstash.svg b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/upstash.svg index 582d151a9e9..d7db14980be 100644 --- a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/upstash.svg +++ b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/upstash.svg @@ -1,6 +1,31 @@ - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/components/nodes/vectorstores/Upstash/upstash.svg b/packages/components/nodes/vectorstores/Upstash/upstash.svg index 77d0e101401..d7db14980be 100644 --- a/packages/components/nodes/vectorstores/Upstash/upstash.svg +++ b/packages/components/nodes/vectorstores/Upstash/upstash.svg @@ -1,15 +1,31 @@ - - - - - - - - - - - - + + + + + + + + + + - - \ No newline at end of file + + \ No newline at end of file From b5b929e192d8874f8bce8fe7663be28fec79712d Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Thu, 30 May 2024 22:27:17 +0100 Subject: [PATCH 21/23] Feat/Exa Search Tool (#2524) * add exa search tool * add exa svg --- .../credentials/ExaSearchApi.credential.ts | 26 ++ .../nodes/tools/ExaSearch/ExaSearch.ts | 230 ++++++++++++++++++ .../components/nodes/tools/ExaSearch/exa.svg | 3 + packages/components/package.json | 2 + pnpm-lock.yaml | 26 ++ 5 files changed, 287 insertions(+) create mode 100644 packages/components/credentials/ExaSearchApi.credential.ts create mode 100644 packages/components/nodes/tools/ExaSearch/ExaSearch.ts create mode 100644 packages/components/nodes/tools/ExaSearch/exa.svg diff --git a/packages/components/credentials/ExaSearchApi.credential.ts b/packages/components/credentials/ExaSearchApi.credential.ts new file mode 100644 index 00000000000..20f360c424c --- /dev/null +++ b/packages/components/credentials/ExaSearchApi.credential.ts @@ -0,0 +1,26 @@ +import { INodeParams, INodeCredential } from '../src/Interface' + +class ExaSearchApi implements INodeCredential { + label: string + name: string + version: number + description: string + inputs: INodeParams[] + + constructor() { + this.label = 'Exa Search API' + this.name = 'exaSearchApi' + this.version = 1.0 + this.description = + 'Refer to official guide on how to get an API Key from Exa' + this.inputs = [ + { + label: 'ExaSearch Api Key', + name: 'exaSearchApiKey', + type: 'password' + } + ] + } +} + +module.exports = { credClass: ExaSearchApi } diff --git a/packages/components/nodes/tools/ExaSearch/ExaSearch.ts b/packages/components/nodes/tools/ExaSearch/ExaSearch.ts new file mode 100644 index 00000000000..9cfafadee7e --- /dev/null +++ b/packages/components/nodes/tools/ExaSearch/ExaSearch.ts @@ -0,0 +1,230 @@ +import { ExaSearchResults } from '@langchain/exa' +import Exa from 'exa-js' +import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' + +const DESC = `A wrapper around Exa Search. Input should be an Exa-optimized query. Output is a JSON array of the query results` + +class ExaSearch_Tools implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + + constructor() { + this.label = 'Exa Search' + this.name = 'exaSearch' + this.version = 1.0 + this.type = 'ExaSearch' + this.icon = 'exa.svg' + this.category = 'Tools' + this.description = 'Wrapper around Exa Search API - search engine fully designed for use by LLMs' + this.inputs = [ + { + label: 'Tool Description', + name: 'description', + type: 'string', + description: 'Description of what the tool does. This is for LLM to determine when to use this tool.', + rows: 4, + additionalParams: true, + default: DESC + }, + { + label: 'Num of Results', + name: 'numResults', + type: 'number', + optional: true, + step: 1, + additionalParams: true, + description: 'Number of search results to return. Default 10. Max 10 for basic plans. Up to thousands for custom plans.' + }, + { + label: 'Search Type', + name: 'type', + type: 'options', + options: [ + { + label: 'keyword', + name: 'keyword' + }, + { + label: 'neural', + name: 'neural' + }, + { + label: 'magic', + name: 'magic', + description: 'decides between keyword and neural' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Use Auto Prompt', + name: 'useAutoprompt', + type: 'boolean', + optional: true, + additionalParams: true, + description: 'If true, your query will be converted to a Exa query. Default false.' + }, + { + label: 'Category (Beta)', + name: 'category', + type: 'options', + description: + 'A data category to focus on, with higher comprehensivity and data cleanliness. Categories right now include company, research paper, news, github, tweet, movie, song, personal site, and pdf', + options: [ + { + label: 'company', + name: 'company' + }, + { + label: 'research paper', + name: 'research paper' + }, + { + label: 'news', + name: 'news' + }, + { + label: 'github', + name: 'github' + }, + { + label: 'tweet', + name: 'tweet' + }, + { + label: 'movie', + name: 'movie' + }, + { + label: 'song', + name: 'song' + }, + { + label: 'pdf', + name: 'pdf' + }, + { + label: 'personal site', + name: 'personal site' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Include Domains', + name: 'includeDomains', + type: 'string', + rows: 4, + optional: true, + additionalParams: true, + description: + 'List of domains to include in the search, separated by comma. If specified, results will only come from these domains.' + }, + { + label: 'Exclude Domains', + name: 'excludeDomains', + type: 'string', + rows: 4, + optional: true, + additionalParams: true, + description: + 'List of domains to exclude in the search, separated by comma. If specified, results will not include any from these domains.' + }, + { + label: 'Start Crawl Date', + name: 'startCrawlDate', + type: 'string', + optional: true, + additionalParams: true, + placeholder: '2023-01-01T00:00:00.000Z', + description: + 'Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled after this date. Must be specified in ISO 8601 format.' + }, + { + label: 'End Crawl Date', + name: 'endCrawlDate', + type: 'string', + optional: true, + additionalParams: true, + placeholder: '2023-12-31T00:00:00.000Z', + description: + 'Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled before this date. Must be specified in ISO 8601 format.' + }, + { + label: 'Start Published Date', + name: 'startPublishedDate', + type: 'string', + optional: true, + additionalParams: true, + placeholder: '2023-01-01T00:00:00.000Z', + description: 'Only links with a published date after this will be returned. Must be specified in ISO 8601 format.' + }, + { + label: 'End Published Date', + name: 'endPublishedDate', + type: 'string', + optional: true, + additionalParams: true, + placeholder: '2023-12-31T00:00:00.000Z', + description: 'Only links with a published date before this will be returned. Must be specified in ISO 8601 format.' + } + ] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['exaSearchApi'] + } + this.baseClasses = [this.type, ...getBaseClasses(ExaSearchResults)] + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const description = nodeData.inputs?.description as string + const numResults = nodeData.inputs?.numResults as string + const type = nodeData.inputs?.type as string + const useAutoprompt = nodeData.inputs?.useAutoprompt as boolean + const category = nodeData.inputs?.category as string + const includeDomains = nodeData.inputs?.includeDomains as string + const excludeDomains = nodeData.inputs?.excludeDomains as string + const startCrawlDate = nodeData.inputs?.startCrawlDate as string + const endCrawlDate = nodeData.inputs?.endCrawlDate as string + const startPublishedDate = nodeData.inputs?.startPublishedDate as string + const endPublishedDate = nodeData.inputs?.endPublishedDate as string + + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const exaSearchApiKey = getCredentialParam('exaSearchApiKey', credentialData, nodeData) + + const tool = new ExaSearchResults({ + client: new Exa(exaSearchApiKey), + searchArgs: { + numResults: numResults ? parseFloat(numResults) : undefined, + type: type || undefined, + useAutoprompt: useAutoprompt || undefined, + category: category || undefined, + includeDomains: includeDomains ? includeDomains.split(',') : undefined, + excludeDomains: excludeDomains ? excludeDomains.split(',') : undefined, + startCrawlDate: startCrawlDate || undefined, + endCrawlDate: endCrawlDate || undefined, + startPublishedDate: startPublishedDate || undefined, + endPublishedDate: endPublishedDate || undefined + } + }) + + if (description) tool.description = description + + return tool + } +} + +module.exports = { nodeClass: ExaSearch_Tools } diff --git a/packages/components/nodes/tools/ExaSearch/exa.svg b/packages/components/nodes/tools/ExaSearch/exa.svg new file mode 100644 index 00000000000..8f7be51c96e --- /dev/null +++ b/packages/components/nodes/tools/ExaSearch/exa.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/components/package.json b/packages/components/package.json index 3b5e113a7cd..289783eb37e 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -38,6 +38,7 @@ "@langchain/cohere": "^0.0.7", "@langchain/community": "^0.0.43", "@langchain/core": "^0.1.63", + "@langchain/exa": "^0.0.5", "@langchain/google-genai": "^0.0.10", "@langchain/google-vertexai": "^0.0.5", "@langchain/groq": "^0.0.8", @@ -68,6 +69,7 @@ "css-what": "^6.1.0", "d3-dsv": "2", "dotenv": "^16.0.0", + "exa-js": "^1.0.12", "express": "^4.17.3", "faiss-node": "^0.5.1", "fast-json-patch": "^3.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5039b68dbac..621908b846c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,6 +135,9 @@ importers: '@langchain/core': specifier: ^0.1.63 version: 0.1.63 + '@langchain/exa': + specifier: ^0.0.5 + version: 0.0.5(encoding@0.1.13) '@langchain/google-genai': specifier: ^0.0.10 version: 0.0.10 @@ -225,6 +228,9 @@ importers: dotenv: specifier: ^16.0.0 version: 16.4.5 + exa-js: + specifier: ^1.0.12 + version: 1.0.12(encoding@0.1.13) express: specifier: ^4.17.3 version: 4.18.3 @@ -3586,6 +3592,10 @@ packages: resolution: { integrity: sha512-+fjyYi8wy6x1P+Ee1RWfIIEyxd9Ee9jksEwvrggPwwI/p45kIDTdYTblXsM13y4mNWTiACyLSdbwnPaxxdoz+w== } engines: { node: '>=18' } + '@langchain/exa@0.0.5': + resolution: { integrity: sha512-KXNCYLxKs6rDGw+jcrFqE4CrIooUgzU0ip0k76YFptvMPrqLpNurYyqr5mAys0qn2vFavFfC3eJV/wrZ602EfA== } + engines: { node: '>=18' } + '@langchain/google-common@0.0.9': resolution: { integrity: sha512-jP7vIgsigUSYYVyT5hej4rg8fV8sutxI6Vm2B2xQGNwUXiCQIDPfA9bmlGyXPWomILKB21dRUqNkun/AMYAWvA== } engines: { node: '>=18' } @@ -8131,6 +8141,9 @@ packages: resolution: { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } engines: { node: '>=0.8.x' } + exa-js@1.0.12: + resolution: { integrity: sha512-4oDvjl1966qy1BwjuGm/q/k2gZomS8WhpcuiXyn672cTmEfaRIwQnAbXBznuqzT1WaWeHfJXGTeeboaW41OCiw== } + execa@0.2.2: resolution: { integrity: sha512-zmBGzLd3nhA/NB9P7VLoceAO6vyYPftvl809Vjwe5U2fYI9tYWbeKqP3wZlAw9WS+znnkogf/bhSU+Gcn2NbkQ== } engines: { node: '>=0.12' } @@ -19827,6 +19840,13 @@ snapshots: zod: 3.22.4 zod-to-json-schema: 3.22.5(zod@3.22.4) + '@langchain/exa@0.0.5(encoding@0.1.13)': + dependencies: + '@langchain/core': 0.1.63 + exa-js: 1.0.12(encoding@0.1.13) + transitivePeerDependencies: + - encoding + '@langchain/google-common@0.0.9(zod@3.22.4)': dependencies: '@langchain/core': 0.1.63 @@ -25923,6 +25943,12 @@ snapshots: events@3.3.0: {} + exa-js@1.0.12(encoding@0.1.13): + dependencies: + cross-fetch: 4.0.0(encoding@0.1.13) + transitivePeerDependencies: + - encoding + execa@0.2.2: dependencies: cross-spawn-async: 2.2.5 From 04e0ce1783c9e5b9629ff32df4136103246bc947 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Fri, 31 May 2024 13:20:34 +0100 Subject: [PATCH 22/23] Chore/update flowise-embed version on lock file (#2535) update flowise-embed version on lock file --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 621908b846c..f0aa19df2b5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -616,10 +616,10 @@ importers: version: 16.4.5 flowise-embed: specifier: latest - version: 1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + version: 1.3.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) flowise-embed-react: specifier: latest - version: 1.0.2(@types/node@20.12.12)(flowise-embed@1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5) + version: 1.0.2(@types/node@20.12.12)(flowise-embed@1.3.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5) flowise-react-json-view: specifier: '*' version: 1.21.7(@types/react@18.2.65)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -8523,8 +8523,8 @@ packages: flowise-embed: '*' react: 18.x - flowise-embed@1.2.6: - resolution: { integrity: sha512-rBl4QhcxY91V2fOm/L1kuwQSyQjimdTLT4uss7Lw9XBbOFQTVflJnzDxttp5an/pQcxQ+Y1TWCM/twMH05BV/g== } + flowise-embed@1.3.0: + resolution: { integrity: sha512-PuSkuelh71QMie9ZAssWjQ5g54coBLqAw8sUx1eIhlxFeDiN7TuaDNoPc7J8W76Ri5x4eXtFbZOaD6HEu03lHA== } flowise-react-json-view@1.21.7: resolution: { integrity: sha512-oFjwtSLJkUWk6waLh8heCQ4o9b60FJRA2X8LefaZp5WaJvj/Rr2HILjk+ocf1JkfTcq8jc6t2jfIybg4leWsaQ== } @@ -26494,10 +26494,10 @@ snapshots: flatted@3.3.1: {} - flowise-embed-react@1.0.2(@types/node@20.12.12)(flowise-embed@1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5): + flowise-embed-react@1.0.2(@types/node@20.12.12)(flowise-embed@1.3.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5): dependencies: '@ladle/react': 2.5.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.71.1)(terser@5.29.1)(typescript@4.9.5) - flowise-embed: 1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + flowise-embed: 1.3.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) react: 18.2.0 transitivePeerDependencies: - '@types/node' @@ -26511,7 +26511,7 @@ snapshots: - terser - typescript - flowise-embed@1.2.6(bufferutil@4.0.8)(utf-8-validate@6.0.4): + flowise-embed@1.3.0(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: '@babel/core': 7.24.0 '@ts-stack/markdown': 1.5.0 From 6a58ae4e80d37ca2ea4b916f8f148157a082a7a1 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Fri, 31 May 2024 23:41:21 +0100 Subject: [PATCH 23/23] Bugfix/In-mem VS not able to load document (#2542) fix where in-mem VS not able to load document --- packages/server/src/utils/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 8edfcbac7a7..c9ea2682637 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -379,6 +379,7 @@ export const saveUpsertFlowData = (nodeData: INodeData, upsertHistory: Record nd.id === targetNodeId)?.data.category || '' - if (targetNodeCategory === 'Vector Stores') { + const targetNodeName = reactFlowNodes.find((nd) => nd.id === targetNodeId)?.data.name || '' + if (targetNodeCategory === 'Vector Stores' && targetNodeName !== 'memoryVectorStore') { return true } }