{"record":{"id":"3b7ea6fa2923b3d4","repo":"n8n-io/n8n","slug":"error-message","errorCode":null,"errorMessage":"${error.message}","messagePattern":"\\$\\{error\\.message\\}","errorType":"exception","errorClass":"NodeOperationError","httpStatus":null,"severity":"error","filePath":"packages/@n8n/nodes-langchain/nodes/vector_store/VectorStoreZep/VectorStoreZep.node.ts","lineNumber":148,"sourceCode":"\t\t\tif (credentials.cloud) {\n\t\t\t\tawait ZepCloudVectorStore.fromDocuments(documents, embeddings, zepConfig);\n\t\t\t} else {\n\t\t\t\tawait ZepVectorStore.fromDocuments(documents, embeddings, {\n\t\t\t\t\t...zepConfig,\n\t\t\t\t\tapiUrl: credentials.apiUrl,\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconst errorCode = (error as IDataObject).code as number;\n\t\t\tconst responseData = (error as IDataObject).responseData as string;\n\t\t\tif (errorCode === 400 && responseData.includes('CreateDocumentCollectionRequest')) {\n\t\t\t\tthrow new NodeOperationError(context.getNode(), `Collection ${collectionName} not found`, {\n\t\t\t\t\titemIndex,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Please check that the collection exists in your vector store, or make sure that collection name contains only alphanumeric characters',\n\t\t\t\t});\n\t\t\t}\n\t\t\tthrow new NodeOperationError(context.getNode(), error as Error, { itemIndex });\n\t\t}\n\t},\n}) {}\n","sourceCodeStart":130,"sourceCodeEnd":152,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/nodes-langchain/nodes/vector_store/VectorStoreZep/VectorStoreZep.node.ts#L130-L152","documentation":"The fallback rethrow in the Zep populate catch block: when the error is not the specific 400/CreateDocumentCollectionRequest shape, n8n wraps the raw error object as a NodeOperationError. The message echoes the underlying error via NodeOperationError(error).","triggerScenarios":"ZepCloudVectorStore.fromDocuments / ZepVectorStore.fromDocuments rejects for any reason other than the collection-creation 400 — e.g. auth failure (bad apiKey), network error, embedding dimension mismatch, rate limiting, apiUrl unreachable, or responseData being undefined so the .includes() check itself is bypassed/thrown.","commonSituations":"Wrong/missing Zep API key; self-hosted apiUrl wrong/unreachable; embeddingDimensions option does not match the model; Zep rate-limits or returns 5xx; the response shape changed so the code/data extraction yields undefined.","solutions":["Read the full wrapped error in node output/logs to get the real cause (auth, network, dimension, etc.).","Verify the zepApi credential apiKey and (for self-hosted) apiUrl are correct and reachable from the n8n host.","Set embeddingDimensions to match your embedding model's output dimension.","If the 400 branch never matched but you expected it to, note responseData.includes(...) can itself throw when responseData is undefined — treat any untyped Zep error as 'inspect the original'.","Retry after rate-limit windows; check Zep service health for 5xx."],"exampleFix":"// before: embeddingDimensions defaulted to 1536 but model outputs 3072\n// after:  set embeddingDimensions = 3072 to match the configured embeddings model","handlingStrategy":"try-catch","validationCode":"// pre-flight the Zep connection + dimensions\nif (!credentials.apiKey) throw new Error('Missing zepApi apiKey'); if (options.embeddingDimensions && options.embeddingDimensions !== modelDim) throw new Error('embeddingDimensions mismatch');","typeGuard":"function isZepError(e: unknown): e is { code: number; responseData: string } { return !!e && typeof (e as any).code === 'number' && typeof (e as any).responseData === 'string'; }","tryCatchPattern":"try { await ZepVectorStore.fromDocuments(...) } catch (e) { logOriginal(e); if (isAuthError(e)) refreshCredentials(); else throw new Error(`Zep populate failed: ${(e as Error).message}`); }","preventionTips":["Always preserve the original error when wrapping so the cause survives.","Guard responseData before calling .includes() — it can be undefined and throw itself.","Validate apiKey, apiUrl, and embeddingDimensions before the call.","Retry transient 5xx/rate-limit errors with backoff."],"tags":["zep","vector-store","generic","credentials","embeddings"],"backgroundTag":null,"analyzedSha":"5ac6606e81f67bb9534255570cd4e86fd8101eee","analyzedAt":"2026-08-12T05:26:35.080Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}