diff --git a/1.8.0.html b/1.8.0.html index 5a25f5105f..1f622952f9 100644 --- a/1.8.0.html +++ b/1.8.0.html @@ -25,7 +25,7 @@ - +
diff --git a/1.8.0/agent-tutorial.html b/1.8.0/agent-tutorial.html index e0e01efb81..ed6914c0bd 100644 --- a/1.8.0/agent-tutorial.html +++ b/1.8.0/agent-tutorial.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/agents-tools.html b/1.8.0/agents-tools.html index 32793b9ec5..bc2d150929 100644 --- a/1.8.0/agents-tools.html +++ b/1.8.0/agents-tools.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/agents.html b/1.8.0/agents.html index f8891dfa58..ba9c239be7 100644 --- a/1.8.0/agents.html +++ b/1.8.0/agents.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-build.html b/1.8.0/api-build.html index 2f42ba7ef4..7787b60dfd 100644 --- a/1.8.0/api-build.html +++ b/1.8.0/api-build.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-files.html b/1.8.0/api-files.html index 562041e342..cab63dd4cc 100644 --- a/1.8.0/api-files.html +++ b/1.8.0/api-files.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-flows-run.html b/1.8.0/api-flows-run.html index 456317a617..80086378d7 100644 --- a/1.8.0/api-flows-run.html +++ b/1.8.0/api-flows-run.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-flows.html b/1.8.0/api-flows.html index d596d7f4a6..a863666871 100644 --- a/1.8.0/api-flows.html +++ b/1.8.0/api-flows.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-keys-and-authentication.html b/1.8.0/api-keys-and-authentication.html index 7454c9a8ee..a7556cedeb 100644 --- a/1.8.0/api-keys-and-authentication.html +++ b/1.8.0/api-keys-and-authentication.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-logs.html b/1.8.0/api-logs.html index 52b5afd210..f59c846a2f 100644 --- a/1.8.0/api-logs.html +++ b/1.8.0/api-logs.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-monitor.html b/1.8.0/api-monitor.html index a3ead1a737..731bce7a15 100644 --- a/1.8.0/api-monitor.html +++ b/1.8.0/api-monitor.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-openai-responses.html b/1.8.0/api-openai-responses.html index 468f14bf50..aa5d330e3d 100644 --- a/1.8.0/api-openai-responses.html +++ b/1.8.0/api-openai-responses.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-projects.html b/1.8.0/api-projects.html index 3d6534d58d..9463eeef25 100644 --- a/1.8.0/api-projects.html +++ b/1.8.0/api-projects.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-reference-api-examples.html b/1.8.0/api-reference-api-examples.html index 3b1d82efb8..91620e07ae 100644 --- a/1.8.0/api-reference-api-examples.html +++ b/1.8.0/api-reference-api-examples.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-request.html b/1.8.0/api-request.html index 73e08beee8..1ceee0ca39 100644 --- a/1.8.0/api-request.html +++ b/1.8.0/api-request.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/api-users.html b/1.8.0/api-users.html index ce6daf490c..e3331bbc03 100644 --- a/1.8.0/api-users.html +++ b/1.8.0/api-users.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/batch-run.html b/1.8.0/batch-run.html index 2075ad5da5..dec1275ffd 100644 --- a/1.8.0/batch-run.html +++ b/1.8.0/batch-run.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-agentics.html b/1.8.0/bundles-agentics.html index 1a2c612778..cbc240c6b0 100644 --- a/1.8.0/bundles-agentics.html +++ b/1.8.0/bundles-agentics.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-aiml.html b/1.8.0/bundles-aiml.html index 7650b21179..59c0686d4c 100644 --- a/1.8.0/bundles-aiml.html +++ b/1.8.0/bundles-aiml.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-altk.html b/1.8.0/bundles-altk.html index 334d9a42ce..eff40000ed 100644 --- a/1.8.0/bundles-altk.html +++ b/1.8.0/bundles-altk.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-amazon.html b/1.8.0/bundles-amazon.html index 64057c31cc..a354a7e27c 100644 --- a/1.8.0/bundles-amazon.html +++ b/1.8.0/bundles-amazon.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-anthropic.html b/1.8.0/bundles-anthropic.html index 5cf8868896..fb50e31a4a 100644 --- a/1.8.0/bundles-anthropic.html +++ b/1.8.0/bundles-anthropic.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-apify.html b/1.8.0/bundles-apify.html index c5eedcdedd..a22ab46272 100644 --- a/1.8.0/bundles-apify.html +++ b/1.8.0/bundles-apify.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-arxiv.html b/1.8.0/bundles-arxiv.html index 65be990a03..c368a34385 100644 --- a/1.8.0/bundles-arxiv.html +++ b/1.8.0/bundles-arxiv.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-assemblyai.html b/1.8.0/bundles-assemblyai.html index 71b502d0c6..4c9a6b0c91 100644 --- a/1.8.0/bundles-assemblyai.html +++ b/1.8.0/bundles-assemblyai.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-azure.html b/1.8.0/bundles-azure.html index 18005d94c5..29b689bc82 100644 --- a/1.8.0/bundles-azure.html +++ b/1.8.0/bundles-azure.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-baidu.html b/1.8.0/bundles-baidu.html index 5a41627f44..3175354fda 100644 --- a/1.8.0/bundles-baidu.html +++ b/1.8.0/bundles-baidu.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-bing.html b/1.8.0/bundles-bing.html index 98f5a8beb3..d477bbfb00 100644 --- a/1.8.0/bundles-bing.html +++ b/1.8.0/bundles-bing.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-cassandra.html b/1.8.0/bundles-cassandra.html index 823deb8ee4..256fce4d15 100644 --- a/1.8.0/bundles-cassandra.html +++ b/1.8.0/bundles-cassandra.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-chroma.html b/1.8.0/bundles-chroma.html index 2d7b3d4d6a..e8df6f0654 100644 --- a/1.8.0/bundles-chroma.html +++ b/1.8.0/bundles-chroma.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-cleanlab.html b/1.8.0/bundles-cleanlab.html index 9362c90752..006ea4905a 100644 --- a/1.8.0/bundles-cleanlab.html +++ b/1.8.0/bundles-cleanlab.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-clickhouse.html b/1.8.0/bundles-clickhouse.html index 76a0136db9..20566c9573 100644 --- a/1.8.0/bundles-clickhouse.html +++ b/1.8.0/bundles-clickhouse.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-cloudflare.html b/1.8.0/bundles-cloudflare.html index e41aebdc03..7b8f8ee6e8 100644 --- a/1.8.0/bundles-cloudflare.html +++ b/1.8.0/bundles-cloudflare.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-cohere.html b/1.8.0/bundles-cohere.html index 0bc38a117c..24af5a91f3 100644 --- a/1.8.0/bundles-cohere.html +++ b/1.8.0/bundles-cohere.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-cometapi.html b/1.8.0/bundles-cometapi.html index 41333eec2c..04eb1e8c85 100644 --- a/1.8.0/bundles-cometapi.html +++ b/1.8.0/bundles-cometapi.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-composio.html b/1.8.0/bundles-composio.html index 200b55d3b8..65d0129caa 100644 --- a/1.8.0/bundles-composio.html +++ b/1.8.0/bundles-composio.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-couchbase.html b/1.8.0/bundles-couchbase.html index f65f16f907..0f0a61f213 100644 --- a/1.8.0/bundles-couchbase.html +++ b/1.8.0/bundles-couchbase.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-cuga.html b/1.8.0/bundles-cuga.html index 91ec25bf67..d76f01e250 100644 --- a/1.8.0/bundles-cuga.html +++ b/1.8.0/bundles-cuga.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-datastax.html b/1.8.0/bundles-datastax.html index 48a189492a..4226b07d4a 100644 --- a/1.8.0/bundles-datastax.html +++ b/1.8.0/bundles-datastax.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-deepseek.html b/1.8.0/bundles-deepseek.html index 167a634ef1..8d85d2d37a 100644 --- a/1.8.0/bundles-deepseek.html +++ b/1.8.0/bundles-deepseek.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-docling.html b/1.8.0/bundles-docling.html index a1da5e9b8d..a5f8b54c65 100644 --- a/1.8.0/bundles-docling.html +++ b/1.8.0/bundles-docling.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-duckduckgo.html b/1.8.0/bundles-duckduckgo.html index 993d137a05..65e1dd9e0f 100644 --- a/1.8.0/bundles-duckduckgo.html +++ b/1.8.0/bundles-duckduckgo.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-elastic.html b/1.8.0/bundles-elastic.html index 4a94a545df..49daea11fe 100644 --- a/1.8.0/bundles-elastic.html +++ b/1.8.0/bundles-elastic.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-exa.html b/1.8.0/bundles-exa.html index 196c8bd7c7..7af66e23cf 100644 --- a/1.8.0/bundles-exa.html +++ b/1.8.0/bundles-exa.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-faiss.html b/1.8.0/bundles-faiss.html index 2590d5ab66..0f45ecfeaf 100644 --- a/1.8.0/bundles-faiss.html +++ b/1.8.0/bundles-faiss.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-glean.html b/1.8.0/bundles-glean.html index c06184a5e3..7caa175991 100644 --- a/1.8.0/bundles-glean.html +++ b/1.8.0/bundles-glean.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-google.html b/1.8.0/bundles-google.html index 609fe8f5e7..509e418a2f 100644 --- a/1.8.0/bundles-google.html +++ b/1.8.0/bundles-google.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-groq.html b/1.8.0/bundles-groq.html index 3989377b87..fe47e92257 100644 --- a/1.8.0/bundles-groq.html +++ b/1.8.0/bundles-groq.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-huggingface.html b/1.8.0/bundles-huggingface.html index b91b1c0c94..130424955b 100644 --- a/1.8.0/bundles-huggingface.html +++ b/1.8.0/bundles-huggingface.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-ibm.html b/1.8.0/bundles-ibm.html index e2d88f362c..94c7b70831 100644 --- a/1.8.0/bundles-ibm.html +++ b/1.8.0/bundles-ibm.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-icosacomputing.html b/1.8.0/bundles-icosacomputing.html index 874a00a63a..af8e9e76fb 100644 --- a/1.8.0/bundles-icosacomputing.html +++ b/1.8.0/bundles-icosacomputing.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-langchain.html b/1.8.0/bundles-langchain.html index 7655f6f2e7..e163a01ac5 100644 --- a/1.8.0/bundles-langchain.html +++ b/1.8.0/bundles-langchain.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-lite-llm.html b/1.8.0/bundles-lite-llm.html index 232a45177d..f97d85c1b0 100644 --- a/1.8.0/bundles-lite-llm.html +++ b/1.8.0/bundles-lite-llm.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-lmstudio.html b/1.8.0/bundles-lmstudio.html index c653a1414b..baec39dab6 100644 --- a/1.8.0/bundles-lmstudio.html +++ b/1.8.0/bundles-lmstudio.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-maritalk.html b/1.8.0/bundles-maritalk.html index ac68923a3c..12589136b4 100644 --- a/1.8.0/bundles-maritalk.html +++ b/1.8.0/bundles-maritalk.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-mem0.html b/1.8.0/bundles-mem0.html index 53c9209c28..56206f88bb 100644 --- a/1.8.0/bundles-mem0.html +++ b/1.8.0/bundles-mem0.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-milvus.html b/1.8.0/bundles-milvus.html index 32c7b23256..d7b09d80af 100644 --- a/1.8.0/bundles-milvus.html +++ b/1.8.0/bundles-milvus.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-mistralai.html b/1.8.0/bundles-mistralai.html index e004fd380d..4a33d39362 100644 --- a/1.8.0/bundles-mistralai.html +++ b/1.8.0/bundles-mistralai.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-mongodb.html b/1.8.0/bundles-mongodb.html index b15f321a2f..48d7fa48e4 100644 --- a/1.8.0/bundles-mongodb.html +++ b/1.8.0/bundles-mongodb.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-notion.html b/1.8.0/bundles-notion.html index 138c775f34..e82a54e93b 100644 --- a/1.8.0/bundles-notion.html +++ b/1.8.0/bundles-notion.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-novita.html b/1.8.0/bundles-novita.html index 67b9236fe3..9f79afba00 100644 --- a/1.8.0/bundles-novita.html +++ b/1.8.0/bundles-novita.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-nvidia.html b/1.8.0/bundles-nvidia.html index 2130c9d46a..efe1b5a0b9 100644 --- a/1.8.0/bundles-nvidia.html +++ b/1.8.0/bundles-nvidia.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-ollama.html b/1.8.0/bundles-ollama.html index 471b704d7e..055a09871f 100644 --- a/1.8.0/bundles-ollama.html +++ b/1.8.0/bundles-ollama.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-openai.html b/1.8.0/bundles-openai.html index bdb2cc05a0..96aa8bf343 100644 --- a/1.8.0/bundles-openai.html +++ b/1.8.0/bundles-openai.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-openrouter.html b/1.8.0/bundles-openrouter.html index 5cf9d032e3..2d664c11b0 100644 --- a/1.8.0/bundles-openrouter.html +++ b/1.8.0/bundles-openrouter.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-perplexity.html b/1.8.0/bundles-perplexity.html index d74fb58414..06ab5366de 100644 --- a/1.8.0/bundles-perplexity.html +++ b/1.8.0/bundles-perplexity.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-pgvector.html b/1.8.0/bundles-pgvector.html index 5c66282bdb..5e3ce79f7e 100644 --- a/1.8.0/bundles-pgvector.html +++ b/1.8.0/bundles-pgvector.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-pinecone.html b/1.8.0/bundles-pinecone.html index a3ab018156..02c82f3633 100644 --- a/1.8.0/bundles-pinecone.html +++ b/1.8.0/bundles-pinecone.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-qdrant.html b/1.8.0/bundles-qdrant.html index 79d25e7e01..430c579c0c 100644 --- a/1.8.0/bundles-qdrant.html +++ b/1.8.0/bundles-qdrant.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-redis.html b/1.8.0/bundles-redis.html index cefcc5ba5c..e3309f2304 100644 --- a/1.8.0/bundles-redis.html +++ b/1.8.0/bundles-redis.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-sambanova.html b/1.8.0/bundles-sambanova.html index 7507f82b10..51148c1e23 100644 --- a/1.8.0/bundles-sambanova.html +++ b/1.8.0/bundles-sambanova.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-searchapi.html b/1.8.0/bundles-searchapi.html index 27c7b56f57..20ee45ac0b 100644 --- a/1.8.0/bundles-searchapi.html +++ b/1.8.0/bundles-searchapi.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-serper.html b/1.8.0/bundles-serper.html index 2546519ac7..c7893c6b3d 100644 --- a/1.8.0/bundles-serper.html +++ b/1.8.0/bundles-serper.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-supabase.html b/1.8.0/bundles-supabase.html index 13b3491328..587ac7708b 100644 --- a/1.8.0/bundles-supabase.html +++ b/1.8.0/bundles-supabase.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-upstash.html b/1.8.0/bundles-upstash.html index a55a47e3ee..bc699e6150 100644 --- a/1.8.0/bundles-upstash.html +++ b/1.8.0/bundles-upstash.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-vectara.html b/1.8.0/bundles-vectara.html index de17452b1b..262567a829 100644 --- a/1.8.0/bundles-vectara.html +++ b/1.8.0/bundles-vectara.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-vertexai.html b/1.8.0/bundles-vertexai.html index 5bc80cf788..6f893091f9 100644 --- a/1.8.0/bundles-vertexai.html +++ b/1.8.0/bundles-vertexai.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-vllm.html b/1.8.0/bundles-vllm.html index 3b3c1ab06a..4094f97665 100644 --- a/1.8.0/bundles-vllm.html +++ b/1.8.0/bundles-vllm.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-weaviate.html b/1.8.0/bundles-weaviate.html index 1766df6df8..5c5f277fa4 100644 --- a/1.8.0/bundles-weaviate.html +++ b/1.8.0/bundles-weaviate.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-wikipedia.html b/1.8.0/bundles-wikipedia.html index a84e42efa2..1f64ee877e 100644 --- a/1.8.0/bundles-wikipedia.html +++ b/1.8.0/bundles-wikipedia.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/bundles-xai.html b/1.8.0/bundles-xai.html index 8beba44846..a0152eabe3 100644 --- a/1.8.0/bundles-xai.html +++ b/1.8.0/bundles-xai.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/calculator.html b/1.8.0/calculator.html index ec758d8a67..c504c54e05 100644 --- a/1.8.0/calculator.html +++ b/1.8.0/calculator.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/chat-input-and-output.html b/1.8.0/chat-input-and-output.html index 4e93341140..067f0f62ed 100644 --- a/1.8.0/chat-input-and-output.html +++ b/1.8.0/chat-input-and-output.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/chat-with-files.html b/1.8.0/chat-with-files.html index 2894053575..93d365a9b0 100644 --- a/1.8.0/chat-with-files.html +++ b/1.8.0/chat-with-files.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/chat-with-rag.html b/1.8.0/chat-with-rag.html index 19b5948a9a..f667bffa72 100644 --- a/1.8.0/chat-with-rag.html +++ b/1.8.0/chat-with-rag.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/component-webhook.html b/1.8.0/component-webhook.html index a98ae5d7bb..a4971132b1 100644 --- a/1.8.0/component-webhook.html +++ b/1.8.0/component-webhook.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/components-agents.html b/1.8.0/components-agents.html index b17078d119..caaf3a9138 100644 --- a/1.8.0/components-agents.html +++ b/1.8.0/components-agents.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/components-bundle-components.html b/1.8.0/components-bundle-components.html index c0a395d081..3aaeefdf69 100644 --- a/1.8.0/components-bundle-components.html +++ b/1.8.0/components-bundle-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/components-custom-components.html b/1.8.0/components-custom-components.html index 116ba5305b..6986d2aa3f 100644 --- a/1.8.0/components-custom-components.html +++ b/1.8.0/components-custom-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/components-embedding-models.html b/1.8.0/components-embedding-models.html index 3283458140..ad3e72402c 100644 --- a/1.8.0/components-embedding-models.html +++ b/1.8.0/components-embedding-models.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/components-models.html b/1.8.0/components-models.html index 4b61ff79c2..2ad908ccb9 100644 --- a/1.8.0/components-models.html +++ b/1.8.0/components-models.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/components-prompts.html b/1.8.0/components-prompts.html index 18422c17c8..b40c8ed143 100644 --- a/1.8.0/components-prompts.html +++ b/1.8.0/components-prompts.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-components.html b/1.8.0/concepts-components.html index 2882aa7395..814f6eb1aa 100644 --- a/1.8.0/concepts-components.html +++ b/1.8.0/concepts-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-file-management.html b/1.8.0/concepts-file-management.html index a3d020ec9a..f3f859a011 100644 --- a/1.8.0/concepts-file-management.html +++ b/1.8.0/concepts-file-management.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-flows-import.html b/1.8.0/concepts-flows-import.html index e17f00ea61..634a1c97ac 100644 --- a/1.8.0/concepts-flows-import.html +++ b/1.8.0/concepts-flows-import.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-flows.html b/1.8.0/concepts-flows.html index 70ae0f2750..a675f69576 100644 --- a/1.8.0/concepts-flows.html +++ b/1.8.0/concepts-flows.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-overview.html b/1.8.0/concepts-overview.html index 52b4b8d7d7..56626522c5 100644 --- a/1.8.0/concepts-overview.html +++ b/1.8.0/concepts-overview.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-playground.html b/1.8.0/concepts-playground.html index 616994506d..15690c6c39 100644 --- a/1.8.0/concepts-playground.html +++ b/1.8.0/concepts-playground.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-publish.html b/1.8.0/concepts-publish.html index f564745c44..d79470902b 100644 --- a/1.8.0/concepts-publish.html +++ b/1.8.0/concepts-publish.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/concepts-voice-mode.html b/1.8.0/concepts-voice-mode.html index 754d9fffb5..73a03cdf98 100644 --- a/1.8.0/concepts-voice-mode.html +++ b/1.8.0/concepts-voice-mode.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/configuration-cli.html b/1.8.0/configuration-cli.html index 85b10ec2e0..8efa5f69a8 100644 --- a/1.8.0/configuration-cli.html +++ b/1.8.0/configuration-cli.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/configuration-custom-database.html b/1.8.0/configuration-custom-database.html index 03cfccae4d..41b95231c9 100644 --- a/1.8.0/configuration-custom-database.html +++ b/1.8.0/configuration-custom-database.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/configuration-global-variables.html b/1.8.0/configuration-global-variables.html index d6d707d6ab..0467218e4f 100644 --- a/1.8.0/configuration-global-variables.html +++ b/1.8.0/configuration-global-variables.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-bundles.html b/1.8.0/contributing-bundles.html index e04fb9e3a0..42c68bd7c6 100644 --- a/1.8.0/contributing-bundles.html +++ b/1.8.0/contributing-bundles.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-community.html b/1.8.0/contributing-community.html index 9db3fa2c17..0685f9e8e3 100644 --- a/1.8.0/contributing-community.html +++ b/1.8.0/contributing-community.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-component-tests.html b/1.8.0/contributing-component-tests.html index 72bd59f64e..5eb0385946 100644 --- a/1.8.0/contributing-component-tests.html +++ b/1.8.0/contributing-component-tests.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-components.html b/1.8.0/contributing-components.html index 1760344d13..94226c9fd3 100644 --- a/1.8.0/contributing-components.html +++ b/1.8.0/contributing-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-github-issues.html b/1.8.0/contributing-github-issues.html index f03b843dc7..1c53b7d094 100644 --- a/1.8.0/contributing-github-issues.html +++ b/1.8.0/contributing-github-issues.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-how-to-contribute.html b/1.8.0/contributing-how-to-contribute.html index 2a18c4113a..74840fcf76 100644 --- a/1.8.0/contributing-how-to-contribute.html +++ b/1.8.0/contributing-how-to-contribute.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-telemetry.html b/1.8.0/contributing-telemetry.html index d8abb90adb..74339aa884 100644 --- a/1.8.0/contributing-telemetry.html +++ b/1.8.0/contributing-telemetry.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/contributing-templates.html b/1.8.0/contributing-templates.html index ed5b6b6af9..654c574e0d 100644 --- a/1.8.0/contributing-templates.html +++ b/1.8.0/contributing-templates.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/current-date.html b/1.8.0/current-date.html index 43ebfa5b4f..a54cbb0447 100644 --- a/1.8.0/current-date.html +++ b/1.8.0/current-date.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/data-operations.html b/1.8.0/data-operations.html index 4565184bd4..e5d6228ea8 100644 --- a/1.8.0/data-operations.html +++ b/1.8.0/data-operations.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/data-types.html b/1.8.0/data-types.html index 7222d51027..0f6bbec47a 100644 --- a/1.8.0/data-types.html +++ b/1.8.0/data-types.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/dataframe-operations.html b/1.8.0/dataframe-operations.html index 3e416c3ebb..00a30dbc56 100644 --- a/1.8.0/dataframe-operations.html +++ b/1.8.0/dataframe-operations.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-architecture.html b/1.8.0/deployment-architecture.html index f228c002b4..e5da4c76a0 100644 --- a/1.8.0/deployment-architecture.html +++ b/1.8.0/deployment-architecture.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-caddyfile.html b/1.8.0/deployment-caddyfile.html index 04500f2b54..a9af17eb70 100644 --- a/1.8.0/deployment-caddyfile.html +++ b/1.8.0/deployment-caddyfile.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-docker.html b/1.8.0/deployment-docker.html index 0a1a5277f6..9382c649e2 100644 --- a/1.8.0/deployment-docker.html +++ b/1.8.0/deployment-docker.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-gcp.html b/1.8.0/deployment-gcp.html index fe6ee16c0e..54f9061bd0 100644 --- a/1.8.0/deployment-gcp.html +++ b/1.8.0/deployment-gcp.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-hugging-face-spaces.html b/1.8.0/deployment-hugging-face-spaces.html index 58f95d1180..06343ffd78 100644 --- a/1.8.0/deployment-hugging-face-spaces.html +++ b/1.8.0/deployment-hugging-face-spaces.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-kubernetes-dev.html b/1.8.0/deployment-kubernetes-dev.html index fe50385efd..b7b8735c38 100644 --- a/1.8.0/deployment-kubernetes-dev.html +++ b/1.8.0/deployment-kubernetes-dev.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-kubernetes-prod.html b/1.8.0/deployment-kubernetes-prod.html index ffb2199778..09ebdacf3e 100644 --- a/1.8.0/deployment-kubernetes-prod.html +++ b/1.8.0/deployment-kubernetes-prod.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-nginx-ssl.html b/1.8.0/deployment-nginx-ssl.html index 5db605e95d..68a42256a8 100644 --- a/1.8.0/deployment-nginx-ssl.html +++ b/1.8.0/deployment-nginx-ssl.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-overview.html b/1.8.0/deployment-overview.html index f2ee8ceb03..a8a3bebea2 100644 --- a/1.8.0/deployment-overview.html +++ b/1.8.0/deployment-overview.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-prod-best-practices.html b/1.8.0/deployment-prod-best-practices.html index f33ec4b421..b3309d59a7 100644 --- a/1.8.0/deployment-prod-best-practices.html +++ b/1.8.0/deployment-prod-best-practices.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-public-server.html b/1.8.0/deployment-public-server.html index 118de5e357..41dc6fb164 100644 --- a/1.8.0/deployment-public-server.html +++ b/1.8.0/deployment-public-server.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-railway.html b/1.8.0/deployment-railway.html index cce67c5104..e9cacb62f7 100644 --- a/1.8.0/deployment-railway.html +++ b/1.8.0/deployment-railway.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/deployment-render.html b/1.8.0/deployment-render.html index 7ecfd4724b..46e33a13a0 100644 --- a/1.8.0/deployment-render.html +++ b/1.8.0/deployment-render.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/develop-application.html b/1.8.0/develop-application.html index 04c5be177e..1ed4ddf07b 100644 --- a/1.8.0/develop-application.html +++ b/1.8.0/develop-application.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/directory.html b/1.8.0/directory.html index 68d9c0f8f6..0beab7698a 100644 --- a/1.8.0/directory.html +++ b/1.8.0/directory.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/dynamic-create-data.html b/1.8.0/dynamic-create-data.html index 719cc3dcf8..dd44249f0c 100644 --- a/1.8.0/dynamic-create-data.html +++ b/1.8.0/dynamic-create-data.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/enterprise-database-guide.html b/1.8.0/enterprise-database-guide.html index 982fedcfa8..b6ab3cf1fa 100644 --- a/1.8.0/enterprise-database-guide.html +++ b/1.8.0/enterprise-database-guide.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/environment-variables.html b/1.8.0/environment-variables.html index fa6d1cb534..2ab570e3b7 100644 --- a/1.8.0/environment-variables.html +++ b/1.8.0/environment-variables.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/get-started-installation.html b/1.8.0/get-started-installation.html index 0c0597caa0..41785070f9 100644 --- a/1.8.0/get-started-installation.html +++ b/1.8.0/get-started-installation.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/get-started-quickstart.html b/1.8.0/get-started-quickstart.html index 100ec68e70..55bb5f06c9 100644 --- a/1.8.0/get-started-quickstart.html +++ b/1.8.0/get-started-quickstart.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/guardrails.html b/1.8.0/guardrails.html index 69e9710c0d..9fd0b9a255 100644 --- a/1.8.0/guardrails.html +++ b/1.8.0/guardrails.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/if-else.html b/1.8.0/if-else.html index cf105ff0e6..3231bf588d 100644 --- a/1.8.0/if-else.html +++ b/1.8.0/if-else.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/install-custom-dependencies.html b/1.8.0/install-custom-dependencies.html index c93c027d36..0a470d927e 100644 --- a/1.8.0/install-custom-dependencies.html +++ b/1.8.0/install-custom-dependencies.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/integrations-arize.html b/1.8.0/integrations-arize.html index 7687481697..2afb861db8 100644 --- a/1.8.0/integrations-arize.html +++ b/1.8.0/integrations-arize.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/integrations-instana-traceloop.html b/1.8.0/integrations-instana-traceloop.html index b66c9ef8d1..2ca38376b8 100644 --- a/1.8.0/integrations-instana-traceloop.html +++ b/1.8.0/integrations-instana-traceloop.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/integrations-langfuse.html b/1.8.0/integrations-langfuse.html index ba460ec0d5..eff758988c 100644 --- a/1.8.0/integrations-langfuse.html +++ b/1.8.0/integrations-langfuse.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/integrations-langsmith.html b/1.8.0/integrations-langsmith.html index 31796f6c44..aa2cbd4972 100644 --- a/1.8.0/integrations-langsmith.html +++ b/1.8.0/integrations-langsmith.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/integrations-langwatch.html b/1.8.0/integrations-langwatch.html index a6dc847362..a0dc5e770c 100644 --- a/1.8.0/integrations-langwatch.html +++ b/1.8.0/integrations-langwatch.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/integrations-openlayer.html b/1.8.0/integrations-openlayer.html index 5434682e3e..ac146b006f 100644 --- a/1.8.0/integrations-openlayer.html +++ b/1.8.0/integrations-openlayer.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/integrations-opik.html b/1.8.0/integrations-opik.html index b1c5bf001d..5de4087817 100644 --- a/1.8.0/integrations-opik.html +++ b/1.8.0/integrations-opik.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/jwt-authentication.html b/1.8.0/jwt-authentication.html index 4ed7b069a5..f31fdc02de 100644 --- a/1.8.0/jwt-authentication.html +++ b/1.8.0/jwt-authentication.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/knowledge-base.html b/1.8.0/knowledge-base.html index b4b363a115..bfd62e3bcd 100644 --- a/1.8.0/knowledge-base.html +++ b/1.8.0/knowledge-base.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/knowledge.html b/1.8.0/knowledge.html index 5e972720ef..8b2c1fa482 100644 --- a/1.8.0/knowledge.html +++ b/1.8.0/knowledge.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/legacy-core-components.html b/1.8.0/legacy-core-components.html index 76fceb5fc7..86a89569f0 100644 --- a/1.8.0/legacy-core-components.html +++ b/1.8.0/legacy-core-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/llm-selector.html b/1.8.0/llm-selector.html index c4c29e2ca5..b3a00d3a7c 100644 --- a/1.8.0/llm-selector.html +++ b/1.8.0/llm-selector.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/logging.html b/1.8.0/logging.html index ad555e1d42..c73b9d186b 100644 --- a/1.8.0/logging.html +++ b/1.8.0/logging.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/loop.html b/1.8.0/loop.html index 5f78821a9f..da1b5cad95 100644 --- a/1.8.0/loop.html +++ b/1.8.0/loop.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/luna-for-langflow.html b/1.8.0/luna-for-langflow.html index e81c4557d2..00d488fb6e 100644 --- a/1.8.0/luna-for-langflow.html +++ b/1.8.0/luna-for-langflow.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/mcp-client.html b/1.8.0/mcp-client.html index ebf083bd4c..1ff3b70e80 100644 --- a/1.8.0/mcp-client.html +++ b/1.8.0/mcp-client.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/mcp-component-astra.html b/1.8.0/mcp-component-astra.html index 642aa86aac..f72e247637 100644 --- a/1.8.0/mcp-component-astra.html +++ b/1.8.0/mcp-component-astra.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/mcp-server.html b/1.8.0/mcp-server.html index d69ef03dff..2175fbb664 100644 --- a/1.8.0/mcp-server.html +++ b/1.8.0/mcp-server.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/mcp-tools.html b/1.8.0/mcp-tools.html index d96e896757..82e9acc864 100644 --- a/1.8.0/mcp-tools.html +++ b/1.8.0/mcp-tools.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/mcp-tutorial.html b/1.8.0/mcp-tutorial.html index 5b06398e33..5da8dab907 100644 --- a/1.8.0/mcp-tutorial.html +++ b/1.8.0/mcp-tutorial.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/memory.html b/1.8.0/memory.html index bbf13c6528..720b1c3571 100644 --- a/1.8.0/memory.html +++ b/1.8.0/memory.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/message-history.html b/1.8.0/message-history.html index 171a84c8b7..214aec0ca1 100644 --- a/1.8.0/message-history.html +++ b/1.8.0/message-history.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/mock-data.html b/1.8.0/mock-data.html index 8f76b5c2a3..44048e7031 100644 --- a/1.8.0/mock-data.html +++ b/1.8.0/mock-data.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/notify-and-listen.html b/1.8.0/notify-and-listen.html index 0ef8ff587f..fa4b68f512 100644 --- a/1.8.0/notify-and-listen.html +++ b/1.8.0/notify-and-listen.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/parser.html b/1.8.0/parser.html index 34058bf449..c70f97fdfa 100644 --- a/1.8.0/parser.html +++ b/1.8.0/parser.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/python-interpreter.html b/1.8.0/python-interpreter.html index 1867eef8d2..3cbda5fed4 100644 --- a/1.8.0/python-interpreter.html +++ b/1.8.0/python-interpreter.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/read-file.html b/1.8.0/read-file.html index 0c260e8085..27970a01cd 100644 --- a/1.8.0/read-file.html +++ b/1.8.0/read-file.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/release-notes.html b/1.8.0/release-notes.html index 32b79d9739..ff45f41b8d 100644 --- a/1.8.0/release-notes.html +++ b/1.8.0/release-notes.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/run-flow.html b/1.8.0/run-flow.html index 2e0d741861..1a4eae2c87 100644 --- a/1.8.0/run-flow.html +++ b/1.8.0/run-flow.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/security.html b/1.8.0/security.html index 1412b723c2..8b08da4862 100644 --- a/1.8.0/security.html +++ b/1.8.0/security.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/session-id.html b/1.8.0/session-id.html index 789254b26a..5e8b1353c7 100644 --- a/1.8.0/session-id.html +++ b/1.8.0/session-id.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/smart-router.html b/1.8.0/smart-router.html index 550d6aff95..d06e5781ea 100644 --- a/1.8.0/smart-router.html +++ b/1.8.0/smart-router.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/smart-transform.html b/1.8.0/smart-transform.html index 1775e4d13a..33af6c916f 100644 --- a/1.8.0/smart-transform.html +++ b/1.8.0/smart-transform.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/split-text.html b/1.8.0/split-text.html index 0d8e11bf0b..4ccb05039e 100644 --- a/1.8.0/split-text.html +++ b/1.8.0/split-text.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/sql-database.html b/1.8.0/sql-database.html index 9a1a740274..92a4605eb1 100644 --- a/1.8.0/sql-database.html +++ b/1.8.0/sql-database.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/structured-output.html b/1.8.0/structured-output.html index e2bf3c0a76..3e9956a5e6 100644 --- a/1.8.0/structured-output.html +++ b/1.8.0/structured-output.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/text-input-and-output.html b/1.8.0/text-input-and-output.html index 30f16e4fd0..a1ea49c3bb 100644 --- a/1.8.0/text-input-and-output.html +++ b/1.8.0/text-input-and-output.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/traces.html b/1.8.0/traces.html index e9208c9e4d..20f2343ef6 100644 --- a/1.8.0/traces.html +++ b/1.8.0/traces.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/troubleshoot.html b/1.8.0/troubleshoot.html index 87572c9c9e..fbbeac0dde 100644 --- a/1.8.0/troubleshoot.html +++ b/1.8.0/troubleshoot.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/type-convert.html b/1.8.0/type-convert.html index 9e90260710..1d8673bbd8 100644 --- a/1.8.0/type-convert.html +++ b/1.8.0/type-convert.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/typescript-client.html b/1.8.0/typescript-client.html index dbcb85b74f..911799a685 100644 --- a/1.8.0/typescript-client.html +++ b/1.8.0/typescript-client.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/url.html b/1.8.0/url.html index e52660560a..64b8af6dfd 100644 --- a/1.8.0/url.html +++ b/1.8.0/url.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/web-search.html b/1.8.0/web-search.html index 99296047fb..05d21418ad 100644 --- a/1.8.0/web-search.html +++ b/1.8.0/web-search.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/webhook.html b/1.8.0/webhook.html index f571f0dc0d..bdadc0b2bd 100644 --- a/1.8.0/webhook.html +++ b/1.8.0/webhook.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/workflow-api.html b/1.8.0/workflow-api.html index d3c2c0b55f..36e033022f 100644 --- a/1.8.0/workflow-api.html +++ b/1.8.0/workflow-api.html @@ -25,7 +25,7 @@ - + diff --git a/1.8.0/write-file.html b/1.8.0/write-file.html index 86248bc86c..0097f39c79 100644 --- a/1.8.0/write-file.html +++ b/1.8.0/write-file.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0.html b/1.9.0.html index 154b52515d..091c7b4ab7 100644 --- a/1.9.0.html +++ b/1.9.0.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/API-Reference.html b/1.9.0/API-Reference.html index 3dbc842d6f..dc12a552c3 100644 --- a/1.9.0/API-Reference.html +++ b/1.9.0/API-Reference.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/agent-tutorial.html b/1.9.0/agent-tutorial.html index c84a38c1d6..ccd1f032ec 100644 --- a/1.9.0/agent-tutorial.html +++ b/1.9.0/agent-tutorial.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/agents-tools.html b/1.9.0/agents-tools.html index 2385e65d8b..ad85fdf7db 100644 --- a/1.9.0/agents-tools.html +++ b/1.9.0/agents-tools.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/agents.html b/1.9.0/agents.html index ba21062868..d8c292db82 100644 --- a/1.9.0/agents.html +++ b/1.9.0/agents.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-build.html b/1.9.0/api-build.html index 4301dcf384..19e8148de2 100644 --- a/1.9.0/api-build.html +++ b/1.9.0/api-build.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-files.html b/1.9.0/api-files.html index 9f71fdb3e6..f2b617eec2 100644 --- a/1.9.0/api-files.html +++ b/1.9.0/api-files.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-flows-run.html b/1.9.0/api-flows-run.html index 9b08a981c9..b3c93fb50f 100644 --- a/1.9.0/api-flows-run.html +++ b/1.9.0/api-flows-run.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-flows.html b/1.9.0/api-flows.html index f6c833ed3e..461262fbb9 100644 --- a/1.9.0/api-flows.html +++ b/1.9.0/api-flows.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-keys-and-authentication.html b/1.9.0/api-keys-and-authentication.html index 7af6687e43..85b556aa62 100644 --- a/1.9.0/api-keys-and-authentication.html +++ b/1.9.0/api-keys-and-authentication.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-logs.html b/1.9.0/api-logs.html index 0b8745040c..7badcd04da 100644 --- a/1.9.0/api-logs.html +++ b/1.9.0/api-logs.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-monitor.html b/1.9.0/api-monitor.html index a4b334db30..9d5c950da1 100644 --- a/1.9.0/api-monitor.html +++ b/1.9.0/api-monitor.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-openai-responses.html b/1.9.0/api-openai-responses.html index e66c3c9bd8..06333cbe5e 100644 --- a/1.9.0/api-openai-responses.html +++ b/1.9.0/api-openai-responses.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-projects.html b/1.9.0/api-projects.html index 4d2e1ac8c9..e56527c3f3 100644 --- a/1.9.0/api-projects.html +++ b/1.9.0/api-projects.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-reference-api-examples.html b/1.9.0/api-reference-api-examples.html index 54831e017f..62dffc4a5e 100644 --- a/1.9.0/api-reference-api-examples.html +++ b/1.9.0/api-reference-api-examples.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-request.html b/1.9.0/api-request.html index dfaec6de4e..5456c37406 100644 --- a/1.9.0/api-request.html +++ b/1.9.0/api-request.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/api-users.html b/1.9.0/api-users.html index 29a7d68a07..da5efad1d9 100644 --- a/1.9.0/api-users.html +++ b/1.9.0/api-users.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/batch-run.html b/1.9.0/batch-run.html index 03d695c8d8..9720d7c894 100644 --- a/1.9.0/batch-run.html +++ b/1.9.0/batch-run.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-agentics.html b/1.9.0/bundles-agentics.html index 8e0f4b6a94..77ba6e2b1d 100644 --- a/1.9.0/bundles-agentics.html +++ b/1.9.0/bundles-agentics.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-aiml.html b/1.9.0/bundles-aiml.html index 1c34ecb3a6..eaed657ddf 100644 --- a/1.9.0/bundles-aiml.html +++ b/1.9.0/bundles-aiml.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-altk.html b/1.9.0/bundles-altk.html index 49039fbc5a..5eb92a3449 100644 --- a/1.9.0/bundles-altk.html +++ b/1.9.0/bundles-altk.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-amazon.html b/1.9.0/bundles-amazon.html index 8e7033ef58..6c588240ac 100644 --- a/1.9.0/bundles-amazon.html +++ b/1.9.0/bundles-amazon.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-anthropic.html b/1.9.0/bundles-anthropic.html index a99905ed21..b0d95528ae 100644 --- a/1.9.0/bundles-anthropic.html +++ b/1.9.0/bundles-anthropic.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-apify.html b/1.9.0/bundles-apify.html index 71d3b22bc9..8960d182fc 100644 --- a/1.9.0/bundles-apify.html +++ b/1.9.0/bundles-apify.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-arxiv.html b/1.9.0/bundles-arxiv.html index 0f7931f03a..e37b1cbb9f 100644 --- a/1.9.0/bundles-arxiv.html +++ b/1.9.0/bundles-arxiv.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-assemblyai.html b/1.9.0/bundles-assemblyai.html index 49b527ed1e..e65636a6f2 100644 --- a/1.9.0/bundles-assemblyai.html +++ b/1.9.0/bundles-assemblyai.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-azure.html b/1.9.0/bundles-azure.html index 3e44e5858c..72154f67d8 100644 --- a/1.9.0/bundles-azure.html +++ b/1.9.0/bundles-azure.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-baidu.html b/1.9.0/bundles-baidu.html index a5af4a0cb4..10b26621d6 100644 --- a/1.9.0/bundles-baidu.html +++ b/1.9.0/bundles-baidu.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-bing.html b/1.9.0/bundles-bing.html index 470c8b089c..0259c17730 100644 --- a/1.9.0/bundles-bing.html +++ b/1.9.0/bundles-bing.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-cassandra.html b/1.9.0/bundles-cassandra.html index 0ed5d69426..b884a36bba 100644 --- a/1.9.0/bundles-cassandra.html +++ b/1.9.0/bundles-cassandra.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-chroma.html b/1.9.0/bundles-chroma.html index e8c1c454f3..3e5444f056 100644 --- a/1.9.0/bundles-chroma.html +++ b/1.9.0/bundles-chroma.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-cleanlab.html b/1.9.0/bundles-cleanlab.html index 8f033946d7..133d58af7f 100644 --- a/1.9.0/bundles-cleanlab.html +++ b/1.9.0/bundles-cleanlab.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-clickhouse.html b/1.9.0/bundles-clickhouse.html index 21f994967e..88bb72aea4 100644 --- a/1.9.0/bundles-clickhouse.html +++ b/1.9.0/bundles-clickhouse.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-cloudflare.html b/1.9.0/bundles-cloudflare.html index c5719618a2..fe7afd66ac 100644 --- a/1.9.0/bundles-cloudflare.html +++ b/1.9.0/bundles-cloudflare.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-cohere.html b/1.9.0/bundles-cohere.html index b52b56fecb..d183d56c29 100644 --- a/1.9.0/bundles-cohere.html +++ b/1.9.0/bundles-cohere.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-cometapi.html b/1.9.0/bundles-cometapi.html index 5c86bc49b2..3a08f23693 100644 --- a/1.9.0/bundles-cometapi.html +++ b/1.9.0/bundles-cometapi.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-composio.html b/1.9.0/bundles-composio.html index 6ac0c912ba..381a3a61b5 100644 --- a/1.9.0/bundles-composio.html +++ b/1.9.0/bundles-composio.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-couchbase.html b/1.9.0/bundles-couchbase.html index 65daa6828c..213b185005 100644 --- a/1.9.0/bundles-couchbase.html +++ b/1.9.0/bundles-couchbase.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-cuga.html b/1.9.0/bundles-cuga.html index 1e2e493539..f12c249fca 100644 --- a/1.9.0/bundles-cuga.html +++ b/1.9.0/bundles-cuga.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-datastax.html b/1.9.0/bundles-datastax.html index 3c3905c398..b0e98b30a2 100644 --- a/1.9.0/bundles-datastax.html +++ b/1.9.0/bundles-datastax.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-deepseek.html b/1.9.0/bundles-deepseek.html index ac4d9105e3..e87e36dab0 100644 --- a/1.9.0/bundles-deepseek.html +++ b/1.9.0/bundles-deepseek.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-docling.html b/1.9.0/bundles-docling.html index 0bd60063fa..0c9316abbd 100644 --- a/1.9.0/bundles-docling.html +++ b/1.9.0/bundles-docling.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-duckduckgo.html b/1.9.0/bundles-duckduckgo.html index d314820cba..f94b083f33 100644 --- a/1.9.0/bundles-duckduckgo.html +++ b/1.9.0/bundles-duckduckgo.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-elastic.html b/1.9.0/bundles-elastic.html index ca6c6cdbee..50506a5a76 100644 --- a/1.9.0/bundles-elastic.html +++ b/1.9.0/bundles-elastic.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-exa.html b/1.9.0/bundles-exa.html index 4dc24b6a0e..065f64583a 100644 --- a/1.9.0/bundles-exa.html +++ b/1.9.0/bundles-exa.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-faiss.html b/1.9.0/bundles-faiss.html index d89cb8b4f8..83786113d9 100644 --- a/1.9.0/bundles-faiss.html +++ b/1.9.0/bundles-faiss.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-glean.html b/1.9.0/bundles-glean.html index 9bf230aab1..f69e6c1641 100644 --- a/1.9.0/bundles-glean.html +++ b/1.9.0/bundles-glean.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-google.html b/1.9.0/bundles-google.html index b2c91294ad..085a74bb50 100644 --- a/1.9.0/bundles-google.html +++ b/1.9.0/bundles-google.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-groq.html b/1.9.0/bundles-groq.html index e27e1f9b1c..8c26725e70 100644 --- a/1.9.0/bundles-groq.html +++ b/1.9.0/bundles-groq.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-huggingface.html b/1.9.0/bundles-huggingface.html index 20b2318802..6f16110351 100644 --- a/1.9.0/bundles-huggingface.html +++ b/1.9.0/bundles-huggingface.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-ibm.html b/1.9.0/bundles-ibm.html index 9bbab86263..75c33610b2 100644 --- a/1.9.0/bundles-ibm.html +++ b/1.9.0/bundles-ibm.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-icosacomputing.html b/1.9.0/bundles-icosacomputing.html index fc04a046a4..70a9de9ec2 100644 --- a/1.9.0/bundles-icosacomputing.html +++ b/1.9.0/bundles-icosacomputing.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-langchain.html b/1.9.0/bundles-langchain.html index 189be33111..8a0487d2c6 100644 --- a/1.9.0/bundles-langchain.html +++ b/1.9.0/bundles-langchain.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-lite-llm.html b/1.9.0/bundles-lite-llm.html index b0b8d1171c..700895f979 100644 --- a/1.9.0/bundles-lite-llm.html +++ b/1.9.0/bundles-lite-llm.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-lmstudio.html b/1.9.0/bundles-lmstudio.html index bc0f1e93ac..70d0780a18 100644 --- a/1.9.0/bundles-lmstudio.html +++ b/1.9.0/bundles-lmstudio.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-maritalk.html b/1.9.0/bundles-maritalk.html index 33ca4b8527..cf139c4f3f 100644 --- a/1.9.0/bundles-maritalk.html +++ b/1.9.0/bundles-maritalk.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-mem0.html b/1.9.0/bundles-mem0.html index c6a07675bb..e0eb610c84 100644 --- a/1.9.0/bundles-mem0.html +++ b/1.9.0/bundles-mem0.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-milvus.html b/1.9.0/bundles-milvus.html index 1046a307b8..43ed0246fd 100644 --- a/1.9.0/bundles-milvus.html +++ b/1.9.0/bundles-milvus.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-mistralai.html b/1.9.0/bundles-mistralai.html index 0e859200e9..5acc3632f1 100644 --- a/1.9.0/bundles-mistralai.html +++ b/1.9.0/bundles-mistralai.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-mongodb.html b/1.9.0/bundles-mongodb.html index 23d964d6cf..77f37426ec 100644 --- a/1.9.0/bundles-mongodb.html +++ b/1.9.0/bundles-mongodb.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-notion.html b/1.9.0/bundles-notion.html index 126ea63c51..1d198e750a 100644 --- a/1.9.0/bundles-notion.html +++ b/1.9.0/bundles-notion.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-novita.html b/1.9.0/bundles-novita.html index dcb6dd0d49..e08a1cd866 100644 --- a/1.9.0/bundles-novita.html +++ b/1.9.0/bundles-novita.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-nvidia.html b/1.9.0/bundles-nvidia.html index 5a164a3c6f..f08a7643ec 100644 --- a/1.9.0/bundles-nvidia.html +++ b/1.9.0/bundles-nvidia.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-ollama.html b/1.9.0/bundles-ollama.html index ae00dc5664..1eccfd2eac 100644 --- a/1.9.0/bundles-ollama.html +++ b/1.9.0/bundles-ollama.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-openai.html b/1.9.0/bundles-openai.html index bce175f9af..8f9b3f9663 100644 --- a/1.9.0/bundles-openai.html +++ b/1.9.0/bundles-openai.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-openrouter.html b/1.9.0/bundles-openrouter.html index 5cc8aeccd9..76cfa34f55 100644 --- a/1.9.0/bundles-openrouter.html +++ b/1.9.0/bundles-openrouter.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-perplexity.html b/1.9.0/bundles-perplexity.html index 273825f55c..878545bcfc 100644 --- a/1.9.0/bundles-perplexity.html +++ b/1.9.0/bundles-perplexity.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-pgvector.html b/1.9.0/bundles-pgvector.html index 0a17120e16..5052af7a4f 100644 --- a/1.9.0/bundles-pgvector.html +++ b/1.9.0/bundles-pgvector.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-pinecone.html b/1.9.0/bundles-pinecone.html index f0757fe830..cd3d58e6fd 100644 --- a/1.9.0/bundles-pinecone.html +++ b/1.9.0/bundles-pinecone.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-qdrant.html b/1.9.0/bundles-qdrant.html index fcf3c4ae0d..69acf43f35 100644 --- a/1.9.0/bundles-qdrant.html +++ b/1.9.0/bundles-qdrant.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-redis.html b/1.9.0/bundles-redis.html index 20ebfd3e5a..894ef052b1 100644 --- a/1.9.0/bundles-redis.html +++ b/1.9.0/bundles-redis.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-sambanova.html b/1.9.0/bundles-sambanova.html index c5dd935c6b..bdf3c5a2f5 100644 --- a/1.9.0/bundles-sambanova.html +++ b/1.9.0/bundles-sambanova.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-searchapi.html b/1.9.0/bundles-searchapi.html index f079a264de..642326b749 100644 --- a/1.9.0/bundles-searchapi.html +++ b/1.9.0/bundles-searchapi.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-serper.html b/1.9.0/bundles-serper.html index c099e9ec7a..d1f91d6aa3 100644 --- a/1.9.0/bundles-serper.html +++ b/1.9.0/bundles-serper.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-supabase.html b/1.9.0/bundles-supabase.html index bf52a5cc7b..f35cb56022 100644 --- a/1.9.0/bundles-supabase.html +++ b/1.9.0/bundles-supabase.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-upstash.html b/1.9.0/bundles-upstash.html index 73cf42e549..543c0d1aa2 100644 --- a/1.9.0/bundles-upstash.html +++ b/1.9.0/bundles-upstash.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-vectara.html b/1.9.0/bundles-vectara.html index b648762c5d..4fc628f048 100644 --- a/1.9.0/bundles-vectara.html +++ b/1.9.0/bundles-vectara.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-vertexai.html b/1.9.0/bundles-vertexai.html index 4d7a1c9be1..f724b7f8fa 100644 --- a/1.9.0/bundles-vertexai.html +++ b/1.9.0/bundles-vertexai.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-vllm.html b/1.9.0/bundles-vllm.html index 225475b79c..8cb22110c5 100644 --- a/1.9.0/bundles-vllm.html +++ b/1.9.0/bundles-vllm.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-weaviate.html b/1.9.0/bundles-weaviate.html index 0994edc473..8c54a0e82c 100644 --- a/1.9.0/bundles-weaviate.html +++ b/1.9.0/bundles-weaviate.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-wikipedia.html b/1.9.0/bundles-wikipedia.html index 8763faf6c5..14b2bf0b64 100644 --- a/1.9.0/bundles-wikipedia.html +++ b/1.9.0/bundles-wikipedia.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/bundles-xai.html b/1.9.0/bundles-xai.html index 8eae1b5d22..9d4a82b7e2 100644 --- a/1.9.0/bundles-xai.html +++ b/1.9.0/bundles-xai.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/calculator.html b/1.9.0/calculator.html index d49bf508ee..f9ce51dafc 100644 --- a/1.9.0/calculator.html +++ b/1.9.0/calculator.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/chat-input-and-output.html b/1.9.0/chat-input-and-output.html index 661b944a84..510b074927 100644 --- a/1.9.0/chat-input-and-output.html +++ b/1.9.0/chat-input-and-output.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/chat-with-files.html b/1.9.0/chat-with-files.html index 90d4173853..4bb8a56ae8 100644 --- a/1.9.0/chat-with-files.html +++ b/1.9.0/chat-with-files.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/chat-with-rag.html b/1.9.0/chat-with-rag.html index 19d20f6b1e..6975ecae86 100644 --- a/1.9.0/chat-with-rag.html +++ b/1.9.0/chat-with-rag.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/component-webhook.html b/1.9.0/component-webhook.html index 173fb7ad85..fa69113e96 100644 --- a/1.9.0/component-webhook.html +++ b/1.9.0/component-webhook.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/components-agents.html b/1.9.0/components-agents.html index 7ac0a6bcc0..b84b650c06 100644 --- a/1.9.0/components-agents.html +++ b/1.9.0/components-agents.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/components-bundle-components.html b/1.9.0/components-bundle-components.html index d67074214d..aa0b80626a 100644 --- a/1.9.0/components-bundle-components.html +++ b/1.9.0/components-bundle-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/components-custom-components.html b/1.9.0/components-custom-components.html index 76c9cabc8a..e857508376 100644 --- a/1.9.0/components-custom-components.html +++ b/1.9.0/components-custom-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/components-embedding-models.html b/1.9.0/components-embedding-models.html index 8fedb700c6..ee818141ea 100644 --- a/1.9.0/components-embedding-models.html +++ b/1.9.0/components-embedding-models.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/components-models.html b/1.9.0/components-models.html index b3073cb580..833a3b5e9f 100644 --- a/1.9.0/components-models.html +++ b/1.9.0/components-models.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/components-prompts.html b/1.9.0/components-prompts.html index 7c36b598ce..9cc983c8db 100644 --- a/1.9.0/components-prompts.html +++ b/1.9.0/components-prompts.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-components.html b/1.9.0/concepts-components.html index cd6071305c..8bf0da86bf 100644 --- a/1.9.0/concepts-components.html +++ b/1.9.0/concepts-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-file-management.html b/1.9.0/concepts-file-management.html index 0880925810..295b5f76e1 100644 --- a/1.9.0/concepts-file-management.html +++ b/1.9.0/concepts-file-management.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-flows-import.html b/1.9.0/concepts-flows-import.html index 97b4daaf18..cfca4f746a 100644 --- a/1.9.0/concepts-flows-import.html +++ b/1.9.0/concepts-flows-import.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-flows.html b/1.9.0/concepts-flows.html index c6d97e2523..b0900b909f 100644 --- a/1.9.0/concepts-flows.html +++ b/1.9.0/concepts-flows.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-overview.html b/1.9.0/concepts-overview.html index ccc0303834..140f171b27 100644 --- a/1.9.0/concepts-overview.html +++ b/1.9.0/concepts-overview.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-playground.html b/1.9.0/concepts-playground.html index 63ac878b72..40c0cfe641 100644 --- a/1.9.0/concepts-playground.html +++ b/1.9.0/concepts-playground.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-publish.html b/1.9.0/concepts-publish.html index 070abe191c..5e87a76077 100644 --- a/1.9.0/concepts-publish.html +++ b/1.9.0/concepts-publish.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/concepts-voice-mode.html b/1.9.0/concepts-voice-mode.html index 5bb7cd16a6..fa964e9452 100644 --- a/1.9.0/concepts-voice-mode.html +++ b/1.9.0/concepts-voice-mode.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/configuration-cli.html b/1.9.0/configuration-cli.html index c1ea528a63..300782476b 100644 --- a/1.9.0/configuration-cli.html +++ b/1.9.0/configuration-cli.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/configuration-custom-database.html b/1.9.0/configuration-custom-database.html index 09c57675b3..6793c31384 100644 --- a/1.9.0/configuration-custom-database.html +++ b/1.9.0/configuration-custom-database.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/configuration-global-variables.html b/1.9.0/configuration-global-variables.html index 4370469aab..4e59a7d0d8 100644 --- a/1.9.0/configuration-global-variables.html +++ b/1.9.0/configuration-global-variables.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-bundles.html b/1.9.0/contributing-bundles.html index 9ee922a445..0902b8bfab 100644 --- a/1.9.0/contributing-bundles.html +++ b/1.9.0/contributing-bundles.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-community.html b/1.9.0/contributing-community.html index 0e3b10fe27..802fe51e78 100644 --- a/1.9.0/contributing-community.html +++ b/1.9.0/contributing-community.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-component-tests.html b/1.9.0/contributing-component-tests.html index 0e89475c32..8bf1639b23 100644 --- a/1.9.0/contributing-component-tests.html +++ b/1.9.0/contributing-component-tests.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-components.html b/1.9.0/contributing-components.html index 8b5aa7955d..b7dff54aa1 100644 --- a/1.9.0/contributing-components.html +++ b/1.9.0/contributing-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-github-issues.html b/1.9.0/contributing-github-issues.html index 1f9b49e234..4968148c3a 100644 --- a/1.9.0/contributing-github-issues.html +++ b/1.9.0/contributing-github-issues.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-how-to-contribute.html b/1.9.0/contributing-how-to-contribute.html index 0a48f19cbd..ebb21f83b8 100644 --- a/1.9.0/contributing-how-to-contribute.html +++ b/1.9.0/contributing-how-to-contribute.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-telemetry.html b/1.9.0/contributing-telemetry.html index ee9cd378f3..951a863df9 100644 --- a/1.9.0/contributing-telemetry.html +++ b/1.9.0/contributing-telemetry.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/contributing-templates.html b/1.9.0/contributing-templates.html index f260af9821..bdfaf13b65 100644 --- a/1.9.0/contributing-templates.html +++ b/1.9.0/contributing-templates.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/current-date.html b/1.9.0/current-date.html index 25d4103454..d0a1957ff6 100644 --- a/1.9.0/current-date.html +++ b/1.9.0/current-date.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/data-operations.html b/1.9.0/data-operations.html index c0193e0b43..0f26fc1688 100644 --- a/1.9.0/data-operations.html +++ b/1.9.0/data-operations.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/data-types.html b/1.9.0/data-types.html index 40eeea869a..e9f7ec0c83 100644 --- a/1.9.0/data-types.html +++ b/1.9.0/data-types.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/dataframe-operations.html b/1.9.0/dataframe-operations.html index 249bbd8d37..bf30b98cd8 100644 --- a/1.9.0/dataframe-operations.html +++ b/1.9.0/dataframe-operations.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-architecture.html b/1.9.0/deployment-architecture.html index c0317751b1..58b3710b2c 100644 --- a/1.9.0/deployment-architecture.html +++ b/1.9.0/deployment-architecture.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-block-custom-components.html b/1.9.0/deployment-block-custom-components.html index 2728c3ee7d..58e731c330 100644 --- a/1.9.0/deployment-block-custom-components.html +++ b/1.9.0/deployment-block-custom-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-caddyfile.html b/1.9.0/deployment-caddyfile.html index e04b6febb6..dca983f53f 100644 --- a/1.9.0/deployment-caddyfile.html +++ b/1.9.0/deployment-caddyfile.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-docker.html b/1.9.0/deployment-docker.html index ede64068ad..238e4940a6 100644 --- a/1.9.0/deployment-docker.html +++ b/1.9.0/deployment-docker.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-gcp.html b/1.9.0/deployment-gcp.html index 4812a6c391..ee72fb0c0e 100644 --- a/1.9.0/deployment-gcp.html +++ b/1.9.0/deployment-gcp.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-hugging-face-spaces.html b/1.9.0/deployment-hugging-face-spaces.html index 298b6e63a5..bcdc82b226 100644 --- a/1.9.0/deployment-hugging-face-spaces.html +++ b/1.9.0/deployment-hugging-face-spaces.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-kubernetes-dev.html b/1.9.0/deployment-kubernetes-dev.html index 7fdf05640f..ce4e2b2ff6 100644 --- a/1.9.0/deployment-kubernetes-dev.html +++ b/1.9.0/deployment-kubernetes-dev.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-kubernetes-prod.html b/1.9.0/deployment-kubernetes-prod.html index 81bc865c8d..12c1199372 100644 --- a/1.9.0/deployment-kubernetes-prod.html +++ b/1.9.0/deployment-kubernetes-prod.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-nginx-ssl.html b/1.9.0/deployment-nginx-ssl.html index 66e2abf94c..b46294a45f 100644 --- a/1.9.0/deployment-nginx-ssl.html +++ b/1.9.0/deployment-nginx-ssl.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-overview.html b/1.9.0/deployment-overview.html index 6838c0b44a..c6bb90fc8b 100644 --- a/1.9.0/deployment-overview.html +++ b/1.9.0/deployment-overview.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-prod-best-practices.html b/1.9.0/deployment-prod-best-practices.html index f7a7fe889c..a44c3dc2d5 100644 --- a/1.9.0/deployment-prod-best-practices.html +++ b/1.9.0/deployment-prod-best-practices.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-public-server.html b/1.9.0/deployment-public-server.html index 0f2405ebbe..0a11ab5bff 100644 --- a/1.9.0/deployment-public-server.html +++ b/1.9.0/deployment-public-server.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-railway.html b/1.9.0/deployment-railway.html index 6affc1a36f..f96b32a569 100644 --- a/1.9.0/deployment-railway.html +++ b/1.9.0/deployment-railway.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-render.html b/1.9.0/deployment-render.html index 611d1f3fec..913149f166 100644 --- a/1.9.0/deployment-render.html +++ b/1.9.0/deployment-render.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/deployment-wxo.html b/1.9.0/deployment-wxo.html index df0da70db9..ec0d01c58f 100644 --- a/1.9.0/deployment-wxo.html +++ b/1.9.0/deployment-wxo.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/develop-application.html b/1.9.0/develop-application.html index b6f832e9d3..903ad4f6d4 100644 --- a/1.9.0/develop-application.html +++ b/1.9.0/develop-application.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/directory.html b/1.9.0/directory.html index 6fa7b3ff82..ba46a1c885 100644 --- a/1.9.0/directory.html +++ b/1.9.0/directory.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/dynamic-create-data.html b/1.9.0/dynamic-create-data.html index a9dfb168c9..72222f9201 100644 --- a/1.9.0/dynamic-create-data.html +++ b/1.9.0/dynamic-create-data.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/enterprise-database-guide.html b/1.9.0/enterprise-database-guide.html index b9dea2294a..1a92fa2b0c 100644 --- a/1.9.0/enterprise-database-guide.html +++ b/1.9.0/enterprise-database-guide.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/environment-variables.html b/1.9.0/environment-variables.html index b4dd16777a..02aab62742 100644 --- a/1.9.0/environment-variables.html +++ b/1.9.0/environment-variables.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/flow-devops-sdk.html b/1.9.0/flow-devops-sdk.html index f7d8d5d9ac..607dc04c45 100644 --- a/1.9.0/flow-devops-sdk.html +++ b/1.9.0/flow-devops-sdk.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/get-started-installation.html b/1.9.0/get-started-installation.html index 46c849ff8b..57edc94d29 100644 --- a/1.9.0/get-started-installation.html +++ b/1.9.0/get-started-installation.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/get-started-quickstart.html b/1.9.0/get-started-quickstart.html index d9b9129974..dfd8ed83b8 100644 --- a/1.9.0/get-started-quickstart.html +++ b/1.9.0/get-started-quickstart.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/guardrails.html b/1.9.0/guardrails.html index 365f1a8cd5..4f682ba814 100644 --- a/1.9.0/guardrails.html +++ b/1.9.0/guardrails.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/if-else.html b/1.9.0/if-else.html index 9a79442949..564869bb7f 100644 --- a/1.9.0/if-else.html +++ b/1.9.0/if-else.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/install-custom-dependencies.html b/1.9.0/install-custom-dependencies.html index 88188d25e3..824d8b0598 100644 --- a/1.9.0/install-custom-dependencies.html +++ b/1.9.0/install-custom-dependencies.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/integrations-arize.html b/1.9.0/integrations-arize.html index 0781cd8956..b660f18eb7 100644 --- a/1.9.0/integrations-arize.html +++ b/1.9.0/integrations-arize.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/integrations-instana-traceloop.html b/1.9.0/integrations-instana-traceloop.html index 420c774c74..3b0ba14fbb 100644 --- a/1.9.0/integrations-instana-traceloop.html +++ b/1.9.0/integrations-instana-traceloop.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/integrations-langfuse.html b/1.9.0/integrations-langfuse.html index 36c3cee16b..218a96230f 100644 --- a/1.9.0/integrations-langfuse.html +++ b/1.9.0/integrations-langfuse.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/integrations-langsmith.html b/1.9.0/integrations-langsmith.html index 0a09aaf3a6..b61d6879fb 100644 --- a/1.9.0/integrations-langsmith.html +++ b/1.9.0/integrations-langsmith.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/integrations-langwatch.html b/1.9.0/integrations-langwatch.html index e05cf0b947..0952d59112 100644 --- a/1.9.0/integrations-langwatch.html +++ b/1.9.0/integrations-langwatch.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/integrations-openlayer.html b/1.9.0/integrations-openlayer.html index 26d85d6847..31fc60b43d 100644 --- a/1.9.0/integrations-openlayer.html +++ b/1.9.0/integrations-openlayer.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/integrations-opik.html b/1.9.0/integrations-opik.html index 4ec7c737d3..468501e19d 100644 --- a/1.9.0/integrations-opik.html +++ b/1.9.0/integrations-opik.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/jwt-authentication.html b/1.9.0/jwt-authentication.html index 9ad4ceb1a4..474c28c7f9 100644 --- a/1.9.0/jwt-authentication.html +++ b/1.9.0/jwt-authentication.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/knowledge-base.html b/1.9.0/knowledge-base.html index 59eb1c60a2..15dfb8db54 100644 --- a/1.9.0/knowledge-base.html +++ b/1.9.0/knowledge-base.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/knowledge.html b/1.9.0/knowledge.html index 2153005aa2..eecf8f4eb7 100644 --- a/1.9.0/knowledge.html +++ b/1.9.0/knowledge.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/langflow-assistant.html b/1.9.0/langflow-assistant.html index e8497a0138..83bb207b3c 100644 --- a/1.9.0/langflow-assistant.html +++ b/1.9.0/langflow-assistant.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/langflow-mcp-client.html b/1.9.0/langflow-mcp-client.html index 4bd50769da..6e3b9fb2f4 100644 --- a/1.9.0/langflow-mcp-client.html +++ b/1.9.0/langflow-mcp-client.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/legacy-core-components.html b/1.9.0/legacy-core-components.html index c97f635229..8f48e218f2 100644 --- a/1.9.0/legacy-core-components.html +++ b/1.9.0/legacy-core-components.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/llm-selector.html b/1.9.0/llm-selector.html index a410ff5700..c7cd9846dd 100644 --- a/1.9.0/llm-selector.html +++ b/1.9.0/llm-selector.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/logging.html b/1.9.0/logging.html index 9d7ac33555..e2ab4c54b1 100644 --- a/1.9.0/logging.html +++ b/1.9.0/logging.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/loop.html b/1.9.0/loop.html index d649685f2c..f286d210a5 100644 --- a/1.9.0/loop.html +++ b/1.9.0/loop.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/luna-for-langflow.html b/1.9.0/luna-for-langflow.html index 0c039b3939..1f70a4f25c 100644 --- a/1.9.0/luna-for-langflow.html +++ b/1.9.0/luna-for-langflow.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/mcp-client.html b/1.9.0/mcp-client.html index 6f4d07b858..766401ea33 100644 --- a/1.9.0/mcp-client.html +++ b/1.9.0/mcp-client.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/mcp-component-astra.html b/1.9.0/mcp-component-astra.html index 0fb35e3dc1..7b93fa615c 100644 --- a/1.9.0/mcp-component-astra.html +++ b/1.9.0/mcp-component-astra.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/mcp-server.html b/1.9.0/mcp-server.html index d71f510654..e6a6c2c8e7 100644 --- a/1.9.0/mcp-server.html +++ b/1.9.0/mcp-server.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/mcp-tools.html b/1.9.0/mcp-tools.html index d5990558ba..ca61e81664 100644 --- a/1.9.0/mcp-tools.html +++ b/1.9.0/mcp-tools.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/mcp-tutorial.html b/1.9.0/mcp-tutorial.html index 06f38a6415..66911aa218 100644 --- a/1.9.0/mcp-tutorial.html +++ b/1.9.0/mcp-tutorial.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/memory.html b/1.9.0/memory.html index b0360a2a12..f65d903037 100644 --- a/1.9.0/memory.html +++ b/1.9.0/memory.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/message-history.html b/1.9.0/message-history.html index 2c89a3b081..64c9dbfa3e 100644 --- a/1.9.0/message-history.html +++ b/1.9.0/message-history.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/mock-data.html b/1.9.0/mock-data.html index 04e4876aeb..3ae8db6e08 100644 --- a/1.9.0/mock-data.html +++ b/1.9.0/mock-data.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/notify-and-listen.html b/1.9.0/notify-and-listen.html index 8efba11069..ecd5b043a3 100644 --- a/1.9.0/notify-and-listen.html +++ b/1.9.0/notify-and-listen.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/parser.html b/1.9.0/parser.html index 66cb32290a..d57d09aa09 100644 --- a/1.9.0/parser.html +++ b/1.9.0/parser.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/policies.html b/1.9.0/policies.html index ee90120ed7..86f8e9efc0 100644 --- a/1.9.0/policies.html +++ b/1.9.0/policies.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/python-interpreter.html b/1.9.0/python-interpreter.html index c59067dcbd..0c134fdd70 100644 --- a/1.9.0/python-interpreter.html +++ b/1.9.0/python-interpreter.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/read-file.html b/1.9.0/read-file.html index 64712de334..7c017eaaae 100644 --- a/1.9.0/read-file.html +++ b/1.9.0/read-file.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/release-notes.html b/1.9.0/release-notes.html index c67d546e9e..523c82a50f 100644 --- a/1.9.0/release-notes.html +++ b/1.9.0/release-notes.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/run-flow.html b/1.9.0/run-flow.html index e00f968e85..1be13b3a8e 100644 --- a/1.9.0/run-flow.html +++ b/1.9.0/run-flow.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/security.html b/1.9.0/security.html index 0a6296dc50..c11a69c8b2 100644 --- a/1.9.0/security.html +++ b/1.9.0/security.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/session-id.html b/1.9.0/session-id.html index b710d78b4e..418b3c560a 100644 --- a/1.9.0/session-id.html +++ b/1.9.0/session-id.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/smart-router.html b/1.9.0/smart-router.html index 5f009df65b..a6ad332a6d 100644 --- a/1.9.0/smart-router.html +++ b/1.9.0/smart-router.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/smart-transform.html b/1.9.0/smart-transform.html index 8c0de89633..f87f1461ac 100644 --- a/1.9.0/smart-transform.html +++ b/1.9.0/smart-transform.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/split-text.html b/1.9.0/split-text.html index c3d24e876d..965c95b841 100644 --- a/1.9.0/split-text.html +++ b/1.9.0/split-text.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/sql-database.html b/1.9.0/sql-database.html index 9be3697063..3018cfc266 100644 --- a/1.9.0/sql-database.html +++ b/1.9.0/sql-database.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/structured-output.html b/1.9.0/structured-output.html index fd06f70d34..6b671ab504 100644 --- a/1.9.0/structured-output.html +++ b/1.9.0/structured-output.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/text-input-and-output.html b/1.9.0/text-input-and-output.html index 01d77d73b9..0cf6faec5a 100644 --- a/1.9.0/text-input-and-output.html +++ b/1.9.0/text-input-and-output.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/text-operations.html b/1.9.0/text-operations.html index cea980eac8..42f3e451ae 100644 --- a/1.9.0/text-operations.html +++ b/1.9.0/text-operations.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/traces.html b/1.9.0/traces.html index 82f7b53749..efc99e9cca 100644 --- a/1.9.0/traces.html +++ b/1.9.0/traces.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/troubleshoot.html b/1.9.0/troubleshoot.html index 8c16b018ec..a944e06d9e 100644 --- a/1.9.0/troubleshoot.html +++ b/1.9.0/troubleshoot.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/type-convert.html b/1.9.0/type-convert.html index 59b20a76ab..4419197f23 100644 --- a/1.9.0/type-convert.html +++ b/1.9.0/type-convert.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/typescript-client.html b/1.9.0/typescript-client.html index 2e6f3b0a35..baf39b703d 100644 --- a/1.9.0/typescript-client.html +++ b/1.9.0/typescript-client.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/url.html b/1.9.0/url.html index 9a6552da43..e0782f9686 100644 --- a/1.9.0/url.html +++ b/1.9.0/url.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/web-search.html b/1.9.0/web-search.html index 897d266c1f..0e66ce4b55 100644 --- a/1.9.0/web-search.html +++ b/1.9.0/web-search.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/webhook.html b/1.9.0/webhook.html index 6cbebc6064..7dac28d439 100644 --- a/1.9.0/webhook.html +++ b/1.9.0/webhook.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/workflow-api.html b/1.9.0/workflow-api.html index 582b3d9b09..610aa0197e 100644 --- a/1.9.0/workflow-api.html +++ b/1.9.0/workflow-api.html @@ -25,7 +25,7 @@ - + diff --git a/1.9.0/write-file.html b/1.9.0/write-file.html index 5ecf2003f2..f9c58924e3 100644 --- a/1.9.0/write-file.html +++ b/1.9.0/write-file.html @@ -25,7 +25,7 @@ - + diff --git a/404.html b/404.html index 83f9f46981..eb581305b6 100644 --- a/404.html +++ b/404.html @@ -25,7 +25,7 @@ - + diff --git a/API-Reference.html b/API-Reference.html index 6f28cc35c4..f1e0535749 100644 --- a/API-Reference.html +++ b/API-Reference.html @@ -25,7 +25,7 @@ - + diff --git a/agent-tutorial.html b/agent-tutorial.html index 9b33d8ef2c..92f4ea715e 100644 --- a/agent-tutorial.html +++ b/agent-tutorial.html @@ -25,7 +25,7 @@ - + diff --git a/agents-tools.html b/agents-tools.html index 8a4edd5bbc..c979cf7355 100644 --- a/agents-tools.html +++ b/agents-tools.html @@ -25,7 +25,7 @@ - + diff --git a/agents.html b/agents.html index 30e194501f..ce8be2234a 100644 --- a/agents.html +++ b/agents.html @@ -25,7 +25,7 @@ - + diff --git a/api-build.html b/api-build.html index 5ef8bca83a..0e9956d62e 100644 --- a/api-build.html +++ b/api-build.html @@ -25,7 +25,7 @@ - + diff --git a/api-files.html b/api-files.html index 9f31ff9c19..c84445ad6e 100644 --- a/api-files.html +++ b/api-files.html @@ -25,7 +25,7 @@ - + diff --git a/api-flows-run.html b/api-flows-run.html index 5d2f37ce2a..edd61f4293 100644 --- a/api-flows-run.html +++ b/api-flows-run.html @@ -25,7 +25,7 @@ - + diff --git a/api-flows.html b/api-flows.html index 5b5cd55bd4..af4276ee66 100644 --- a/api-flows.html +++ b/api-flows.html @@ -25,7 +25,7 @@ - + diff --git a/api-keys-and-authentication.html b/api-keys-and-authentication.html index 3e2ab73e51..a95c6348c6 100644 --- a/api-keys-and-authentication.html +++ b/api-keys-and-authentication.html @@ -25,7 +25,7 @@ - + diff --git a/api-logs.html b/api-logs.html index b5726c9f32..e0e08063dc 100644 --- a/api-logs.html +++ b/api-logs.html @@ -25,7 +25,7 @@ - + diff --git a/api-monitor.html b/api-monitor.html index dd2e34ef0d..8da08a85a2 100644 --- a/api-monitor.html +++ b/api-monitor.html @@ -25,7 +25,7 @@ - + diff --git a/api-openai-responses.html b/api-openai-responses.html index 7890394567..13cb643eed 100644 --- a/api-openai-responses.html +++ b/api-openai-responses.html @@ -25,7 +25,7 @@ - + diff --git a/api-projects.html b/api-projects.html index 8284858d6e..29eae20f9d 100644 --- a/api-projects.html +++ b/api-projects.html @@ -25,7 +25,7 @@ - + diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index d73601dd18..4d664c3580 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -25,7 +25,7 @@ - + diff --git a/api-request.html b/api-request.html index 59ff9914af..8bb15993fb 100644 --- a/api-request.html +++ b/api-request.html @@ -25,7 +25,7 @@ - + diff --git a/api-users.html b/api-users.html index 006eda4a33..0a3c1ab57c 100644 --- a/api-users.html +++ b/api-users.html @@ -25,7 +25,7 @@ - + diff --git a/api.html b/api.html index 8e4741f58e..df7e24b4f9 100644 --- a/api.html +++ b/api.html @@ -25,7 +25,7 @@ - + diff --git a/api/openapi.json.html b/api/openapi.json.html index 827337a143..17e1cd7df7 100644 --- a/api/openapi.json.html +++ b/api/openapi.json.html @@ -25,7 +25,7 @@ - + diff --git a/api/workflow.html b/api/workflow.html index 498757cb03..1f5268b74d 100644 --- a/api/workflow.html +++ b/api/workflow.html @@ -25,7 +25,7 @@ - + diff --git a/assets/js/07577e52.afdfb5c9.js b/assets/js/07577e52.afdfb5c9.js new file mode 100644 index 0000000000..127f9f945f --- /dev/null +++ b/assets/js/07577e52.afdfb5c9.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[68725],{34469:(e,n,o)=>{o.r(n),o.d(n,{CH:()=>l,assets:()=>c,chCodeConfig:()=>h,contentTitle:()=>a,default:()=>p,frontMatter:()=>d,metadata:()=>t,toc:()=>u});const t=JSON.parse('{"id":"Develop/extensions-overview","title":"Langflow Extensions overview","description":"Langflow ships component bundles that are maintained and released separately from the core Langflow server as Extensions.","source":"@site/docs/Develop/extensions-overview.mdx","sourceDirName":"Develop","slug":"/extensions-overview","permalink":"/next/extensions-overview","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Langflow Extensions overview","slug":"/extensions-overview"},"sidebar":"docs","previous":{"title":"Use the Langflow CLI","permalink":"/next/configuration-cli"},"next":{"title":"Langflow Extension quickstart","permalink":"/next/extensions-quickstart"}}');var i=o(74848),s=o(28453),r=o(24754);o(52307);const d={title:"Langflow Extensions overview",slug:"/extensions-overview"},a=void 0,c={},l={annotations:r.hk,Code:r.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},u=[{value:"Current Extension bundles",id:"current-extension-bundles",level:2},{value:"If a component is missing after an upgrade",id:"if-a-component-is-missing-after-an-upgrade",level:2},{value:"Install a bundle extension",id:"install-a-bundle-extension",level:2},{value:"Build your own extension",id:"build-your-own-extension",level:2},{value:"See also",id:"see-also",level:2}];function x(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return l||f("CH",!1),l.Code||f("CH.Code",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,i.jsxs)(n.p,{children:["Langflow ships component bundles that are maintained and released separately from the core Langflow server as Extensions.\nInstead of every integration being built into ",(0,i.jsx)(n.code,{children:"langflow"}),", each bundle is its own pip-installable package, such as ",(0,i.jsx)(n.code,{children:"lfx-duckduckgo"})," or ",(0,i.jsx)(n.code,{children:"lfx-arxiv"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["When you run ",(0,i.jsx)(n.code,{children:"uv pip install langflow"}),", you install:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"All Langflow core components"}),"\n",(0,i.jsxs)(n.li,{children:["All bundles that ship as dependencies of the ",(0,i.jsx)(n.code,{children:"langflow"})," metapackage"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Some bundles that were previously included in ",(0,i.jsx)(n.code,{children:"langflow"})," are moved into standalone packages.\nThe ",(0,i.jsx)(n.code,{children:"langflow"})," metapackage adds them as regular pip dependencies, so ",(0,i.jsx)(n.code,{children:"pip install langflow"})," continues to include them."]}),"\n",(0,i.jsx)(n.h2,{id:"current-extension-bundles",children:"Current Extension bundles"}),"\n",(0,i.jsxs)(n.p,{children:["The following Extension bundles are included with ",(0,i.jsx)(n.code,{children:"uv pip install langflow"}),":"]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Package"}),(0,i.jsx)(n.th,{children:"Bundle"}),(0,i.jsx)(n.th,{children:"Components"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-arxiv"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-arxiv",children:"arXiv"})}),(0,i.jsx)(n.td,{children:"arXiv search"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-docling"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-docling",children:"Docling"})}),(0,i.jsx)(n.td,{children:"Document parsing and chunking"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-duckduckgo"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-duckduckgo",children:"DuckDuckGo"})}),(0,i.jsx)(n.td,{children:"Web search"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-ibm"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-ibm",children:"IBM"})}),(0,i.jsx)(n.td,{children:"IBM watsonx.ai LLM and embeddings, IBM Db2 Vector Store"})]})]})]}),"\n",(0,i.jsxs)(n.p,{children:["The internal identifier for each component changes.\nFor example, a DuckDuckGo component previously referenced as a ",(0,i.jsx)(n.code,{children:"DuckDuckGoSearchComponent"})," class is now ",(0,i.jsx)(n.code,{children:"ext:duckduckgo:DuckDuckGoSearchComponent@official"}),".\nLangflow rewrites these references automatically when you open a saved flow, so in most cases the migration is invisible."]}),"\n",(0,i.jsx)(n.h2,{id:"if-a-component-is-missing-after-an-upgrade",children:"If a component is missing after an upgrade"}),"\n",(0,i.jsxs)(n.p,{children:["If you open a flow and a node shows an error like ",(0,i.jsx)(n.code,{children:"component-not-found"}),", it means the automatic migration couldn't resolve the component reference.\nThis can happen when:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The bundle the component came from was not installed in the upgraded environment."}),"\n",(0,i.jsxs)(n.li,{children:["The component was referenced by a name that appears in more than one bundle (",(0,i.jsx)(n.code,{children:"component-name-ambiguous"}),")."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"In both cases the error message includes a hint that names the expected canonical ID. For example:"}),"\n",(0,i.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"component-not-found-with-hint: DuckDuckGoSearchComponent not found.",props:{}}]},{tokens:[{content:"Hint: try ext:duckduckgo:DuckDuckGoSearchComponent@official",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,i.jsxs)(n.p,{children:["Use the bundle name from the hint, such as ",(0,i.jsx)(n.code,{children:"duckduckgo"})," in this example, to find and install the correct extension package, and then reload the flow."]}),"\n",(0,i.jsx)(n.h2,{id:"install-a-bundle-extension",children:"Install a bundle extension"}),"\n",(0,i.jsx)(n.p,{children:"If a bundle you need is not included in your Langflow environment, install it with pip:"}),"\n",(0,i.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"pip install lfx-duckduckgo",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"run langflow run",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,i.jsx)(n.p,{children:"Langflow discovers the package at server startup and loads the components into the palette automatically.\nNo additional configuration is required."}),"\n",(0,i.jsx)(n.p,{children:"To see what extensions are currently loaded, run:"}),"\n",(0,i.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"lfx ",props:{style:{color:"#FFA657"}}},{content:"extension list",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,i.jsx)(n.h2,{id:"build-your-own-extension",children:"Build your own extension"}),"\n",(0,i.jsx)(n.p,{children:"If you have custom components that you want to distribute and version independently of your Langflow install, you can package them as an extension."}),"\n",(0,i.jsxs)(n.p,{children:["For more information, see ",(0,i.jsx)(n.a,{href:"/next/extensions-quickstart",children:"Build your first Langflow Extension"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"see-also",children:"See also"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"./extensions-quickstart",children:"Build your first extension"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"./extensions-manifest",children:"Manifest reference"})}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(x,{...e})}):x(e)}function f(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]); \ No newline at end of file diff --git a/assets/js/07577e52.ff519825.js b/assets/js/07577e52.ff519825.js deleted file mode 100644 index 36131428bd..0000000000 --- a/assets/js/07577e52.ff519825.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[68725],{34469:(e,n,o)=>{o.r(n),o.d(n,{CH:()=>l,assets:()=>a,chCodeConfig:()=>h,contentTitle:()=>c,default:()=>p,frontMatter:()=>d,metadata:()=>t,toc:()=>u});const t=JSON.parse('{"id":"Develop/extensions-overview","title":"Langflow Extensions overview","description":"Langflow ships component bundles that are maintained and released separately from the core Langflow server as Extensions.","source":"@site/docs/Develop/extensions-overview.mdx","sourceDirName":"Develop","slug":"/extensions-overview","permalink":"/next/extensions-overview","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Langflow Extensions overview","slug":"/extensions-overview"},"sidebar":"docs","previous":{"title":"Use the Langflow CLI","permalink":"/next/configuration-cli"},"next":{"title":"Langflow Extension quickstart","permalink":"/next/extensions-quickstart"}}');var i=o(74848),s=o(28453),r=o(24754);o(52307);const d={title:"Langflow Extensions overview",slug:"/extensions-overview"},c=void 0,a={},l={annotations:r.hk,Code:r.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},u=[{value:"Current Extension bundles",id:"current-extension-bundles",level:2},{value:"If a component is missing after an upgrade",id:"if-a-component-is-missing-after-an-upgrade",level:2},{value:"Install a bundle extension",id:"install-a-bundle-extension",level:2},{value:"Build your own extension",id:"build-your-own-extension",level:2}];function x(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return l||g("CH",!1),l.Code||g("CH.Code",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,i.jsxs)(n.p,{children:["Langflow ships component bundles that are maintained and released separately from the core Langflow server as Extensions.\nInstead of every integration being built into ",(0,i.jsx)(n.code,{children:"langflow"}),", each bundle is its own pip-installable package, such as ",(0,i.jsx)(n.code,{children:"lfx-duckduckgo"})," or ",(0,i.jsx)(n.code,{children:"lfx-arxiv"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["When you run ",(0,i.jsx)(n.code,{children:"uv pip install langflow"}),", you install:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"All Langflow core components"}),"\n",(0,i.jsxs)(n.li,{children:["All bundles that ship as dependencies of the ",(0,i.jsx)(n.code,{children:"langflow"})," metapackage"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Some bundles that were previously included in ",(0,i.jsx)(n.code,{children:"langflow"})," are moved into standalone packages.\nThe ",(0,i.jsx)(n.code,{children:"langflow"})," metapackage adds them as regular pip dependencies, so ",(0,i.jsx)(n.code,{children:"pip install langflow"})," continues to include them."]}),"\n",(0,i.jsx)(n.h2,{id:"current-extension-bundles",children:"Current Extension bundles"}),"\n",(0,i.jsxs)(n.p,{children:["The following Extension bundles are included with ",(0,i.jsx)(n.code,{children:"uv pip install langflow"}),":"]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Package"}),(0,i.jsx)(n.th,{children:"Bundle"}),(0,i.jsx)(n.th,{children:"Components"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-arxiv"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-arxiv",children:"arXiv"})}),(0,i.jsx)(n.td,{children:"arXiv search"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-docling"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-docling",children:"Docling"})}),(0,i.jsx)(n.td,{children:"Document parsing and chunking"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-duckduckgo"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-duckduckgo",children:"DuckDuckGo"})}),(0,i.jsx)(n.td,{children:"Web search"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"lfx-ibm"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/bundles-ibm",children:"IBM"})}),(0,i.jsx)(n.td,{children:"IBM watsonx.ai LLM and embeddings, IBM Db2 Vector Store"})]})]})]}),"\n",(0,i.jsxs)(n.p,{children:["The internal identifier for each component changes.\nFor example, a DuckDuckGo component previously referenced as a ",(0,i.jsx)(n.code,{children:"DuckDuckGoSearchComponent"})," class is now ",(0,i.jsx)(n.code,{children:"ext:duckduckgo:DuckDuckGoSearchComponent@official"}),".\nLangflow rewrites these references automatically when you open a saved flow, so in most cases the migration is invisible."]}),"\n",(0,i.jsx)(n.h2,{id:"if-a-component-is-missing-after-an-upgrade",children:"If a component is missing after an upgrade"}),"\n",(0,i.jsxs)(n.p,{children:["If you open a flow and a node shows an error like ",(0,i.jsx)(n.code,{children:"component-not-found"}),", it means the automatic migration couldn't resolve the component reference.\nThis can happen when:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The bundle the component came from was not installed in the upgraded environment."}),"\n",(0,i.jsxs)(n.li,{children:["The component was referenced by a name that appears in more than one bundle (",(0,i.jsx)(n.code,{children:"component-name-ambiguous"}),")."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"In both cases the error message includes a hint that names the expected canonical ID. For example:"}),"\n",(0,i.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"component-not-found-with-hint: DuckDuckGoSearchComponent not found.",props:{}}]},{tokens:[{content:"Hint: try ext:duckduckgo:DuckDuckGoSearchComponent@official",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,i.jsxs)(n.p,{children:["Use the bundle name from the hint, such as ",(0,i.jsx)(n.code,{children:"duckduckgo"})," in this example, to find and install the correct extension package, and then reload the flow."]}),"\n",(0,i.jsx)(n.h2,{id:"install-a-bundle-extension",children:"Install a bundle extension"}),"\n",(0,i.jsx)(n.p,{children:"If a bundle you need is not included in your Langflow environment, install it with pip:"}),"\n",(0,i.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"pip install lfx-duckduckgo",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"run langflow run",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,i.jsx)(n.p,{children:"Langflow discovers the package at server startup and loads the components into the palette automatically.\nNo additional configuration is required."}),"\n",(0,i.jsx)(n.p,{children:"To see what extensions are currently loaded, run:"}),"\n",(0,i.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"lfx ",props:{style:{color:"#FFA657"}}},{content:"extension list",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,i.jsx)(n.h2,{id:"build-your-own-extension",children:"Build your own extension"}),"\n",(0,i.jsx)(n.p,{children:"If you have custom components that you want to distribute and version independently of your Langflow install, you can package them as an extension."}),"\n",(0,i.jsxs)(n.p,{children:["For more information, see ",(0,i.jsx)(n.a,{href:"/next/extensions-quickstart",children:"Build your first Langflow Extension"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(x,{...e})}):x(e)}function g(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]); \ No newline at end of file diff --git a/assets/js/2eb731bc.5f59bcbf.js b/assets/js/2eb731bc.5f59bcbf.js new file mode 100644 index 0000000000..db2b26cb42 --- /dev/null +++ b/assets/js/2eb731bc.5f59bcbf.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[73536],{85202:(e,o,t)=>{t.r(o),t.d(o,{CH:()=>d,assets:()=>i,chCodeConfig:()=>p,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>n,toc:()=>h});const n=JSON.parse('{"id":"Develop/configuration-custom-database","title":"Configure an external PostgreSQL database","description":"Langflow\'s default database is SQLite, but you can configure Langflow to use PostgreSQL instead.","source":"@site/docs/Develop/configuration-custom-database.mdx","sourceDirName":"Develop","slug":"/configuration-custom-database","permalink":"/next/configuration-custom-database","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Configure an external PostgreSQL database","slug":"/configuration-custom-database"},"sidebar":"docs","previous":{"title":"Use Session IDs","permalink":"/next/session-id"},"next":{"title":"Database guide for enterprise administrators","permalink":"/next/enterprise-database-guide"}}');var s=t(74848),r=t(28453),l=t(24754);const c={title:"Configure an external PostgreSQL database",slug:"/configuration-custom-database"},a=void 0,i={},d={annotations:l.hk,Code:l.Cy},p={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},h=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Connect Langflow to a local PostgreSQL database",id:"connect-langflow-to-a-local-postgresql-database",level:2},{value:"Deploy Langflow and PostgreSQL containers with docker-compose.yml",id:"deploy-langflow-and-postgresql-containers-with-docker-composeyml",level:2},{value:"Deploy multiple Langflow instances with a shared PostgreSQL database",id:"deploy-multiple-langflow-instances-with-a-shared-postgresql-database",level:2},{value:"See also",id:"see-also",level:2}];function g(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return d||f("CH",!1),d.Code||f("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,s.jsxs)(o.p,{children:["Langflow's default database is ",(0,s.jsx)(o.a,{href:"https://www.sqlite.org/docs.html",children:"SQLite"}),", but you can configure Langflow to use PostgreSQL instead."]}),"\n",(0,s.jsxs)(o.p,{children:["This guide walks you through setting up an external database for Langflow by replacing the default SQLite connection string ",(0,s.jsx)(o.code,{children:"sqlite:///./langflow.db"})," with PostgreSQL, both in local and containerized environments."]}),"\n",(0,s.jsxs)(o.admonition,{title:"SQLite paths should be absolute",type:"note",children:[(0,s.jsxs)(o.p,{children:["If you set ",(0,s.jsx)(o.code,{children:"LANGFLOW_DATABASE_URL"})," to a SQLite connection string, use an ",(0,s.jsx)(o.strong,{children:"absolute"})," path, such as ",(0,s.jsx)(o.code,{children:"sqlite:////absolute/path/to/langflow.db"})," (note the four leading slashes) or, on Windows, ",(0,s.jsx)(o.code,{children:"sqlite:///C:/path/to/langflow.db"}),"."]}),(0,s.jsxs)(o.p,{children:["A relative path such as ",(0,s.jsx)(o.code,{children:"sqlite:///./langflow.db"}),' is resolved against the directory you start Langflow from, so launching from different directories points at different database files (your flows can appear to "disappear"), and a relative path that includes a subdirectory which doesn\'t yet exist fails at startup because SQLite does not create intermediate directories.']})]}),"\n",(0,s.jsx)(o.p,{children:"In this configuration, all structured application data from Langflow, including flows, message history, and logs, is instead managed by PostgreSQL.\nPostgreSQL is better suited for production environments due to its robust support for concurrent users, advanced data integrity features, and scalability.\nLangflow can more efficiently handle multiple users and larger workloads by using PostgreSQL as the database."}),"\n",(0,s.jsx)(o.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["A ",(0,s.jsx)(o.a,{href:"https://www.pgadmin.org/download/",children:"PostgreSQL"})," database version 15 or later"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"connect-langflow-to-a-local-postgresql-database",children:"Connect Langflow to a local PostgreSQL database"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["If Langflow is running, stop Langflow with ",(0,s.jsx)("kbd",{children:"Ctrl+C"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Find your PostgreSQL database's connection string in the format ",(0,s.jsx)(o.code,{children:"postgresql://user:password@host:port/dbname"}),"."]}),"\n",(0,s.jsx)(o.p,{children:"The hostname in your connection string depends on how you're running PostgreSQL:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["If you're running PostgreSQL directly on your machine, use ",(0,s.jsx)(o.code,{children:"localhost"}),"."]}),"\n",(0,s.jsxs)(o.li,{children:["If you're running PostgreSQL in Docker Compose, use the service name, such as ",(0,s.jsx)(o.code,{children:"postgres"}),"."]}),"\n",(0,s.jsxs)(o.li,{children:["If you're running PostgreSQL in a separate Docker container with ",(0,s.jsx)(o.code,{children:"docker run"}),", use the container's IP address or network alias."]}),"\n",(0,s.jsx)(o.li,{children:"If you're running a cloud-hosted PostgreSQL, your provider will share your connection string, which includes a username and password."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Edit or create a Langflow ",(0,s.jsx)(o.code,{children:".env"})," file:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"touch .env",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["You can use the ",(0,s.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow/blob/main/.env.example",children:(0,s.jsx)(o.code,{children:".env.example"})})," file in the Langflow repository as a template for your own ",(0,s.jsx)(o.code,{children:".env"})," file."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["In your ",(0,s.jsx)(o.code,{children:".env"})," file, set ",(0,s.jsx)(o.code,{children:"LANGFLOW_DATABASE_URL"})," to your PostgreSQL connection string:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'LANGFLOW_DATABASE_URL="postgresql://user:password@localhost:5432/dbname"',props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["Langflow uses ",(0,s.jsx)(o.a,{href:"https://www.sqlalchemy.org/",children:"SQLAlchemy"})," with the ",(0,s.jsx)(o.a,{href:"https://www.psycopg.org/",children:"psycopg"})," driver to pass SSL parameters directly to the PostgreSQL connection."]}),"\n",(0,s.jsx)(o.admonition,{title:"PostgreSQL driver compatibility",type:"warning",children:(0,s.jsxs)(o.p,{children:["Langflow requires ",(0,s.jsx)(o.code,{children:"psycopg2-binary"})," or ",(0,s.jsx)(o.code,{children:"psycopg[binary]"})," as the PostgreSQL driver. The ",(0,s.jsx)(o.code,{children:"asyncpg"})," driver is not compatible with Langflow's current database schema due to stricter timezone handling requirements."]})}),"\n",(0,s.jsx)(o.p,{children:"The following SSL modes are supported:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:(0,s.jsx)(o.code,{children:"sslmode=require"})}),": Requires SSL connection but doesn't verify server certificate. This option is the least secure, but acceptable for most use cases."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"postgresql://user:password@localhost:5432/dbname?sslmode=require"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:(0,s.jsx)(o.code,{children:"sslmode=verify-ca"})}),": Requires SSL and verifies the server certificate against the Certificate Authority (CA). Add the certificate paths to your connection string:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"postgresql://user@localhost:5432/dbname?sslmode=verify-ca&sslcert=/path/to/client.crt&sslkey=/path/to/client.key&sslrootcert=/path/to/ca.crt"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:(0,s.jsx)(o.code,{children:"sslmode=verify-full"})}),": Requires SSL, verifies the server certificate, and checks the request hostname against the certificate hostname. The ",(0,s.jsx)(o.code,{children:"db.example.com"})," hostname in this example must match the server certificate's CN. This option is the most secure."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"postgresql://user@db.example.com:5432/dbname?sslmode=verify-full&sslcert=/path/to/client.crt&sslkey=/path/to/client.key&sslrootcert=/path/to/ca.crt"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["Do not use the Langflow environment variables ",(0,s.jsx)(o.a,{href:"/environment-variables#server",children:(0,s.jsx)(o.code,{children:"LANGFLOW_SSL_CERT_FILE"})})," and ",(0,s.jsx)(o.a,{href:"/environment-variables#server",children:(0,s.jsx)(o.code,{children:"LANGFLOW_SSL_KEY_FILE"})})," for your PostgreSQL certificates: these variables are for enabling HTTPS on the Langflow server, not for PostgreSQL database connections."]}),"\n",(0,s.jsxs)(o.p,{children:["For more on managing SSL certificates in PostgreSQL, see the ",(0,s.jsx)(o.a,{href:"https://www.postgresql.org/docs/9.1/ssl-tcp.html",children:"PostgreSQL documentation"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Save your changes, and then start Langflow with your ",(0,s.jsx)(o.code,{children:".env"})," file:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"run langflow run ",props:{style:{color:"#A5D6FF"}}},{content:"--env-file ",props:{style:{color:"#79C0FF"}}},{content:".env",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["For optional connection pooling and timeout settings, see ",(0,s.jsx)(o.a,{href:"/memory#configure-external-memory",children:"Configure external memory"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"In Langflow, run any flow to create traffic."}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Inspect your PostgreSQL database's tables and activity to verify that new tables and traffic were created after you ran a flow."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"deploy-langflow-and-postgresql-containers-with-docker-composeyml",children:"Deploy Langflow and PostgreSQL containers with docker-compose.yml"}),"\n",(0,s.jsxs)(o.p,{children:["Launching Langflow and PostgreSQL containers in the same Docker network ensures proper connectivity between services.\nFor an example, see the ",(0,s.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow/blob/main/docker_example/docker-compose.yml",children:(0,s.jsx)(o.code,{children:"docker-compose.yml"})})," file in the Langflow repository."]}),"\n",(0,s.jsxs)(o.p,{children:["The configuration in the example ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," also sets up persistent volumes for both Langflow and PostgreSQL data.\nPersistent volumes map directories inside of containers to storage on the host machine, so data persists through container restarts."]}),"\n",(0,s.jsxs)(o.p,{children:["Docker Compose creates an isolated network for all services defined in ",(0,s.jsx)(o.code,{children:"docker-compose.yml"}),". This ensures that the services can communicate with each other using their service names as hostnames, such as ",(0,s.jsx)(o.code,{children:"postgres"})," in the database URL.\nIn contrast, if you run PostgreSQL separately with ",(0,s.jsx)(o.code,{children:"docker run"}),", it launches in a different network than the Langflow container, and this prevents Langflow from connecting to PostgreSQL using the service name."]}),"\n",(0,s.jsxs)(o.p,{children:["To start the Langflow and PostgreSQL services with the example Docker Compose file, navigate to the ",(0,s.jsx)(o.code,{children:"langflow/docker_example"})," directory, and then run ",(0,s.jsx)(o.code,{children:"docker-compose up"}),".\nIf you're using a different ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," file, run the ",(0,s.jsx)(o.code,{children:"docker-compose up"})," command from the same directory as your ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," file."]}),"\n",(0,s.jsx)(o.h2,{id:"deploy-multiple-langflow-instances-with-a-shared-postgresql-database",children:"Deploy multiple Langflow instances with a shared PostgreSQL database"}),"\n",(0,s.jsxs)(o.p,{children:["To configure multiple Langflow instances that share the same PostgreSQL database, modify your ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," file to include multiple Langflow services."]}),"\n",(0,s.jsxs)(o.p,{children:["This example populates the values in ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," with values from your Langflow ",(0,s.jsx)(o.code,{children:".env"})," file.\nThis approach means you only have to manage deployment variables in one file, instead of copying values across multiple files."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Update your ",(0,s.jsx)(o.code,{children:".env"})," file with values for your PostgreSQL database:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"POSTGRES_USER=langflow",props:{}}]},{tokens:[{content:"POSTGRES_PASSWORD=your_secure_password",props:{}}]},{tokens:[{content:"POSTGRES_DB=langflow",props:{}}]},{tokens:[{content:"POSTGRES_HOST=postgres",props:{}}]},{tokens:[{content:"POSTGRES_PORT=5432",props:{}}]},{tokens:[{content:"LANGFLOW_CONFIG_DIR=app/langflow",props:{}}]},{tokens:[{content:"LANGFLOW_PORT_1=7860",props:{}}]},{tokens:[{content:"LANGFLOW_PORT_2=7861",props:{}}]},{tokens:[{content:"LANGFLOW_HOST=0.0.0.0",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["For optional connection pooling and timeout settings, see ",(0,s.jsx)(o.a,{href:"/memory#configure-external-memory",children:"Configure external memory"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Reference these variables in your ",(0,s.jsx)(o.code,{children:"docker-compose.yml"}),".\nFor example:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"services",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" postgres",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" # Pinned to a specific Debian base (trixie) so the postgres:16 tag does",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:" # not silently roll its OS, which triggers a glibc collation mismatch",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:" # warning on existing volumes. See https://github.com/langflow-ai/langflow/issues/9608",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:" image",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"postgres:16-trixie",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_USER=${POSTGRES_USER}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_PASSWORD=${POSTGRES_PASSWORD}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_DB=${POSTGRES_DB}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" ports",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:'"${POSTGRES_PORT}:5432"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"langflow-postgres:/var/lib/postgresql/data",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-1",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" image",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" pull_policy",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"always",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" ports",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:'"${LANGFLOW_PORT_1}:7860"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" depends_on",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"postgres",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_HOST=${LANGFLOW_HOST}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"PORT=7860",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"langflow-data-1:/app/langflow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-2",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" image",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" pull_policy",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"always",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" ports",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:'"${LANGFLOW_PORT_2}:7860"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" depends_on",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"postgres",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_HOST=${LANGFLOW_HOST}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"PORT=7860",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"langflow-data-2:/app/langflow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-postgres",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-data-1",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-data-2",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]}],lang:"yaml"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Deploy the file with ",(0,s.jsx)(o.code,{children:"docker-compose up"}),".\nYou can access the first Langflow instance at ",(0,s.jsx)(o.code,{children:"http://localhost:7860"}),", and the second Langflow instance at ",(0,s.jsx)(o.code,{children:"http://localhost:7861"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To confirm both instances are using the same database, run the ",(0,s.jsx)(o.code,{children:"docker exec"})," command to start ",(0,s.jsx)(o.code,{children:"psql"})," in your PostgreSQL container.\nYour container name may vary."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"exec ",props:{style:{color:"#A5D6FF"}}},{content:"-it ",props:{style:{color:"#79C0FF"}}},{content:"docker-test-postgres-1 psql ",props:{style:{color:"#A5D6FF"}}},{content:"-U ",props:{style:{color:"#79C0FF"}}},{content:"langflow ",props:{style:{color:"#A5D6FF"}}},{content:"-d ",props:{style:{color:"#79C0FF"}}},{content:"langflow",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Query the database for active connections:"}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"# ",props:{style:{color:"#C9D1D9"}}},{content:"SELECT * FROM",props:{style:{color:"#FF7B72"}}},{content:" pg_stat_activity ",props:{style:{color:"#C9D1D9"}}},{content:"WHERE",props:{style:{color:"#FF7B72"}}},{content:" datname ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"'langflow'",props:{style:{color:"#A5D6FF"}}},{content:";",props:{style:{color:"#C9D1D9"}}}]}],lang:"sql"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Examine the query results for multiple connections with different ",(0,s.jsx)(o.code,{children:"client_addr"})," values, for example ",(0,s.jsx)(o.code,{children:"172.21.0.3"})," and ",(0,s.jsx)(o.code,{children:"172.21.0.4"}),".\nSince each Langflow instance runs in its own container on the Docker network, using different incoming IP addresses confirms that both instances are actively connected to the PostgreSQL database."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To quit ",(0,s.jsx)(o.code,{children:"psql"}),", type ",(0,s.jsx)(o.code,{children:"quit"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"see-also",children:"See also"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/enterprise-database-guide",children:"Langflow database guide for enterprise DBAs"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/memory",children:"Memory management options"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/logging",children:"Logs"})}),"\n"]})]})}function u(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}function f(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]); \ No newline at end of file diff --git a/assets/js/2eb731bc.d7f7ed62.js b/assets/js/2eb731bc.d7f7ed62.js deleted file mode 100644 index babd953e6d..0000000000 --- a/assets/js/2eb731bc.d7f7ed62.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[73536],{85202:(e,o,n)=>{n.r(o),n.d(o,{CH:()=>d,assets:()=>i,chCodeConfig:()=>p,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>t,toc:()=>h});const t=JSON.parse('{"id":"Develop/configuration-custom-database","title":"Configure an external PostgreSQL database","description":"Langflow\'s default database is SQLite, but you can configure Langflow to use PostgreSQL instead.","source":"@site/docs/Develop/configuration-custom-database.mdx","sourceDirName":"Develop","slug":"/configuration-custom-database","permalink":"/next/configuration-custom-database","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Configure an external PostgreSQL database","slug":"/configuration-custom-database"},"sidebar":"docs","previous":{"title":"Use Session IDs","permalink":"/next/session-id"},"next":{"title":"Database guide for enterprise administrators","permalink":"/next/enterprise-database-guide"}}');var s=n(74848),r=n(28453),l=n(24754);const c={title:"Configure an external PostgreSQL database",slug:"/configuration-custom-database"},a=void 0,i={},d={annotations:l.hk,Code:l.Cy},p={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},h=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Connect Langflow to a local PostgreSQL database",id:"connect-langflow-to-a-local-postgresql-database",level:2},{value:"Deploy Langflow and PostgreSQL containers with docker-compose.yml",id:"deploy-langflow-and-postgresql-containers-with-docker-composeyml",level:2},{value:"Deploy multiple Langflow instances with a shared PostgreSQL database",id:"deploy-multiple-langflow-instances-with-a-shared-postgresql-database",level:2},{value:"See also",id:"see-also",level:2}];function g(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return d||f("CH",!1),d.Code||f("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,s.jsxs)(o.p,{children:["Langflow's default database is ",(0,s.jsx)(o.a,{href:"https://www.sqlite.org/docs.html",children:"SQLite"}),", but you can configure Langflow to use PostgreSQL instead."]}),"\n",(0,s.jsxs)(o.p,{children:["This guide walks you through setting up an external database for Langflow by replacing the default SQLite connection string ",(0,s.jsx)(o.code,{children:"sqlite:///./langflow.db"})," with PostgreSQL, both in local and containerized environments."]}),"\n",(0,s.jsx)(o.p,{children:"In this configuration, all structured application data from Langflow, including flows, message history, and logs, is instead managed by PostgreSQL.\nPostgreSQL is better suited for production environments due to its robust support for concurrent users, advanced data integrity features, and scalability.\nLangflow can more efficiently handle multiple users and larger workloads by using PostgreSQL as the database."}),"\n",(0,s.jsx)(o.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["A ",(0,s.jsx)(o.a,{href:"https://www.pgadmin.org/download/",children:"PostgreSQL"})," database version 15 or later"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"connect-langflow-to-a-local-postgresql-database",children:"Connect Langflow to a local PostgreSQL database"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["If Langflow is running, stop Langflow with ",(0,s.jsx)("kbd",{children:"Ctrl+C"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Find your PostgreSQL database's connection string in the format ",(0,s.jsx)(o.code,{children:"postgresql://user:password@host:port/dbname"}),"."]}),"\n",(0,s.jsx)(o.p,{children:"The hostname in your connection string depends on how you're running PostgreSQL:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["If you're running PostgreSQL directly on your machine, use ",(0,s.jsx)(o.code,{children:"localhost"}),"."]}),"\n",(0,s.jsxs)(o.li,{children:["If you're running PostgreSQL in Docker Compose, use the service name, such as ",(0,s.jsx)(o.code,{children:"postgres"}),"."]}),"\n",(0,s.jsxs)(o.li,{children:["If you're running PostgreSQL in a separate Docker container with ",(0,s.jsx)(o.code,{children:"docker run"}),", use the container's IP address or network alias."]}),"\n",(0,s.jsx)(o.li,{children:"If you're running a cloud-hosted PostgreSQL, your provider will share your connection string, which includes a username and password."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Edit or create a Langflow ",(0,s.jsx)(o.code,{children:".env"})," file:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"touch .env",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["You can use the ",(0,s.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow/blob/main/.env.example",children:(0,s.jsx)(o.code,{children:".env.example"})})," file in the Langflow repository as a template for your own ",(0,s.jsx)(o.code,{children:".env"})," file."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["In your ",(0,s.jsx)(o.code,{children:".env"})," file, set ",(0,s.jsx)(o.code,{children:"LANGFLOW_DATABASE_URL"})," to your PostgreSQL connection string:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'LANGFLOW_DATABASE_URL="postgresql://user:password@localhost:5432/dbname"',props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["Langflow uses ",(0,s.jsx)(o.a,{href:"https://www.sqlalchemy.org/",children:"SQLAlchemy"})," with the ",(0,s.jsx)(o.a,{href:"https://www.psycopg.org/",children:"psycopg"})," driver to pass SSL parameters directly to the PostgreSQL connection."]}),"\n",(0,s.jsx)(o.admonition,{title:"PostgreSQL driver compatibility",type:"warning",children:(0,s.jsxs)(o.p,{children:["Langflow requires ",(0,s.jsx)(o.code,{children:"psycopg2-binary"})," or ",(0,s.jsx)(o.code,{children:"psycopg[binary]"})," as the PostgreSQL driver. The ",(0,s.jsx)(o.code,{children:"asyncpg"})," driver is not compatible with Langflow's current database schema due to stricter timezone handling requirements."]})}),"\n",(0,s.jsx)(o.p,{children:"The following SSL modes are supported:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:(0,s.jsx)(o.code,{children:"sslmode=require"})}),": Requires SSL connection but doesn't verify server certificate. This option is the least secure, but acceptable for most use cases."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"postgresql://user:password@localhost:5432/dbname?sslmode=require"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:(0,s.jsx)(o.code,{children:"sslmode=verify-ca"})}),": Requires SSL and verifies the server certificate against the Certificate Authority (CA). Add the certificate paths to your connection string:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"postgresql://user@localhost:5432/dbname?sslmode=verify-ca&sslcert=/path/to/client.crt&sslkey=/path/to/client.key&sslrootcert=/path/to/ca.crt"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:(0,s.jsx)(o.code,{children:"sslmode=verify-full"})}),": Requires SSL, verifies the server certificate, and checks the request hostname against the certificate hostname. The ",(0,s.jsx)(o.code,{children:"db.example.com"})," hostname in this example must match the server certificate's CN. This option is the most secure."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"postgresql://user@db.example.com:5432/dbname?sslmode=verify-full&sslcert=/path/to/client.crt&sslkey=/path/to/client.key&sslrootcert=/path/to/ca.crt"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["Do not use the Langflow environment variables ",(0,s.jsx)(o.a,{href:"/environment-variables#server",children:(0,s.jsx)(o.code,{children:"LANGFLOW_SSL_CERT_FILE"})})," and ",(0,s.jsx)(o.a,{href:"/environment-variables#server",children:(0,s.jsx)(o.code,{children:"LANGFLOW_SSL_KEY_FILE"})})," for your PostgreSQL certificates: these variables are for enabling HTTPS on the Langflow server, not for PostgreSQL database connections."]}),"\n",(0,s.jsxs)(o.p,{children:["For more on managing SSL certificates in PostgreSQL, see the ",(0,s.jsx)(o.a,{href:"https://www.postgresql.org/docs/9.1/ssl-tcp.html",children:"PostgreSQL documentation"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Save your changes, and then start Langflow with your ",(0,s.jsx)(o.code,{children:".env"})," file:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"run langflow run ",props:{style:{color:"#A5D6FF"}}},{content:"--env-file ",props:{style:{color:"#79C0FF"}}},{content:".env",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["For optional connection pooling and timeout settings, see ",(0,s.jsx)(o.a,{href:"/memory#configure-external-memory",children:"Configure external memory"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"In Langflow, run any flow to create traffic."}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Inspect your PostgreSQL database's tables and activity to verify that new tables and traffic were created after you ran a flow."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"deploy-langflow-and-postgresql-containers-with-docker-composeyml",children:"Deploy Langflow and PostgreSQL containers with docker-compose.yml"}),"\n",(0,s.jsxs)(o.p,{children:["Launching Langflow and PostgreSQL containers in the same Docker network ensures proper connectivity between services.\nFor an example, see the ",(0,s.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow/blob/main/docker_example/docker-compose.yml",children:(0,s.jsx)(o.code,{children:"docker-compose.yml"})})," file in the Langflow repository."]}),"\n",(0,s.jsxs)(o.p,{children:["The configuration in the example ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," also sets up persistent volumes for both Langflow and PostgreSQL data.\nPersistent volumes map directories inside of containers to storage on the host machine, so data persists through container restarts."]}),"\n",(0,s.jsxs)(o.p,{children:["Docker Compose creates an isolated network for all services defined in ",(0,s.jsx)(o.code,{children:"docker-compose.yml"}),". This ensures that the services can communicate with each other using their service names as hostnames, such as ",(0,s.jsx)(o.code,{children:"postgres"})," in the database URL.\nIn contrast, if you run PostgreSQL separately with ",(0,s.jsx)(o.code,{children:"docker run"}),", it launches in a different network than the Langflow container, and this prevents Langflow from connecting to PostgreSQL using the service name."]}),"\n",(0,s.jsxs)(o.p,{children:["To start the Langflow and PostgreSQL services with the example Docker Compose file, navigate to the ",(0,s.jsx)(o.code,{children:"langflow/docker_example"})," directory, and then run ",(0,s.jsx)(o.code,{children:"docker-compose up"}),".\nIf you're using a different ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," file, run the ",(0,s.jsx)(o.code,{children:"docker-compose up"})," command from the same directory as your ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," file."]}),"\n",(0,s.jsx)(o.h2,{id:"deploy-multiple-langflow-instances-with-a-shared-postgresql-database",children:"Deploy multiple Langflow instances with a shared PostgreSQL database"}),"\n",(0,s.jsxs)(o.p,{children:["To configure multiple Langflow instances that share the same PostgreSQL database, modify your ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," file to include multiple Langflow services."]}),"\n",(0,s.jsxs)(o.p,{children:["This example populates the values in ",(0,s.jsx)(o.code,{children:"docker-compose.yml"})," with values from your Langflow ",(0,s.jsx)(o.code,{children:".env"})," file.\nThis approach means you only have to manage deployment variables in one file, instead of copying values across multiple files."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Update your ",(0,s.jsx)(o.code,{children:".env"})," file with values for your PostgreSQL database:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"POSTGRES_USER=langflow",props:{}}]},{tokens:[{content:"POSTGRES_PASSWORD=your_secure_password",props:{}}]},{tokens:[{content:"POSTGRES_DB=langflow",props:{}}]},{tokens:[{content:"POSTGRES_HOST=postgres",props:{}}]},{tokens:[{content:"POSTGRES_PORT=5432",props:{}}]},{tokens:[{content:"LANGFLOW_CONFIG_DIR=app/langflow",props:{}}]},{tokens:[{content:"LANGFLOW_PORT_1=7860",props:{}}]},{tokens:[{content:"LANGFLOW_PORT_2=7861",props:{}}]},{tokens:[{content:"LANGFLOW_HOST=0.0.0.0",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["For optional connection pooling and timeout settings, see ",(0,s.jsx)(o.a,{href:"/memory#configure-external-memory",children:"Configure external memory"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Reference these variables in your ",(0,s.jsx)(o.code,{children:"docker-compose.yml"}),".\nFor example:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"services",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" postgres",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" # Pinned to a specific Debian base (trixie) so the postgres:16 tag does",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:" # not silently roll its OS, which triggers a glibc collation mismatch",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:" # warning on existing volumes. See https://github.com/langflow-ai/langflow/issues/9608",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:" image",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"postgres:16-trixie",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_USER=${POSTGRES_USER}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_PASSWORD=${POSTGRES_PASSWORD}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_DB=${POSTGRES_DB}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" ports",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:'"${POSTGRES_PORT}:5432"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"langflow-postgres:/var/lib/postgresql/data",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-1",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" image",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" pull_policy",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"always",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" ports",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:'"${LANGFLOW_PORT_1}:7860"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" depends_on",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"postgres",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_HOST=${LANGFLOW_HOST}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"PORT=7860",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"langflow-data-1:/app/langflow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-2",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" image",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" pull_policy",props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"always",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" ports",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:'"${LANGFLOW_PORT_2}:7860"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" depends_on",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"postgres",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_HOST=${LANGFLOW_HOST}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"PORT=7860",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"langflow-data-2:/app/langflow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"volumes",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-postgres",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-data-1",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow-data-2",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]}],lang:"yaml"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Deploy the file with ",(0,s.jsx)(o.code,{children:"docker-compose up"}),".\nYou can access the first Langflow instance at ",(0,s.jsx)(o.code,{children:"http://localhost:7860"}),", and the second Langflow instance at ",(0,s.jsx)(o.code,{children:"http://localhost:7861"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To confirm both instances are using the same database, run the ",(0,s.jsx)(o.code,{children:"docker exec"})," command to start ",(0,s.jsx)(o.code,{children:"psql"})," in your PostgreSQL container.\nYour container name may vary."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"exec ",props:{style:{color:"#A5D6FF"}}},{content:"-it ",props:{style:{color:"#79C0FF"}}},{content:"docker-test-postgres-1 psql ",props:{style:{color:"#A5D6FF"}}},{content:"-U ",props:{style:{color:"#79C0FF"}}},{content:"langflow ",props:{style:{color:"#A5D6FF"}}},{content:"-d ",props:{style:{color:"#79C0FF"}}},{content:"langflow",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Query the database for active connections:"}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"# ",props:{style:{color:"#C9D1D9"}}},{content:"SELECT * FROM",props:{style:{color:"#FF7B72"}}},{content:" pg_stat_activity ",props:{style:{color:"#C9D1D9"}}},{content:"WHERE",props:{style:{color:"#FF7B72"}}},{content:" datname ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"'langflow'",props:{style:{color:"#A5D6FF"}}},{content:";",props:{style:{color:"#C9D1D9"}}}]}],lang:"sql"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Examine the query results for multiple connections with different ",(0,s.jsx)(o.code,{children:"client_addr"})," values, for example ",(0,s.jsx)(o.code,{children:"172.21.0.3"})," and ",(0,s.jsx)(o.code,{children:"172.21.0.4"}),".\nSince each Langflow instance runs in its own container on the Docker network, using different incoming IP addresses confirms that both instances are actively connected to the PostgreSQL database."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To quit ",(0,s.jsx)(o.code,{children:"psql"}),", type ",(0,s.jsx)(o.code,{children:"quit"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"see-also",children:"See also"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/enterprise-database-guide",children:"Langflow database guide for enterprise DBAs"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/memory",children:"Memory management options"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/logging",children:"Logs"})}),"\n"]})]})}function u(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}function f(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]); \ No newline at end of file diff --git a/assets/js/695c8cb8.6044b200.js b/assets/js/695c8cb8.6044b200.js deleted file mode 100644 index d65fe1bc96..0000000000 --- a/assets/js/695c8cb8.6044b200.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[91285],{20543:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>h,assets:()=>d,chCodeConfig:()=>a,contentTitle:()=>i,default:()=>j,frontMatter:()=>c,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"Develop/extensions-manifest","title":"Manifest reference","description":"This page is the reference for the extension.json manifest the Langflow Extension loader consumes.","source":"@site/docs/Develop/extensions-manifest.mdx","sourceDirName":"Develop","slug":"/extensions-manifest","permalink":"/next/extensions-manifest","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Manifest reference","slug":"/extensions-manifest"},"sidebar":"docs","previous":{"title":"Langflow Extension quickstart","permalink":"/next/extensions-quickstart"},"next":{"title":"Langflow deployment overview","permalink":"/next/deployment-overview"}}');var o=n(74848),r=n(28453),l=n(24754);const c={title:"Manifest reference",slug:"/extensions-manifest"},i=void 0,d={},h={annotations:l.hk,Code:l.Cy},a={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},p=[{value:"Top-level fields",id:"top-level-fields",level:2},{value:"lfx: compatibility declaration",id:"lfx-compatibility-declaration",level:2},{value:"bundles",id:"bundles",level:2},{value:"capabilities",id:"capabilities",level:2},{value:"Deferred fields",id:"deferred-fields",level:2},{value:"Pyproject alternative",id:"pyproject-alternative",level:2},{value:"Error codes raised against this manifest",id:"error-codes-raised-against-this-manifest",level:2},{value:"See also",id:"see-also",level:2}];function x(e){const t={a:"a",code:"code",h2:"h2",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return h||f("CH",!1),h.Code||f("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,o.jsxs)(t.p,{children:["This page is the reference for the ",(0,o.jsx)(t.code,{children:"extension.json"})," manifest the Langflow Extension loader consumes."]}),"\n",(0,o.jsxs)(t.p,{children:["The canonical JSON Schema lives at ",(0,o.jsx)(t.a,{href:"https://schemas.langflow.org/extension/v1.json",children:(0,o.jsx)(t.code,{children:"https://schemas.langflow.org/extension/v1.json"})})," and is generated from the Pydantic model at ",(0,o.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow/blob/main/src/lfx/src/lfx/extension/manifest.py",children:(0,o.jsx)(t.code,{children:"lfx.extension.manifest.ExtensionManifest"})}),"."]}),"\n",(0,o.jsx)(t.p,{children:"To export the live schema, run:"}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"lfx ",props:{style:{color:"#FFA657"}}},{content:"extension schema ",props:{style:{color:"#A5D6FF"}}},{content:"--output ",props:{style:{color:"#79C0FF"}}},{content:"extension.schema.json",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsxs)(t.p,{children:["Use the ",(0,o.jsx)(t.code,{children:"$schema"})," reference in your manifest so editors can autocomplete and validate inline:"]}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "$schema"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"https://schemas.langflow.org/extension/v1.json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"lfx-my-extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "version"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"0.1.0"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"My extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "lfx"',props:{style:{color:"#7EE787"}}},{content:": { ",props:{style:{color:"#C9D1D9"}}},{content:'"compat"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}},{content:'"1"',props:{style:{color:"#A5D6FF"}}},{content:"] },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "bundles"',props:{style:{color:"#7EE787"}}},{content:": [{ ",props:{style:{color:"#C9D1D9"}}},{content:'"name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"components/my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:" }]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,o.jsx)(t.h2,{id:"top-level-fields",children:"Top-level fields"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{children:"Field"}),(0,o.jsx)(t.th,{children:"Type"}),(0,o.jsx)(t.th,{children:"Required"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:(0,o.jsx)(t.code,{children:"id"})}),(0,o.jsx)(t.td,{children:"string"}),(0,o.jsx)(t.td,{children:"yes"}),(0,o.jsxs)(t.td,{children:["Globally-unique extension ID. Lowercase, hyphenated, starts with a letter, 2-64 chars. Convention: ",(0,o.jsx)(t.code,{children:"lfx-lfx: compatibility declaration",id:"lfx-compatibility-declaration",level:2},{value:"bundles",id:"bundles",level:2},{value:"capabilities",id:"capabilities",level:2},{value:"Deferred fields",id:"deferred-fields",level:2},{value:"Pyproject alternative",id:"pyproject-alternative",level:2},{value:"Error codes raised against this manifest",id:"error-codes-raised-against-this-manifest",level:2},{value:"See also",id:"see-also",level:2}];function x(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return h||f("CH",!1),h.Code||f("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,o.jsxs)(t.p,{children:["This page is the reference for the ",(0,o.jsx)(t.code,{children:"extension.json"})," manifest the Langflow Extension loader consumes."]}),"\n",(0,o.jsxs)(t.p,{children:["The canonical JSON Schema lives at ",(0,o.jsx)(t.a,{href:"https://schemas.langflow.org/extension/v1.json",children:(0,o.jsx)(t.code,{children:"https://schemas.langflow.org/extension/v1.json"})})," and is generated from the Pydantic model at ",(0,o.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow/blob/main/src/lfx/src/lfx/extension/manifest.py",children:(0,o.jsx)(t.code,{children:"lfx.extension.manifest.ExtensionManifest"})}),"."]}),"\n",(0,o.jsx)(t.p,{children:"To export the live schema, run:"}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"lfx ",props:{style:{color:"#FFA657"}}},{content:"extension schema ",props:{style:{color:"#A5D6FF"}}},{content:"--output ",props:{style:{color:"#79C0FF"}}},{content:"extension.schema.json",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsxs)(t.p,{children:["Use the ",(0,o.jsx)(t.code,{children:"$schema"})," reference in your manifest so editors can autocomplete and validate inline:"]}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "$schema"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"https://schemas.langflow.org/extension/v1.json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"lfx-my-extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "version"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"0.1.0"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"My extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "lfx"',props:{style:{color:"#7EE787"}}},{content:": { ",props:{style:{color:"#C9D1D9"}}},{content:'"compat"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}},{content:'"1"',props:{style:{color:"#A5D6FF"}}},{content:"] },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "bundles"',props:{style:{color:"#7EE787"}}},{content:": [{ ",props:{style:{color:"#C9D1D9"}}},{content:'"name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"components/my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:" }]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,o.jsx)(t.h2,{id:"top-level-fields",children:"Top-level fields"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{children:"Field"}),(0,o.jsx)(t.th,{children:"Type"}),(0,o.jsx)(t.th,{children:"Required"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:(0,o.jsx)(t.code,{children:"id"})}),(0,o.jsx)(t.td,{children:"string"}),(0,o.jsx)(t.td,{children:"yes"}),(0,o.jsxs)(t.td,{children:["Globally-unique extension ID. Lowercase, hyphenated, starts with a letter, 2-64 chars. Convention: ",(0,o.jsx)(t.code,{children:"lfx-lfx: compatibility declaration",id:"lfx-compatibility-declaration",level:2},{value:"bundles",id:"bundles",level:2},{value:"capabilities",id:"capabilities",level:2},{value:"Deferred fields",id:"deferred-fields",level:2},{value:"Pyproject alternative",id:"pyproject-alternative",level:2},{value:"Error codes raised against this manifest",id:"error-codes-raised-against-this-manifest",level:2},{value:"See also",id:"see-also",level:2}];function x(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return h||f("CH",!1),h.Code||f("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,o.jsxs)(t.p,{children:["This page is the reference for the ",(0,o.jsx)(t.code,{children:"extension.json"})," manifest the Langflow Extension loader consumes."]}),"\n",(0,o.jsxs)(t.p,{children:["The canonical JSON Schema lives at ",(0,o.jsx)(t.a,{href:"https://schemas.langflow.org/extension/v1.json",children:(0,o.jsx)(t.code,{children:"https://schemas.langflow.org/extension/v1.json"})})," and is generated from the Pydantic model at ",(0,o.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow/blob/main/src/lfx/src/lfx/extension/manifest.py",children:(0,o.jsx)(t.code,{children:"lfx.extension.manifest.ExtensionManifest"})}),"."]}),"\n",(0,o.jsx)(t.p,{children:"To export the live schema, run:"}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"lfx ",props:{style:{color:"#FFA657"}}},{content:"extension schema ",props:{style:{color:"#A5D6FF"}}},{content:"--output ",props:{style:{color:"#79C0FF"}}},{content:"extension.schema.json",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsxs)(t.p,{children:["Use the ",(0,o.jsx)(t.code,{children:"$schema"})," reference in your manifest so editors can autocomplete and validate inline:"]}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "$schema"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"https://schemas.langflow.org/extension/v1.json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"lfx-my-extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "version"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"0.1.0"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"My extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "lfx"',props:{style:{color:"#7EE787"}}},{content:": { ",props:{style:{color:"#C9D1D9"}}},{content:'"compat"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}},{content:'"1"',props:{style:{color:"#A5D6FF"}}},{content:"] },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "bundles"',props:{style:{color:"#7EE787"}}},{content:": [{ ",props:{style:{color:"#C9D1D9"}}},{content:'"name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"components/my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:" }]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,o.jsx)(t.h2,{id:"top-level-fields",children:"Top-level fields"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{children:"Field"}),(0,o.jsx)(t.th,{children:"Type"}),(0,o.jsx)(t.th,{children:"Required"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:(0,o.jsx)(t.code,{children:"id"})}),(0,o.jsx)(t.td,{children:"string"}),(0,o.jsx)(t.td,{children:"yes"}),(0,o.jsxs)(t.td,{children:["Globally-unique extension ID. Lowercase, hyphenated, starts with a letter, 2-64 chars. Convention: ",(0,o.jsx)(t.code,{children:"lfx-lfx: compatibility declaration",id:"lfx-compatibility-declaration",level:2},{value:"bundles",id:"bundles",level:2},{value:"capabilities",id:"capabilities",level:2},{value:"Deferred fields",id:"deferred-fields",level:2},{value:"Pyproject alternative",id:"pyproject-alternative",level:2},{value:"Error codes raised against this manifest",id:"error-codes-raised-against-this-manifest",level:2},{value:"See also",id:"see-also",level:2}];function x(e){const t={a:"a",code:"code",h2:"h2",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return h||f("CH",!1),h.Code||f("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,o.jsxs)(t.p,{children:["This page is the reference for the ",(0,o.jsx)(t.code,{children:"extension.json"})," manifest the Langflow Extension loader consumes."]}),"\n",(0,o.jsxs)(t.p,{children:["The canonical JSON Schema lives at ",(0,o.jsx)(t.a,{href:"https://schemas.langflow.org/extension/v1.json",children:(0,o.jsx)(t.code,{children:"https://schemas.langflow.org/extension/v1.json"})})," and is generated from the Pydantic model at ",(0,o.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow/blob/main/src/lfx/src/lfx/extension/manifest.py",children:(0,o.jsx)(t.code,{children:"lfx.extension.manifest.ExtensionManifest"})}),"."]}),"\n",(0,o.jsx)(t.p,{children:"To export the live schema, run:"}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"lfx ",props:{style:{color:"#FFA657"}}},{content:"extension schema ",props:{style:{color:"#A5D6FF"}}},{content:"--output ",props:{style:{color:"#79C0FF"}}},{content:"extension.schema.json",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsxs)(t.p,{children:["Use the ",(0,o.jsx)(t.code,{children:"$schema"})," reference in your manifest so editors can autocomplete and validate inline:"]}),"\n",(0,o.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "$schema"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"https://schemas.langflow.org/extension/v1.json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"lfx-my-extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "version"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"0.1.0"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"My extension"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "lfx"',props:{style:{color:"#7EE787"}}},{content:": { ",props:{style:{color:"#C9D1D9"}}},{content:'"compat"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}},{content:'"1"',props:{style:{color:"#A5D6FF"}}},{content:"] },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "bundles"',props:{style:{color:"#7EE787"}}},{content:": [{ ",props:{style:{color:"#C9D1D9"}}},{content:'"name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"components/my_bundle"',props:{style:{color:"#A5D6FF"}}},{content:" }]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,o.jsx)(t.h2,{id:"top-level-fields",children:"Top-level fields"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{children:"Field"}),(0,o.jsx)(t.th,{children:"Type"}),(0,o.jsx)(t.th,{children:"Required"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:(0,o.jsx)(t.code,{children:"id"})}),(0,o.jsx)(t.td,{children:"string"}),(0,o.jsx)(t.td,{children:"yes"}),(0,o.jsxs)(t.td,{children:["Globally-unique extension ID. Lowercase, hyphenated, starts with a letter, 2-64 chars. Convention: ",(0,o.jsx)(t.code,{children:"lfx-The loader and validator both emit typed errors keyed by the manifest field that triggered them. The full code list is at lfx.extension.errors.ERROR_CODES; the codes most relevant when authoring a manifest are:
| Code | Cause |
|---|---|
manifest-invalid | Schema validation failed; the message names the field. |
manifest-not-found | No extension.json and no [tool.langflow.extension] section at the extension root. |
version-constraint-unsatisfied | lfx.compat does not include this Langflow's BUNDLE_​API_​VERSION. |
field-deferred-in-this-milestone | A reserved field was set to a non-null value. |
multi-bundle-deferred-in-this-milestone | bundles has more than one entry. |
path-escape | A bundles[].path resolves outside the manifest root (typically a symlink). |
bundle-path-not-found | bundles[].path does not exist or is not a directory. |
Run lfx extension validate <path> to see every error as a structured object with code, message, location, hint, and ref_url.