Skip to content

Commit 3a173cf

Browse files
authored
Merge pull request #1174 from FlowiseAI/bugfix/Replace-Undefined
Bugfix/Cannot read properties of undefined (replace)
2 parents 43c8ae5 + 6cc0811 commit 3a173cf

File tree

15 files changed

+45
-17
lines changed

15 files changed

+45
-17
lines changed

packages/components/nodes/chains/ConversationChain/ConversationChain.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ class ConversationChain_Chains implements INode {
7171
const flattenDocs = docs && docs.length ? flatten(docs) : []
7272
const finalDocs = []
7373
for (let i = 0; i < flattenDocs.length; i += 1) {
74-
finalDocs.push(new Document(flattenDocs[i]))
74+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
75+
finalDocs.push(new Document(flattenDocs[i]))
76+
}
7577
}
7678

7779
let finalText = ''

packages/components/nodes/vectorstores/Chroma/Chroma_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ class ChromaUpsert_VectorStores implements INode {
9898
const flattenDocs = docs && docs.length ? flatten(docs) : []
9999
const finalDocs = []
100100
for (let i = 0; i < flattenDocs.length; i += 1) {
101-
finalDocs.push(new Document(flattenDocs[i]))
101+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
102+
finalDocs.push(new Document(flattenDocs[i]))
103+
}
102104
}
103105

104106
const obj: {

packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ class ElasicsearchUpsert_VectorStores extends ElasticSearchBase implements INode
3838
const flattenDocs = docs && docs.length ? flatten(docs) : []
3939
const finalDocs = []
4040
for (let i = 0; i < flattenDocs.length; i += 1) {
41-
finalDocs.push(new Document(flattenDocs[i]))
41+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
42+
finalDocs.push(new Document(flattenDocs[i]))
43+
}
4244
}
4345

4446
// The following code is a workaround for a bug (Langchain Issue #1589) in the underlying library.

packages/components/nodes/vectorstores/Faiss_Upsert/Faiss_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ class FaissUpsert_VectorStores implements INode {
8080
const flattenDocs = docs && docs.length ? flatten(docs) : []
8181
const finalDocs = []
8282
for (let i = 0; i < flattenDocs.length; i += 1) {
83-
finalDocs.push(new Document(flattenDocs[i]))
83+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
84+
finalDocs.push(new Document(flattenDocs[i]))
85+
}
8486
}
8587

8688
const vectorStore = await FaissStore.fromDocuments(finalDocs, embeddings)

packages/components/nodes/vectorstores/InMemory/InMemoryVectorStore.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class InMemoryVectorStore_VectorStores implements INode {
7171
const flattenDocs = docs && docs.length ? flatten(docs) : []
7272
const finalDocs = []
7373
for (let i = 0; i < flattenDocs.length; i += 1) {
74-
if (flattenDocs[i] !== undefined && flattenDocs[i].pageContent !== undefined) {
74+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
7575
finalDocs.push(new Document(flattenDocs[i]))
7676
}
7777
}

packages/components/nodes/vectorstores/Milvus/Milvus_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,9 @@ class Milvus_Upsert_VectorStores implements INode {
110110
const flattenDocs = docs && docs.length ? flatten(docs) : []
111111
const finalDocs = []
112112
for (let i = 0; i < flattenDocs.length; i += 1) {
113-
finalDocs.push(new Document(flattenDocs[i]))
113+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
114+
finalDocs.push(new Document(flattenDocs[i]))
115+
}
114116
}
115117

116118
const vectorStore = await MilvusUpsert.fromDocuments(finalDocs, embeddings, milVusArgs)

packages/components/nodes/vectorstores/OpenSearch_Upsert/OpenSearch_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ class OpenSearchUpsert_VectorStores implements INode {
8686
const flattenDocs = docs && docs.length ? flatten(docs) : []
8787
const finalDocs = []
8888
for (let i = 0; i < flattenDocs.length; i += 1) {
89-
finalDocs.push(new Document(flattenDocs[i]))
89+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
90+
finalDocs.push(new Document(flattenDocs[i]))
91+
}
9092
}
9193

9294
const client = new Client({

packages/components/nodes/vectorstores/Pinecone/Pinecone_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,9 @@ class PineconeUpsert_VectorStores implements INode {
106106
const flattenDocs = docs && docs.length ? flatten(docs) : []
107107
const finalDocs = []
108108
for (let i = 0; i < flattenDocs.length; i += 1) {
109-
finalDocs.push(new Document(flattenDocs[i]))
109+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
110+
finalDocs.push(new Document(flattenDocs[i]))
111+
}
110112
}
111113

112114
const obj: PineconeLibArgs = {

packages/components/nodes/vectorstores/Postgres_Upsert/Postgres_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,9 @@ class PostgresUpsert_VectorStores implements INode {
143143
const flattenDocs = docs && docs.length ? flatten(docs) : []
144144
const finalDocs = []
145145
for (let i = 0; i < flattenDocs.length; i += 1) {
146-
finalDocs.push(new Document(flattenDocs[i]))
146+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
147+
finalDocs.push(new Document(flattenDocs[i]))
148+
}
147149
}
148150

149151
const vectorStore = await TypeORMVectorStore.fromDocuments(finalDocs, embeddings, args)

packages/components/nodes/vectorstores/Qdrant_Upsert/Qdrant_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,9 @@ class QdrantUpsert_VectorStores implements INode {
147147
const flattenDocs = docs && docs.length ? flatten(docs) : []
148148
const finalDocs = []
149149
for (let i = 0; i < flattenDocs.length; i += 1) {
150-
finalDocs.push(new Document(flattenDocs[i]))
150+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
151+
finalDocs.push(new Document(flattenDocs[i]))
152+
}
151153
}
152154

153155
const dbConfig: QdrantLibArgs = {

packages/components/nodes/vectorstores/Redis/Redis_Upsert.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,11 @@ class RedisUpsert_VectorStores extends RedisSearchBase implements INode {
4949
const flattenDocs = docs && docs.length ? flatten(docs) : []
5050
const finalDocs = []
5151
for (let i = 0; i < flattenDocs.length; i += 1) {
52-
const document = new Document(flattenDocs[i])
53-
escapeAllStrings(document.metadata)
54-
finalDocs.push(document)
52+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
53+
const document = new Document(flattenDocs[i])
54+
escapeAllStrings(document.metadata)
55+
finalDocs.push(document)
56+
}
5557
}
5658

5759
return super.init(nodeData, _, options, flattenDocs)

packages/components/nodes/vectorstores/Singlestore_Upsert/Singlestore_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,9 @@ class SingleStoreUpsert_VectorStores implements INode {
140140
const flattenDocs = docs && docs.length ? flatten(docs) : []
141141
const finalDocs = []
142142
for (let i = 0; i < flattenDocs.length; i += 1) {
143-
finalDocs.push(new Document(flattenDocs[i]))
143+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
144+
finalDocs.push(new Document(flattenDocs[i]))
145+
}
144146
}
145147

146148
let vectorStore: SingleStoreVectorStore

packages/components/nodes/vectorstores/Vectara/Vectara_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ class VectaraUpsert_VectorStores implements INode {
132132
const flattenDocs = docs && docs.length ? flatten(docs) : []
133133
const finalDocs = []
134134
for (let i = 0; i < flattenDocs.length; i += 1) {
135-
finalDocs.push(new Document(flattenDocs[i]))
135+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
136+
finalDocs.push(new Document(flattenDocs[i]))
137+
}
136138
}
137139

138140
const vectorStore = await VectaraStore.fromDocuments(finalDocs, embeddings, vectaraArgs)

packages/components/nodes/vectorstores/Weaviate_Upsert/Weaviate_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,9 @@ class WeaviateUpsert_VectorStores implements INode {
143143
const flattenDocs = docs && docs.length ? flatten(docs) : []
144144
const finalDocs = []
145145
for (let i = 0; i < flattenDocs.length; i += 1) {
146-
finalDocs.push(new Document(flattenDocs[i]))
146+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
147+
finalDocs.push(new Document(flattenDocs[i]))
148+
}
147149
}
148150

149151
const obj: WeaviateLibArgs = {

packages/components/nodes/vectorstores/Zep/Zep_Upsert.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,9 @@ class Zep_Upsert_VectorStores implements INode {
106106
const flattenDocs = docs && docs.length ? flatten(docs) : []
107107
const finalDocs = []
108108
for (let i = 0; i < flattenDocs.length; i += 1) {
109-
finalDocs.push(new Document(flattenDocs[i]))
109+
if (flattenDocs[i] && flattenDocs[i].pageContent) {
110+
finalDocs.push(new Document(flattenDocs[i]))
111+
}
110112
}
111113

112114
const zepConfig: IZepConfig = {

0 commit comments

Comments
 (0)