feature/add-perplexity-node (#4376)

* added perplexity node

* last stable release

* Update ChatPerplexity.ts

* update

* Update ChatPerplexity.ts

* Update ChatPerplexity.ts

* pnpm lint fix

* feat: update @langchain/community from 0.3.24 to 0.3.29

---------

Co-authored-by: Marvin <marvin.chin@regentmarkets.com>
This commit is contained in:
Ong Chung Yau 2025-05-05 14:34:07 +08:00 committed by GitHub
parent b55fe07511
commit df26e8aef9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 36548 additions and 36698 deletions

View File

@ -0,0 +1,27 @@
import { INodeParams, INodeCredential } from '../src/Interface'
class PerplexityApi implements INodeCredential {
label: string
name: string
version: number
description: string
inputs: INodeParams[]
constructor() {
this.label = 'Perplexity API'
this.name = 'perplexityApi'
this.version = 1.0
this.description =
'Refer to <a target="_blank" href="https://docs.perplexity.ai/docs/getting-started">official guide</a> on how to get API key'
this.inputs = [
{
label: 'Perplexity API Key',
name: 'perplexityApiKey',
type: 'password',
placeholder: '<PERPLEXITY_API_KEY>'
}
]
}
}
module.exports = { credClass: PerplexityApi }

View File

@ -26,7 +26,7 @@
},
{
"label": "anthropic.claude-3.5-sonnet-20240620-v1:0",
"name": "anthropic.claude-3-5-sonnet-20240620-v1:0",
"name": "anthropic.claude-3.5-sonnet-20240620-v1:0",
"description": "(20240620-v1:0) specific version of Claude Sonnet 3.5 - most intelligent model",
"input_cost": 3e-6,
"output_cost": 0.000015
@ -1074,6 +1074,47 @@
}
]
},
{
"name": "chatPerplexity",
"models": [
{
"label": "sonar",
"name": "sonar",
"input_cost": 1e-6,
"output_cost": 1e-6
},
{
"label": "sonar-pro",
"name": "sonar-pro",
"input_cost": 3e-6,
"output_cost": 1.5e-5
},
{
"label": "sonar-reasoning",
"name": "sonar-reasoning",
"input_cost": 1e-6,
"output_cost": 5e-6
},
{
"label": "sonar-reasoning-pro",
"name": "sonar-reasoning-pro",
"input_cost": 2e-6,
"output_cost": 8e-6
},
{
"label": "sonar-deep-research",
"name": "sonar",
"input_cost": 2e-6,
"output_cost": 8e-6
},
{
"label": "r1-1776",
"name": "r1-1776",
"input_cost": 2e-6,
"output_cost": 8e-6
}
]
},
{
"name": "chatMistralAI",
"models": [

View File

@ -0,0 +1,237 @@
import { ChatPerplexity as LangchainChatPerplexity, PerplexityChatInput } from '@langchain/community/chat_models/perplexity'
import { BaseCache } from '@langchain/core/caches'
import { ICommonObject, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { ChatPerplexity } from './FlowiseChatPerplexity'
import { getModels, MODEL_TYPE } from '../../../src/modelLoader'
class ChatPerplexity_ChatModels 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 = 'ChatPerplexity'
this.name = 'chatPerplexity'
this.version = 0.1
this.type = 'ChatPerplexity'
this.icon = 'perplexity.svg'
this.category = 'Chat Models'
this.description = 'Wrapper around Perplexity large language models that use the Chat endpoint'
this.baseClasses = [this.type, ...getBaseClasses(LangchainChatPerplexity)]
this.credential = {
label: 'Connect Credential',
name: 'credential',
type: 'credential',
credentialNames: ['perplexityApi']
}
this.inputs = [
{
label: 'Cache',
name: 'cache',
type: 'BaseCache',
optional: true
},
{
label: 'Model Name',
name: 'model',
type: 'asyncOptions',
loadMethod: 'listModels',
default: 'sonar'
},
{
label: 'Temperature',
name: 'temperature',
type: 'number',
step: 0.1,
default: 1,
optional: true
},
{
label: 'Max Tokens',
name: 'maxTokens',
type: 'number',
step: 1,
optional: true,
additionalParams: true
},
{
label: 'Top P',
name: 'topP',
type: 'number',
step: 0.1,
optional: true,
additionalParams: true
},
{
label: 'Top K',
name: 'topK',
type: 'number',
step: 1,
optional: true,
additionalParams: true
},
{
label: 'Presence Penalty',
name: 'presencePenalty',
type: 'number',
step: 0.1,
optional: true,
additionalParams: true
},
{
label: 'Frequency Penalty',
name: 'frequencyPenalty',
type: 'number',
step: 0.1,
optional: true,
additionalParams: true
},
{
label: 'Streaming',
name: 'streaming',
type: 'boolean',
default: true,
optional: true,
additionalParams: true
},
{
label: 'Timeout',
name: 'timeout',
type: 'number',
step: 1,
optional: true,
additionalParams: true
},
// {
// label: 'Search Domain Filter',
// name: 'searchDomainFilter',
// type: 'json',
// optional: true,
// additionalParams: true,
// description: 'Limit citations to URLs from specified domains (e.g., ["example.com", "anotherexample.org"])'
// },
// Currently disabled as output is stored as additional_kwargs
// {
// label: 'Return Images',
// name: 'returnImages',
// type: 'boolean',
// optional: true,
// additionalParams: true,
// description: 'Whether the model should return images (if supported by the model)'
// },
// Currently disabled as output is stored as additional_kwargs
// {
// label: 'Return Related Questions',
// name: 'returnRelatedQuestions',
// type: 'boolean',
// optional: true,
// additionalParams: true,
// description: 'Whether the online model should return related questions'
// },
// {
// label: 'Search Recency Filter',
// name: 'searchRecencyFilter',
// type: 'options',
// options: [
// { label: 'Not Set', name: '' },
// { label: 'Month', name: 'month' },
// { label: 'Week', name: 'week' },
// { label: 'Day', name: 'day' },
// { label: 'Hour', name: 'hour' }
// ],
// default: '',
// optional: true,
// additionalParams: true,
// description: 'Filter search results by time interval (does not apply to images)'
// },
{
label: 'Proxy Url',
name: 'proxyUrl',
type: 'string',
optional: true,
additionalParams: true
}
// LangchainJS currently does not has a web_search_options, search_after_date_filter or search_before_date_filter parameter.
// To add web_search_options (user_location, search_context_size) and search_after_date_filter, search_before_date_filter as a modelKwargs parameter.
]
}
//@ts-ignore
loadMethods = {
async listModels(): Promise<INodeOptionsValue[]> {
return await getModels(MODEL_TYPE.CHAT, 'chatPerplexity')
}
}
async init(nodeData: INodeData, _: string, options: ICommonObject): Promise<any> {
const model = nodeData.inputs?.model as string
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 presencePenalty = nodeData.inputs?.presencePenalty as string
const frequencyPenalty = nodeData.inputs?.frequencyPenalty as string
const streaming = nodeData.inputs?.streaming as boolean
const timeout = nodeData.inputs?.timeout as string
const searchDomainFilterRaw = nodeData.inputs?.searchDomainFilter
const returnImages = nodeData.inputs?.returnImages as boolean
const returnRelatedQuestions = nodeData.inputs?.returnRelatedQuestions as boolean
const searchRecencyFilter = nodeData.inputs?.searchRecencyFilter as string
const proxyUrl = nodeData.inputs?.proxyUrl as string
const cache = nodeData.inputs?.cache as BaseCache
if (nodeData.inputs?.credentialId) {
nodeData.credential = nodeData.inputs?.credentialId
}
const credentialData = await getCredentialData(nodeData.credential ?? '', options)
const apiKey = getCredentialParam('perplexityApiKey', credentialData, nodeData)
if (!apiKey) {
throw new Error('Perplexity API Key missing from credential')
}
const obj: PerplexityChatInput = {
model,
apiKey,
streaming: streaming ?? true
}
if (temperature) obj.temperature = parseFloat(temperature)
if (maxTokens) obj.maxTokens = parseInt(maxTokens, 10)
if (topP) obj.topP = parseFloat(topP)
if (topK) obj.topK = parseInt(topK, 10)
if (presencePenalty) obj.presencePenalty = parseFloat(presencePenalty)
if (frequencyPenalty) obj.frequencyPenalty = parseFloat(frequencyPenalty)
if (timeout) obj.timeout = parseInt(timeout, 10)
if (returnImages) obj.returnImages = returnImages
if (returnRelatedQuestions) obj.returnRelatedQuestions = returnRelatedQuestions
if (searchRecencyFilter && searchRecencyFilter !== '') obj.searchRecencyFilter = searchRecencyFilter
if (cache) obj.cache = cache
if (searchDomainFilterRaw) {
try {
obj.searchDomainFilter =
typeof searchDomainFilterRaw === 'object' ? searchDomainFilterRaw : JSON.parse(searchDomainFilterRaw)
} catch (exception) {
throw new Error('Invalid JSON in Search Domain Filter: ' + exception)
}
}
if (proxyUrl) {
console.warn('Proxy configuration for ChatPerplexity might require adjustments to FlowiseChatPerplexity wrapper.')
}
const perplexityModel = new ChatPerplexity(nodeData.id, obj)
return perplexityModel
}
}
module.exports = { nodeClass: ChatPerplexity_ChatModels }

View File

@ -0,0 +1,32 @@
import { ChatPerplexity as LangchainChatPerplexity, type PerplexityChatInput } from '@langchain/community/chat_models/perplexity'
import { IMultiModalOption, IVisionChatModal } from '../../../src'
// Extend the Langchain ChatPerplexity class to include Flowise-specific properties and methods
export class ChatPerplexity extends LangchainChatPerplexity implements IVisionChatModal {
configuredModel: string
configuredMaxToken?: number
multiModalOption: IMultiModalOption
id: string
constructor(id: string, fields: PerplexityChatInput) {
super(fields)
this.id = id
this.configuredModel = fields?.model ?? '' // Use model from fields
this.configuredMaxToken = fields?.maxTokens
}
// Method to revert to the original model configuration
revertToOriginalModel(): void {
this.model = this.configuredModel
this.maxTokens = this.configuredMaxToken
}
// Method to set multimodal options
setMultiModalOption(multiModalOption: IMultiModalOption): void {
this.multiModalOption = multiModalOption
}
setVisionModel(): void {
// pass
}
}

View File

@ -0,0 +1,8 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:black;" d="M11.469,4l11.39,10.494v-0.002V4.024h2.217v10.517
L36.518,4v11.965h4.697v17.258h-4.683v10.654L25.077,33.813v10.18h-2.217V33.979L11.482,44V33.224H6.785V15.965h4.685V4z
M21.188,18.155H9.002v12.878h2.477v-4.062L21.188,18.155z M13.699,27.943v11.17l9.16-8.068V19.623L13.699,27.943z M25.141,30.938
V19.612l9.163,8.321v5.291h0.012v5.775L25.141,30.938z M36.532,31.033h2.466V18.155H26.903l9.629,8.725V31.033z M34.301,15.965
V9.038l-7.519,6.927H34.301z M21.205,15.965h-7.519V9.038L21.205,15.965z"/>
</svg>

After

Width:  |  Height:  |  Size: 775 B

View File

@ -42,7 +42,7 @@
"@langchain/aws": "0.1.4",
"@langchain/baidu-qianfan": "^0.1.0",
"@langchain/cohere": "^0.0.7",
"@langchain/community": "^0.3.24",
"@langchain/community": "^0.3.29",
"@langchain/core": "0.3.37",
"@langchain/exa": "^0.0.5",
"@langchain/google-genai": "0.2.3",

View File

@ -27,7 +27,6 @@ overrides:
webpack-dev-middleware: 7.4.2
importers:
.:
devDependencies:
'@babel/preset-env':
@ -153,7 +152,7 @@ importers:
version: 3.9.25
'@getzep/zep-cloud':
specifier: ~1.0.7
version: 1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(baow2b2cof4nlk4atveiu34rw4))
version: 1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(25bb5699889c62e3e68432d9134140f8))
'@getzep/zep-js':
specifier: ^0.9.0
version: 0.9.0
@ -188,8 +187,8 @@ importers:
specifier: ^0.0.7
version: 0.0.7(encoding@0.1.13)(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
'@langchain/community':
specifier: ^0.3.24
version: 0.3.24(k3yjphfcy2v3my5gbeis5zbnhi)
specifier: ^0.3.29
version: 0.3.37(e20e1446692b9832ef6923c66d9136c7)
'@langchain/core':
specifier: 0.3.37
version: 0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
@ -234,7 +233,7 @@ importers:
version: 0.0.1(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
'@mem0/community':
specifier: ^0.0.1
version: 0.0.1(goevfp7woigrlmz3j4wfnkclra)
version: 0.0.1(8baf5033c14fff22b0882d0d0a5efc92)
'@mendable/firecrawl-js':
specifier: ^0.0.28
version: 0.0.28
@ -369,13 +368,13 @@ importers:
version: 3.11.2
langchain:
specifier: ^0.3.5
version: 0.3.5(baow2b2cof4nlk4atveiu34rw4)
version: 0.3.5(25bb5699889c62e3e68432d9134140f8)
langfuse:
specifier: 3.3.4
version: 3.3.4
langfuse-langchain:
specifier: ^3.3.4
version: 3.3.4(langchain@0.3.5(baow2b2cof4nlk4atveiu34rw4))
version: 3.3.4(langchain@0.3.5(25bb5699889c62e3e68432d9134140f8))
langsmith:
specifier: 0.1.6
version: 0.1.6
@ -954,7 +953,6 @@ importers:
version: 1.0.7
packages:
'@aashutoshrathi/word-wrap@1.2.6':
resolution: { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== }
engines: { node: '>=0.10.0' }
@ -3500,79 +3498,67 @@ packages:
resolution: { integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== }
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-arm@1.0.5':
resolution: { integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== }
cpu: [arm]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-s390x@1.0.4':
resolution: { integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== }
cpu: [s390x]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-x64@1.0.4':
resolution: { integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== }
cpu: [x64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linuxmusl-arm64@1.0.4':
resolution: { integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== }
cpu: [arm64]
os: [linux]
libc: [musl]
'@img/sharp-libvips-linuxmusl-x64@1.0.4':
resolution: { integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== }
cpu: [x64]
os: [linux]
libc: [musl]
'@img/sharp-linux-arm64@0.33.5':
resolution: { integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== }
engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-linux-arm@0.33.5':
resolution: { integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== }
engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [arm]
os: [linux]
libc: [glibc]
'@img/sharp-linux-s390x@0.33.5':
resolution: { integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== }
engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [s390x]
os: [linux]
libc: [glibc]
'@img/sharp-linux-x64@0.33.5':
resolution: { integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== }
engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [x64]
os: [linux]
libc: [glibc]
'@img/sharp-linuxmusl-arm64@0.33.5':
resolution: { integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== }
engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [arm64]
os: [linux]
libc: [musl]
'@img/sharp-linuxmusl-x64@0.33.5':
resolution: { integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== }
engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [x64]
os: [linux]
libc: [musl]
'@img/sharp-wasm32@0.33.5':
resolution: { integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== }
@ -3775,380 +3761,6 @@ packages:
resolution: { integrity: sha512-ICSrSOT6FzSbR+xnbkP6BxXhuom1ViPRiy8K8KrL6bHbTiR5v1UnpskTWRpyhQS1GA6+3t1gp7XHxB5CZzLyqQ== }
engines: { node: '>=18' }
'@langchain/community@0.3.24':
resolution: {integrity: sha512-lHio63Bi5mxO6aMzLfXq5ouo6gKpSs7JWJ3Fi2Sl1fdH0AdCEqQZyLG0Fjinx/T815aPBb8eUIdjUlQIrPE2eA==}
engines: {node: '>=18'}
peerDependencies:
'@arcjet/redact': ^v1.0.0-alpha.23
'@aws-crypto/sha256-js': ^5.0.0
'@aws-sdk/client-bedrock-agent-runtime': ^3.583.0
'@aws-sdk/client-bedrock-runtime': ^3.422.0
'@aws-sdk/client-dynamodb': ^3.310.0
'@aws-sdk/client-kendra': ^3.352.0
'@aws-sdk/client-lambda': ^3.310.0
'@aws-sdk/client-s3': ^3.310.0
'@aws-sdk/client-sagemaker-runtime': ^3.310.0
'@aws-sdk/client-sfn': ^3.310.0
'@aws-sdk/credential-provider-node': ^3.388.0
'@azure/search-documents': ^12.0.0
'@azure/storage-blob': ^12.15.0
'@browserbasehq/sdk': '*'
'@browserbasehq/stagehand': ^1.0.0
'@clickhouse/client': ^0.2.5
'@cloudflare/ai': '*'
'@datastax/astra-db-ts': ^1.0.0
'@elastic/elasticsearch': ^8.4.0
'@getmetal/metal-sdk': '*'
'@getzep/zep-cloud': ^1.0.6
'@getzep/zep-js': ^0.9.0
'@gomomento/sdk': ^1.51.1
'@gomomento/sdk-core': ^1.51.1
'@google-ai/generativelanguage': '*'
'@google-cloud/storage': ^6.10.1 || ^7.7.0
'@gradientai/nodejs-sdk': ^1.2.0
'@huggingface/inference': ^2.6.4
'@huggingface/transformers': ^3.2.3
'@ibm-cloud/watsonx-ai': '*'
'@lancedb/lancedb': ^0.12.0
'@langchain/core': 0.3.37
'@layerup/layerup-security': ^1.5.12
'@libsql/client': ^0.14.0
'@mendable/firecrawl-js': ^1.4.3
'@mlc-ai/web-llm': '*'
'@mozilla/readability': '*'
'@neondatabase/serverless': '*'
'@notionhq/client': ^2.2.10
'@opensearch-project/opensearch': '*'
'@pinecone-database/pinecone': '*'
'@planetscale/database': ^1.8.0
'@premai/prem-sdk': ^0.3.25
'@qdrant/js-client-rest': ^1.8.2
'@raycast/api': ^1.55.2
'@rockset/client': ^0.9.1
'@smithy/eventstream-codec': ^2.0.5
'@smithy/protocol-http': ^3.0.6
'@smithy/signature-v4': ^2.0.10
'@smithy/util-utf8': ^2.0.0
'@spider-cloud/spider-client': ^0.0.21
'@supabase/supabase-js': ^2.45.0
'@tensorflow-models/universal-sentence-encoder': '*'
'@tensorflow/tfjs-converter': '*'
'@tensorflow/tfjs-core': '*'
'@upstash/ratelimit': ^1.1.3 || ^2.0.3
'@upstash/redis': ^1.20.6
'@upstash/vector': ^1.1.1
'@vercel/kv': '*'
'@vercel/postgres': '*'
'@writerai/writer-sdk': ^0.40.2
'@xata.io/client': ^0.28.0
'@zilliz/milvus2-sdk-node': '>=2.3.5'
apify-client: ^2.7.1
assemblyai: ^4.6.0
better-sqlite3: '>=9.4.0 <12.0.0'
cassandra-driver: ^4.7.2
cborg: ^4.1.1
cheerio: ^1.0.0-rc.12
chromadb: '*'
closevector-common: 0.1.3
closevector-node: 0.1.6
closevector-web: 0.1.6
cohere-ai: '*'
convex: ^1.3.1
crypto-js: ^4.2.0
d3-dsv: ^2.0.0
discord.js: ^14.14.1
dria: ^0.0.3
duck-duck-scrape: ^2.2.5
epub2: ^3.0.1
faiss-node: ^0.5.1
fast-xml-parser: '*'
firebase-admin: ^11.9.0 || ^12.0.0
google-auth-library: '*'
googleapis: '*'
hnswlib-node: ^3.0.0
html-to-text: ^9.0.5
ibm-cloud-sdk-core: '*'
ignore: ^5.2.0
interface-datastore: ^8.2.11
ioredis: ^5.3.2
it-all: ^3.0.4
jsdom: '*'
jsonwebtoken: ^9.0.2
llmonitor: ^0.5.9
lodash: ^4.17.21
lunary: ^0.7.10
mammoth: ^1.6.0
mongodb: '>=5.2.0'
mysql2: ^3.9.8
neo4j-driver: '*'
notion-to-md: ^3.1.0
officeparser: ^4.0.4
openai: 4.82.0
pdf-parse: 1.1.1
pg: ^8.11.0
pg-copy-streams: ^6.0.5
pickleparser: ^0.2.1
playwright: ^1.32.1
portkey-ai: ^0.1.11
puppeteer: '*'
pyodide: '>=0.24.1 <0.27.0'
redis: '*'
replicate: ^0.29.4
sonix-speech-recognition: ^2.1.1
srt-parser-2: ^1.2.3
typeorm: ^0.3.20
typesense: ^1.5.3
usearch: ^1.1.1
voy-search: 0.6.2
weaviate-ts-client: '*'
web-auth-library: ^1.0.3
word-extractor: '*'
ws: ^8.14.2
youtubei.js: '*'
peerDependenciesMeta:
'@arcjet/redact':
optional: true
'@aws-crypto/sha256-js':
optional: true
'@aws-sdk/client-bedrock-agent-runtime':
optional: true
'@aws-sdk/client-bedrock-runtime':
optional: true
'@aws-sdk/client-dynamodb':
optional: true
'@aws-sdk/client-kendra':
optional: true
'@aws-sdk/client-lambda':
optional: true
'@aws-sdk/client-s3':
optional: true
'@aws-sdk/client-sagemaker-runtime':
optional: true
'@aws-sdk/client-sfn':
optional: true
'@aws-sdk/credential-provider-node':
optional: true
'@azure/search-documents':
optional: true
'@azure/storage-blob':
optional: true
'@browserbasehq/sdk':
optional: true
'@clickhouse/client':
optional: true
'@cloudflare/ai':
optional: true
'@datastax/astra-db-ts':
optional: true
'@elastic/elasticsearch':
optional: true
'@getmetal/metal-sdk':
optional: true
'@getzep/zep-cloud':
optional: true
'@getzep/zep-js':
optional: true
'@gomomento/sdk':
optional: true
'@gomomento/sdk-core':
optional: true
'@google-ai/generativelanguage':
optional: true
'@google-cloud/storage':
optional: true
'@gradientai/nodejs-sdk':
optional: true
'@huggingface/inference':
optional: true
'@huggingface/transformers':
optional: true
'@lancedb/lancedb':
optional: true
'@layerup/layerup-security':
optional: true
'@libsql/client':
optional: true
'@mendable/firecrawl-js':
optional: true
'@mlc-ai/web-llm':
optional: true
'@mozilla/readability':
optional: true
'@neondatabase/serverless':
optional: true
'@notionhq/client':
optional: true
'@opensearch-project/opensearch':
optional: true
'@pinecone-database/pinecone':
optional: true
'@planetscale/database':
optional: true
'@premai/prem-sdk':
optional: true
'@qdrant/js-client-rest':
optional: true
'@raycast/api':
optional: true
'@rockset/client':
optional: true
'@smithy/eventstream-codec':
optional: true
'@smithy/protocol-http':
optional: true
'@smithy/signature-v4':
optional: true
'@smithy/util-utf8':
optional: true
'@spider-cloud/spider-client':
optional: true
'@supabase/supabase-js':
optional: true
'@tensorflow-models/universal-sentence-encoder':
optional: true
'@tensorflow/tfjs-converter':
optional: true
'@tensorflow/tfjs-core':
optional: true
'@upstash/ratelimit':
optional: true
'@upstash/redis':
optional: true
'@upstash/vector':
optional: true
'@vercel/kv':
optional: true
'@vercel/postgres':
optional: true
'@writerai/writer-sdk':
optional: true
'@xata.io/client':
optional: true
'@zilliz/milvus2-sdk-node':
optional: true
apify-client:
optional: true
assemblyai:
optional: true
better-sqlite3:
optional: true
cassandra-driver:
optional: true
cborg:
optional: true
cheerio:
optional: true
chromadb:
optional: true
closevector-common:
optional: true
closevector-node:
optional: true
closevector-web:
optional: true
cohere-ai:
optional: true
convex:
optional: true
crypto-js:
optional: true
d3-dsv:
optional: true
discord.js:
optional: true
dria:
optional: true
duck-duck-scrape:
optional: true
epub2:
optional: true
faiss-node:
optional: true
fast-xml-parser:
optional: true
firebase-admin:
optional: true
google-auth-library:
optional: true
googleapis:
optional: true
hnswlib-node:
optional: true
html-to-text:
optional: true
ignore:
optional: true
interface-datastore:
optional: true
ioredis:
optional: true
it-all:
optional: true
jsdom:
optional: true
jsonwebtoken:
optional: true
llmonitor:
optional: true
lodash:
optional: true
lunary:
optional: true
mammoth:
optional: true
mongodb:
optional: true
mysql2:
optional: true
neo4j-driver:
optional: true
notion-to-md:
optional: true
officeparser:
optional: true
pdf-parse:
optional: true
pg:
optional: true
pg-copy-streams:
optional: true
pickleparser:
optional: true
playwright:
optional: true
portkey-ai:
optional: true
puppeteer:
optional: true
pyodide:
optional: true
redis:
optional: true
replicate:
optional: true
sonix-speech-recognition:
optional: true
srt-parser-2:
optional: true
typeorm:
optional: true
typesense:
optional: true
usearch:
optional: true
voy-search:
optional: true
weaviate-ts-client:
optional: true
web-auth-library:
optional: true
word-extractor:
optional: true
ws:
optional: true
youtubei.js:
optional: true
'@langchain/community@0.3.37':
resolution: { integrity: sha512-Ifug3Gc6JHOFNWr0bxT1ie0AUKn3hWkZ4PG+EGqVz8MyeNr68lOhchY4oj51pQCC65KryfZ5CPhXrvbd5Il1GQ== }
engines: { node: '>=18' }
@ -5836,31 +5448,26 @@ packages:
resolution: { integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w== }
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.13.0':
resolution: { integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw== }
cpu: [arm64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-riscv64-gnu@4.13.0':
resolution: { integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA== }
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.13.0':
resolution: { integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA== }
cpu: [x64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.13.0':
resolution: { integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw== }
cpu: [x64]
os: [linux]
libc: [musl]
'@rollup/rollup-win32-arm64-msvc@4.13.0':
resolution: { integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA== }
@ -6535,28 +6142,24 @@ packages:
engines: { node: '>=10' }
cpu: [arm64]
os: [linux]
libc: [glibc]
'@swc/core-linux-arm64-musl@1.4.6':
resolution: { integrity: sha512-LGQsKJ8MA9zZ8xHCkbGkcPSmpkZL2O7drvwsGKynyCttHhpwVjj9lguhD4DWU3+FWIsjvho5Vu0Ggei8OYi/Lw== }
engines: { node: '>=10' }
cpu: [arm64]
os: [linux]
libc: [musl]
'@swc/core-linux-x64-gnu@1.4.6':
resolution: { integrity: sha512-10JL2nLIreMQDKvq2TECnQe5fCuoqBHu1yW8aChqgHUyg9d7gfZX/kppUsuimqcgRBnS0AjTDAA+JF6UsG/2Yg== }
engines: { node: '>=10' }
cpu: [x64]
os: [linux]
libc: [glibc]
'@swc/core-linux-x64-musl@1.4.6':
resolution: { integrity: sha512-EGyjFVzVY6Do89x8sfah7I3cuP4MwtwzmA6OlfD/KASqfCFf5eIaEBMbajgR41bVfMV7lK72lwAIea5xEyq1AQ== }
engines: { node: '>=10' }
cpu: [x64]
os: [linux]
libc: [musl]
'@swc/core-win32-arm64-msvc@1.4.6':
resolution: { integrity: sha512-gfW9AuXvwSyK07Vb8Y8E9m2oJZk21WqcD+X4BZhkbKB0TCZK0zk1j/HpS2UFlr1JB2zPKPpSWLU3ll0GEHRG2A== }
@ -17686,7 +17289,6 @@ packages:
resolution: { integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== }
snapshots:
'@aashutoshrathi/word-wrap@1.2.6': {}
'@adobe/css-tools@4.3.3': {}
@ -21561,7 +21163,7 @@ snapshots:
'@gar/promisify@1.1.3': {}
'@getzep/zep-cloud@1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(baow2b2cof4nlk4atveiu34rw4))':
'@getzep/zep-cloud@1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(25bb5699889c62e3e68432d9134140f8))':
dependencies:
form-data: 4.0.0
node-fetch: 2.7.0(encoding@0.1.13)
@ -21570,7 +21172,7 @@ snapshots:
zod: 3.23.8
optionalDependencies:
'@langchain/core': 0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
langchain: 0.3.5(baow2b2cof4nlk4atveiu34rw4)
langchain: 0.3.5(25bb5699889c62e3e68432d9134140f8)
transitivePeerDependencies:
- encoding
@ -22204,104 +21806,7 @@ snapshots:
- encoding
- openai
'@langchain/community@0.3.24(k3yjphfcy2v3my5gbeis5zbnhi)':
dependencies:
'@browserbasehq/stagehand': 1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4)
'@ibm-cloud/watsonx-ai': 1.1.2
'@langchain/core': 0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
'@langchain/openai': 0.3.13(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
binary-extensions: 2.2.0
expr-eval: 2.0.2
flat: 5.0.2
ibm-cloud-sdk-core: 5.1.0
js-yaml: 4.1.0
langchain: 0.3.5(baow2b2cof4nlk4atveiu34rw4)
langsmith: 0.2.15(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
openai: 4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)
uuid: 10.0.0
zod: 3.22.4
zod-to-json-schema: 3.23.1(zod@3.22.4)
optionalDependencies:
'@aws-crypto/sha256-js': 5.2.0
'@aws-sdk/client-bedrock-agent-runtime': 3.755.0
'@aws-sdk/client-bedrock-runtime': 3.422.0
'@aws-sdk/client-dynamodb': 3.529.1
'@aws-sdk/client-kendra': 3.750.0
'@aws-sdk/client-s3': 3.529.1
'@aws-sdk/credential-provider-node': 3.529.1
'@browserbasehq/sdk': 2.0.0(encoding@0.1.13)
'@datastax/astra-db-ts': 1.5.0
'@elastic/elasticsearch': 8.12.2
'@getzep/zep-cloud': 1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(baow2b2cof4nlk4atveiu34rw4))
'@getzep/zep-js': 0.9.0
'@gomomento/sdk': 1.68.1(encoding@0.1.13)
'@gomomento/sdk-core': 1.68.1
'@google-ai/generativelanguage': 2.6.0(encoding@0.1.13)
'@google-cloud/storage': 7.16.0(encoding@0.1.13)
'@huggingface/inference': 2.6.4
'@mendable/firecrawl-js': 0.0.28
'@notionhq/client': 2.2.14(encoding@0.1.13)
'@opensearch-project/opensearch': 1.2.0
'@pinecone-database/pinecone': 4.0.0
'@qdrant/js-client-rest': 1.9.0(typescript@5.5.2)
'@smithy/eventstream-codec': 2.1.4
'@smithy/protocol-http': 3.2.2
'@smithy/signature-v4': 2.1.4
'@smithy/util-utf8': 2.2.0
'@supabase/supabase-js': 2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4)
'@upstash/redis': 1.22.1(encoding@0.1.13)
'@upstash/vector': 1.1.5
'@zilliz/milvus2-sdk-node': 2.3.5
apify-client: 2.9.3
assemblyai: 4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4)
cheerio: 1.0.0-rc.12
chromadb: 1.10.0(@google/generative-ai@0.24.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
cohere-ai: 7.10.0(encoding@0.1.13)
crypto-js: 4.2.0
d3-dsv: 2.0.0
epub2: 3.0.2(ts-toolbelt@9.6.0)
faiss-node: 0.5.1
fast-xml-parser: 4.4.1
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)
jsonwebtoken: 9.0.2
lodash: 4.17.21
lunary: 0.7.12(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0)
mammoth: 1.7.0
mongodb: 6.3.0(socks@2.8.1)
mysql2: 3.11.4
neo4j-driver: 5.27.0
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@5.5.2)(utf-8-validate@6.0.4)
pyodide: 0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
redis: 4.6.13
replicate: 0.31.1
srt-parser-2: 1.2.3
typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.13.9)(typescript@5.5.2))
weaviate-ts-client: 1.6.0(encoding@0.1.13)(graphql@16.8.1)
ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
transitivePeerDependencies:
- '@langchain/anthropic'
- '@langchain/aws'
- '@langchain/cohere'
- '@langchain/google-genai'
- '@langchain/google-vertexai'
- '@langchain/groq'
- '@langchain/mistralai'
- '@langchain/ollama'
- axios
- encoding
- handlebars
- peggy
'@langchain/community@0.3.37(gmuso3ozibpxvnycc4najtpjme)':
'@langchain/community@0.3.37(e20e1446692b9832ef6923c66d9136c7)':
dependencies:
'@browserbasehq/stagehand': 1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4)
'@ibm-cloud/watsonx-ai': 1.1.2
@ -22312,7 +21817,7 @@ snapshots:
flat: 5.0.2
ibm-cloud-sdk-core: 5.1.0
js-yaml: 4.1.0
langchain: 0.3.5(baow2b2cof4nlk4atveiu34rw4)
langchain: 0.3.5(25bb5699889c62e3e68432d9134140f8)
langsmith: 0.2.15(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
openai: 4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)
uuid: 10.0.0
@ -22329,7 +21834,7 @@ snapshots:
'@browserbasehq/sdk': 2.0.0(encoding@0.1.13)
'@datastax/astra-db-ts': 1.5.0
'@elastic/elasticsearch': 8.12.2
'@getzep/zep-cloud': 1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(baow2b2cof4nlk4atveiu34rw4))
'@getzep/zep-cloud': 1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(25bb5699889c62e3e68432d9134140f8))
'@getzep/zep-js': 0.9.0
'@gomomento/sdk': 1.68.1(encoding@0.1.13)
'@gomomento/sdk-core': 1.68.1
@ -22626,9 +22131,9 @@ snapshots:
- encoding
- supports-color
'@mem0/community@0.0.1(goevfp7woigrlmz3j4wfnkclra)':
'@mem0/community@0.0.1(8baf5033c14fff22b0882d0d0a5efc92)':
dependencies:
'@langchain/community': 0.3.37(gmuso3ozibpxvnycc4najtpjme)
'@langchain/community': 0.3.37(e20e1446692b9832ef6923c66d9136c7)
'@langchain/core': 0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
axios: 1.7.9(debug@4.3.4)
mem0ai: 2.1.12(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.12)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
@ -32473,7 +31978,7 @@ snapshots:
kuler@2.0.0: {}
langchain@0.3.5(baow2b2cof4nlk4atveiu34rw4):
langchain@0.3.5(25bb5699889c62e3e68432d9134140f8):
dependencies:
'@langchain/core': 0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
'@langchain/openai': 0.3.13(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
@ -32511,9 +32016,9 @@ snapshots:
dependencies:
mustache: 4.2.0
langfuse-langchain@3.3.4(langchain@0.3.5(baow2b2cof4nlk4atveiu34rw4)):
langfuse-langchain@3.3.4(langchain@0.3.5(25bb5699889c62e3e68432d9134140f8)):
dependencies:
langchain: 0.3.5(baow2b2cof4nlk4atveiu34rw4)
langchain: 0.3.5(25bb5699889c62e3e68432d9134140f8)
langfuse: 3.3.4
langfuse-core: 3.3.4