diff --git a/.github/workflows/autoSyncMergedPullRequest.yml b/.github/workflows/autoSyncMergedPullRequest.yml
new file mode 100644
index 00000000..a1f1fc33
--- /dev/null
+++ b/.github/workflows/autoSyncMergedPullRequest.yml
@@ -0,0 +1,33 @@
+name: autoSyncMergedPullRequest
+on:
+ pull_request_target:
+ types:
+ - closed
+ branches: ['main']
+jobs:
+ autoSyncMergedPullRequest:
+ if: github.event.pull_request.merged == true
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ steps:
+ - uses: actions/checkout@v3
+ - name: Show PR info
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ echo The PR #${{ github.event.pull_request.number }} was merged on main branch!
+ - name: Repository Dispatch
+ uses: peter-evans/repository-dispatch@v2
+ with:
+ token: ${{ secrets.AUTOSYNC_TOKEN }}
+ repository: ${{ secrets.AUTOSYNC_CH_URL }}
+ event-type: ${{ secrets.AUTOSYNC_PR_EVENT_TYPE }}
+ client-payload: >-
+ {
+ "ref": "${{ github.ref }}",
+ "prNumber": "${{ github.event.pull_request.number }}",
+ "prTitle": "${{ github.event.pull_request.title }}",
+ "prDescription": "${{ github.event.pull_request.description }}",
+ "sha": "${{ github.sha }}"
+ }
diff --git a/.github/workflows/autoSyncSingleCommit.yml b/.github/workflows/autoSyncSingleCommit.yml
new file mode 100644
index 00000000..0a8c7814
--- /dev/null
+++ b/.github/workflows/autoSyncSingleCommit.yml
@@ -0,0 +1,36 @@
+name: autoSyncSingleCommit
+on:
+ push:
+ branches:
+ - main
+jobs:
+ doNotAutoSyncSingleCommit:
+ if: github.event.commits[1] != null
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: IGNORE autoSyncSingleCommit
+ run: |
+ echo This single commit has came from a merged commit. We will ignore it. This case is handled in autoSyncMergedPullRequest workflow for merge commits comming from merged pull requests only! Beware, the regular merge commits are not handled by any workflow for the moment.
+ autoSyncSingleCommit:
+ if: github.event.commits[1] == null
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: autoSyncSingleCommit
+ env:
+ GITHUB_CONTEXT: ${{ toJSON(github) }}
+ run: |
+ echo Autosync a single commit with id: ${{ github.sha }} from openSource main branch towards cloud hosted version.
+ - name: Repository Dispatch
+ uses: peter-evans/repository-dispatch@v2
+ with:
+ token: ${{ secrets.AUTOSYNC_TOKEN }}
+ repository: ${{ secrets.AUTOSYNC_CH_URL }}
+ event-type: ${{ secrets.AUTOSYNC_SC_EVENT_TYPE }}
+ client-payload: >-
+ {
+ "ref": "${{ github.ref }}",
+ "sha": "${{ github.sha }}",
+ "commitMessage": "${{ github.event.commits[0].message }}"
+ }
diff --git a/CONTRIBUTING-ZH.md b/CONTRIBUTING-ZH.md
index b8abe495..13c36ca9 100644
--- a/CONTRIBUTING-ZH.md
+++ b/CONTRIBUTING-ZH.md
@@ -30,7 +30,7 @@
不确定要贡献什么?一些想法:
-- 从 Langchain 创建新组件
+- 从 `packages/components` 创建新组件
- 更新现有组件,如扩展功能、修复错误
- 添加新的 Chatflow 想法
@@ -40,7 +40,7 @@ Flowise 在一个单一的单体存储库中有 3 个不同的模块。
- `server`:用于提供 API 逻辑的 Node 后端
- `ui`:React 前端
-- `components`:Langchain 组件
+- `components`:Langchain/LlamaIndex 组件
#### 先决条件
@@ -123,7 +123,9 @@ Flowise 支持不同的环境变量来配置您的实例。您可以在 `package
| PORT | Flowise 运行的 HTTP 端口 | 数字 | 3000 |
| FLOWISE_USERNAME | 登录用户名 | 字符串 | |
| FLOWISE_PASSWORD | 登录密码 | 字符串 | |
+| FLOWISE_FILE_SIZE_LIMIT | 上传文件大小限制 | 字符串 | 50mb |
| DEBUG | 打印组件的日志 | 布尔值 | |
+| BLOB_STORAGE_PATH | 存储位置 | 字符串 | `your-home-dir/.flowise/storage` |
| LOG_PATH | 存储日志文件的位置 | 字符串 | `your-path/Flowise/logs` |
| LOG_LEVEL | 日志的不同级别 | 枚举字符串: `error`, `info`, `verbose`, `debug` | `info` |
| APIKEY_PATH | 存储 API 密钥的位置 | 字符串 | `your-path/Flowise/packages/server` |
@@ -138,6 +140,7 @@ Flowise 支持不同的环境变量来配置您的实例。您可以在 `package
| DATABASE_NAME | 数据库名称(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | |
| SECRETKEY_PATH | 保存加密密钥(用于加密/解密凭据)的位置 | 字符串 | `your-path/Flowise/packages/server` |
| FLOWISE_SECRETKEY_OVERWRITE | 加密密钥用于替代存储在 SECRETKEY_PATH 中的密钥 | 字符串 |
+| DISABLE_FLOWISE_TELEMETRY | 关闭遥测 | 字符串 |
您也可以在使用 `npx` 时指定环境变量。例如:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c933f1d4..ccf1379a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -30,7 +30,7 @@ Found an issue? [Report it](https://github.com/FlowiseAI/Flowise/issues/new/choo
Not sure what to contribute? Some ideas:
-- Create new components from Langchain
+- Create new components from `packages/components`
- Update existing components such as extending functionality, fixing bugs
- Add new chatflow ideas
@@ -40,7 +40,7 @@ Flowise has 3 different modules in a single mono repository.
- `server`: Node backend to serve API logics
- `ui`: React frontend
-- `components`: Langchain components
+- `components`: Third-party nodes integrations
#### Prerequisite
@@ -123,9 +123,13 @@ Flowise support different environment variables to configure your instance. You
| Variable | Description | Type | Default |
| --------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------ | ----------------------------------- |
| PORT | The HTTP port Flowise runs on | Number | 3000 |
+| CORS_ORIGINS | The allowed origins for all cross-origin HTTP calls | String | |
+| IFRAME_ORIGINS | The allowed origins for iframe src embedding | String | |
| FLOWISE_USERNAME | Username to login | String | |
| FLOWISE_PASSWORD | Password to login | String | |
+| FLOWISE_FILE_SIZE_LIMIT | Upload File Size Limit | String | 50mb |
| DEBUG | Print logs from components | Boolean | |
+| BLOB_STORAGE_PATH | Location where uploaded files are stored | String | `your-home-dir/.flowise/storage` |
| 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` |
| APIKEY_PATH | Location where api keys are saved | String | `your-path/Flowise/packages/server` |
@@ -138,8 +142,11 @@ Flowise support different environment variables to configure your instance. You
| DATABASE_USER | Database username (When DATABASE_TYPE is not sqlite) | String | |
| DATABASE_PASSWORD | Database password (When DATABASE_TYPE is not sqlite) | String | |
| DATABASE_NAME | Database name (When DATABASE_TYPE is not sqlite) | String | |
+| DATABASE_SSL_KEY_BASE64 | Database SSL client cert in base64 (takes priority over DATABASE_SSL) | Boolean | false |
+| DATABASE_SSL | Database connection overssl (When DATABASE_TYPE is postgre) | Boolean | false |
| SECRETKEY_PATH | Location where encryption key (used to encrypt/decrypt credentials) is saved | String | `your-path/Flowise/packages/server` |
| FLOWISE_SECRETKEY_OVERWRITE | Encryption key to be used instead of the key stored in SECRETKEY_PATH | String |
+| DISABLE_FLOWISE_TELEMETRY | Turn off telemetry | Boolean |
You can also specify the env variables when using `npx`. For example:
diff --git a/LICENSE.md b/LICENSE.md
index 0f4afcd1..80800001 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -2,22 +2,6 @@
Version 2.0, January 2004
http://www.apache.org/licenses/
-Flowise is governed by the Apache License 2.0, with additional terms and conditions outlined below:
-
-Flowise can be used for commercial purposes for "backend-as-a-service" for your applications or as a development platform for enterprises. However, under specific conditions, you must reach out to the project's administrators to secure a commercial license:
-
-a. Multi-tenant SaaS service: Unless you have explicit written authorization from Flowise, you may not utilize the Flowise source code to operate a multi-tenant SaaS service that closely resembles the Flowise cloud-based services.
-b. Logo and copyright information: While using Flowise in commercial application, you are prohibited from removing or altering the LOGO or copyright information displayed in the Flowise console and UI.
-
-For inquiries regarding licensing matters, please contact hello@flowiseai.com via email.
-
-Contributors are required to consent to the following terms related to their contributed code:
-
-a. The project maintainers have the authority to modify the open-source agreement to be more stringent or lenient.
-b. Contributed code can be used for commercial purposes, including Flowise's cloud-based services.
-
-All other rights and restrictions are in accordance with the Apache License 2.0.
-
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
diff --git a/README-ZH.md b/README-ZH.md
index f076891d..d2fe6223 100644
--- a/README-ZH.md
+++ b/README-ZH.md
@@ -71,7 +71,7 @@ Flowise 在一个单一的代码库中有 3 个不同的模块。
- `server`:用于提供 API 逻辑的 Node 后端
- `ui`:React 前端
-- `components`:Langchain 组件
+- `components`:第三方节点集成
### 先决条件
@@ -145,25 +145,40 @@ Flowise 支持不同的环境变量来配置您的实例。您可以在 `package
## 🌐 自托管
-### [Railway](https://docs.flowiseai.com/deployment/railway)
+在您现有的基础设施中部署自托管的 Flowise,我们支持各种[部署](https://docs.flowiseai.com/configuration/deployment)
-[](https://railway.app/template/pn4G8S?referralCode=WVNPD9)
+- [AWS](https://docs.flowiseai.com/deployment/aws)
+- [Azure](https://docs.flowiseai.com/deployment/azure)
+- [Digital Ocean](https://docs.flowiseai.com/deployment/digital-ocean)
+- [GCP](https://docs.flowiseai.com/deployment/gcp)
+-
+ 其他
-### [Render](https://docs.flowiseai.com/deployment/render)
+ - [Railway](https://docs.flowiseai.com/deployment/railway)
-[](https://docs.flowiseai.com/deployment/render)
+ [](https://railway.app/template/pn4G8S?referralCode=WVNPD9)
-### [HuggingFace Spaces](https://docs.flowiseai.com/deployment/hugging-face)
+ - [Render](https://docs.flowiseai.com/deployment/render)
-
+ [](https://docs.flowiseai.com/deployment/render)
-### [AWS](https://docs.flowiseai.com/deployment/aws)
+ - [HuggingFace Spaces](https://docs.flowiseai.com/deployment/hugging-face)
-### [Azure](https://docs.flowiseai.com/deployment/azure)
+
-### [DigitalOcean](https://docs.flowiseai.com/deployment/digital-ocean)
+ - [Elestio](https://elest.io/open-source/flowiseai)
-### [GCP](https://docs.flowiseai.com/deployment/gcp)
+ [](https://elest.io/open-source/flowiseai)
+
+ - [Sealos](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
+
+ [](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
+
+ - [RepoCloud](https://repocloud.io/details/?app_id=29)
+
+ [](https://repocloud.io/details/?app_id=29)
+
+
## 💻 云托管
diff --git a/README.md b/README.md
index c20e9d85..6ada9a2f 100644
--- a/README.md
+++ b/README.md
@@ -71,7 +71,7 @@ Flowise has 3 different modules in a single mono repository.
- `server`: Node backend to serve API logics
- `ui`: React frontend
-- `components`: Langchain components
+- `components`: Third-party nodes integrations
### Prerequisite
@@ -145,29 +145,40 @@ Flowise support different environment variables to configure your instance. You
## 🌐 Self Host
-### [Railway](https://docs.flowiseai.com/deployment/railway)
+Deploy Flowise self-hosted in your existing infrastructure, we support various [deployments](https://docs.flowiseai.com/configuration/deployment)
-[](https://railway.app/template/pn4G8S?referralCode=WVNPD9)
+- [AWS](https://docs.flowiseai.com/deployment/aws)
+- [Azure](https://docs.flowiseai.com/deployment/azure)
+- [Digital Ocean](https://docs.flowiseai.com/deployment/digital-ocean)
+- [GCP](https://docs.flowiseai.com/deployment/gcp)
+-
+ Others
-### [Render](https://docs.flowiseai.com/deployment/render)
+ - [Railway](https://docs.flowiseai.com/deployment/railway)
-[](https://docs.flowiseai.com/deployment/render)
+ [](https://railway.app/template/pn4G8S?referralCode=WVNPD9)
-### [Elestio](https://elest.io/open-source/flowiseai)
+ - [Render](https://docs.flowiseai.com/deployment/render)
-[](https://elest.io/open-source/flowiseai)
+ [](https://docs.flowiseai.com/deployment/render)
-### [HuggingFace Spaces](https://docs.flowiseai.com/deployment/hugging-face)
+ - [HuggingFace Spaces](https://docs.flowiseai.com/deployment/hugging-face)
-
+
-### [AWS](https://docs.flowiseai.com/deployment/aws)
+ - [Elestio](https://elest.io/open-source/flowiseai)
-### [Azure](https://docs.flowiseai.com/deployment/azure)
+ [](https://elest.io/open-source/flowiseai)
-### [DigitalOcean](https://docs.flowiseai.com/deployment/digital-ocean)
+ - [Sealos](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
-### [GCP](https://docs.flowiseai.com/deployment/gcp)
+ [](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
+
+ - [RepoCloud](https://repocloud.io/details/?app_id=29)
+
+ [](https://repocloud.io/details/?app_id=29)
+
+
## 💻 Cloud Hosted
diff --git a/artillery-load-test.yml b/artillery-load-test.yml
index 6b1c8140..809a2a8e 100644
--- a/artillery-load-test.yml
+++ b/artillery-load-test.yml
@@ -33,4 +33,4 @@ scenarios:
# Seconds
# Total Users = 2 + 3 + 3 = 8
# Each making 1 HTTP call
-# Over a duration of 3 seconds
+# Over a durations of 3 seconds
diff --git a/docker/.env.example b/docker/.env.example
index 967a1ab6..ee972c9a 100644
--- a/docker/.env.example
+++ b/docker/.env.example
@@ -3,6 +3,10 @@ DATABASE_PATH=/root/.flowise
APIKEY_PATH=/root/.flowise
SECRETKEY_PATH=/root/.flowise
LOG_PATH=/root/.flowise/logs
+BLOB_STORAGE_PATH=/root/.flowise/storage
+
+# CORS_ORIGINS="*"
+# IFRAME_ORIGINS="*"
# NUMBER_OF_PROXIES= 1
@@ -12,10 +16,13 @@ LOG_PATH=/root/.flowise/logs
# DATABASE_NAME="flowise"
# DATABASE_USER=""
# DATABASE_PASSWORD=""
+# DATABASE_SSL=true
+# DATABASE_SSL_KEY_BASE64=
# FLOWISE_USERNAME=user
# FLOWISE_PASSWORD=1234
# FLOWISE_SECRETKEY_OVERWRITE=myencryptionkey
+# FLOWISE_FILE_SIZE_LIMIT=50mb
# DEBUG=true
# LOG_LEVEL=debug (error | warn | info | verbose | debug)
# TOOL_FUNCTION_BUILTIN_DEP=crypto,fs
@@ -24,4 +31,6 @@ LOG_PATH=/root/.flowise/logs
# LANGCHAIN_TRACING_V2=true
# LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
# LANGCHAIN_API_KEY=your_api_key
-# LANGCHAIN_PROJECT=your_project
\ No newline at end of file
+# LANGCHAIN_PROJECT=your_project
+
+# DISABLE_FLOWISE_TELEMETRY=true
\ No newline at end of file
diff --git a/docker/README.md b/docker/README.md
index d3ad1c19..49ce57c0 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -1,6 +1,6 @@
# Flowise Docker Hub Image
-Starts Flowise from [DockerHub Image](https://hub.docker.com/repository/docker/flowiseai/flowise/general)
+Starts Flowise from [DockerHub Image](https://hub.docker.com/r/flowiseai/flowise)
## Usage
@@ -31,5 +31,6 @@ If you like to persist your data (flows, logs, apikeys, credentials), set these
- APIKEY_PATH=/root/.flowise
- LOG_PATH=/root/.flowise/logs
- SECRETKEY_PATH=/root/.flowise
+- BLOB_STORAGE_PATH=/root/.flowise/storage
Flowise also support different environment variables to configure your instance. Read [more](https://docs.flowiseai.com/environment-variables)
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 8e0e1af5..4bee2e39 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -6,8 +6,11 @@ services:
restart: always
environment:
- PORT=${PORT}
+ - CORS_ORIGINS=${CORS_ORIGINS}
+ - IFRAME_ORIGINS=${IFRAME_ORIGINS}
- FLOWISE_USERNAME=${FLOWISE_USERNAME}
- FLOWISE_PASSWORD=${FLOWISE_PASSWORD}
+ - FLOWISE_FILE_SIZE_LIMIT=${FLOWISE_FILE_SIZE_LIMIT}
- DEBUG=${DEBUG}
- DATABASE_PATH=${DATABASE_PATH}
- DATABASE_TYPE=${DATABASE_TYPE}
@@ -16,11 +19,15 @@ services:
- DATABASE_NAME=${DATABASE_NAME}
- DATABASE_USER=${DATABASE_USER}
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
+ - DATABASE_SSL=${DATABASE_SSL}
+ - DATABASE_SSL_KEY_BASE64=${DATABASE_SSL_KEY_BASE64}
- APIKEY_PATH=${APIKEY_PATH}
- SECRETKEY_PATH=${SECRETKEY_PATH}
- FLOWISE_SECRETKEY_OVERWRITE=${FLOWISE_SECRETKEY_OVERWRITE}
- LOG_LEVEL=${LOG_LEVEL}
- LOG_PATH=${LOG_PATH}
+ - BLOB_STORAGE_PATH=${BLOB_STORAGE_PATH}
+ - DISABLE_FLOWISE_TELEMETRY=${DISABLE_FLOWISE_TELEMETRY}
ports:
- '${PORT}:${PORT}'
volumes:
diff --git a/package.json b/package.json
index d8a16a13..5bbc5b64 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "flowise",
- "version": "1.4.3",
+ "version": "1.6.0",
"private": true,
"homepage": "https://flowiseai.com",
"workspaces": [
@@ -60,5 +60,8 @@
},
"engines": {
"node": ">=18.15.0 <19.0.0 || ^20"
+ },
+ "resolutions": {
+ "@qdrant/openapi-typescript-fetch": "1.2.1"
}
}
diff --git a/packages/components/credentials/ZapierNLAApi.credential.ts b/packages/components/credentials/AssemblyAI.credential.ts
similarity index 51%
rename from packages/components/credentials/ZapierNLAApi.credential.ts
rename to packages/components/credentials/AssemblyAI.credential.ts
index 72035660..019cd7aa 100644
--- a/packages/components/credentials/ZapierNLAApi.credential.ts
+++ b/packages/components/credentials/AssemblyAI.credential.ts
@@ -1,24 +1,23 @@
import { INodeParams, INodeCredential } from '../src/Interface'
-class ZapierNLAApi implements INodeCredential {
+class AssemblyAIApi implements INodeCredential {
label: string
name: string
version: number
- description: string
inputs: INodeParams[]
constructor() {
- this.label = 'Zapier NLA API'
- this.name = 'zapierNLAApi'
+ this.label = 'AssemblyAI API'
+ this.name = 'assemblyAIApi'
this.version = 1.0
this.inputs = [
{
- label: 'Zapier NLA Api Key',
- name: 'zapierNLAApiKey',
+ label: 'AssemblyAI Api Key',
+ name: 'assemblyAIApiKey',
type: 'password'
}
]
}
}
-module.exports = { credClass: ZapierNLAApi }
+module.exports = { credClass: AssemblyAIApi }
diff --git a/packages/components/credentials/AstraApi.credential.ts b/packages/components/credentials/AstraApi.credential.ts
new file mode 100644
index 00000000..a89a259f
--- /dev/null
+++ b/packages/components/credentials/AstraApi.credential.ts
@@ -0,0 +1,34 @@
+import { INodeParams, INodeCredential } from '../src/Interface'
+
+class AstraDBApi implements INodeCredential {
+ label: string
+ name: string
+ version: number
+ description: string
+ inputs: INodeParams[]
+
+ constructor() {
+ this.label = 'Astra DB API'
+ this.name = 'AstraDBApi'
+ this.version = 1.0
+ this.inputs = [
+ {
+ label: 'Astra DB Collection Name',
+ name: 'collectionName',
+ type: 'string'
+ },
+ {
+ label: 'Astra DB Application Token',
+ name: 'applicationToken',
+ type: 'password'
+ },
+ {
+ label: 'Astra DB Api Endpoint',
+ name: 'dbEndPoint',
+ type: 'string'
+ }
+ ]
+ }
+}
+
+module.exports = { credClass: AstraDBApi }
diff --git a/packages/components/credentials/GoogleGenerativeAI.credential.ts b/packages/components/credentials/GoogleGenerativeAI.credential.ts
new file mode 100644
index 00000000..e5ad45bf
--- /dev/null
+++ b/packages/components/credentials/GoogleGenerativeAI.credential.ts
@@ -0,0 +1,26 @@
+import { INodeParams, INodeCredential } from '../src/Interface'
+
+class GoogleGenerativeAICredential implements INodeCredential {
+ label: string
+ name: string
+ version: number
+ description: string
+ inputs: INodeParams[]
+
+ constructor() {
+ this.label = 'Google Generative AI'
+ this.name = 'googleGenerativeAI'
+ this.version = 1.0
+ this.description =
+ 'You can get your API key from official page here.'
+ this.inputs = [
+ {
+ label: 'Google AI API Key',
+ name: 'googleGenerativeAPIKey',
+ type: 'password'
+ }
+ ]
+ }
+}
+
+module.exports = { credClass: GoogleGenerativeAICredential }
diff --git a/packages/components/credentials/GroqApi.credential.ts b/packages/components/credentials/GroqApi.credential.ts
new file mode 100644
index 00000000..a1c79060
--- /dev/null
+++ b/packages/components/credentials/GroqApi.credential.ts
@@ -0,0 +1,23 @@
+import { INodeParams, INodeCredential } from '../src/Interface'
+
+class GroqApi implements INodeCredential {
+ label: string
+ name: string
+ version: number
+ inputs: INodeParams[]
+
+ constructor() {
+ this.label = 'Groq API'
+ this.name = 'groqApi'
+ this.version = 1.0
+ this.inputs = [
+ {
+ label: 'Groq Api Key',
+ name: 'groqApiKey',
+ type: 'password'
+ }
+ ]
+ }
+}
+
+module.exports = { credClass: GroqApi }
diff --git a/packages/components/credentials/LocalAIApi.credential.ts b/packages/components/credentials/LocalAIApi.credential.ts
new file mode 100644
index 00000000..4aafe040
--- /dev/null
+++ b/packages/components/credentials/LocalAIApi.credential.ts
@@ -0,0 +1,23 @@
+import { INodeParams, INodeCredential } from '../src/Interface'
+
+class LocalAIApi implements INodeCredential {
+ label: string
+ name: string
+ version: number
+ inputs: INodeParams[]
+
+ constructor() {
+ this.label = 'LocalAI API'
+ this.name = 'localAIApi'
+ this.version = 1.0
+ this.inputs = [
+ {
+ label: 'LocalAI Api Key',
+ name: 'localAIApiKey',
+ type: 'password'
+ }
+ ]
+ }
+}
+
+module.exports = { credClass: LocalAIApi }
diff --git a/packages/components/credentials/LLMonitorApi.credential.ts b/packages/components/credentials/LunaryApi.credential.ts
similarity index 55%
rename from packages/components/credentials/LLMonitorApi.credential.ts
rename to packages/components/credentials/LunaryApi.credential.ts
index e5ecc8ab..b68b6750 100644
--- a/packages/components/credentials/LLMonitorApi.credential.ts
+++ b/packages/components/credentials/LunaryApi.credential.ts
@@ -1,6 +1,6 @@
import { INodeParams, INodeCredential } from '../src/Interface'
-class LLMonitorApi implements INodeCredential {
+class LunaryApi implements INodeCredential {
label: string
name: string
version: number
@@ -8,25 +8,25 @@ class LLMonitorApi implements INodeCredential {
inputs: INodeParams[]
constructor() {
- this.label = 'LLMonitor API'
- this.name = 'llmonitorApi'
+ this.label = 'Lunary API'
+ this.name = 'lunaryApi'
this.version = 1.0
- this.description = 'Refer to official guide to get APP ID'
+ this.description = 'Refer to official guide to get APP ID'
this.inputs = [
{
label: 'APP ID',
- name: 'llmonitorAppId',
+ name: 'lunaryAppId',
type: 'password',
- placeholder: ''
+ placeholder: ''
},
{
label: 'Endpoint',
- name: 'llmonitorEndpoint',
+ name: 'lunaryEndpoint',
type: 'string',
- default: 'https://app.llmonitor.com'
+ default: 'https://app.lunary.ai'
}
]
}
}
-module.exports = { credClass: LLMonitorApi }
+module.exports = { credClass: LunaryApi }
diff --git a/packages/components/credentials/MistralApi.credential.ts b/packages/components/credentials/MistralApi.credential.ts
new file mode 100644
index 00000000..a254f665
--- /dev/null
+++ b/packages/components/credentials/MistralApi.credential.ts
@@ -0,0 +1,25 @@
+import { INodeParams, INodeCredential } from '../src/Interface'
+
+class MistralAICredential implements INodeCredential {
+ label: string
+ name: string
+ version: number
+ description: string
+ inputs: INodeParams[]
+
+ constructor() {
+ this.label = 'MistralAI API'
+ this.name = 'mistralAIApi'
+ this.version = 1.0
+ this.description = 'You can get your API key from official console here.'
+ this.inputs = [
+ {
+ label: 'MistralAI API Key',
+ name: 'mistralAIAPIKey',
+ type: 'password'
+ }
+ ]
+ }
+}
+
+module.exports = { credClass: MistralAICredential }
diff --git a/packages/components/credentials/PineconeApi.credential.ts b/packages/components/credentials/PineconeApi.credential.ts
index 4c5f62fe..486c9834 100644
--- a/packages/components/credentials/PineconeApi.credential.ts
+++ b/packages/components/credentials/PineconeApi.credential.ts
@@ -16,11 +16,6 @@ class PineconeApi implements INodeCredential {
label: 'Pinecone Api Key',
name: 'pineconeApiKey',
type: 'password'
- },
- {
- label: 'Pinecone Environment',
- name: 'pineconeEnv',
- type: 'string'
}
]
}
diff --git a/packages/components/credentials/RedisCacheApi.credential.ts b/packages/components/credentials/RedisCacheApi.credential.ts
index 4d1a2498..2b4ad618 100644
--- a/packages/components/credentials/RedisCacheApi.credential.ts
+++ b/packages/components/credentials/RedisCacheApi.credential.ts
@@ -35,6 +35,11 @@ class RedisCacheApi implements INodeCredential {
name: 'redisCachePwd',
type: 'password',
placeholder: ''
+ },
+ {
+ label: 'Use SSL',
+ name: 'redisCacheSslEnabled',
+ type: 'boolean'
}
]
}
diff --git a/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts b/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts
index 7bdbb65a..3113cdfe 100644
--- a/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts
+++ b/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts
@@ -1,11 +1,11 @@
-import { ICommonObject, INode, INodeData, INodeParams, PromptTemplate } from '../../../src/Interface'
-import { AgentExecutor } from 'langchain/agents'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { LoadPyodide, finalSystemPrompt, systemPrompt } from './core'
-import { LLMChain } from 'langchain/chains'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
import axios from 'axios'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { AgentExecutor } from 'langchain/agents'
+import { LLMChain } from 'langchain/chains'
+import { ICommonObject, INode, INodeData, INodeParams, PromptTemplate } from '../../../src/Interface'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { LoadPyodide, finalSystemPrompt, systemPrompt } from './core'
class Airtable_Agents implements INode {
label: string
diff --git a/packages/components/nodes/agents/AirtableAgent/airtable.svg b/packages/components/nodes/agents/AirtableAgent/airtable.svg
index 867c3b5a..5c2a9950 100644
--- a/packages/components/nodes/agents/AirtableAgent/airtable.svg
+++ b/packages/components/nodes/agents/AirtableAgent/airtable.svg
@@ -1,9 +1,5 @@
-
-