","className":"sidebar-group-divider"},{"type":"category","label":"Get started","className":"sidebar-category-with-icon sidebar-icon-rocket","items":[{"type":"link","href":"/","label":"About Langflow","docId":"Get-Started/about-langflow","unlisted":false},{"type":"link","href":"/get-started-installation","label":"Install Langflow","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","href":"/get-started-quickstart","label":"Quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false},{"type":"category","label":"Tutorials","items":[{"type":"link","href":"/chat-with-rag","label":"Create a vector RAG chatbot","docId":"Tutorials/chat-with-rag","unlisted":false},{"type":"link","href":"/chat-with-files","label":"Create a chatbot that can ingest files","docId":"Tutorials/chat-with-files","unlisted":false},{"type":"link","href":"/agent-tutorial","label":"Connect applications to agents","docId":"Tutorials/agent","unlisted":false},{"type":"link","href":"/mcp-tutorial","label":"Connect to MCP servers from your application","docId":"Tutorials/mcp-tutorial","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Flows","className":"sidebar-category-with-icon sidebar-icon-workflow","items":[{"type":"link","href":"/concepts-overview","label":"Use the visual editor","docId":"Flows/concepts-overview","unlisted":false},{"type":"link","href":"/concepts-flows","label":"Build flows","docId":"Flows/concepts-flows","unlisted":false},{"type":"category","label":"Run flows","items":[{"type":"link","href":"/concepts-publish","label":"Trigger flows with the Langflow API","docId":"Flows/concepts-publish","unlisted":false},{"type":"link","href":"/webhook","label":"Trigger flows with webhooks","docId":"Flows/webhook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/concepts-playground","label":"Test flows","docId":"Flows/concepts-playground","unlisted":false},{"type":"link","href":"/concepts-flows-import","label":"Import and export flows","docId":"Flows/concepts-flows-import","unlisted":false},{"type":"link","href":"/langflow-assistant","label":"Build components with Langflow Assistant","docId":"Flows/langflow-assistant","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Agents","className":"sidebar-category-with-icon sidebar-icon-bot","items":[{"type":"link","href":"/agents","label":"Use Langflow agents","docId":"Agents/agents","unlisted":false},{"type":"link","href":"/agents-tools","label":"Configure tools for agents","docId":"Agents/agents-tools","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Model Context Protocol (MCP)","className":"sidebar-category-with-icon sidebar-icon-plug","items":[{"type":"link","href":"/mcp-client","label":"Use Langflow as an MCP client","docId":"Agents/mcp-client","unlisted":false},{"type":"link","href":"/mcp-server","label":"Use Langflow as an MCP server","docId":"Agents/mcp-server","unlisted":false},{"type":"link","href":"/langflow-mcp-client","label":"Langflow MCP Client for coding agents","docId":"Agents/langflow-mcp-client","unlisted":false},{"type":"link","href":"/mcp-component-astra","label":"Connect an Astra DB MCP server to Langflow","docId":"Agents/mcp-component-astra","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"html","value":"
Develop & Deploy
","className":"sidebar-group-divider"},{"type":"category","label":"Develop","className":"sidebar-category-with-icon sidebar-icon-code","items":[{"type":"link","href":"/api-keys-and-authentication","label":"API keys and authentication","docId":"Develop/api-keys-and-authentication","unlisted":false},{"type":"link","href":"/jwt-authentication","label":"JWT authentication","docId":"Develop/jwt-authentication","unlisted":false},{"type":"link","href":"/install-custom-dependencies","label":"Install custom dependencies","docId":"Develop/install-custom-dependencies","unlisted":false},{"type":"link","href":"/configuration-global-variables","label":"Global variables","docId":"Develop/configuration-global-variables","unlisted":false},{"type":"link","href":"/environment-variables","label":"Environment variables","docId":"Develop/environment-variables","unlisted":false},{"type":"category","label":"Storage and memory","items":[{"type":"link","href":"/concepts-file-management","label":"Manage files","docId":"Develop/concepts-file-management","unlisted":false},{"type":"link","href":"/memory","label":"Manage memory","docId":"Develop/memory","unlisted":false},{"type":"link","href":"/session-id","label":"Use Session IDs","docId":"Develop/session-id","unlisted":false},{"type":"link","href":"/configuration-custom-database","label":"Configure an external PostgreSQL database","docId":"Develop/configuration-custom-database","unlisted":false},{"type":"link","href":"/enterprise-database-guide","label":"Database guide for enterprise administrators","docId":"Develop/enterprise-database-guide","unlisted":false},{"type":"link","href":"/knowledge","label":"Manage vector data","docId":"Develop/knowledge","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Observability","items":[{"type":"link","href":"/logging","label":"Logs","docId":"Develop/logging","unlisted":false},{"type":"link","href":"/traces","label":"Traces","docId":"Develop/traces","unlisted":false},{"type":"category","label":"Monitoring","items":[{"type":"link","href":"/integrations-arize","label":"Arize","docId":"Develop/integrations-arize","unlisted":false},{"type":"link","href":"/integrations-langfuse","label":"Langfuse","docId":"Develop/integrations-langfuse","unlisted":false},{"type":"link","href":"/integrations-langsmith","label":"LangSmith","docId":"Develop/integrations-langsmith","unlisted":false},{"type":"link","href":"/integrations-langwatch","label":"LangWatch","docId":"Develop/integrations-langwatch","unlisted":false},{"type":"link","href":"/integrations-openlayer","label":"Openlayer","docId":"Develop/integrations-openlayer","unlisted":false},{"type":"link","href":"/integrations-opik","label":"Opik","docId":"Develop/integrations-opik","unlisted":false},{"type":"link","href":"/integrations-instana-traceloop","label":"Traceloop","docId":"Develop/integrations-instana-traceloop","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/contributing-telemetry","label":"Telemetry","docId":"Develop/contributing-telemetry","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/data-types","label":"Use Langflow data types","docId":"Develop/data-types","unlisted":false},{"type":"link","href":"/concepts-voice-mode","label":"Use voice mode","docId":"Develop/concepts-voice-mode","unlisted":false},{"type":"link","href":"/configuration-cli","label":"Use the Langflow CLI","docId":"Develop/configuration-cli","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Deploy","className":"sidebar-category-with-icon sidebar-icon-cloud","items":[{"type":"link","href":"/deployment-overview","label":"Langflow deployment overview","docId":"Deployment/deployment-overview","unlisted":false},{"type":"link","href":"/deployment-public-server","label":"Deploy a public Langflow server","docId":"Deployment/deployment-public-server","unlisted":false},{"type":"link","href":"/deployment-nginx-ssl","label":"Deploy Langflow with Nginx and SSL","docId":"Deployment/deployment-nginx-ssl","unlisted":false},{"type":"category","label":"Containerized deployments","items":[{"type":"link","href":"/develop-application","label":"Containerize a Langflow application","docId":"Deployment/develop-application","unlisted":false},{"type":"link","href":"/deployment-docker","label":"Langflow Docker images","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","href":"/deployment-caddyfile","label":"Deploy Langflow on a remote server","docId":"Deployment/deployment-caddyfile","unlisted":false},{"type":"category","label":"Kubernetes","items":[{"type":"link","href":"/deployment-architecture","label":"Deployment architecture","docId":"Deployment/deployment-architecture","unlisted":false},{"type":"link","href":"/deployment-prod-best-practices","label":"Best practices","docId":"Deployment/deployment-prod-best-practices","unlisted":false},{"type":"link","href":"/deployment-kubernetes-dev","label":"Deploy in development","docId":"Deployment/deployment-kubernetes-dev","unlisted":false},{"type":"link","href":"/deployment-kubernetes-prod","label":"Deploy in production","docId":"Deployment/deployment-kubernetes-prod","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Cloud platforms","items":[{"type":"link","href":"/deployment-gcp","label":"Google Cloud Platform","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","href":"/deployment-hugging-face-spaces","label":"Hugging Face Spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","href":"/deployment-wxo","label":"IBM watsonx Orchestrate","docId":"Deployment/deployment-wxo","unlisted":false},{"type":"link","href":"/deployment-railway","label":"Railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","href":"/deployment-render","label":"Render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/deployment-block-custom-components","label":"Block custom components","docId":"Deployment/deployment-block-custom-components","unlisted":false},{"type":"link","href":"/security","label":"Security","docId":"Deployment/security","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"html","value":"
Reference
","className":"sidebar-group-divider"},{"type":"category","label":"Components reference","className":"sidebar-category-with-icon sidebar-icon-blocks","items":[{"type":"link","href":"/concepts-components","label":"Components overview","docId":"Components/concepts-components","unlisted":false},{"type":"category","label":"Core components","items":[{"type":"category","label":"Input / Output","items":[{"type":"link","href":"/chat-input-and-output","label":"Chat Input and Output","docId":"Components/chat-input-and-output","unlisted":false},{"type":"link","href":"/text-input-and-output","label":"Text Input and Output","docId":"Components/text-input-and-output","unlisted":false},{"type":"link","href":"/component-webhook","label":"Webhook","docId":"Components/webhook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Processing","items":[{"type":"link","href":"/data-operations","label":"JSON Operations","docId":"Components/data-operations","unlisted":false},{"type":"link","href":"/dataframe-operations","label":"Table Operations","docId":"Components/dataframe-operations","unlisted":false},{"type":"link","href":"/dynamic-create-data","label":"Dynamic Create Data","docId":"Components/dynamic-create-data","unlisted":false},{"type":"link","href":"/parser","label":"Parser","docId":"Components/parser","unlisted":false},{"type":"link","href":"/split-text","label":"Split Text","docId":"Components/split-text","unlisted":false},{"type":"link","href":"/type-convert","label":"Type Convert","docId":"Components/type-convert","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Data Source","items":[{"type":"link","href":"/api-request","label":"API Request","docId":"Components/api-request","unlisted":false},{"type":"link","href":"/mock-data","label":"Mock Data","docId":"Components/mock-data","unlisted":false},{"type":"link","href":"/url","label":"URL","docId":"Components/url","unlisted":false},{"type":"link","href":"/web-search","label":"Web Search","docId":"Components/web-search","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Files and Knowledge","items":[{"type":"link","href":"/directory","label":"Directory","docId":"Components/directory","unlisted":false},{"type":"link","href":"/knowledge-base","label":"Knowledge Base","docId":"Components/knowledge-base","unlisted":false},{"type":"link","href":"/read-file","label":"Read File","docId":"Components/read-file","unlisted":false},{"type":"link","href":"/write-file","label":"Write File","docId":"Components/write-file","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Flow Controls","items":[{"type":"link","href":"/if-else","label":"If-Else","docId":"Components/if-else","unlisted":false},{"type":"link","href":"/loop","label":"Loop","docId":"Components/loop","unlisted":false},{"type":"link","href":"/notify-and-listen","label":"Notify and Listen","docId":"Components/notify-and-listen","unlisted":false},{"type":"link","href":"/run-flow","label":"Run Flow","docId":"Components/run-flow","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"LLM Operations","items":[{"type":"link","href":"/batch-run","label":"Batch Run","docId":"Components/batch-run","unlisted":false},{"type":"link","href":"/guardrails","label":"Guardrails","docId":"Components/guardrails","unlisted":false},{"type":"link","href":"/policies","label":"Policies (Beta)","docId":"Components/policies","unlisted":false},{"type":"link","href":"/llm-selector","label":"LLM Selector","docId":"Components/llm-selector","unlisted":false},{"type":"link","href":"/smart-router","label":"Smart Router","docId":"Components/smart-router","unlisted":false},{"type":"link","href":"/smart-transform","label":"Smart Transform","docId":"Components/smart-transform","unlisted":false},{"type":"link","href":"/structured-output","label":"Structured Output","docId":"Components/structured-output","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Models and Agents","items":[{"type":"link","href":"/components-models","label":"Language Model","docId":"Components/components-models","unlisted":false},{"type":"link","href":"/components-prompts","label":"Prompt Template","docId":"Components/components-prompts","unlisted":false},{"type":"link","href":"/components-agents","label":"Agents","docId":"Components/components-agents","unlisted":false},{"type":"link","href":"/mcp-tools","label":"MCP Tools","docId":"Components/mcp-tools","unlisted":false},{"type":"link","href":"/components-embedding-models","label":"Embedding Model","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","href":"/message-history","label":"Message History","docId":"Components/message-history","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Utilities","items":[{"type":"link","href":"/calculator","label":"Calculator","docId":"Components/calculator","unlisted":false},{"type":"link","href":"/current-date","label":"Current Date","docId":"Components/current-date","unlisted":false},{"type":"link","href":"/python-interpreter","label":"Python Interpreter","docId":"Components/python-interpreter","unlisted":false},{"type":"link","href":"/sql-database","label":"SQL Database","docId":"Components/sql-database","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/legacy-core-components","label":"Legacy core components","docId":"Components/legacy-core-components","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Bundles","items":[{"type":"link","href":"/components-bundle-components","label":"About bundles","docId":"Components/components-bundles","unlisted":false},{"type":"link","href":"/bundles-agentics","label":"Agentics","docId":"Components/bundles-agentics","unlisted":false},{"type":"link","href":"/bundles-aiml","label":"AI/ML API","docId":"Components/bundles-aiml","unlisted":false},{"type":"link","href":"/bundles-altk","label":"ALTK","docId":"Components/bundles-altk","unlisted":false},{"type":"link","href":"/bundles-amazon","label":"Amazon","docId":"Components/bundles-amazon","unlisted":false},{"type":"link","href":"/bundles-anthropic","label":"Anthropic","docId":"Components/bundles-anthropic","unlisted":false},{"type":"link","href":"/bundles-apify","label":"Apify","docId":"Components/bundles-apify","unlisted":false},{"type":"link","href":"/bundles-arxiv","label":"arXiv","docId":"Components/bundles-arxiv","unlisted":false},{"type":"link","href":"/bundles-assemblyai","label":"AssemblyAI","docId":"Components/bundles-assemblyai","unlisted":false},{"type":"link","href":"/bundles-azure","label":"Azure","docId":"Components/bundles-azure","unlisted":false},{"type":"link","href":"/bundles-baidu","label":"Baidu","docId":"Components/bundles-baidu","unlisted":false},{"type":"link","href":"/bundles-bing","label":"Bing","docId":"Components/bundles-bing","unlisted":false},{"type":"link","href":"/bundles-cassandra","label":"Cassandra","docId":"Components/bundles-cassandra","unlisted":false},{"type":"link","href":"/bundles-chroma","label":"Chroma","docId":"Components/bundles-chroma","unlisted":false},{"type":"link","href":"/bundles-cleanlab","label":"Cleanlab","docId":"Components/bundles-cleanlab","unlisted":false},{"type":"link","href":"/bundles-clickhouse","label":"ClickHouse","docId":"Components/bundles-clickhouse","unlisted":false},{"type":"link","href":"/bundles-cloudflare","label":"Cloudflare","docId":"Components/bundles-cloudflare","unlisted":false},{"type":"link","href":"/bundles-cohere","label":"Cohere","docId":"Components/bundles-cohere","unlisted":false},{"type":"link","href":"/bundles-cometapi","label":"CometAPI","docId":"Components/bundles-cometapi","unlisted":false},{"type":"link","href":"/bundles-composio","label":"Composio","docId":"Components/bundles-composio","unlisted":false},{"type":"link","href":"/bundles-couchbase","label":"Couchbase","docId":"Components/bundles-couchbase","unlisted":false},{"type":"link","href":"/bundles-cuga","label":"CUGA","docId":"Components/bundles-cuga","unlisted":false},{"type":"link","href":"/bundles-datastax","label":"DataStax","docId":"Components/bundles-datastax","unlisted":false},{"type":"link","href":"/bundles-deepseek","label":"DeepSeek","docId":"Components/bundles-deepseek","unlisted":false},{"type":"link","href":"/bundles-docling","label":"Docling","docId":"Components/bundles-docling","unlisted":false},{"type":"link","href":"/bundles-duckduckgo","label":"DuckDuckGo","docId":"Components/bundles-duckduckgo","unlisted":false},{"type":"link","href":"/bundles-elastic","label":"Elastic","docId":"Components/bundles-elastic","unlisted":false},{"type":"link","href":"/bundles-exa","label":"Exa","docId":"Components/bundles-exa","unlisted":false},{"type":"link","href":"/bundles-faiss","label":"FAISS","docId":"Components/bundles-faiss","unlisted":false},{"type":"link","href":"/bundles-glean","label":"Glean","docId":"Components/bundles-glean","unlisted":false},{"type":"link","href":"/bundles-google","label":"Google components","docId":"Components/bundles-google","unlisted":false},{"type":"link","href":"/bundles-groq","label":"Groq","docId":"Components/bundles-groq","unlisted":false},{"type":"link","href":"/bundles-huggingface","label":"Hugging Face","docId":"Components/bundles-huggingface","unlisted":false},{"type":"link","href":"/bundles-ibm","label":"IBM","docId":"Components/bundles-ibm","unlisted":false},{"type":"link","href":"/bundles-icosacomputing","label":"Icosa Computing","docId":"Components/bundles-icosacomputing","unlisted":false},{"type":"link","href":"/bundles-langchain","label":"LangChain","docId":"Components/bundles-langchain","unlisted":false},{"type":"link","href":"/bundles-lite-llm","label":"LiteLLM","docId":"Components/bundles-lite-llm","unlisted":false},{"type":"link","href":"/bundles-lmstudio","label":"LM Studio","docId":"Components/bundles-lmstudio","unlisted":false},{"type":"link","href":"/bundles-maritalk","label":"MariTalk","docId":"Components/bundles-maritalk","unlisted":false},{"type":"link","href":"/bundles-mem0","label":"Mem0","docId":"Components/bundles-mem0","unlisted":false},{"type":"link","href":"/bundles-milvus","label":"Milvus","docId":"Components/bundles-milvus","unlisted":false},{"type":"link","href":"/bundles-mistralai","label":"MistralAI","docId":"Components/bundles-mistralai","unlisted":false},{"type":"link","href":"/bundles-mongodb","label":"MongoDB","docId":"Components/bundles-mongodb","unlisted":false},{"type":"link","href":"/bundles-notion","label":"Notion","docId":"Components/bundles-notion","unlisted":false},{"type":"link","href":"/bundles-novita","label":"Novita","docId":"Components/bundles-novita","unlisted":false},{"type":"link","href":"/bundles-nvidia","label":"NVIDIA","docId":"Components/bundles-nvidia","unlisted":false},{"type":"link","href":"/bundles-ollama","label":"Ollama","docId":"Components/bundles-ollama","unlisted":false},{"type":"link","href":"/bundles-openai","label":"OpenAI","docId":"Components/bundles-openai","unlisted":false},{"type":"link","href":"/bundles-openrouter","label":"OpenRouter","docId":"Components/bundles-openrouter","unlisted":false},{"type":"link","href":"/bundles-perplexity","label":"Perplexity","docId":"Components/bundles-perplexity","unlisted":false},{"type":"link","href":"/bundles-pgvector","label":"pgvector","docId":"Components/bundles-pgvector","unlisted":false},{"type":"link","href":"/bundles-pinecone","label":"Pinecone","docId":"Components/bundles-pinecone","unlisted":false},{"type":"link","href":"/bundles-qdrant","label":"Qdrant","docId":"Components/bundles-qdrant","unlisted":false},{"type":"link","href":"/bundles-redis","label":"Redis","docId":"Components/bundles-redis","unlisted":false},{"type":"link","href":"/bundles-sambanova","label":"SambaNova","docId":"Components/bundles-sambanova","unlisted":false},{"type":"link","href":"/bundles-searchapi","label":"SearchApi","docId":"Components/bundles-searchapi","unlisted":false},{"type":"link","href":"/bundles-serper","label":"Serper","docId":"Components/bundles-serper","unlisted":false},{"type":"link","href":"/bundles-supabase","label":"Supabase","docId":"Components/bundles-supabase","unlisted":false},{"type":"link","href":"/bundles-upstash","label":"Upstash","docId":"Components/bundles-upstash","unlisted":false},{"type":"link","href":"/bundles-vllm","label":"vLLM","docId":"Components/bundles-vllm","unlisted":false},{"type":"link","href":"/bundles-vectara","label":"Vectara","docId":"Components/bundles-vectara","unlisted":false},{"type":"link","href":"/bundles-vertexai","label":"Vertex AI","docId":"Components/bundles-vertexai","unlisted":false},{"type":"link","href":"/bundles-weaviate","label":"Weaviate","docId":"Components/bundles-weaviate","unlisted":false},{"type":"link","href":"/bundles-wikipedia","label":"Wikipedia","docId":"Components/bundles-wikipedia","unlisted":false},{"type":"link","href":"/bundles-xai","label":"xAI","docId":"Components/bundles-xai","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/components-custom-components","label":"Create custom Python components","docId":"Components/components-custom-components","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"API reference","className":"sidebar-category-with-icon sidebar-icon-fileCode","items":[{"type":"link","href":"/api-reference-api-examples","label":"Get started with the Langflow API","docId":"API-Reference/api-reference-api-examples","unlisted":false},{"type":"link","href":"/typescript-client","label":"Use the TypeScript client","docId":"API-Reference/typescript-client","unlisted":false},{"type":"link","href":"/flow-devops-sdk","label":"Flow DevOps Toolkit SDK","docId":"API-Reference/flow-devops-sdk","unlisted":false},{"type":"link","href":"/api-flows-run","label":"Flow trigger endpoints","docId":"API-Reference/api-flows-run","unlisted":false},{"type":"category","label":"Developer API (Beta)","items":[{"type":"link","href":"/workflow-api","label":"Workflow API (Beta)","docId":"API-Reference/workflows-api","unlisted":false},{"type":"link","label":"Workflow API specification (Beta)","href":"/api/workflow"}],"collapsed":true,"collapsible":true},{"type":"link","href":"/api-openai-responses","label":"OpenAI Responses API","docId":"API-Reference/api-openai-responses","unlisted":false},{"type":"link","href":"/api-flows","label":"Flow management endpoints","docId":"API-Reference/api-flows","unlisted":false},{"type":"link","href":"/api-files","label":"Files endpoints","docId":"API-Reference/api-files","unlisted":false},{"type":"link","href":"/api-projects","label":"Projects endpoints","docId":"API-Reference/api-projects","unlisted":false},{"type":"link","href":"/api-logs","label":"Logs endpoints","docId":"API-Reference/api-logs","unlisted":false},{"type":"link","href":"/api-monitor","label":"Monitor endpoints","docId":"API-Reference/api-monitor","unlisted":false},{"type":"link","href":"/api-build","label":"Build endpoints","docId":"API-Reference/api-build","unlisted":false},{"type":"link","href":"/api-users","label":"Users endpoints","docId":"API-Reference/api-users","unlisted":false},{"type":"link","label":"Langflow API specification","href":"/api"}],"collapsed":true,"collapsible":true},{"type":"html","value":"
Community
","className":"sidebar-group-divider"},{"type":"category","label":"Contribute","className":"sidebar-category-with-icon sidebar-icon-gitPR","items":[{"type":"link","href":"/contributing-community","label":"Join the Langflow community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","href":"/contributing-how-to-contribute","label":"Contribute to Langflow","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","href":"/contributing-components","label":"Contribute components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","href":"/contributing-bundles","label":"Contribute component bundles","docId":"Contributing/contributing-bundles","unlisted":false},{"type":"link","href":"/contributing-component-tests","label":"Contribute component tests","docId":"Contributing/contributing-component-tests","unlisted":false},{"type":"link","href":"/contributing-templates","label":"Contribute templates","docId":"Contributing/contributing-templates","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Support","className":"sidebar-category-with-icon sidebar-icon-helpCircle","items":[{"type":"link","href":"/troubleshoot","label":"Troubleshoot","docId":"Support/troubleshooting","unlisted":false},{"type":"link","href":"/contributing-github-issues","label":"Get help and request enhancements","docId":"Support/contributing-github-issues","unlisted":false},{"type":"link","href":"/luna-for-langflow","label":"IBM Elite Support for Langflow","docId":"Support/luna-for-langflow","unlisted":false},{"type":"link","href":"/release-notes","label":"Release notes","docId":"Support/release-notes","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"html","className":"sidebar-ad","value":"\\n \\n \\n
\\n \\n "}]},"docs":{"Agents/agents":{"id":"Agents/agents","title":"Use Langflow agents","description":"Langflow\'s Agent component is critical for building agent flows.","sidebar":"docs"},"Agents/agents-tools":{"id":"Agents/agents-tools","title":"Configure tools for agents","description":"By default, Langflow agents only include the functionality built-in to their base LLM.","sidebar":"docs"},"Agents/langflow-mcp-client":{"id":"Agents/langflow-mcp-client","title":"Langflow MCP Client for coding agents","description":"Connect coding agents such as Bob (IBM) and Claude Code to a Langflow instance so they can build and run flows over MCP.","sidebar":"docs"},"Agents/mcp-client":{"id":"Agents/mcp-client","title":"Use Langflow as an MCP client","description":"Langflow integrates with the Model Context Protocol (MCP) as both an MCP server and an MCP client.","sidebar":"docs"},"Agents/mcp-component-astra":{"id":"Agents/mcp-component-astra","title":"Connect an Astra DB MCP server to Langflow","description":"This guide demonstrates how to use Langflow as an MCP client by using the MCP Tools component to run a DataStax Astra DB MCP server in an agent flow.","sidebar":"docs"},"Agents/mcp-server":{"id":"Agents/mcp-server","title":"Use Langflow as an MCP server","description":"Langflow integrates with the Model Context Protocol (MCP) as both an MCP server and an MCP client.","sidebar":"docs"},"API-Reference/api-build":{"id":"API-Reference/api-build","title":"Build endpoints","description":"The /build endpoints are used by Langflow\'s frontend visual editor code.","sidebar":"docs"},"API-Reference/api-files":{"id":"API-Reference/api-files","title":"Files endpoints","description":"Use the /files endpoints to move files between your local machine and Langflow.","sidebar":"docs"},"API-Reference/api-flows":{"id":"API-Reference/api-flows","title":"Flow management endpoints","description":"Use the /flows endpoint to create, read, update, and delete flows.","sidebar":"docs"},"API-Reference/api-flows-run":{"id":"API-Reference/api-flows-run","title":"Flow trigger endpoints","description":"Use the /run and /webhook endpoints to run flows.","sidebar":"docs"},"API-Reference/api-logs":{"id":"API-Reference/api-logs","title":"Logs endpoints","description":"Retrieve logs for your Langflow flows and server.","sidebar":"docs"},"API-Reference/api-monitor":{"id":"API-Reference/api-monitor","title":"Monitor endpoints","description":"The /monitor endpoints are for internal Langflow functionality, primarily related to running flows in the Playground, storing chat history, and generating flow logs.","sidebar":"docs"},"API-Reference/api-openai-responses":{"id":"API-Reference/api-openai-responses","title":"OpenAI Responses API","description":"Langflow includes an endpoint that is compatible with the OpenAI Responses API.","sidebar":"docs"},"API-Reference/api-projects":{"id":"API-Reference/api-projects","title":"Projects endpoints","description":"Use the /projects endpoint to create, read, update, and delete Langflow projects.","sidebar":"docs"},"API-Reference/api-reference-api-examples":{"id":"API-Reference/api-reference-api-examples","title":"Get started with the Langflow API","description":"You can use the Langflow API for programmatic interactions with Langflow, such as the following:","sidebar":"docs"},"API-Reference/api-users":{"id":"API-Reference/api-users","title":"Users endpoints","description":"Use the /users endpoint to manage user accounts in Langflow.","sidebar":"docs"},"API-Reference/flow-devops-sdk":{"id":"API-Reference/flow-devops-sdk","title":"Flow DevOps Toolkit SDK","description":"Use the Flow DevOps Toolkit SDK to version, test, and deploy your flows.","sidebar":"docs"},"API-Reference/README":{"id":"API-Reference/README","title":"API Examples (Local Test Harness)","description":"Run all API example suites against a local Langflow server:"},"API-Reference/typescript-client":{"id":"API-Reference/typescript-client","title":"Langflow TypeScript client","description":"The Langflow TypeScript client allows your TypeScript applications to programmatically interact with the Langflow API.","sidebar":"docs"},"API-Reference/workflows-api":{"id":"API-Reference/workflows-api","title":"Workflow API (Beta)","description":"The Workflow API is currently in Beta.","sidebar":"docs"},"Components/api-request":{"id":"Components/api-request","title":"API Request","description":"The API Request component constructs and sends HTTP requests using URLs or curl commands:","sidebar":"docs"},"Components/batch-run":{"id":"Components/batch-run","title":"Batch Run","description":"The Batch Run component runs a language model over each row of one text column in a Table, and then returns a new Table with the original text and an LLM response.","sidebar":"docs"},"Components/bundles-agentics":{"id":"Components/bundles-agentics","title":"Agentics","description":"The Agentics component bundle uses LLMs to transform tabular data. Add or fill columns row-by-row with the aMap component, collapse many rows into one with aReduce component, or generate synthetic rows with the aGenerate component.","sidebar":"docs"},"Components/bundles-aiml":{"id":"Components/bundles-aiml","title":"AI/ML API","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-altk":{"id":"Components/bundles-altk","title":"ALTK","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-amazon":{"id":"Components/bundles-amazon","title":"Amazon","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-anthropic":{"id":"Components/bundles-anthropic","title":"Anthropic","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-apify":{"id":"Components/bundles-apify","title":"Apify","description":"Apify is a web scraping and data extraction platform with more than 3,000 ready-made cloud tools called Actors.","sidebar":"docs"},"Components/bundles-arxiv":{"id":"Components/bundles-arxiv","title":"arXiv","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-assemblyai":{"id":"Components/bundles-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Components/bundles-azure":{"id":"Components/bundles-azure","title":"Azure","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-baidu":{"id":"Components/bundles-baidu","title":"Baidu","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-bing":{"id":"Components/bundles-bing","title":"Bing","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cassandra":{"id":"Components/bundles-cassandra","title":"Cassandra","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-chroma":{"id":"Components/bundles-chroma","title":"Chroma","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cleanlab":{"id":"Components/bundles-cleanlab","title":"Cleanlab","description":"Cleanlab adds automation and trust to every data point going in and every prediction coming out of AI and RAG solutions.","sidebar":"docs"},"Components/bundles-clickhouse":{"id":"Components/bundles-clickhouse","title":"ClickHouse","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cloudflare":{"id":"Components/bundles-cloudflare","title":"Cloudflare","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cohere":{"id":"Components/bundles-cohere","title":"Cohere","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cometapi":{"id":"Components/bundles-cometapi","title":"CometAPI","description":"Use CometAPI models in Langflow to generate text or output a Language Model for downstream Components.","sidebar":"docs"},"Components/bundles-composio":{"id":"Components/bundles-composio","title":"Composio","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-couchbase":{"id":"Components/bundles-couchbase","title":"Couchbase","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cuga":{"id":"Components/bundles-cuga","title":"CUGA","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-datastax":{"id":"Components/bundles-datastax","title":"DataStax","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-deepseek":{"id":"Components/bundles-deepseek","title":"DeepSeek","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-docling":{"id":"Components/bundles-docling","title":"Docling","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-duckduckgo":{"id":"Components/bundles-duckduckgo","title":"DuckDuckGo","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-elastic":{"id":"Components/bundles-elastic","title":"Elastic","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-exa":{"id":"Components/bundles-exa","title":"Exa","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-faiss":{"id":"Components/bundles-faiss","title":"FAISS","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-glean":{"id":"Components/bundles-glean","title":"Glean","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-google":{"id":"Components/bundles-google","title":"Google components","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-groq":{"id":"Components/bundles-groq","title":"Groq","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-huggingface":{"id":"Components/bundles-huggingface","title":"Hugging Face","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-ibm":{"id":"Components/bundles-ibm","title":"IBM","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-icosacomputing":{"id":"Components/bundles-icosacomputing","title":"Icosa Computing","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-langchain":{"id":"Components/bundles-langchain","title":"LangChain","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-lite-llm":{"id":"Components/bundles-lite-llm","title":"LiteLLM","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-lmstudio":{"id":"Components/bundles-lmstudio","title":"LM Studio","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-maritalk":{"id":"Components/bundles-maritalk","title":"MariTalk","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-mem0":{"id":"Components/bundles-mem0","title":"Mem0","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-milvus":{"id":"Components/bundles-milvus","title":"Milvus","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-mistralai":{"id":"Components/bundles-mistralai","title":"MistralAI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-mongodb":{"id":"Components/bundles-mongodb","title":"MongoDB","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-notion":{"id":"Components/bundles-notion","title":"Notion","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases, and then provide two examples of flows with Notion components.","sidebar":"docs"},"Components/bundles-novita":{"id":"Components/bundles-novita","title":"Novita","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-nvidia":{"id":"Components/bundles-nvidia","title":"NVIDIA","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-ollama":{"id":"Components/bundles-ollama","title":"Ollama","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-openai":{"id":"Components/bundles-openai","title":"OpenAI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-openrouter":{"id":"Components/bundles-openrouter","title":"OpenRouter","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-perplexity":{"id":"Components/bundles-perplexity","title":"Perplexity","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-pgvector":{"id":"Components/bundles-pgvector","title":"pgvector","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-pinecone":{"id":"Components/bundles-pinecone","title":"Pinecone","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-qdrant":{"id":"Components/bundles-qdrant","title":"Qdrant","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-redis":{"id":"Components/bundles-redis","title":"Redis","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-sambanova":{"id":"Components/bundles-sambanova","title":"SambaNova","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-searchapi":{"id":"Components/bundles-searchapi","title":"SearchApi","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-serper":{"id":"Components/bundles-serper","title":"Serper","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-supabase":{"id":"Components/bundles-supabase","title":"Supabase","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-upstash":{"id":"Components/bundles-upstash","title":"Upstash","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-vectara":{"id":"Components/bundles-vectara","title":"Vectara","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-vertexai":{"id":"Components/bundles-vertexai","title":"Vertex AI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-vllm":{"id":"Components/bundles-vllm","title":"vLLM","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-weaviate":{"id":"Components/bundles-weaviate","title":"Weaviate","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-wikipedia":{"id":"Components/bundles-wikipedia","title":"Wikipedia","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-xai":{"id":"Components/bundles-xai","title":"xAI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/calculator":{"id":"Components/calculator","title":"Calculator","description":"The Calculator component performs basic arithmetic operations on mathematical expressions.","sidebar":"docs"},"Components/chat-input-and-output":{"id":"Components/chat-input-and-output","title":"Chat Input and Output","description":"Chat Input and Output components are required to chat with your flow in the Playground.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Langflow\'s Agent component is critical for building agent flows.","sidebar":"docs"},"Components/components-bundles":{"id":"Components/components-bundles","title":"About bundles","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Create custom Python components","description":"Create your own custom components to add any functionality you need to Langflow, from API integrations to data processing.","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Model","description":"Embedding model components in Langflow generate text embeddings using a specified Large Language Model (LLM).","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Language Model","description":"Language model components in Langflow generate text using a specified Large Language Model (LLM).","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompt Template","description":"Use the Prompt Template core component to create a prompt that supplies instructions and context to an LLM or agent, separate from other input like chat messages and file uploads.","sidebar":"docs"},"Components/concepts-components":{"id":"Components/concepts-components","title":"Components overview","description":"Components are the building blocks of your flows.","sidebar":"docs"},"Components/current-date":{"id":"Components/current-date","title":"Current Date","description":"The Current Date component returns the current date and time in a selected timezone. This component provides a flexible way to obtain timezone-specific date and time information within a Langflow pipeline.","sidebar":"docs"},"Components/data-operations":{"id":"Components/data-operations","title":"JSON Operations","description":"Prior to Langflow 1.9.0, this component was named Data Operations.","sidebar":"docs"},"Components/dataframe-operations":{"id":"Components/dataframe-operations","title":"Table Operations","description":"Prior to Langflow 1.9.0, this component was named DataFrame Operations.","sidebar":"docs"},"Components/directory":{"id":"Components/directory","title":"Directory","description":"The Directory component recursively loads files from a directory, with options for file types, depth, and concurrency.","sidebar":"docs"},"Components/dynamic-create-data":{"id":"Components/dynamic-create-data","title":"Dynamic Create Data","description":"The Dynamic Create Data component creates a JSON object or Message with configurable fields.","sidebar":"docs"},"Components/guardrails":{"id":"Components/guardrails","title":"Guardrails","description":"The Guardrails component validates input text against security and safety guardrails by issuing prompts to a language model (LLM) to check for violations.","sidebar":"docs"},"Components/if-else":{"id":"Components/if-else","title":"If-Else","description":"The If-Else component is a conditional router that routes messages by comparing two strings.","sidebar":"docs"},"Components/knowledge-base":{"id":"Components/knowledge-base","title":"Knowledge Base","description":"The Knowledge Base component reads from an existing knowledge base using semantic search.","sidebar":"docs"},"Components/legacy-core-components":{"id":"Components/legacy-core-components","title":"Legacy core components","description":"Legacy Data components","sidebar":"docs"},"Components/llm-selector":{"id":"Components/llm-selector","title":"LLM Selector","description":"Prior to Langflow 1.7, this component was called the LLM Router.","sidebar":"docs"},"Components/loop":{"id":"Components/loop","title":"Loop","description":"The Loop component iterates over a list of input by passing individual items to other components attached at the Item output port until there are no items left to process.","sidebar":"docs"},"Components/mcp-tools":{"id":"Components/mcp-tools","title":"MCP Tools","description":"The MCP Tools component connects to a Model Context Protocol (MCP) server and exposes the MCP server\'s functions as tools for Langflow agents to use to respond to input.","sidebar":"docs"},"Components/message-history":{"id":"Components/message-history","title":"Message History","description":"The Message History component provides combined chat history and message storage functionality.","sidebar":"docs"},"Components/mock-data":{"id":"Components/mock-data","title":"Mock Data","description":"The Mock Data component generates sample data for testing and development.","sidebar":"docs"},"Components/notify-and-listen":{"id":"Components/notify-and-listen","title":"Notify and Listen","description":"The Notify and Listen components are used together.","sidebar":"docs"},"Components/parser":{"id":"Components/parser","title":"Parser","description":"The Parser component extracts text from structured data (Table or JSON) using a template or direct stringification.","sidebar":"docs"},"Components/policies":{"id":"Components/policies","title":"Policies (Beta)","description":"The Policies component leverages ToolGuard to automatically generate guard code that validates tool execution against defined business policies.","sidebar":"docs"},"Components/python-interpreter":{"id":"Components/python-interpreter","title":"Python Interpreter","description":"This component allows you to execute Python code with imported packages.","sidebar":"docs"},"Components/read-file":{"id":"Components/read-file","title":"Read File","description":"In Langflow version 1.7.0, this component was renamed from File to Read File.","sidebar":"docs"},"Components/run-flow":{"id":"Components/run-flow","title":"Run Flow","description":"The Run Flow component runs another Langflow flow as a subprocess of the current flow.","sidebar":"docs"},"Components/smart-router":{"id":"Components/smart-router","title":"Smart Router","description":"The Smart Router component is an LLM-powered variation of the If-Else component.","sidebar":"docs"},"Components/smart-transform":{"id":"Components/smart-transform","title":"Smart Transform","description":"This component has been renamed multiple times.","sidebar":"docs"},"Components/split-text":{"id":"Components/split-text","title":"Split Text","description":"The Split Text component splits data into chunks based on parameters like chunk size and separator.","sidebar":"docs"},"Components/sql-database":{"id":"Components/sql-database","title":"SQL Database","description":"The SQL Database component executes SQL queries on SQLAlchemy-compatible databases.","sidebar":"docs"},"Components/structured-output":{"id":"Components/structured-output","title":"Structured Output","description":"The Structured Output component uses an LLM to transform any input into structured data (JSON or Table) using natural language formatting instructions and an output schema definition.","sidebar":"docs"},"Components/text-input-and-output":{"id":"Components/text-input-and-output","title":"Text Input and Output","description":"Text Input and Output components aren\'t supported in the Playground.","sidebar":"docs"},"Components/type-convert":{"id":"Components/type-convert","title":"Type Convert","description":"The Type Convert component converts data from one type to another.","sidebar":"docs"},"Components/url":{"id":"Components/url","title":"URL","description":"The URL component fetches content from one or more URLs, processes the content, and returns it in various formats.","sidebar":"docs"},"Components/web-search":{"id":"Components/web-search","title":"Web Search","description":"The Web Search component consolidates the Web Search, News Search, and RSS Reader components into a single component with tabs for different search modes. You can search the web using DuckDuckGo, search Google News, or read RSS feeds, all from one component.","sidebar":"docs"},"Components/webhook":{"id":"Components/webhook","title":"Webhook","description":"The Webhook component defines a webhook trigger that runs a flow when it receives an HTTP POST request.","sidebar":"docs"},"Components/write-file":{"id":"Components/write-file","title":"Write File","description":"In Langflow version 1.7.0, this component was renamed from Save File to Write File.","sidebar":"docs"},"Contributing/contributing-bundles":{"id":"Contributing/contributing-bundles","title":"Contribute component bundles","description":"Bundles are groups of components that are related to a specific service provider.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"There are several ways you can interact with the Langflow community and learn more about the Langflow codebase.","sidebar":"docs"},"Contributing/contributing-component-tests":{"id":"Contributing/contributing-component-tests","title":"Contribute component tests","description":"This guide outlines how to structure and implement tests for application components to ensure consistency and adequate coverage.","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the Component class.","sidebar":"docs"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"Contribute to Langflow","description":"This guide is intended to help you start contributing to Langflow.","sidebar":"docs"},"Contributing/contributing-templates":{"id":"Contributing/contributing-templates","title":"Contribute templates","description":"Follow these best practices when submitting a template to Langflow.","sidebar":"docs"},"Deployment/deployment-architecture":{"id":"Deployment/deployment-architecture","title":"Langflow architecture on Kubernetes","description":"There are two broad types of Langflow deployments:","sidebar":"docs"},"Deployment/deployment-block-custom-components":{"id":"Deployment/deployment-block-custom-components","title":"Block custom components","description":"Custom components and the component code editor allow Langflow users to create and execute Python code in the Langflow runtime.","sidebar":"docs"},"Deployment/deployment-caddyfile":{"id":"Deployment/deployment-caddyfile","title":"Deploy Langflow on a remote server","description":"Learn how to deploy Langflow on your own remote server with secure web access.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Deploy Langflow on Docker","description":"Running applications in Docker containers ensures consistent behavior across different systems and eliminates dependency conflicts.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"Deploy Langflow on Google Cloud Platform","description":"This guide demonstrates how to deploy Langflow on Google Cloud Platform with a Cloud Shell script that walks through the process of setting up a Debian-based VM with the Langflow package, Nginx, and the necessary configurations to run the Langflow development environment in GCP.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"Deploy Langflow on Hugging Face Spaces","description":"This guide explains how to deploy Langflow on Hugging Face Spaces.","sidebar":"docs"},"Deployment/deployment-kubernetes-dev":{"id":"Deployment/deployment-kubernetes-dev","title":"Deploy the Langflow development environment on Kubernetes","description":"The Langflow integrated development environment (IDE) Helm chart is designed to provide a complete environment for developers to create, test, and debug their flows. It includes both the Langflow API and visual editor.","sidebar":"docs"},"Deployment/deployment-kubernetes-prod":{"id":"Deployment/deployment-kubernetes-prod","title":"Deploy the Langflow production environment on Kubernetes","description":"The Langflow runtime Helm chart is tailored for deploying applications in a production environment. It is focused on stability, performance, isolation, and security to ensure that applications run reliably and efficiently.","sidebar":"docs"},"Deployment/deployment-nginx-ssl":{"id":"Deployment/deployment-nginx-ssl","title":"Deploy Langflow with Nginx and SSL","description":"Deploy Langflow on a Linux-based server using Nginx as a reverse proxy, Let\'s Encrypt for SSL certificates, and Certbot for automated certificate management.","sidebar":"docs"},"Deployment/deployment-overview":{"id":"Deployment/deployment-overview","title":"Langflow deployment overview","description":"This section includes the different ways to bring your locally-built flows to the world.","sidebar":"docs"},"Deployment/deployment-prod-best-practices":{"id":"Deployment/deployment-prod-best-practices","title":"Best practices for Langflow on Kubernetes","description":"This guide provides best practices for deploying Langflow in production environments on Kubernetes.","sidebar":"docs"},"Deployment/deployment-public-server":{"id":"Deployment/deployment-public-server","title":"Deploy a public Langflow server","description":"By default, your Langflow server at http7860 isn\'t exposed to the public internet.","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Deploy Langflow on Railway","description":"Deploy Langflow to Railway using a one-click template","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Deploy Langflow on Render","description":"This guide explains how to deploy Langflow on Render, a cloud platform for deploying web applications and APIs.","sidebar":"docs"},"Deployment/deployment-wxo":{"id":"Deployment/deployment-wxo","title":"Deploy Langflow on watsonx Orchestrate","description":"Create a flow and deploy it to IBM watsonx Orchestrate.","sidebar":"docs"},"Deployment/develop-application":{"id":"Deployment/develop-application","title":"Containerize a Langflow application","description":"Designing flows in the visual editor is only the first step in building an application that uses Langflow.","sidebar":"docs"},"Deployment/security":{"id":"Deployment/security","title":"Security","description":"The Langflow UI is an IDE and code execution platform, which means that Langflow is inherently capable of executing arbitrary, developer-provided code.","sidebar":"docs"},"Develop/api-keys-and-authentication":{"id":"Develop/api-keys-and-authentication","title":"API keys and authentication","description":"Never expose Langflow ports directly to the internet without proper security measures.","sidebar":"docs"},"Develop/concepts-file-management":{"id":"Develop/concepts-file-management","title":"Manage files","description":"Each Langflow server has a file management system where you can store files that you want to use in your flows.","sidebar":"docs"},"Develop/concepts-voice-mode":{"id":"Develop/concepts-voice-mode","title":"Use voice mode","description":"Voice mode is not available in Langflow Desktop.","sidebar":"docs"},"Develop/configuration-cli":{"id":"Develop/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface is the main interface for managing and running the Langflow server.","sidebar":"docs"},"Develop/configuration-custom-database":{"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.","sidebar":"docs"},"Develop/configuration-global-variables":{"id":"Develop/configuration-global-variables","title":"Global variables","description":"Use global variables to store and reuse credentials and generic values across all of your flows.","sidebar":"docs"},"Develop/contributing-telemetry":{"id":"Develop/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.","sidebar":"docs"},"Develop/data-types":{"id":"Develop/data-types","title":"Langflow data types","description":"Langflow components are designed to accept and produce specific types of inputs and outputs.","sidebar":"docs"},"Develop/enterprise-database-guide":{"id":"Develop/enterprise-database-guide","title":"Langflow database guide for enterprise DBAs","description":"The Langflow database stores data that is essential for more Langflow operations, including startup, flow execution, user interactions, and administrative tasks.","sidebar":"docs"},"Develop/environment-variables":{"id":"Develop/environment-variables","title":"Environment variables","description":"In general, environment variables, like LANGFLOWPORT or LANGFLOWLOG_LEVEL, configure how Langflow runs.","sidebar":"docs"},"Develop/install-custom-dependencies":{"id":"Develop/install-custom-dependencies","title":"Install custom dependencies","description":"Langflow provides optional dependency groups and support for custom dependencies to extend Langflow functionality. This guide covers how to add dependencies for different Langflow installations, including Langflow Desktop and Langflow OSS.","sidebar":"docs"},"Develop/integrations-arize":{"id":"Develop/integrations-arize","title":"Arize","description":"Arize is a tool built on OpenTelemetry and OpenInference for monitoring and optimizing LLM applications.","sidebar":"docs"},"Develop/integrations-instana-traceloop":{"id":"Develop/integrations-instana-traceloop","title":"Traceloop","description":"Instrument Langflow with the Traceloop SDK, and export traces and metrics to Instana using OpenTelemetry.","sidebar":"docs"},"Develop/integrations-langfuse":{"id":"Develop/integrations-langfuse","title":"Langfuse","description":"Langfuse is an open-source platform for LLM observability. It provides tracing and monitoring capabilities for AI applications, helping developers debug, analyze, and optimize their AI systems. Langfuse integrates with various tools and frameworks, including workflow builders and runtimes like Langflow.","sidebar":"docs"},"Develop/integrations-langsmith":{"id":"Develop/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, add your LangChain API key and configuration as Langflow environment variables, and then start Langflow.","sidebar":"docs"},"Develop/integrations-langwatch":{"id":"Develop/integrations-langwatch","title":"LangWatch","description":"LangWatch is an all-in-one LLMOps platform for monitoring, observability, analytics, evaluations and alerting for getting user insights and improve your LLM workflows.","sidebar":"docs"},"Develop/integrations-openlayer":{"id":"Develop/integrations-openlayer","title":"Openlayer","description":"Openlayer is a testing and evaluation platform for LLM applications. It provides comprehensive observability, testing, and monitoring capabilities to help you ship high-quality AI systems with confidence.","sidebar":"docs"},"Develop/integrations-opik":{"id":"Develop/integrations-opik","title":"Opik","description":"Opik is an open-source platform designed for evaluating, testing, and monitoring large language model (LLM) applications. Developed by Comet, it aims to facilitate more intuitive collaboration, testing, and monitoring of LLM-based applications.","sidebar":"docs"},"Develop/jwt-authentication":{"id":"Develop/jwt-authentication","title":"JWT authentication","description":"Langflow supports symmetric or asymmetric JSON Web Tokens (JWT) for user authentication and authorization.","sidebar":"docs"},"Develop/knowledge":{"id":"Develop/knowledge","title":"Manage vector data","description":"Vector data is critical to AI applications.","sidebar":"docs"},"Develop/logging":{"id":"Develop/logging","title":"Logs","description":"Langflow produces logs for individual flows and the Langflow application itself using the structlog library for logging.","sidebar":"docs"},"Develop/memory":{"id":"Develop/memory","title":"Memory management options","description":"Langflow provides flexible memory management options for storage and retrieval of data relevant to your flows and your Langflow server.","sidebar":"docs"},"Develop/session-id":{"id":"Develop/session-id","title":"Use session ID to manage communication between components","description":"Session ID is a unique identifier for client/server connections. A single session equals the duration of a client\'s connection to a server.","sidebar":"docs"},"Develop/traces":{"id":"Develop/traces","title":"Traces","description":"Langflow\u2019s Traces feature records detailed execution traces for your flows and components so that you can debug issues, measure latency, and track token usage without relying on external observability services.","sidebar":"docs"},"Flows/concepts-flows":{"id":"Flows/concepts-flows","title":"Build flows","description":"A flow is a functional representation of an application workflow.","sidebar":"docs"},"Flows/concepts-flows-import":{"id":"Flows/concepts-flows-import","title":"Import and export flows","description":"You can export flows to transfer them between Langflow instances, share them with others, or create backups.","sidebar":"docs"},"Flows/concepts-overview":{"id":"Flows/concepts-overview","title":"Use the visual editor","description":"You use Langflow\'s visual editor to create, test, and share flows, which are functional representations of application workflows.","sidebar":"docs"},"Flows/concepts-playground":{"id":"Flows/concepts-playground","title":"Test flows in the Playground","description":"Langflow\'s Playground is a dynamic interface you can use to test your LLM-based flows in real-time.","sidebar":"docs"},"Flows/concepts-publish":{"id":"Flows/concepts-publish","title":"Trigger flows with the Langflow API","description":"After you build a flow, you probably want to run it within an application, such as a chatbot within a mobile app or website.","sidebar":"docs"},"Flows/langflow-assistant":{"id":"Flows/langflow-assistant","title":"Build components with Langflow Assistant","description":"Langflow Assistant is an in-app virtual assistant pane within the Playground.","sidebar":"docs"},"Flows/webhook":{"id":"Flows/webhook","title":"Trigger flows with webhooks","description":"You can use the Webhook component to start a flow run in response to an external event.","sidebar":"docs"},"Get-Started/about-langflow":{"id":"Get-Started/about-langflow","title":"What is Langflow?","description":"Langflow is an open-source, Python-based, customizable framework for building AI applications.","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"Langflow can be installed in multiple ways. Choose an option below to jump to the steps.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Get started with Langflow by loading a template flow, running it, and then serving it at the /run API endpoint.","sidebar":"docs"},"Support/contributing-github-issues":{"id":"Support/contributing-github-issues","title":"Get help and request enhancements","description":"The Langflow GitHub repository is an integral part of the Langflow community.","sidebar":"docs"},"Support/luna-for-langflow":{"id":"Support/luna-for-langflow","title":"IBM Elite Support for Langflow","description":"IBM Elite Support offers enterprise support for Langflow to help you develop and deploy Langflow applications with confidence.","sidebar":"docs"},"Support/release-notes":{"id":"Support/release-notes","title":"Langflow release notes","description":"This page summarizes significant changes to Langflow in each release.","sidebar":"docs"},"Support/troubleshooting":{"id":"Support/troubleshooting","title":"Troubleshoot Langflow","description":"This page provides troubleshooting advice for issues you might encounter when using Langflow or contributing to Langflow.","sidebar":"docs"},"Tutorials/agent":{"id":"Tutorials/agent","title":"Connect applications to agents","description":"This tutorial shows you how to connect a JavaScript application to a Langflow agent.","sidebar":"docs"},"Tutorials/chat-with-files":{"id":"Tutorials/chat-with-files","title":"Create a chatbot that can ingest files","description":"This tutorial shows you how to build a chatbot that can read and answer questions about files you upload, such as meeting notes or job applications.","sidebar":"docs"},"Tutorials/chat-with-rag":{"id":"Tutorials/chat-with-rag","title":"Create a vector RAG chatbot","description":"This tutorial demonstrates how you can use Langflow to create a chatbot application that uses Retrieval Augmented Generation (RAG) to embed your data as vectors in a vector database, and then chat with the data.","sidebar":"docs"},"Tutorials/mcp-tutorial":{"id":"Tutorials/mcp-tutorial","title":"Connect to MCP servers from your application","description":"This tutorial shows you how to connect MCP servers to your applications using Langflow\'s MCP Tools component.","sidebar":"docs"}}}}')}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[11567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"1.9.0","label":"1.9.x","banner":null,"badge":true,"noIndex":false,"className":"docs-version-1.9.0","isLast":true,"docsSidebars":{"docs":[{"type":"html","value":"
Build
","className":"sidebar-group-divider"},{"type":"category","label":"Get started","className":"sidebar-category-with-icon sidebar-icon-rocket","items":[{"type":"link","href":"/","label":"About Langflow","docId":"Get-Started/about-langflow","unlisted":false},{"type":"link","href":"/get-started-installation","label":"Install Langflow","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","href":"/get-started-quickstart","label":"Quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false},{"type":"category","label":"Tutorials","items":[{"type":"link","href":"/chat-with-rag","label":"Create a vector RAG chatbot","docId":"Tutorials/chat-with-rag","unlisted":false},{"type":"link","href":"/chat-with-files","label":"Create a chatbot that can ingest files","docId":"Tutorials/chat-with-files","unlisted":false},{"type":"link","href":"/agent-tutorial","label":"Connect applications to agents","docId":"Tutorials/agent","unlisted":false},{"type":"link","href":"/mcp-tutorial","label":"Connect to MCP servers from your application","docId":"Tutorials/mcp-tutorial","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Flows","className":"sidebar-category-with-icon sidebar-icon-workflow","items":[{"type":"link","href":"/concepts-overview","label":"Use the visual editor","docId":"Flows/concepts-overview","unlisted":false},{"type":"link","href":"/concepts-flows","label":"Build flows","docId":"Flows/concepts-flows","unlisted":false},{"type":"category","label":"Run flows","items":[{"type":"link","href":"/concepts-publish","label":"Trigger flows with the Langflow API","docId":"Flows/concepts-publish","unlisted":false},{"type":"link","href":"/webhook","label":"Trigger flows with webhooks","docId":"Flows/webhook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/concepts-playground","label":"Test flows","docId":"Flows/concepts-playground","unlisted":false},{"type":"link","href":"/concepts-flows-import","label":"Import and export flows","docId":"Flows/concepts-flows-import","unlisted":false},{"type":"link","href":"/langflow-assistant","label":"Build components with Langflow Assistant","docId":"Flows/langflow-assistant","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Agents","className":"sidebar-category-with-icon sidebar-icon-bot","items":[{"type":"link","href":"/agents","label":"Use Langflow agents","docId":"Agents/agents","unlisted":false},{"type":"link","href":"/agents-tools","label":"Configure tools for agents","docId":"Agents/agents-tools","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Model Context Protocol (MCP)","className":"sidebar-category-with-icon sidebar-icon-plug","items":[{"type":"link","href":"/mcp-client","label":"Use Langflow as an MCP client","docId":"Agents/mcp-client","unlisted":false},{"type":"link","href":"/mcp-server","label":"Use Langflow as an MCP server","docId":"Agents/mcp-server","unlisted":false},{"type":"link","href":"/langflow-mcp-client","label":"Langflow MCP Client for coding agents","docId":"Agents/langflow-mcp-client","unlisted":false},{"type":"link","href":"/mcp-component-astra","label":"Connect an Astra DB MCP server to Langflow","docId":"Agents/mcp-component-astra","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"html","value":"
Develop & Deploy
","className":"sidebar-group-divider"},{"type":"category","label":"Develop","className":"sidebar-category-with-icon sidebar-icon-code","items":[{"type":"link","href":"/api-keys-and-authentication","label":"API keys and authentication","docId":"Develop/api-keys-and-authentication","unlisted":false},{"type":"link","href":"/jwt-authentication","label":"JWT authentication","docId":"Develop/jwt-authentication","unlisted":false},{"type":"link","href":"/install-custom-dependencies","label":"Install custom dependencies","docId":"Develop/install-custom-dependencies","unlisted":false},{"type":"link","href":"/configuration-global-variables","label":"Global variables","docId":"Develop/configuration-global-variables","unlisted":false},{"type":"link","href":"/environment-variables","label":"Environment variables","docId":"Develop/environment-variables","unlisted":false},{"type":"category","label":"Storage and memory","items":[{"type":"link","href":"/concepts-file-management","label":"Manage files","docId":"Develop/concepts-file-management","unlisted":false},{"type":"link","href":"/memory","label":"Manage memory","docId":"Develop/memory","unlisted":false},{"type":"link","href":"/session-id","label":"Use Session IDs","docId":"Develop/session-id","unlisted":false},{"type":"link","href":"/configuration-custom-database","label":"Configure an external PostgreSQL database","docId":"Develop/configuration-custom-database","unlisted":false},{"type":"link","href":"/enterprise-database-guide","label":"Database guide for enterprise administrators","docId":"Develop/enterprise-database-guide","unlisted":false},{"type":"link","href":"/knowledge","label":"Manage vector data","docId":"Develop/knowledge","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Observability","items":[{"type":"link","href":"/logging","label":"Logs","docId":"Develop/logging","unlisted":false},{"type":"link","href":"/traces","label":"Traces","docId":"Develop/traces","unlisted":false},{"type":"category","label":"Monitoring","items":[{"type":"link","href":"/integrations-arize","label":"Arize","docId":"Develop/integrations-arize","unlisted":false},{"type":"link","href":"/integrations-langfuse","label":"Langfuse","docId":"Develop/integrations-langfuse","unlisted":false},{"type":"link","href":"/integrations-langsmith","label":"LangSmith","docId":"Develop/integrations-langsmith","unlisted":false},{"type":"link","href":"/integrations-langwatch","label":"LangWatch","docId":"Develop/integrations-langwatch","unlisted":false},{"type":"link","href":"/integrations-openlayer","label":"Openlayer","docId":"Develop/integrations-openlayer","unlisted":false},{"type":"link","href":"/integrations-opik","label":"Opik","docId":"Develop/integrations-opik","unlisted":false},{"type":"link","href":"/integrations-instana-traceloop","label":"Traceloop","docId":"Develop/integrations-instana-traceloop","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/contributing-telemetry","label":"Telemetry","docId":"Develop/contributing-telemetry","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/data-types","label":"Use Langflow data types","docId":"Develop/data-types","unlisted":false},{"type":"link","href":"/concepts-voice-mode","label":"Use voice mode","docId":"Develop/concepts-voice-mode","unlisted":false},{"type":"link","href":"/configuration-cli","label":"Use the Langflow CLI","docId":"Develop/configuration-cli","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Deploy","className":"sidebar-category-with-icon sidebar-icon-cloud","items":[{"type":"link","href":"/deployment-overview","label":"Langflow deployment overview","docId":"Deployment/deployment-overview","unlisted":false},{"type":"link","href":"/deployment-public-server","label":"Deploy a public Langflow server","docId":"Deployment/deployment-public-server","unlisted":false},{"type":"link","href":"/deployment-nginx-ssl","label":"Deploy Langflow with Nginx and SSL","docId":"Deployment/deployment-nginx-ssl","unlisted":false},{"type":"category","label":"Containerized deployments","items":[{"type":"link","href":"/develop-application","label":"Containerize a Langflow application","docId":"Deployment/develop-application","unlisted":false},{"type":"link","href":"/deployment-docker","label":"Langflow Docker images","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","href":"/deployment-caddyfile","label":"Deploy Langflow on a remote server","docId":"Deployment/deployment-caddyfile","unlisted":false},{"type":"category","label":"Kubernetes","items":[{"type":"link","href":"/deployment-architecture","label":"Deployment architecture","docId":"Deployment/deployment-architecture","unlisted":false},{"type":"link","href":"/deployment-prod-best-practices","label":"Best practices","docId":"Deployment/deployment-prod-best-practices","unlisted":false},{"type":"link","href":"/deployment-kubernetes-dev","label":"Deploy in development","docId":"Deployment/deployment-kubernetes-dev","unlisted":false},{"type":"link","href":"/deployment-kubernetes-prod","label":"Deploy in production","docId":"Deployment/deployment-kubernetes-prod","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Cloud platforms","items":[{"type":"link","href":"/deployment-gcp","label":"Google Cloud Platform","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","href":"/deployment-hugging-face-spaces","label":"Hugging Face Spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","href":"/deployment-wxo","label":"IBM watsonx Orchestrate","docId":"Deployment/deployment-wxo","unlisted":false},{"type":"link","href":"/deployment-railway","label":"Railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","href":"/deployment-render","label":"Render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/deployment-block-custom-components","label":"Block custom components","docId":"Deployment/deployment-block-custom-components","unlisted":false},{"type":"link","href":"/security","label":"Security","docId":"Deployment/security","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"html","value":"
Reference
","className":"sidebar-group-divider"},{"type":"category","label":"Components reference","className":"sidebar-category-with-icon sidebar-icon-blocks","items":[{"type":"link","href":"/concepts-components","label":"Components overview","docId":"Components/concepts-components","unlisted":false},{"type":"category","label":"Core components","items":[{"type":"category","label":"Input / Output","items":[{"type":"link","href":"/chat-input-and-output","label":"Chat Input and Output","docId":"Components/chat-input-and-output","unlisted":false},{"type":"link","href":"/text-input-and-output","label":"Text Input and Output","docId":"Components/text-input-and-output","unlisted":false},{"type":"link","href":"/component-webhook","label":"Webhook","docId":"Components/webhook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Processing","items":[{"type":"link","href":"/data-operations","label":"JSON Operations","docId":"Components/data-operations","unlisted":false},{"type":"link","href":"/dataframe-operations","label":"Table Operations","docId":"Components/dataframe-operations","unlisted":false},{"type":"link","href":"/dynamic-create-data","label":"Dynamic Create Data","docId":"Components/dynamic-create-data","unlisted":false},{"type":"link","href":"/parser","label":"Parser","docId":"Components/parser","unlisted":false},{"type":"link","href":"/split-text","label":"Split Text","docId":"Components/split-text","unlisted":false},{"type":"link","href":"/type-convert","label":"Type Convert","docId":"Components/type-convert","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Data Source","items":[{"type":"link","href":"/api-request","label":"API Request","docId":"Components/api-request","unlisted":false},{"type":"link","href":"/mock-data","label":"Mock Data","docId":"Components/mock-data","unlisted":false},{"type":"link","href":"/url","label":"URL","docId":"Components/url","unlisted":false},{"type":"link","href":"/web-search","label":"Web Search","docId":"Components/web-search","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Files and Knowledge","items":[{"type":"link","href":"/directory","label":"Directory","docId":"Components/directory","unlisted":false},{"type":"link","href":"/knowledge-base","label":"Knowledge Base","docId":"Components/knowledge-base","unlisted":false},{"type":"link","href":"/read-file","label":"Read File","docId":"Components/read-file","unlisted":false},{"type":"link","href":"/write-file","label":"Write File","docId":"Components/write-file","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Flow Controls","items":[{"type":"link","href":"/if-else","label":"If-Else","docId":"Components/if-else","unlisted":false},{"type":"link","href":"/loop","label":"Loop","docId":"Components/loop","unlisted":false},{"type":"link","href":"/notify-and-listen","label":"Notify and Listen","docId":"Components/notify-and-listen","unlisted":false},{"type":"link","href":"/run-flow","label":"Run Flow","docId":"Components/run-flow","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"LLM Operations","items":[{"type":"link","href":"/batch-run","label":"Batch Run","docId":"Components/batch-run","unlisted":false},{"type":"link","href":"/guardrails","label":"Guardrails","docId":"Components/guardrails","unlisted":false},{"type":"link","href":"/policies","label":"Policies (Beta)","docId":"Components/policies","unlisted":false},{"type":"link","href":"/llm-selector","label":"LLM Selector","docId":"Components/llm-selector","unlisted":false},{"type":"link","href":"/smart-router","label":"Smart Router","docId":"Components/smart-router","unlisted":false},{"type":"link","href":"/smart-transform","label":"Smart Transform","docId":"Components/smart-transform","unlisted":false},{"type":"link","href":"/structured-output","label":"Structured Output","docId":"Components/structured-output","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Models and Agents","items":[{"type":"link","href":"/components-models","label":"Language Model","docId":"Components/components-models","unlisted":false},{"type":"link","href":"/components-prompts","label":"Prompt Template","docId":"Components/components-prompts","unlisted":false},{"type":"link","href":"/components-agents","label":"Agents","docId":"Components/components-agents","unlisted":false},{"type":"link","href":"/mcp-tools","label":"MCP Tools","docId":"Components/mcp-tools","unlisted":false},{"type":"link","href":"/components-embedding-models","label":"Embedding Model","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","href":"/message-history","label":"Message History","docId":"Components/message-history","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Utilities","items":[{"type":"link","href":"/calculator","label":"Calculator","docId":"Components/calculator","unlisted":false},{"type":"link","href":"/current-date","label":"Current Date","docId":"Components/current-date","unlisted":false},{"type":"link","href":"/python-interpreter","label":"Python Interpreter","docId":"Components/python-interpreter","unlisted":false},{"type":"link","href":"/sql-database","label":"SQL Database","docId":"Components/sql-database","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/legacy-core-components","label":"Legacy core components","docId":"Components/legacy-core-components","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Bundles","items":[{"type":"link","href":"/components-bundle-components","label":"About bundles","docId":"Components/components-bundles","unlisted":false},{"type":"link","href":"/bundles-agentics","label":"Agentics","docId":"Components/bundles-agentics","unlisted":false},{"type":"link","href":"/bundles-aiml","label":"AI/ML API","docId":"Components/bundles-aiml","unlisted":false},{"type":"link","href":"/bundles-altk","label":"ALTK","docId":"Components/bundles-altk","unlisted":false},{"type":"link","href":"/bundles-amazon","label":"Amazon","docId":"Components/bundles-amazon","unlisted":false},{"type":"link","href":"/bundles-anthropic","label":"Anthropic","docId":"Components/bundles-anthropic","unlisted":false},{"type":"link","href":"/bundles-apify","label":"Apify","docId":"Components/bundles-apify","unlisted":false},{"type":"link","href":"/bundles-arxiv","label":"arXiv","docId":"Components/bundles-arxiv","unlisted":false},{"type":"link","href":"/bundles-assemblyai","label":"AssemblyAI","docId":"Components/bundles-assemblyai","unlisted":false},{"type":"link","href":"/bundles-azure","label":"Azure","docId":"Components/bundles-azure","unlisted":false},{"type":"link","href":"/bundles-baidu","label":"Baidu","docId":"Components/bundles-baidu","unlisted":false},{"type":"link","href":"/bundles-bing","label":"Bing","docId":"Components/bundles-bing","unlisted":false},{"type":"link","href":"/bundles-cassandra","label":"Cassandra","docId":"Components/bundles-cassandra","unlisted":false},{"type":"link","href":"/bundles-chroma","label":"Chroma","docId":"Components/bundles-chroma","unlisted":false},{"type":"link","href":"/bundles-cleanlab","label":"Cleanlab","docId":"Components/bundles-cleanlab","unlisted":false},{"type":"link","href":"/bundles-clickhouse","label":"ClickHouse","docId":"Components/bundles-clickhouse","unlisted":false},{"type":"link","href":"/bundles-cloudflare","label":"Cloudflare","docId":"Components/bundles-cloudflare","unlisted":false},{"type":"link","href":"/bundles-cohere","label":"Cohere","docId":"Components/bundles-cohere","unlisted":false},{"type":"link","href":"/bundles-cometapi","label":"CometAPI","docId":"Components/bundles-cometapi","unlisted":false},{"type":"link","href":"/bundles-composio","label":"Composio","docId":"Components/bundles-composio","unlisted":false},{"type":"link","href":"/bundles-couchbase","label":"Couchbase","docId":"Components/bundles-couchbase","unlisted":false},{"type":"link","href":"/bundles-cuga","label":"CUGA","docId":"Components/bundles-cuga","unlisted":false},{"type":"link","href":"/bundles-datastax","label":"DataStax","docId":"Components/bundles-datastax","unlisted":false},{"type":"link","href":"/bundles-deepseek","label":"DeepSeek","docId":"Components/bundles-deepseek","unlisted":false},{"type":"link","href":"/bundles-docling","label":"Docling","docId":"Components/bundles-docling","unlisted":false},{"type":"link","href":"/bundles-duckduckgo","label":"DuckDuckGo","docId":"Components/bundles-duckduckgo","unlisted":false},{"type":"link","href":"/bundles-elastic","label":"Elastic","docId":"Components/bundles-elastic","unlisted":false},{"type":"link","href":"/bundles-exa","label":"Exa","docId":"Components/bundles-exa","unlisted":false},{"type":"link","href":"/bundles-faiss","label":"FAISS","docId":"Components/bundles-faiss","unlisted":false},{"type":"link","href":"/bundles-glean","label":"Glean","docId":"Components/bundles-glean","unlisted":false},{"type":"link","href":"/bundles-google","label":"Google components","docId":"Components/bundles-google","unlisted":false},{"type":"link","href":"/bundles-groq","label":"Groq","docId":"Components/bundles-groq","unlisted":false},{"type":"link","href":"/bundles-huggingface","label":"Hugging Face","docId":"Components/bundles-huggingface","unlisted":false},{"type":"link","href":"/bundles-ibm","label":"IBM","docId":"Components/bundles-ibm","unlisted":false},{"type":"link","href":"/bundles-icosacomputing","label":"Icosa Computing","docId":"Components/bundles-icosacomputing","unlisted":false},{"type":"link","href":"/bundles-langchain","label":"LangChain","docId":"Components/bundles-langchain","unlisted":false},{"type":"link","href":"/bundles-lite-llm","label":"LiteLLM","docId":"Components/bundles-lite-llm","unlisted":false},{"type":"link","href":"/bundles-lmstudio","label":"LM Studio","docId":"Components/bundles-lmstudio","unlisted":false},{"type":"link","href":"/bundles-maritalk","label":"MariTalk","docId":"Components/bundles-maritalk","unlisted":false},{"type":"link","href":"/bundles-mem0","label":"Mem0","docId":"Components/bundles-mem0","unlisted":false},{"type":"link","href":"/bundles-milvus","label":"Milvus","docId":"Components/bundles-milvus","unlisted":false},{"type":"link","href":"/bundles-mistralai","label":"MistralAI","docId":"Components/bundles-mistralai","unlisted":false},{"type":"link","href":"/bundles-mongodb","label":"MongoDB","docId":"Components/bundles-mongodb","unlisted":false},{"type":"link","href":"/bundles-notion","label":"Notion","docId":"Components/bundles-notion","unlisted":false},{"type":"link","href":"/bundles-novita","label":"Novita","docId":"Components/bundles-novita","unlisted":false},{"type":"link","href":"/bundles-nvidia","label":"NVIDIA","docId":"Components/bundles-nvidia","unlisted":false},{"type":"link","href":"/bundles-ollama","label":"Ollama","docId":"Components/bundles-ollama","unlisted":false},{"type":"link","href":"/bundles-openai","label":"OpenAI","docId":"Components/bundles-openai","unlisted":false},{"type":"link","href":"/bundles-openrouter","label":"OpenRouter","docId":"Components/bundles-openrouter","unlisted":false},{"type":"link","href":"/bundles-perplexity","label":"Perplexity","docId":"Components/bundles-perplexity","unlisted":false},{"type":"link","href":"/bundles-pgvector","label":"pgvector","docId":"Components/bundles-pgvector","unlisted":false},{"type":"link","href":"/bundles-pinecone","label":"Pinecone","docId":"Components/bundles-pinecone","unlisted":false},{"type":"link","href":"/bundles-qdrant","label":"Qdrant","docId":"Components/bundles-qdrant","unlisted":false},{"type":"link","href":"/bundles-redis","label":"Redis","docId":"Components/bundles-redis","unlisted":false},{"type":"link","href":"/bundles-sambanova","label":"SambaNova","docId":"Components/bundles-sambanova","unlisted":false},{"type":"link","href":"/bundles-searchapi","label":"SearchApi","docId":"Components/bundles-searchapi","unlisted":false},{"type":"link","href":"/bundles-serper","label":"Serper","docId":"Components/bundles-serper","unlisted":false},{"type":"link","href":"/bundles-supabase","label":"Supabase","docId":"Components/bundles-supabase","unlisted":false},{"type":"link","href":"/bundles-upstash","label":"Upstash","docId":"Components/bundles-upstash","unlisted":false},{"type":"link","href":"/bundles-vllm","label":"vLLM","docId":"Components/bundles-vllm","unlisted":false},{"type":"link","href":"/bundles-vectara","label":"Vectara","docId":"Components/bundles-vectara","unlisted":false},{"type":"link","href":"/bundles-vertexai","label":"Vertex AI","docId":"Components/bundles-vertexai","unlisted":false},{"type":"link","href":"/bundles-weaviate","label":"Weaviate","docId":"Components/bundles-weaviate","unlisted":false},{"type":"link","href":"/bundles-wikipedia","label":"Wikipedia","docId":"Components/bundles-wikipedia","unlisted":false},{"type":"link","href":"/bundles-xai","label":"xAI","docId":"Components/bundles-xai","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","href":"/components-custom-components","label":"Create custom Python components","docId":"Components/components-custom-components","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"API reference","className":"sidebar-category-with-icon sidebar-icon-fileCode","items":[{"type":"link","href":"/api-reference-api-examples","label":"Get started with the Langflow API","docId":"API-Reference/api-reference-api-examples","unlisted":false},{"type":"link","href":"/typescript-client","label":"Use the TypeScript client","docId":"API-Reference/typescript-client","unlisted":false},{"type":"link","href":"/flow-devops-sdk","label":"Flow DevOps Toolkit SDK","docId":"API-Reference/flow-devops-sdk","unlisted":false},{"type":"link","href":"/api-flows-run","label":"Flow trigger endpoints","docId":"API-Reference/api-flows-run","unlisted":false},{"type":"category","label":"Developer API (Beta)","items":[{"type":"link","href":"/workflow-api","label":"Workflow API (Beta)","docId":"API-Reference/workflows-api","unlisted":false},{"type":"link","label":"Workflow API specification (Beta)","href":"/api/workflow"}],"collapsed":true,"collapsible":true},{"type":"link","href":"/api-openai-responses","label":"OpenAI Responses API","docId":"API-Reference/api-openai-responses","unlisted":false},{"type":"link","href":"/api-flows","label":"Flow management endpoints","docId":"API-Reference/api-flows","unlisted":false},{"type":"link","href":"/api-files","label":"Files endpoints","docId":"API-Reference/api-files","unlisted":false},{"type":"link","href":"/api-projects","label":"Projects endpoints","docId":"API-Reference/api-projects","unlisted":false},{"type":"link","href":"/api-logs","label":"Logs endpoints","docId":"API-Reference/api-logs","unlisted":false},{"type":"link","href":"/api-monitor","label":"Monitor endpoints","docId":"API-Reference/api-monitor","unlisted":false},{"type":"link","href":"/api-build","label":"Build endpoints","docId":"API-Reference/api-build","unlisted":false},{"type":"link","href":"/api-users","label":"Users endpoints","docId":"API-Reference/api-users","unlisted":false},{"type":"link","label":"Langflow API specification","href":"/api"}],"collapsed":true,"collapsible":true},{"type":"html","value":"
Community
","className":"sidebar-group-divider"},{"type":"category","label":"Contribute","className":"sidebar-category-with-icon sidebar-icon-gitPR","items":[{"type":"link","href":"/contributing-community","label":"Join the Langflow community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","href":"/contributing-how-to-contribute","label":"Contribute to Langflow","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","href":"/contributing-components","label":"Contribute components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","href":"/contributing-bundles","label":"Contribute component bundles","docId":"Contributing/contributing-bundles","unlisted":false},{"type":"link","href":"/contributing-component-tests","label":"Contribute component tests","docId":"Contributing/contributing-component-tests","unlisted":false},{"type":"link","href":"/contributing-templates","label":"Contribute templates","docId":"Contributing/contributing-templates","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Support","className":"sidebar-category-with-icon sidebar-icon-helpCircle","items":[{"type":"link","href":"/troubleshoot","label":"Troubleshoot","docId":"Support/troubleshooting","unlisted":false},{"type":"link","href":"/contributing-github-issues","label":"Get help and request enhancements","docId":"Support/contributing-github-issues","unlisted":false},{"type":"link","href":"/luna-for-langflow","label":"IBM Elite Support for Langflow","docId":"Support/luna-for-langflow","unlisted":false},{"type":"link","href":"/release-notes","label":"Release notes","docId":"Support/release-notes","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"html","className":"sidebar-ad","value":"\\n \\n \\n
\\n \\n "}]},"docs":{"Agents/agents":{"id":"Agents/agents","title":"Use Langflow agents","description":"Langflow\'s Agent component is critical for building agent flows.","sidebar":"docs"},"Agents/agents-tools":{"id":"Agents/agents-tools","title":"Configure tools for agents","description":"By default, Langflow agents only include the functionality built-in to their base LLM.","sidebar":"docs"},"Agents/langflow-mcp-client":{"id":"Agents/langflow-mcp-client","title":"Langflow MCP Client for coding agents","description":"Connect coding agents such as Bob (IBM) and Claude Code to a Langflow instance so they can build and run flows over MCP.","sidebar":"docs"},"Agents/mcp-client":{"id":"Agents/mcp-client","title":"Use Langflow as an MCP client","description":"Langflow integrates with the Model Context Protocol (MCP) as both an MCP server and an MCP client.","sidebar":"docs"},"Agents/mcp-component-astra":{"id":"Agents/mcp-component-astra","title":"Connect an Astra DB MCP server to Langflow","description":"This guide demonstrates how to use Langflow as an MCP client by using the MCP Tools component to run a DataStax Astra DB MCP server in an agent flow.","sidebar":"docs"},"Agents/mcp-server":{"id":"Agents/mcp-server","title":"Use Langflow as an MCP server","description":"Langflow integrates with the Model Context Protocol (MCP) as both an MCP server and an MCP client.","sidebar":"docs"},"API-Reference/api-build":{"id":"API-Reference/api-build","title":"Build endpoints","description":"The /build endpoints are used by Langflow\'s frontend visual editor code.","sidebar":"docs"},"API-Reference/api-files":{"id":"API-Reference/api-files","title":"Files endpoints","description":"Use the /files endpoints to move files between your local machine and Langflow.","sidebar":"docs"},"API-Reference/api-flows":{"id":"API-Reference/api-flows","title":"Flow management endpoints","description":"Use the /flows endpoint to create, read, update, and delete flows.","sidebar":"docs"},"API-Reference/api-flows-run":{"id":"API-Reference/api-flows-run","title":"Flow trigger endpoints","description":"Use the /run and /webhook endpoints to run flows.","sidebar":"docs"},"API-Reference/api-logs":{"id":"API-Reference/api-logs","title":"Logs endpoints","description":"Retrieve logs for your Langflow flows and server.","sidebar":"docs"},"API-Reference/api-monitor":{"id":"API-Reference/api-monitor","title":"Monitor endpoints","description":"The /monitor endpoints are for internal Langflow functionality, primarily related to running flows in the Playground, storing chat history, and generating flow logs.","sidebar":"docs"},"API-Reference/api-openai-responses":{"id":"API-Reference/api-openai-responses","title":"OpenAI Responses API","description":"Langflow includes an endpoint that is compatible with the OpenAI Responses API.","sidebar":"docs"},"API-Reference/api-projects":{"id":"API-Reference/api-projects","title":"Projects endpoints","description":"Use the /projects endpoint to create, read, update, and delete Langflow projects.","sidebar":"docs"},"API-Reference/api-reference-api-examples":{"id":"API-Reference/api-reference-api-examples","title":"Get started with the Langflow API","description":"You can use the Langflow API for programmatic interactions with Langflow, such as the following:","sidebar":"docs"},"API-Reference/api-users":{"id":"API-Reference/api-users","title":"Users endpoints","description":"Use the /users endpoint to manage user accounts in Langflow.","sidebar":"docs"},"API-Reference/flow-devops-sdk":{"id":"API-Reference/flow-devops-sdk","title":"Flow DevOps Toolkit SDK","description":"Use the Flow DevOps Toolkit SDK to version, test, and deploy your flows.","sidebar":"docs"},"API-Reference/README":{"id":"API-Reference/README","title":"API Examples (Local Test Harness)","description":"Run all API example suites against a local Langflow server:"},"API-Reference/typescript-client":{"id":"API-Reference/typescript-client","title":"Langflow TypeScript client","description":"The Langflow TypeScript client allows your TypeScript applications to programmatically interact with the Langflow API.","sidebar":"docs"},"API-Reference/workflows-api":{"id":"API-Reference/workflows-api","title":"Workflow API (Beta)","description":"The Workflow API is currently in Beta.","sidebar":"docs"},"Components/api-request":{"id":"Components/api-request","title":"API Request","description":"The API Request component constructs and sends HTTP requests using URLs or curl commands:","sidebar":"docs"},"Components/batch-run":{"id":"Components/batch-run","title":"Batch Run","description":"The Batch Run component runs a language model over each row of one text column in a Table, and then returns a new Table with the original text and an LLM response.","sidebar":"docs"},"Components/bundles-agentics":{"id":"Components/bundles-agentics","title":"Agentics","description":"The Agentics component bundle uses LLMs to transform tabular data. Add or fill columns row-by-row with the aMap component, collapse many rows into one with aReduce component, or generate synthetic rows with the aGenerate component.","sidebar":"docs"},"Components/bundles-aiml":{"id":"Components/bundles-aiml","title":"AI/ML API","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-altk":{"id":"Components/bundles-altk","title":"ALTK","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-amazon":{"id":"Components/bundles-amazon","title":"Amazon","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-anthropic":{"id":"Components/bundles-anthropic","title":"Anthropic","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-apify":{"id":"Components/bundles-apify","title":"Apify","description":"Apify is a web scraping and data extraction platform with more than 3,000 ready-made cloud tools called Actors.","sidebar":"docs"},"Components/bundles-arxiv":{"id":"Components/bundles-arxiv","title":"arXiv","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-assemblyai":{"id":"Components/bundles-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Components/bundles-azure":{"id":"Components/bundles-azure","title":"Azure","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-baidu":{"id":"Components/bundles-baidu","title":"Baidu","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-bing":{"id":"Components/bundles-bing","title":"Bing","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cassandra":{"id":"Components/bundles-cassandra","title":"Cassandra","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-chroma":{"id":"Components/bundles-chroma","title":"Chroma","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cleanlab":{"id":"Components/bundles-cleanlab","title":"Cleanlab","description":"Cleanlab adds automation and trust to every data point going in and every prediction coming out of AI and RAG solutions.","sidebar":"docs"},"Components/bundles-clickhouse":{"id":"Components/bundles-clickhouse","title":"ClickHouse","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cloudflare":{"id":"Components/bundles-cloudflare","title":"Cloudflare","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cohere":{"id":"Components/bundles-cohere","title":"Cohere","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cometapi":{"id":"Components/bundles-cometapi","title":"CometAPI","description":"Use CometAPI models in Langflow to generate text or output a Language Model for downstream Components.","sidebar":"docs"},"Components/bundles-composio":{"id":"Components/bundles-composio","title":"Composio","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-couchbase":{"id":"Components/bundles-couchbase","title":"Couchbase","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-cuga":{"id":"Components/bundles-cuga","title":"CUGA","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-datastax":{"id":"Components/bundles-datastax","title":"DataStax","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-deepseek":{"id":"Components/bundles-deepseek","title":"DeepSeek","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-docling":{"id":"Components/bundles-docling","title":"Docling","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-duckduckgo":{"id":"Components/bundles-duckduckgo","title":"DuckDuckGo","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-elastic":{"id":"Components/bundles-elastic","title":"Elastic","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-exa":{"id":"Components/bundles-exa","title":"Exa","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-faiss":{"id":"Components/bundles-faiss","title":"FAISS","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-glean":{"id":"Components/bundles-glean","title":"Glean","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-google":{"id":"Components/bundles-google","title":"Google components","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-groq":{"id":"Components/bundles-groq","title":"Groq","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-huggingface":{"id":"Components/bundles-huggingface","title":"Hugging Face","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-ibm":{"id":"Components/bundles-ibm","title":"IBM","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-icosacomputing":{"id":"Components/bundles-icosacomputing","title":"Icosa Computing","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-langchain":{"id":"Components/bundles-langchain","title":"LangChain","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-lite-llm":{"id":"Components/bundles-lite-llm","title":"LiteLLM","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-lmstudio":{"id":"Components/bundles-lmstudio","title":"LM Studio","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-maritalk":{"id":"Components/bundles-maritalk","title":"MariTalk","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-mem0":{"id":"Components/bundles-mem0","title":"Mem0","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-milvus":{"id":"Components/bundles-milvus","title":"Milvus","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-mistralai":{"id":"Components/bundles-mistralai","title":"MistralAI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-mongodb":{"id":"Components/bundles-mongodb","title":"MongoDB","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-notion":{"id":"Components/bundles-notion","title":"Notion","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases, and then provide two examples of flows with Notion components.","sidebar":"docs"},"Components/bundles-novita":{"id":"Components/bundles-novita","title":"Novita","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-nvidia":{"id":"Components/bundles-nvidia","title":"NVIDIA","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-ollama":{"id":"Components/bundles-ollama","title":"Ollama","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-openai":{"id":"Components/bundles-openai","title":"OpenAI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-openrouter":{"id":"Components/bundles-openrouter","title":"OpenRouter","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-perplexity":{"id":"Components/bundles-perplexity","title":"Perplexity","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-pgvector":{"id":"Components/bundles-pgvector","title":"pgvector","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-pinecone":{"id":"Components/bundles-pinecone","title":"Pinecone","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-qdrant":{"id":"Components/bundles-qdrant","title":"Qdrant","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-redis":{"id":"Components/bundles-redis","title":"Redis","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-sambanova":{"id":"Components/bundles-sambanova","title":"SambaNova","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-searchapi":{"id":"Components/bundles-searchapi","title":"SearchApi","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-serper":{"id":"Components/bundles-serper","title":"Serper","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-supabase":{"id":"Components/bundles-supabase","title":"Supabase","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-upstash":{"id":"Components/bundles-upstash","title":"Upstash","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-vectara":{"id":"Components/bundles-vectara","title":"Vectara","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-vertexai":{"id":"Components/bundles-vertexai","title":"Vertex AI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-vllm":{"id":"Components/bundles-vllm","title":"vLLM","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-weaviate":{"id":"Components/bundles-weaviate","title":"Weaviate","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-wikipedia":{"id":"Components/bundles-wikipedia","title":"Wikipedia","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/bundles-xai":{"id":"Components/bundles-xai","title":"xAI","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/calculator":{"id":"Components/calculator","title":"Calculator","description":"The Calculator component performs basic arithmetic operations on mathematical expressions.","sidebar":"docs"},"Components/chat-input-and-output":{"id":"Components/chat-input-and-output","title":"Chat Input and Output","description":"Chat Input and Output components are required to chat with your flow in the Playground.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Langflow\'s Agent component is critical for building agent flows.","sidebar":"docs"},"Components/components-bundles":{"id":"Components/components-bundles","title":"About bundles","description":"Bundles contain custom components that support specific third-party integrations with Langflow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Create custom Python components","description":"Create your own custom components to add any functionality you need to Langflow, from API integrations to data processing.","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Model","description":"Embedding model components in Langflow generate text embeddings using a specified Large Language Model (LLM).","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Language Model","description":"Language model components in Langflow generate text using a specified Large Language Model (LLM).","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompt Template","description":"Use the Prompt Template core component to create a prompt that supplies instructions and context to an LLM or agent, separate from other input like chat messages and file uploads.","sidebar":"docs"},"Components/concepts-components":{"id":"Components/concepts-components","title":"Components overview","description":"Components are the building blocks of your flows.","sidebar":"docs"},"Components/current-date":{"id":"Components/current-date","title":"Current Date","description":"The Current Date component returns the current date and time in a selected timezone. This component provides a flexible way to obtain timezone-specific date and time information within a Langflow pipeline.","sidebar":"docs"},"Components/data-operations":{"id":"Components/data-operations","title":"JSON Operations","description":"Prior to Langflow 1.9.0, this component was named Data Operations.","sidebar":"docs"},"Components/dataframe-operations":{"id":"Components/dataframe-operations","title":"Table Operations","description":"Prior to Langflow 1.9.0, this component was named DataFrame Operations.","sidebar":"docs"},"Components/directory":{"id":"Components/directory","title":"Directory","description":"The Directory component recursively loads files from a directory, with options for file types, depth, and concurrency.","sidebar":"docs"},"Components/dynamic-create-data":{"id":"Components/dynamic-create-data","title":"Dynamic Create Data","description":"The Dynamic Create Data component creates a JSON object or Message with configurable fields.","sidebar":"docs"},"Components/guardrails":{"id":"Components/guardrails","title":"Guardrails","description":"The Guardrails component validates input text against security and safety guardrails by issuing prompts to a language model (LLM) to check for violations.","sidebar":"docs"},"Components/if-else":{"id":"Components/if-else","title":"If-Else","description":"The If-Else component is a conditional router that routes messages by comparing two strings.","sidebar":"docs"},"Components/knowledge-base":{"id":"Components/knowledge-base","title":"Knowledge Base","description":"The Knowledge Base component reads from an existing knowledge base using semantic search.","sidebar":"docs"},"Components/legacy-core-components":{"id":"Components/legacy-core-components","title":"Legacy core components","description":"Legacy Data components","sidebar":"docs"},"Components/llm-selector":{"id":"Components/llm-selector","title":"LLM Selector","description":"Prior to Langflow 1.7, this component was called the LLM Router.","sidebar":"docs"},"Components/loop":{"id":"Components/loop","title":"Loop","description":"The Loop component iterates over a list of input by passing individual items to other components attached at the Item output port until there are no items left to process.","sidebar":"docs"},"Components/mcp-tools":{"id":"Components/mcp-tools","title":"MCP Tools","description":"The MCP Tools component connects to a Model Context Protocol (MCP) server and exposes the MCP server\'s functions as tools for Langflow agents to use to respond to input.","sidebar":"docs"},"Components/message-history":{"id":"Components/message-history","title":"Message History","description":"The Message History component provides combined chat history and message storage functionality.","sidebar":"docs"},"Components/mock-data":{"id":"Components/mock-data","title":"Mock Data","description":"The Mock Data component generates sample data for testing and development.","sidebar":"docs"},"Components/notify-and-listen":{"id":"Components/notify-and-listen","title":"Notify and Listen","description":"The Notify and Listen components are used together.","sidebar":"docs"},"Components/parser":{"id":"Components/parser","title":"Parser","description":"The Parser component extracts text from structured data (Table or JSON) using a template or direct stringification.","sidebar":"docs"},"Components/policies":{"id":"Components/policies","title":"Policies (Beta)","description":"The Policies component leverages ToolGuard to automatically generate guard code that validates tool execution against defined business policies.","sidebar":"docs"},"Components/python-interpreter":{"id":"Components/python-interpreter","title":"Python Interpreter","description":"This component allows you to execute Python code with imported packages.","sidebar":"docs"},"Components/read-file":{"id":"Components/read-file","title":"Read File","description":"In Langflow version 1.7.0, this component was renamed from File to Read File.","sidebar":"docs"},"Components/run-flow":{"id":"Components/run-flow","title":"Run Flow","description":"The Run Flow component runs another Langflow flow as a subprocess of the current flow.","sidebar":"docs"},"Components/smart-router":{"id":"Components/smart-router","title":"Smart Router","description":"The Smart Router component is an LLM-powered variation of the If-Else component.","sidebar":"docs"},"Components/smart-transform":{"id":"Components/smart-transform","title":"Smart Transform","description":"This component has been renamed multiple times.","sidebar":"docs"},"Components/split-text":{"id":"Components/split-text","title":"Split Text","description":"The Split Text component splits data into chunks based on parameters like chunk size and separator.","sidebar":"docs"},"Components/sql-database":{"id":"Components/sql-database","title":"SQL Database","description":"The SQL Database component executes SQL queries on SQLAlchemy-compatible databases.","sidebar":"docs"},"Components/structured-output":{"id":"Components/structured-output","title":"Structured Output","description":"The Structured Output component uses an LLM to transform any input into structured data (JSON or Table) using natural language formatting instructions and an output schema definition.","sidebar":"docs"},"Components/text-input-and-output":{"id":"Components/text-input-and-output","title":"Text Input and Output","description":"Text Input and Output components aren\'t supported in the Playground.","sidebar":"docs"},"Components/type-convert":{"id":"Components/type-convert","title":"Type Convert","description":"The Type Convert component converts data from one type to another.","sidebar":"docs"},"Components/url":{"id":"Components/url","title":"URL","description":"The URL component fetches content from one or more URLs, processes the content, and returns it in various formats.","sidebar":"docs"},"Components/web-search":{"id":"Components/web-search","title":"Web Search","description":"The Web Search component consolidates the Web Search, News Search, and RSS Reader components into a single component with tabs for different search modes. You can search the web using DuckDuckGo, search Google News, or read RSS feeds, all from one component.","sidebar":"docs"},"Components/webhook":{"id":"Components/webhook","title":"Webhook","description":"The Webhook component defines a webhook trigger that runs a flow when it receives an HTTP POST request.","sidebar":"docs"},"Components/write-file":{"id":"Components/write-file","title":"Write File","description":"In Langflow version 1.7.0, this component was renamed from Save File to Write File.","sidebar":"docs"},"Contributing/contributing-bundles":{"id":"Contributing/contributing-bundles","title":"Contribute component bundles","description":"Bundles are groups of components that are related to a specific service provider.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"There are several ways you can interact with the Langflow community and learn more about the Langflow codebase.","sidebar":"docs"},"Contributing/contributing-component-tests":{"id":"Contributing/contributing-component-tests","title":"Contribute component tests","description":"This guide outlines how to structure and implement tests for application components to ensure consistency and adequate coverage.","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the Component class.","sidebar":"docs"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"Contribute to Langflow","description":"This guide is intended to help you start contributing to Langflow.","sidebar":"docs"},"Contributing/contributing-templates":{"id":"Contributing/contributing-templates","title":"Contribute templates","description":"Follow these best practices when submitting a template to Langflow.","sidebar":"docs"},"Deployment/deployment-architecture":{"id":"Deployment/deployment-architecture","title":"Langflow architecture on Kubernetes","description":"There are two broad types of Langflow deployments:","sidebar":"docs"},"Deployment/deployment-block-custom-components":{"id":"Deployment/deployment-block-custom-components","title":"Block custom components","description":"Custom components and the component code editor allow Langflow users to create and execute Python code in the Langflow runtime.","sidebar":"docs"},"Deployment/deployment-caddyfile":{"id":"Deployment/deployment-caddyfile","title":"Deploy Langflow on a remote server","description":"Learn how to deploy Langflow on your own remote server with secure web access.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Deploy Langflow on Docker","description":"Running applications in Docker containers ensures consistent behavior across different systems and eliminates dependency conflicts.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"Deploy Langflow on Google Cloud Platform","description":"This guide demonstrates how to deploy Langflow on Google Cloud Platform with a Cloud Shell script that walks through the process of setting up a Debian-based VM with the Langflow package, Nginx, and the necessary configurations to run the Langflow development environment in GCP.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"Deploy Langflow on Hugging Face Spaces","description":"This guide explains how to deploy Langflow on Hugging Face Spaces.","sidebar":"docs"},"Deployment/deployment-kubernetes-dev":{"id":"Deployment/deployment-kubernetes-dev","title":"Deploy the Langflow development environment on Kubernetes","description":"The Langflow integrated development environment (IDE) Helm chart is designed to provide a complete environment for developers to create, test, and debug their flows. It includes both the Langflow API and visual editor.","sidebar":"docs"},"Deployment/deployment-kubernetes-prod":{"id":"Deployment/deployment-kubernetes-prod","title":"Deploy the Langflow production environment on Kubernetes","description":"The Langflow runtime Helm chart is tailored for deploying applications in a production environment. It is focused on stability, performance, isolation, and security to ensure that applications run reliably and efficiently.","sidebar":"docs"},"Deployment/deployment-nginx-ssl":{"id":"Deployment/deployment-nginx-ssl","title":"Deploy Langflow with Nginx and SSL","description":"Deploy Langflow on a Linux-based server using Nginx as a reverse proxy, Let\'s Encrypt for SSL certificates, and Certbot for automated certificate management.","sidebar":"docs"},"Deployment/deployment-overview":{"id":"Deployment/deployment-overview","title":"Langflow deployment overview","description":"This section includes the different ways to bring your locally-built flows to the world.","sidebar":"docs"},"Deployment/deployment-prod-best-practices":{"id":"Deployment/deployment-prod-best-practices","title":"Best practices for Langflow on Kubernetes","description":"This guide provides best practices for deploying Langflow in production environments on Kubernetes.","sidebar":"docs"},"Deployment/deployment-public-server":{"id":"Deployment/deployment-public-server","title":"Deploy a public Langflow server","description":"By default, your Langflow server at http7860 isn\'t exposed to the public internet.","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Deploy Langflow on Railway","description":"Deploy Langflow to Railway using a one-click template","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Deploy Langflow on Render","description":"This guide explains how to deploy Langflow on Render, a cloud platform for deploying web applications and APIs.","sidebar":"docs"},"Deployment/deployment-wxo":{"id":"Deployment/deployment-wxo","title":"Deploy Langflow on watsonx Orchestrate","description":"As of Langflow 1.9.2, the IBM watsonx Orchestrate deployments feature is behind a feature flag. To enable it, set the following environment variable before starting Langflow:","sidebar":"docs"},"Deployment/develop-application":{"id":"Deployment/develop-application","title":"Containerize a Langflow application","description":"Designing flows in the visual editor is only the first step in building an application that uses Langflow.","sidebar":"docs"},"Deployment/security":{"id":"Deployment/security","title":"Security","description":"The Langflow UI is an IDE and code execution platform, which means that Langflow is inherently capable of executing arbitrary, developer-provided code.","sidebar":"docs"},"Develop/api-keys-and-authentication":{"id":"Develop/api-keys-and-authentication","title":"API keys and authentication","description":"Never expose Langflow ports directly to the internet without proper security measures.","sidebar":"docs"},"Develop/concepts-file-management":{"id":"Develop/concepts-file-management","title":"Manage files","description":"Each Langflow server has a file management system where you can store files that you want to use in your flows.","sidebar":"docs"},"Develop/concepts-voice-mode":{"id":"Develop/concepts-voice-mode","title":"Use voice mode","description":"Voice mode is not available in Langflow Desktop.","sidebar":"docs"},"Develop/configuration-cli":{"id":"Develop/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface is the main interface for managing and running the Langflow server.","sidebar":"docs"},"Develop/configuration-custom-database":{"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.","sidebar":"docs"},"Develop/configuration-global-variables":{"id":"Develop/configuration-global-variables","title":"Global variables","description":"Use global variables to store and reuse credentials and generic values across all of your flows.","sidebar":"docs"},"Develop/contributing-telemetry":{"id":"Develop/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.","sidebar":"docs"},"Develop/data-types":{"id":"Develop/data-types","title":"Langflow data types","description":"Langflow components are designed to accept and produce specific types of inputs and outputs.","sidebar":"docs"},"Develop/enterprise-database-guide":{"id":"Develop/enterprise-database-guide","title":"Langflow database guide for enterprise DBAs","description":"The Langflow database stores data that is essential for more Langflow operations, including startup, flow execution, user interactions, and administrative tasks.","sidebar":"docs"},"Develop/environment-variables":{"id":"Develop/environment-variables","title":"Environment variables","description":"In general, environment variables, like LANGFLOWPORT or LANGFLOWLOG_LEVEL, configure how Langflow runs.","sidebar":"docs"},"Develop/install-custom-dependencies":{"id":"Develop/install-custom-dependencies","title":"Install custom dependencies","description":"Langflow provides optional dependency groups and support for custom dependencies to extend Langflow functionality. This guide covers how to add dependencies for different Langflow installations, including Langflow Desktop and Langflow OSS.","sidebar":"docs"},"Develop/integrations-arize":{"id":"Develop/integrations-arize","title":"Arize","description":"Arize is a tool built on OpenTelemetry and OpenInference for monitoring and optimizing LLM applications.","sidebar":"docs"},"Develop/integrations-instana-traceloop":{"id":"Develop/integrations-instana-traceloop","title":"Traceloop","description":"Instrument Langflow with the Traceloop SDK, and export traces and metrics to Instana using OpenTelemetry.","sidebar":"docs"},"Develop/integrations-langfuse":{"id":"Develop/integrations-langfuse","title":"Langfuse","description":"Langfuse is an open-source platform for LLM observability. It provides tracing and monitoring capabilities for AI applications, helping developers debug, analyze, and optimize their AI systems. Langfuse integrates with various tools and frameworks, including workflow builders and runtimes like Langflow.","sidebar":"docs"},"Develop/integrations-langsmith":{"id":"Develop/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, add your LangChain API key and configuration as Langflow environment variables, and then start Langflow.","sidebar":"docs"},"Develop/integrations-langwatch":{"id":"Develop/integrations-langwatch","title":"LangWatch","description":"LangWatch is an all-in-one LLMOps platform for monitoring, observability, analytics, evaluations and alerting for getting user insights and improve your LLM workflows.","sidebar":"docs"},"Develop/integrations-openlayer":{"id":"Develop/integrations-openlayer","title":"Openlayer","description":"Openlayer is a testing and evaluation platform for LLM applications. It provides comprehensive observability, testing, and monitoring capabilities to help you ship high-quality AI systems with confidence.","sidebar":"docs"},"Develop/integrations-opik":{"id":"Develop/integrations-opik","title":"Opik","description":"Opik is an open-source platform designed for evaluating, testing, and monitoring large language model (LLM) applications. Developed by Comet, it aims to facilitate more intuitive collaboration, testing, and monitoring of LLM-based applications.","sidebar":"docs"},"Develop/jwt-authentication":{"id":"Develop/jwt-authentication","title":"JWT authentication","description":"Langflow supports symmetric or asymmetric JSON Web Tokens (JWT) for user authentication and authorization.","sidebar":"docs"},"Develop/knowledge":{"id":"Develop/knowledge","title":"Manage vector data","description":"Vector data is critical to AI applications.","sidebar":"docs"},"Develop/logging":{"id":"Develop/logging","title":"Logs","description":"Langflow produces logs for individual flows and the Langflow application itself using the structlog library for logging.","sidebar":"docs"},"Develop/memory":{"id":"Develop/memory","title":"Memory management options","description":"Langflow provides flexible memory management options for storage and retrieval of data relevant to your flows and your Langflow server.","sidebar":"docs"},"Develop/session-id":{"id":"Develop/session-id","title":"Use session ID to manage communication between components","description":"Session ID is a unique identifier for client/server connections. A single session equals the duration of a client\'s connection to a server.","sidebar":"docs"},"Develop/traces":{"id":"Develop/traces","title":"Traces","description":"Langflow\u2019s Traces feature records detailed execution traces for your flows and components so that you can debug issues, measure latency, and track token usage without relying on external observability services.","sidebar":"docs"},"Flows/concepts-flows":{"id":"Flows/concepts-flows","title":"Build flows","description":"A flow is a functional representation of an application workflow.","sidebar":"docs"},"Flows/concepts-flows-import":{"id":"Flows/concepts-flows-import","title":"Import and export flows","description":"You can export flows to transfer them between Langflow instances, share them with others, or create backups.","sidebar":"docs"},"Flows/concepts-overview":{"id":"Flows/concepts-overview","title":"Use the visual editor","description":"You use Langflow\'s visual editor to create, test, and share flows, which are functional representations of application workflows.","sidebar":"docs"},"Flows/concepts-playground":{"id":"Flows/concepts-playground","title":"Test flows in the Playground","description":"Langflow\'s Playground is a dynamic interface you can use to test your LLM-based flows in real-time.","sidebar":"docs"},"Flows/concepts-publish":{"id":"Flows/concepts-publish","title":"Trigger flows with the Langflow API","description":"After you build a flow, you probably want to run it within an application, such as a chatbot within a mobile app or website.","sidebar":"docs"},"Flows/langflow-assistant":{"id":"Flows/langflow-assistant","title":"Build components with Langflow Assistant","description":"Langflow Assistant is an in-app virtual assistant pane within the Playground.","sidebar":"docs"},"Flows/webhook":{"id":"Flows/webhook","title":"Trigger flows with webhooks","description":"You can use the Webhook component to start a flow run in response to an external event.","sidebar":"docs"},"Get-Started/about-langflow":{"id":"Get-Started/about-langflow","title":"What is Langflow?","description":"Langflow is an open-source, Python-based, customizable framework for building AI applications.","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"Langflow can be installed in multiple ways. Choose an option below to jump to the steps.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Get started with Langflow by loading a template flow, running it, and then serving it at the /run API endpoint.","sidebar":"docs"},"Support/contributing-github-issues":{"id":"Support/contributing-github-issues","title":"Get help and request enhancements","description":"The Langflow GitHub repository is an integral part of the Langflow community.","sidebar":"docs"},"Support/luna-for-langflow":{"id":"Support/luna-for-langflow","title":"IBM Elite Support for Langflow","description":"IBM Elite Support offers enterprise support for Langflow to help you develop and deploy Langflow applications with confidence.","sidebar":"docs"},"Support/release-notes":{"id":"Support/release-notes","title":"Langflow release notes","description":"This page summarizes significant changes to Langflow in each release.","sidebar":"docs"},"Support/troubleshooting":{"id":"Support/troubleshooting","title":"Troubleshoot Langflow","description":"This page provides troubleshooting advice for issues you might encounter when using Langflow or contributing to Langflow.","sidebar":"docs"},"Tutorials/agent":{"id":"Tutorials/agent","title":"Connect applications to agents","description":"This tutorial shows you how to connect a JavaScript application to a Langflow agent.","sidebar":"docs"},"Tutorials/chat-with-files":{"id":"Tutorials/chat-with-files","title":"Create a chatbot that can ingest files","description":"This tutorial shows you how to build a chatbot that can read and answer questions about files you upload, such as meeting notes or job applications.","sidebar":"docs"},"Tutorials/chat-with-rag":{"id":"Tutorials/chat-with-rag","title":"Create a vector RAG chatbot","description":"This tutorial demonstrates how you can use Langflow to create a chatbot application that uses Retrieval Augmented Generation (RAG) to embed your data as vectors in a vector database, and then chat with the data.","sidebar":"docs"},"Tutorials/mcp-tutorial":{"id":"Tutorials/mcp-tutorial","title":"Connect to MCP servers from your application","description":"This tutorial shows you how to connect MCP servers to your applications using Langflow\'s MCP Tools component.","sidebar":"docs"}}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/313670b1.5688d922.js b/assets/js/313670b1.5688d922.js
deleted file mode 100644
index 7bd8a59ce4..0000000000
--- a/assets/js/313670b1.5688d922.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[14574],{11470:(e,o,t)=>{t.d(o,{A:()=>k});var n=t(96540),s=t(18215),r=t(17559),l=t(23104),c=t(56347),p=t(205),a=t(57485),i=t(31682),d=t(70679);function h(e){return n.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:o}=e;return!!o&&"object"==typeof o&&"value"in o}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function y(e){const{values:o,children:t}=e;return(0,n.useMemo)(()=>{const e=o??function(e){return h(e).map(({props:{value:e,label:o,attributes:t,default:n}})=>({value:e,label:o,attributes:t,default:n}))}(t);return function(e){const o=(0,i.XI)(e,(e,o)=>e.value===o.value);if(o.length>0)throw new Error(`Docusaurus error: Duplicate values "${o.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[o,t])}function u({value:e,tabValues:o}){return o.some(o=>o.value===e)}function D({queryString:e=!1,groupId:o}){const t=(0,c.W6)(),s=function({queryString:e=!1,groupId:o}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:e,groupId:o});return[(0,a.aZ)(s),(0,n.useCallback)(e=>{if(!s)return;const o=new URLSearchParams(t.location.search);o.set(s,e),t.replace({...t.location,search:o.toString()})},[s,t])]}function x(e){const{defaultValue:o,queryString:t=!1,groupId:s}=e,r=y(e),[l,c]=(0,n.useState)(()=>function({defaultValue:e,tabValues:o}){if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!u({value:e,tabValues:o}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${o.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const t=o.find(e=>e.default)??o[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:o,tabValues:r})),[a,i]=D({queryString:t,groupId:s}),[h,x]=function({groupId:e}){const o=function(e){return e?`docusaurus.tab.${e}`:null}(e),[t,s]=(0,d.Dv)(o);return[t,(0,n.useCallback)(e=>{o&&s.set(e)},[o,s])]}({groupId:s}),F=(()=>{const e=a??h;return u({value:e,tabValues:r})?e:null})();(0,p.A)(()=>{F&&c(F)},[F]);return{selectedValue:l,selectValue:(0,n.useCallback)(e=>{if(!u({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);c(e),i(e),x(e)},[i,x,r]),tabValues:r}}var F=t(92303);const j={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=t(74848);function C({className:e,block:o,selectedValue:t,selectValue:n,tabValues:r}){const c=[],{blockElementScrollPositionUntilNextRender:p}=(0,l.a_)(),a=e=>{const o=e.currentTarget,s=c.indexOf(o),l=r[s].value;l!==t&&(p(o),n(l))},i=e=>{let o=null;switch(e.key){case"Enter":a(e);break;case"ArrowRight":{const t=c.indexOf(e.currentTarget)+1;o=c[t]??c[0];break}case"ArrowLeft":{const t=c.indexOf(e.currentTarget)-1;o=c[t]??c[c.length-1];break}}o?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":o},e),children:r.map(({value:e,label:o,attributes:n})=>(0,g.jsx)("li",{role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>{c.push(e)},onKeyDown:i,onClick:a,...n,className:(0,s.A)("tabs__item",j.tabItem,n?.className,{"tabs__item--active":t===e}),children:o??e},e))})}function f({lazy:e,children:o,selectedValue:t}){const r=(Array.isArray(o)?o:[o]).filter(Boolean);if(e){const e=r.find(e=>e.props.value===t);return e?(0,n.cloneElement)(e,{className:(0,s.A)("margin-top--md",e.props.className)}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:r.map((e,o)=>(0,n.cloneElement)(e,{key:o,hidden:e.props.value!==t}))})}function m(e){const o=x(e);return(0,g.jsxs)("div",{className:(0,s.A)(r.G.tabs.container,"tabs-container",j.tabList),children:[(0,g.jsx)(C,{...o,...e}),(0,g.jsx)(f,{...o,...e})]})}function k(e){const o=(0,F.A)();return(0,g.jsx)(m,{...e,children:h(e.children)},String(o))}},14692:(e,o,t)=>{t.r(o),t.d(o,{CH:()=>y,assets:()=>h,chCodeConfig:()=>u,contentTitle:()=>d,default:()=>F,frontMatter:()=>i,metadata:()=>n,toc:()=>D});const n=JSON.parse('{"id":"Deployment/deployment-wxo","title":"Deploy Langflow on watsonx Orchestrate","description":"Create a flow and deploy it to IBM watsonx Orchestrate.","source":"@site/versioned_docs/version-1.9.0/Deployment/deployment-wxo.mdx","sourceDirName":"Deployment","slug":"/deployment-wxo","permalink":"/deployment-wxo","draft":false,"unlisted":false,"tags":[],"version":"1.9.0","frontMatter":{"title":"Deploy Langflow on watsonx Orchestrate","slug":"/deployment-wxo"},"sidebar":"docs","previous":{"title":"Hugging Face Spaces","permalink":"/deployment-hugging-face-spaces"},"next":{"title":"Railway","permalink":"/deployment-railway"}}');var s=t(74848),r=t(28453),l=t(24754),c=t(52307),p=t(11470),a=t(19365);t(86272);const i={title:"Deploy Langflow on watsonx Orchestrate",slug:"/deployment-wxo"},d=void 0,h={},y={annotations:l.hk,Code:l.Cy},u={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},D=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Create and deploy a flow",id:"create-and-deploy-a-flow",level:2},{value:"Manage deployments in Langflow",id:"manage-deployments-in-langflow",level:2},{value:"Send requests to your flow",id:"send-requests-to-your-flow",level:2},{value:"Create deployment run endpoint",id:"create-deployment-run-endpoint",level:3},{value:"Example request",id:"example-request",level:4},{value:"Request body",id:"request-body",level:4},{value:"Example response",id:"example-response",level:4},{value:"Response body",id:"response-body",level:4},{value:"Get deployment run status endpoint",id:"get-deployment-run-status-endpoint",level:3},{value:"Example request",id:"example-request-1",level:4},{value:"Path parameters",id:"path-parameters",level:4},{value:"Example response",id:"example-response-1",level:4},{value:"Response body",id:"response-body-1",level:4}];function x(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return y||j("CH",!1),y.Code||j("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","\n",(0,s.jsxs)(o.p,{children:["Create a flow and deploy it to ",(0,s.jsx)(o.a,{href:"https://www.ibm.com/docs/en/watsonx/watson-orchestrate/base?topic=getting-started-watsonx-orchestrate",children:"IBM watsonx Orchestrate"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["Deploying a flow on IBM watsonx Orchestrate is different from the other Langflow deployment options.\nThis workflow ",(0,s.jsx)(o.strong,{children:"does not"})," deploy a full-featured Langflow server and flow builder UI.\nInstead, Langflow packages your selected flow and flow version, and then publishes it to IBM watsonx Orchestrate as a tool that an IBM watsonx Orchestrate agent can call.\nLangflow is used to build and configure the flow, while IBM watsonx Orchestrate hosts the agent experience and invokes the deployed flow as part of that agent's toolset."]}),"\n",(0,s.jsx)(o.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/get-started-installation",children:"Install and start Langflow"})}),"\n",(0,s.jsxs)(o.li,{children:["Create an ",(0,s.jsx)(o.a,{href:"https://platform.openai.com/api-keys",children:"OpenAI API key"})]}),"\n",(0,s.jsxs)(o.li,{children:["Create an ",(0,s.jsx)(o.a,{href:"https://www.ibm.com/docs/en/watsonx/watson-orchestrate/base?topic=getting-started-watsonx-orchestrate",children:"IBM watsonx Orchestrate instance"})]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"create-and-deploy-a-flow",children:"Create and deploy a flow"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Create a flow in the Langflow UI, such as the Simple Agent starter flow in the ",(0,s.jsx)(o.a,{href:"/get-started-quickstart",children:"Quickstart"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(c.A,{name:"Rocket","aria-hidden":"true"})," ",(0,s.jsx)(o.strong,{children:"Deploy"}),".\nThe ",(0,s.jsx)(o.strong,{children:"Provider"})," pane opens."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Enter the ",(0,s.jsx)(o.strong,{children:"Name"}),", ",(0,s.jsx)(o.strong,{children:"Service Instance URL"}),", and ",(0,s.jsx)(o.strong,{children:"API Key"})," from your IBM watsonx Orchestrate instance.\nThese values are found in the ",(0,s.jsx)(o.strong,{children:"Settings"})," page of your IBM watsonx Orchestrate instance."]}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.strong,{children:"Name"}),": ",(0,s.jsx)(o.code,{children:"YOUR_DEPLOYMENT_NAME"})]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.strong,{children:"Service Instance URL"}),": ",(0,s.jsx)(o.code,{children:"https://api.dl.watson-orchestrate.ibm.com/instances/80194572-4421-6735-91ab-55c0d8e4f962"})]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.strong,{children:"API Key"}),": ",(0,s.jsx)(o.code,{children:"YOUR_WATSONX_ORCHESTRATE_API_KEY"})]}),"\n"]}),"\n",(0,s.jsxs)(o.p,{children:["The last segment of the Service Instance URL is the IBM watsonx Orchestrate tenant ID, which can be found in your watsonx Orchestrate deployment.\nIn this example, the tenant ID is ",(0,s.jsx)(o.code,{children:"80194572-4421-6735-91ab-55c0d8e4f962"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(o.strong,{children:"Next"}),".\nThe ",(0,s.jsx)(o.strong,{children:"Deployment Type"})," pane opens."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Enter a ",(0,s.jsx)(o.strong,{children:"Type"}),", ",(0,s.jsx)(o.strong,{children:"Agent Name"}),", ",(0,s.jsx)(o.strong,{children:"Model"}),", and ",(0,s.jsx)(o.strong,{children:"Description"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.strong,{children:"Type"})," is always ",(0,s.jsx)(o.strong,{children:"Agent"}),". The deployed flow is an IBM watsonx Orchestrate agent with your flow available as a tool the agent can call."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.strong,{children:"Model"})," list is populated from the connected watsonx Orchestrate instance, not Langflow."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To open the ",(0,s.jsx)(o.strong,{children:"Attach Flows"})," pane, click the ",(0,s.jsx)(o.strong,{children:"Attach Flows"})," tab. Select a flow and flow version to deploy."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To open the ",(0,s.jsx)(o.strong,{children:"Create Connections"})," pane, click the ",(0,s.jsx)(o.strong,{children:"Create Connections"})," tab. Create a new connection, or select an existing connection to bind to the flow."]}),"\n",(0,s.jsx)(o.p,{children:"To create a new connection, do the following:"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Enter a ",(0,s.jsx)(o.strong,{children:"Connection Name"})," and any environment variables the flow requires, such as the ",(0,s.jsx)(o.code,{children:"OPENAI_API_KEY"}),". Langflow auto-detects global variables from the flow JSON file, and you can add additional variables."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To add the new connection to the list of available connections, click ",(0,s.jsx)(o.strong,{children:"Create Connection"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["In the list of available connections, select the new connection, and then click ",(0,s.jsx)(o.strong,{children:"Attach Connection to Flow"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["To bind the connection to the flow ",(0,s.jsx)(o.strong,{children:"without"})," environment variable binding, click ",(0,s.jsx)(o.strong,{children:"Skip"}),", and then click ",(0,s.jsx)(o.strong,{children:"Next"}),"."]})}),"\n",(0,s.jsxs)(o.p,{children:["For more information, see ",(0,s.jsx)(o.a,{href:"/concepts-flows#save-and-restore-flow-versions",children:"Build flows"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(o.strong,{children:"Next"}),". The ",(0,s.jsx)(o.strong,{children:"Review & Confirm"})," pane opens."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Confirm the deployment values are correct, and then click ",(0,s.jsx)(c.A,{name:"Rocket","aria-hidden":"true"})," ",(0,s.jsx)(o.strong,{children:"Deploy"}),"."]}),"\n",(0,s.jsx)(o.p,{children:"Langflow installs any required extra dependencies on your watsonx Orchestrate tenant automatically."}),"\n",(0,s.jsxs)(o.p,{children:["In the Langflow UI, ",(0,s.jsx)(o.code,{children:"Deployment successful"})," indicates your deployment succeeded."]}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["If you get an error that the tool name already exists on your deployment, click ",(0,s.jsx)(c.A,{name:"Pencil","aria-hidden":"true"})," ",(0,s.jsx)(o.strong,{children:"Edit"})," to change the tool name."]})}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(o.strong,{children:"Test"})," to open a chat window with your agent on watsonx Orchestrate.\nEnter a question, and the agent responds using the connected flow as a tool."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Navigate to your IBM watsonx Orchestrate deployment, and then confirm that your Langflow flow is listed as an agent."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"manage-deployments-in-langflow",children:"Manage deployments in Langflow"}),"\n",(0,s.jsxs)(o.p,{children:["From the ",(0,s.jsx)(o.strong,{children:"Projects"})," page, click ",(0,s.jsx)(o.strong,{children:"Deployments"})," to open the deployment management screen."]}),"\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:"Deployments"}),":"]}),"\n",(0,s.jsxs)(o.p,{children:["A ",(0,s.jsx)(o.strong,{children:"Deployment"})," is a published watsonx Orchestrate agent created from a specific Langflow flow version. Deployment details include the agent name, type, attached flows, model, and the IBM watsonx Orchestrate environment it belongs to."]}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.strong,{children:"Deployments"})," tab to create, update, view, and delete flow deployments in Langflow."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Deployment Environments"}),":"]}),"\n",(0,s.jsxs)(o.p,{children:["A ",(0,s.jsx)(o.strong,{children:"Deployment Environment"})," is a saved watsonx Orchestrate target that Langflow can deploy to. An environment stores the connection details for a watsonx Orchestrate tenant."]}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.strong,{children:"Deployment Environments"})," tab to connect, view, and disconnect IBM watsonx Orchestrate environments in Langflow."]}),"\n",(0,s.jsx)(o.p,{children:"To manage the tenant itself, use the IBM watsonx Orchestrate dashboard."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"send-requests-to-your-flow",children:"Send requests to your flow"}),"\n",(0,s.jsx)(o.p,{children:"After you deploy your flow to IBM watsonx Orchestrate, you can connect to it through the Langflow deployment run endpoints."}),"\n",(0,s.jsxs)(o.p,{children:["Don't use the ",(0,s.jsx)(o.code,{children:"/run"})," endpoint for flows deployed to IBM watsonx Orchestrate.\nInstead use ",(0,s.jsx)(o.code,{children:"POST /api/v1/deployments/{deployment_id}/runs"})," to start a run, and ",(0,s.jsx)(o.code,{children:"GET /api/v1/deployments/{deployment_id}/runs/{run_id}"})," to check its status."]}),"\n",(0,s.jsxs)(o.p,{children:["Endpoint paths must be prefixed with your Langflow server URL, such as ",(0,s.jsx)(o.code,{children:"http://localhost:7860"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"create-deployment-run-endpoint",children:"Create deployment run endpoint"}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Endpoint:"})," ",(0,s.jsx)(o.code,{children:"POST /api/v1/deployments/{deployment_id}/runs"})]}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Description:"})," Start a run for a deployed flow and return a provider-owned run ID that you can poll for status."]}),"\n",(0,s.jsx)(o.h4,{id:"example-request",children:"Example request"}),"\n",(0,s.jsxs)(p.A,{children:[(0,s.jsx)(a.A,{value:"Python",label:"Python",default:!0,children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" requests",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"url ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"payload ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider_data"',props:{style:{color:"#A5D6FF"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "input"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"Summarize today\'s tickets"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "thread_id"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" requests.post(url, ",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"payload, ",props:{style:{color:"#C9D1D9"}}},{content:"headers",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"headers)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response.raise_for_status()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"print",props:{style:{color:"#79C0FF"}}},{content:"(response.json())",props:{style:{color:"#C9D1D9"}}}]}],lang:"python"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"JavaScript",label:"JavaScript",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"const ",props:{style:{color:"#FF7B72"}}},{content:"payload ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" provider_data: {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" input: ",props:{style:{color:"#C9D1D9"}}},{content:'"Summarize today\'s tickets"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" thread_id: ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"};",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"const ",props:{style:{color:"#FF7B72"}}},{content:"options ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" method: ",props:{style:{color:"#C9D1D9"}}},{content:'"POST"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers: {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" body: ",props:{style:{color:"#C9D1D9"}}},{content:"JSON",props:{style:{color:"#79C0FF"}}},{content:".",props:{style:{color:"#C9D1D9"}}},{content:"stringify",props:{style:{color:"#D2A8FF"}}},{content:"(payload)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"};",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"fetch",props:{style:{color:"#D2A8FF"}}},{content:"(",props:{style:{color:"#C9D1D9"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs"',props:{style:{color:"#A5D6FF"}}},{content:", options)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" response.",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#D2A8FF"}}},{content:"())",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"log",props:{style:{color:"#D2A8FF"}}},{content:"(response))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"catch",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"err",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"error",props:{style:{color:"#D2A8FF"}}},{content:"(err));",props:{style:{color:"#C9D1D9"}}}]}],lang:"js"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"curl",label:"curl",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"--request ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --url ",props:{style:{color:"#79C0FF"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"x-api-key: LANGFLOW_API_KEY" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --data ",props:{style:{color:"#79C0FF"}}},{content:"'{",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "provider_data": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input": "Summarize today\'s tickets",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "thread_id": "thread-123"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsx)(o.h4,{id:"request-body",children:"Request body"}),"\n",(0,s.jsxs)(o.table,{children:[(0,s.jsx)(o.thead,{children:(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.th,{children:"Field"}),(0,s.jsx)(o.th,{children:"Type"}),(0,s.jsx)(o.th,{children:"Required"}),(0,s.jsx)(o.th,{children:"Description"})]})}),(0,s.jsxs)(o.tbody,{children:[(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"provider_data.input"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"string"})}),(0,s.jsx)(o.td,{children:"Yes"}),(0,s.jsx)(o.td,{children:"The prompt or message content to send to the deployed agent."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"provider_data.thread_id"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"string"})}),(0,s.jsx)(o.td,{children:"No"}),(0,s.jsx)(o.td,{children:"Optional thread identifier to continue an existing conversation."})]})]})]}),"\n",(0,s.jsx)(o.h4,{id:"example-response",children:"Example response"}),"\n",(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "deployment_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"3ea34379-1f72-4a33-9f6e-9e3ca88365b5"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider_data"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"run-42"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "agent_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"agent-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "thread_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "status"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"accepted"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "result"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "started_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "completed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "failed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "cancelled_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "last_error"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,s.jsx)(o.h4,{id:"response-body",children:"Response body"}),"\n",(0,s.jsxs)(o.p,{children:["The response returns the Langflow ",(0,s.jsx)(o.code,{children:"deployment_id"})," and a ",(0,s.jsx)(o.code,{children:"provider_data"})," object containing the provider-owned run metadata.\nUse ",(0,s.jsx)(o.code,{children:"provider_data.id"})," as the ",(0,s.jsx)(o.code,{children:"run_id"})," when checking the run status."]}),"\n",(0,s.jsx)(o.h3,{id:"get-deployment-run-status-endpoint",children:"Get deployment run status endpoint"}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Endpoint:"})," ",(0,s.jsx)(o.code,{children:"GET /api/v1/deployments/{deployment_id}/runs/{run_id}"})]}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Description:"})," Retrieve the current status and result of a deployment run."]}),"\n",(0,s.jsx)(o.h4,{id:"example-request-1",children:"Example request"}),"\n",(0,s.jsxs)(p.A,{children:[(0,s.jsx)(a.A,{value:"Python",label:"Python",default:!0,children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" requests",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"url ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs/RUN_ID"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" requests.get(url, ",props:{style:{color:"#C9D1D9"}}},{content:"headers",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"headers)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response.raise_for_status()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"print",props:{style:{color:"#79C0FF"}}},{content:"(response.json())",props:{style:{color:"#C9D1D9"}}}]}],lang:"python"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"JavaScript",label:"JavaScript",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"const ",props:{style:{color:"#FF7B72"}}},{content:"options ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" method: ",props:{style:{color:"#C9D1D9"}}},{content:'"GET"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers: {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"};",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"fetch",props:{style:{color:"#D2A8FF"}}},{content:"(",props:{style:{color:"#C9D1D9"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs/RUN_ID"',props:{style:{color:"#A5D6FF"}}},{content:", options)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" response.",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#D2A8FF"}}},{content:"())",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"log",props:{style:{color:"#D2A8FF"}}},{content:"(response))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"catch",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"err",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"error",props:{style:{color:"#D2A8FF"}}},{content:"(err));",props:{style:{color:"#C9D1D9"}}}]}],lang:"js"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"curl",label:"curl",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"--request ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --url ",props:{style:{color:"#79C0FF"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs/RUN_ID" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"x-api-key: LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsx)(o.h4,{id:"path-parameters",children:"Path parameters"}),"\n",(0,s.jsxs)(o.table,{children:[(0,s.jsx)(o.thead,{children:(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.th,{children:"Parameter"}),(0,s.jsx)(o.th,{children:"Type"}),(0,s.jsx)(o.th,{children:"Required"}),(0,s.jsx)(o.th,{children:"Description"})]})}),(0,s.jsxs)(o.tbody,{children:[(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"deployment_id"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"uuid"})}),(0,s.jsx)(o.td,{children:"Yes"}),(0,s.jsx)(o.td,{children:"The Langflow deployment ID for the deployed flow."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"run_id"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"string"})}),(0,s.jsx)(o.td,{children:"Yes"}),(0,s.jsxs)(o.td,{children:["The provider-owned run ID returned in ",(0,s.jsx)(o.code,{children:"provider_data.id"}),"."]})]})]})]}),"\n",(0,s.jsx)(o.h4,{id:"example-response-1",children:"Example response"}),"\n",(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "deployment_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"3ea34379-1f72-4a33-9f6e-9e3ca88365b5"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider_data"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"run-42"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "agent_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"agent-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "thread_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "status"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"completed"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "result"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "output"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"Here is your summary..."',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "started_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"2026-04-03T12:40:00Z"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "completed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"2026-04-03T12:40:05Z"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "failed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "cancelled_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "last_error"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,s.jsx)(o.h4,{id:"response-body-1",children:"Response body"}),"\n",(0,s.jsxs)(o.p,{children:["Check ",(0,s.jsx)(o.code,{children:"provider_data.status"})," to determine whether the run is still processing or has finished.\nWhen the status is ",(0,s.jsx)(o.code,{children:"completed"}),", read the output from ",(0,s.jsx)(o.code,{children:"provider_data.result"}),"."]})]})}function F(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}function j(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19365:(e,o,t)=>{t.d(o,{A:()=>l});t(96540);var n=t(18215);const s={tabItem:"tabItem_Ymn6"};var r=t(74848);function l({children:e,hidden:o,className:t}){return(0,r.jsx)("div",{role:"tabpanel",className:(0,n.A)(s.tabItem,t),hidden:o,children:e})}},86272:(e,o,t)=>{t.d(o,{Ay:()=>p,RM:()=>l});var n=t(74848),s=t(28453),r=t(52307);const l=[];function c(e){const o={em:"em",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"To edit Langflow's global model provider configuration, do the following:"}),"\n",(0,n.jsxs)(o.ol,{children:["\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["To open the ",(0,n.jsx)(o.strong,{children:"Model Providers"})," pane, click your profile icon, select ",(0,n.jsx)(o.strong,{children:"Settings"}),", and then click ",(0,n.jsx)(r.A,{name:"Brain","aria-hidden":"true"})," ",(0,n.jsx)(o.strong,{children:"Model Providers"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["In the ",(0,n.jsx)(o.strong,{children:"Model Providers"})," pane, select a provider."]}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["In the ",(0,n.jsx)(o.strong,{children:"API Key"})," field, add your provider's API key."]}),"\n",(0,n.jsx)(o.p,{children:"The key must have permission to call the models you want to use in your flow, and your account must have sufficient credits for the actions you want to perform."}),"\n",(0,n.jsxs)(o.p,{children:["You can only add one key for each provider. Make sure the key has access to ",(0,n.jsx)(o.em,{children:"all"})," models that you want to use in Langflow."]}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["Enable the specific models that you want to use in Langflow.\nThe available models depend on the provider and your API key's permissions.\nModels that generate text are listed under ",(0,n.jsx)(o.strong,{children:"Language Models"}),".\nModels that generate embeddings are listed under ",(0,n.jsx)(o.strong,{children:"Embedding Models"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:"After you enable a model in Langflow's global model configuration, you can use that model in any model-driven component in your flows."})]})}function p(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/313670b1.c86af17c.js b/assets/js/313670b1.c86af17c.js
new file mode 100644
index 0000000000..b8583c88b2
--- /dev/null
+++ b/assets/js/313670b1.c86af17c.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[14574],{11470:(e,o,t)=>{t.d(o,{A:()=>k});var n=t(96540),s=t(18215),r=t(17559),l=t(23104),c=t(56347),p=t(205),a=t(57485),i=t(31682),d=t(70679);function h(e){return n.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:o}=e;return!!o&&"object"==typeof o&&"value"in o}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function y(e){const{values:o,children:t}=e;return(0,n.useMemo)(()=>{const e=o??function(e){return h(e).map(({props:{value:e,label:o,attributes:t,default:n}})=>({value:e,label:o,attributes:t,default:n}))}(t);return function(e){const o=(0,i.XI)(e,(e,o)=>e.value===o.value);if(o.length>0)throw new Error(`Docusaurus error: Duplicate values "${o.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[o,t])}function u({value:e,tabValues:o}){return o.some(o=>o.value===e)}function D({queryString:e=!1,groupId:o}){const t=(0,c.W6)(),s=function({queryString:e=!1,groupId:o}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:e,groupId:o});return[(0,a.aZ)(s),(0,n.useCallback)(e=>{if(!s)return;const o=new URLSearchParams(t.location.search);o.set(s,e),t.replace({...t.location,search:o.toString()})},[s,t])]}function x(e){const{defaultValue:o,queryString:t=!1,groupId:s}=e,r=y(e),[l,c]=(0,n.useState)(()=>function({defaultValue:e,tabValues:o}){if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!u({value:e,tabValues:o}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${o.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const t=o.find(e=>e.default)??o[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:o,tabValues:r})),[a,i]=D({queryString:t,groupId:s}),[h,x]=function({groupId:e}){const o=function(e){return e?`docusaurus.tab.${e}`:null}(e),[t,s]=(0,d.Dv)(o);return[t,(0,n.useCallback)(e=>{o&&s.set(e)},[o,s])]}({groupId:s}),F=(()=>{const e=a??h;return u({value:e,tabValues:r})?e:null})();(0,p.A)(()=>{F&&c(F)},[F]);return{selectedValue:l,selectValue:(0,n.useCallback)(e=>{if(!u({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);c(e),i(e),x(e)},[i,x,r]),tabValues:r}}var F=t(92303);const j={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=t(74848);function f({className:e,block:o,selectedValue:t,selectValue:n,tabValues:r}){const c=[],{blockElementScrollPositionUntilNextRender:p}=(0,l.a_)(),a=e=>{const o=e.currentTarget,s=c.indexOf(o),l=r[s].value;l!==t&&(p(o),n(l))},i=e=>{let o=null;switch(e.key){case"Enter":a(e);break;case"ArrowRight":{const t=c.indexOf(e.currentTarget)+1;o=c[t]??c[0];break}case"ArrowLeft":{const t=c.indexOf(e.currentTarget)-1;o=c[t]??c[c.length-1];break}}o?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":o},e),children:r.map(({value:e,label:o,attributes:n})=>(0,g.jsx)("li",{role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>{c.push(e)},onKeyDown:i,onClick:a,...n,className:(0,s.A)("tabs__item",j.tabItem,n?.className,{"tabs__item--active":t===e}),children:o??e},e))})}function m({lazy:e,children:o,selectedValue:t}){const r=(Array.isArray(o)?o:[o]).filter(Boolean);if(e){const e=r.find(e=>e.props.value===t);return e?(0,n.cloneElement)(e,{className:(0,s.A)("margin-top--md",e.props.className)}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:r.map((e,o)=>(0,n.cloneElement)(e,{key:o,hidden:e.props.value!==t}))})}function C(e){const o=x(e);return(0,g.jsxs)("div",{className:(0,s.A)(r.G.tabs.container,"tabs-container",j.tabList),children:[(0,g.jsx)(f,{...o,...e}),(0,g.jsx)(m,{...o,...e})]})}function k(e){const o=(0,F.A)();return(0,g.jsx)(C,{...e,children:h(e.children)},String(o))}},14692:(e,o,t)=>{t.r(o),t.d(o,{CH:()=>y,assets:()=>h,chCodeConfig:()=>u,contentTitle:()=>d,default:()=>F,frontMatter:()=>i,metadata:()=>n,toc:()=>D});const n=JSON.parse('{"id":"Deployment/deployment-wxo","title":"Deploy Langflow on watsonx Orchestrate","description":"As of Langflow 1.9.2, the IBM watsonx Orchestrate deployments feature is behind a feature flag. To enable it, set the following environment variable before starting Langflow:","source":"@site/versioned_docs/version-1.9.0/Deployment/deployment-wxo.mdx","sourceDirName":"Deployment","slug":"/deployment-wxo","permalink":"/deployment-wxo","draft":false,"unlisted":false,"tags":[],"version":"1.9.0","frontMatter":{"title":"Deploy Langflow on watsonx Orchestrate","slug":"/deployment-wxo"},"sidebar":"docs","previous":{"title":"Hugging Face Spaces","permalink":"/deployment-hugging-face-spaces"},"next":{"title":"Railway","permalink":"/deployment-railway"}}');var s=t(74848),r=t(28453),l=t(24754),c=t(52307),p=t(11470),a=t(19365);t(86272);const i={title:"Deploy Langflow on watsonx Orchestrate",slug:"/deployment-wxo"},d=void 0,h={},y={annotations:l.hk,Code:l.Cy},u={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},D=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Create and deploy a flow",id:"create-and-deploy-a-flow",level:2},{value:"Manage deployments in Langflow",id:"manage-deployments-in-langflow",level:2},{value:"Send requests to your flow",id:"send-requests-to-your-flow",level:2},{value:"Create deployment run endpoint",id:"create-deployment-run-endpoint",level:3},{value:"Example request",id:"example-request",level:4},{value:"Request body",id:"request-body",level:4},{value:"Example response",id:"example-response",level:4},{value:"Response body",id:"response-body",level:4},{value:"Get deployment run status endpoint",id:"get-deployment-run-status-endpoint",level:3},{value:"Example request",id:"example-request-1",level:4},{value:"Path parameters",id:"path-parameters",level:4},{value:"Example response",id:"example-response-1",level:4},{value:"Response body",id:"response-body-1",level:4}];function x(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return y||j("CH",!1),y.Code||j("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","\n",(0,s.jsxs)(o.admonition,{type:"tip",children:[(0,s.jsx)(o.p,{children:"As of Langflow 1.9.2, the IBM watsonx Orchestrate deployments feature is behind a feature flag. To enable it, set the following environment variable before starting Langflow:"}),(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_FEATURE_WXO_DEPLOYMENTS",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"true",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]})]}),"\n",(0,s.jsxs)(o.p,{children:["Create a flow and deploy it to ",(0,s.jsx)(o.a,{href:"https://www.ibm.com/docs/en/watsonx/watson-orchestrate/base?topic=getting-started-watsonx-orchestrate",children:"IBM watsonx Orchestrate"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["Deploying a flow on IBM watsonx Orchestrate is different from the other Langflow deployment options.\nThis workflow ",(0,s.jsx)(o.strong,{children:"does not"})," deploy a full-featured Langflow server and flow builder UI.\nInstead, Langflow packages your selected flow and flow version, and then publishes it to IBM watsonx Orchestrate as a tool that an IBM watsonx Orchestrate agent can call.\nLangflow is used to build and configure the flow, while IBM watsonx Orchestrate hosts the agent experience and invokes the deployed flow as part of that agent's toolset."]}),"\n",(0,s.jsx)(o.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/get-started-installation",children:"Install and start Langflow"})}),"\n",(0,s.jsxs)(o.li,{children:["Create an ",(0,s.jsx)(o.a,{href:"https://platform.openai.com/api-keys",children:"OpenAI API key"})]}),"\n",(0,s.jsxs)(o.li,{children:["Create an ",(0,s.jsx)(o.a,{href:"https://www.ibm.com/docs/en/watsonx/watson-orchestrate/base?topic=getting-started-watsonx-orchestrate",children:"IBM watsonx Orchestrate instance"})]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"create-and-deploy-a-flow",children:"Create and deploy a flow"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Create a flow in the Langflow UI, such as the Simple Agent starter flow in the ",(0,s.jsx)(o.a,{href:"/get-started-quickstart",children:"Quickstart"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(c.A,{name:"Rocket","aria-hidden":"true"})," ",(0,s.jsx)(o.strong,{children:"Deploy"}),".\nThe ",(0,s.jsx)(o.strong,{children:"Provider"})," pane opens."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Enter the ",(0,s.jsx)(o.strong,{children:"Name"}),", ",(0,s.jsx)(o.strong,{children:"Service Instance URL"}),", and ",(0,s.jsx)(o.strong,{children:"API Key"})," from your IBM watsonx Orchestrate instance.\nThese values are found in the ",(0,s.jsx)(o.strong,{children:"Settings"})," page of your IBM watsonx Orchestrate instance."]}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.strong,{children:"Name"}),": ",(0,s.jsx)(o.code,{children:"YOUR_DEPLOYMENT_NAME"})]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.strong,{children:"Service Instance URL"}),": ",(0,s.jsx)(o.code,{children:"https://api.dl.watson-orchestrate.ibm.com/instances/80194572-4421-6735-91ab-55c0d8e4f962"})]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.strong,{children:"API Key"}),": ",(0,s.jsx)(o.code,{children:"YOUR_WATSONX_ORCHESTRATE_API_KEY"})]}),"\n"]}),"\n",(0,s.jsxs)(o.p,{children:["The last segment of the Service Instance URL is the IBM watsonx Orchestrate tenant ID, which can be found in your watsonx Orchestrate deployment.\nIn this example, the tenant ID is ",(0,s.jsx)(o.code,{children:"80194572-4421-6735-91ab-55c0d8e4f962"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(o.strong,{children:"Next"}),".\nThe ",(0,s.jsx)(o.strong,{children:"Deployment Type"})," pane opens."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Enter a ",(0,s.jsx)(o.strong,{children:"Type"}),", ",(0,s.jsx)(o.strong,{children:"Agent Name"}),", ",(0,s.jsx)(o.strong,{children:"Model"}),", and ",(0,s.jsx)(o.strong,{children:"Description"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.strong,{children:"Type"})," is always ",(0,s.jsx)(o.strong,{children:"Agent"}),". The deployed flow is an IBM watsonx Orchestrate agent with your flow available as a tool the agent can call."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.strong,{children:"Model"})," list is populated from the connected watsonx Orchestrate instance, not Langflow."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To open the ",(0,s.jsx)(o.strong,{children:"Attach Flows"})," pane, click the ",(0,s.jsx)(o.strong,{children:"Attach Flows"})," tab. Select a flow and flow version to deploy."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To open the ",(0,s.jsx)(o.strong,{children:"Create Connections"})," pane, click the ",(0,s.jsx)(o.strong,{children:"Create Connections"})," tab. Create a new connection, or select an existing connection to bind to the flow."]}),"\n",(0,s.jsx)(o.p,{children:"To create a new connection, do the following:"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Enter a ",(0,s.jsx)(o.strong,{children:"Connection Name"})," and any environment variables the flow requires, such as the ",(0,s.jsx)(o.code,{children:"OPENAI_API_KEY"}),". Langflow auto-detects global variables from the flow JSON file, and you can add additional variables."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To add the new connection to the list of available connections, click ",(0,s.jsx)(o.strong,{children:"Create Connection"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["In the list of available connections, select the new connection, and then click ",(0,s.jsx)(o.strong,{children:"Attach Connection to Flow"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["To bind the connection to the flow ",(0,s.jsx)(o.strong,{children:"without"})," environment variable binding, click ",(0,s.jsx)(o.strong,{children:"Skip"}),", and then click ",(0,s.jsx)(o.strong,{children:"Next"}),"."]})}),"\n",(0,s.jsxs)(o.p,{children:["For more information, see ",(0,s.jsx)(o.a,{href:"/concepts-flows#save-and-restore-flow-versions",children:"Build flows"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(o.strong,{children:"Next"}),". The ",(0,s.jsx)(o.strong,{children:"Review & Confirm"})," pane opens."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Confirm the deployment values are correct, and then click ",(0,s.jsx)(c.A,{name:"Rocket","aria-hidden":"true"})," ",(0,s.jsx)(o.strong,{children:"Deploy"}),"."]}),"\n",(0,s.jsx)(o.p,{children:"Langflow installs any required extra dependencies on your watsonx Orchestrate tenant automatically."}),"\n",(0,s.jsxs)(o.p,{children:["In the Langflow UI, ",(0,s.jsx)(o.code,{children:"Deployment successful"})," indicates your deployment succeeded."]}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["If you get an error that the tool name already exists on your deployment, click ",(0,s.jsx)(c.A,{name:"Pencil","aria-hidden":"true"})," ",(0,s.jsx)(o.strong,{children:"Edit"})," to change the tool name."]})}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Click ",(0,s.jsx)(o.strong,{children:"Test"})," to open a chat window with your agent on watsonx Orchestrate.\nEnter a question, and the agent responds using the connected flow as a tool."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Navigate to your IBM watsonx Orchestrate deployment, and then confirm that your Langflow flow is listed as an agent."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"manage-deployments-in-langflow",children:"Manage deployments in Langflow"}),"\n",(0,s.jsxs)(o.p,{children:["From the ",(0,s.jsx)(o.strong,{children:"Projects"})," page, click ",(0,s.jsx)(o.strong,{children:"Deployments"})," to open the deployment management screen."]}),"\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:"Deployments"}),":"]}),"\n",(0,s.jsxs)(o.p,{children:["A ",(0,s.jsx)(o.strong,{children:"Deployment"})," is a published watsonx Orchestrate agent created from a specific Langflow flow version. Deployment details include the agent name, type, attached flows, model, and the IBM watsonx Orchestrate environment it belongs to."]}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.strong,{children:"Deployments"})," tab to create, update, view, and delete flow deployments in Langflow."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Deployment Environments"}),":"]}),"\n",(0,s.jsxs)(o.p,{children:["A ",(0,s.jsx)(o.strong,{children:"Deployment Environment"})," is a saved watsonx Orchestrate target that Langflow can deploy to. An environment stores the connection details for a watsonx Orchestrate tenant."]}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.strong,{children:"Deployment Environments"})," tab to connect, view, and disconnect IBM watsonx Orchestrate environments in Langflow."]}),"\n",(0,s.jsx)(o.p,{children:"To manage the tenant itself, use the IBM watsonx Orchestrate dashboard."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"send-requests-to-your-flow",children:"Send requests to your flow"}),"\n",(0,s.jsx)(o.p,{children:"After you deploy your flow to IBM watsonx Orchestrate, you can connect to it through the Langflow deployment run endpoints."}),"\n",(0,s.jsxs)(o.p,{children:["Don't use the ",(0,s.jsx)(o.code,{children:"/run"})," endpoint for flows deployed to IBM watsonx Orchestrate.\nInstead use ",(0,s.jsx)(o.code,{children:"POST /api/v1/deployments/{deployment_id}/runs"})," to start a run, and ",(0,s.jsx)(o.code,{children:"GET /api/v1/deployments/{deployment_id}/runs/{run_id}"})," to check its status."]}),"\n",(0,s.jsxs)(o.p,{children:["Endpoint paths must be prefixed with your Langflow server URL, such as ",(0,s.jsx)(o.code,{children:"http://localhost:7860"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"create-deployment-run-endpoint",children:"Create deployment run endpoint"}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Endpoint:"})," ",(0,s.jsx)(o.code,{children:"POST /api/v1/deployments/{deployment_id}/runs"})]}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Description:"})," Start a run for a deployed flow and return a provider-owned run ID that you can poll for status."]}),"\n",(0,s.jsx)(o.h4,{id:"example-request",children:"Example request"}),"\n",(0,s.jsxs)(p.A,{children:[(0,s.jsx)(a.A,{value:"Python",label:"Python",default:!0,children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" requests",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"url ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"payload ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider_data"',props:{style:{color:"#A5D6FF"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "input"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"Summarize today\'s tickets"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "thread_id"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" requests.post(url, ",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"payload, ",props:{style:{color:"#C9D1D9"}}},{content:"headers",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"headers)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response.raise_for_status()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"print",props:{style:{color:"#79C0FF"}}},{content:"(response.json())",props:{style:{color:"#C9D1D9"}}}]}],lang:"python"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"JavaScript",label:"JavaScript",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"const ",props:{style:{color:"#FF7B72"}}},{content:"payload ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" provider_data: {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" input: ",props:{style:{color:"#C9D1D9"}}},{content:'"Summarize today\'s tickets"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" thread_id: ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"};",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"const ",props:{style:{color:"#FF7B72"}}},{content:"options ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" method: ",props:{style:{color:"#C9D1D9"}}},{content:'"POST"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers: {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" body: ",props:{style:{color:"#C9D1D9"}}},{content:"JSON",props:{style:{color:"#79C0FF"}}},{content:".",props:{style:{color:"#C9D1D9"}}},{content:"stringify",props:{style:{color:"#D2A8FF"}}},{content:"(payload)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"};",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"fetch",props:{style:{color:"#D2A8FF"}}},{content:"(",props:{style:{color:"#C9D1D9"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs"',props:{style:{color:"#A5D6FF"}}},{content:", options)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" response.",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#D2A8FF"}}},{content:"())",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"log",props:{style:{color:"#D2A8FF"}}},{content:"(response))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"catch",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"err",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"error",props:{style:{color:"#D2A8FF"}}},{content:"(err));",props:{style:{color:"#C9D1D9"}}}]}],lang:"js"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"curl",label:"curl",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"--request ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --url ",props:{style:{color:"#79C0FF"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"x-api-key: LANGFLOW_API_KEY" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --data ",props:{style:{color:"#79C0FF"}}},{content:"'{",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "provider_data": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input": "Summarize today\'s tickets",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "thread_id": "thread-123"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsx)(o.h4,{id:"request-body",children:"Request body"}),"\n",(0,s.jsxs)(o.table,{children:[(0,s.jsx)(o.thead,{children:(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.th,{children:"Field"}),(0,s.jsx)(o.th,{children:"Type"}),(0,s.jsx)(o.th,{children:"Required"}),(0,s.jsx)(o.th,{children:"Description"})]})}),(0,s.jsxs)(o.tbody,{children:[(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"provider_data.input"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"string"})}),(0,s.jsx)(o.td,{children:"Yes"}),(0,s.jsx)(o.td,{children:"The prompt or message content to send to the deployed agent."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"provider_data.thread_id"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"string"})}),(0,s.jsx)(o.td,{children:"No"}),(0,s.jsx)(o.td,{children:"Optional thread identifier to continue an existing conversation."})]})]})]}),"\n",(0,s.jsx)(o.h4,{id:"example-response",children:"Example response"}),"\n",(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "deployment_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"3ea34379-1f72-4a33-9f6e-9e3ca88365b5"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider_data"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"run-42"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "agent_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"agent-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "thread_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "status"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"accepted"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "result"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "started_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "completed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "failed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "cancelled_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "last_error"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,s.jsx)(o.h4,{id:"response-body",children:"Response body"}),"\n",(0,s.jsxs)(o.p,{children:["The response returns the Langflow ",(0,s.jsx)(o.code,{children:"deployment_id"})," and a ",(0,s.jsx)(o.code,{children:"provider_data"})," object containing the provider-owned run metadata.\nUse ",(0,s.jsx)(o.code,{children:"provider_data.id"})," as the ",(0,s.jsx)(o.code,{children:"run_id"})," when checking the run status."]}),"\n",(0,s.jsx)(o.h3,{id:"get-deployment-run-status-endpoint",children:"Get deployment run status endpoint"}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Endpoint:"})," ",(0,s.jsx)(o.code,{children:"GET /api/v1/deployments/{deployment_id}/runs/{run_id}"})]}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Description:"})," Retrieve the current status and result of a deployment run."]}),"\n",(0,s.jsx)(o.h4,{id:"example-request-1",children:"Example request"}),"\n",(0,s.jsxs)(p.A,{children:[(0,s.jsx)(a.A,{value:"Python",label:"Python",default:!0,children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" requests",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"url ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs/RUN_ID"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" requests.get(url, ",props:{style:{color:"#C9D1D9"}}},{content:"headers",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"headers)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"response.raise_for_status()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"print",props:{style:{color:"#79C0FF"}}},{content:"(response.json())",props:{style:{color:"#C9D1D9"}}}]}],lang:"python"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"JavaScript",label:"JavaScript",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"const ",props:{style:{color:"#FF7B72"}}},{content:"options ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" method: ",props:{style:{color:"#C9D1D9"}}},{content:'"GET"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers: {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Content-Type"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"application/json"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"};",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"fetch",props:{style:{color:"#D2A8FF"}}},{content:"(",props:{style:{color:"#C9D1D9"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs/RUN_ID"',props:{style:{color:"#A5D6FF"}}},{content:", options)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" response.",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#D2A8FF"}}},{content:"())",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"then",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"response",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"log",props:{style:{color:"#D2A8FF"}}},{content:"(response))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" .",props:{style:{color:"#C9D1D9"}}},{content:"catch",props:{style:{color:"#D2A8FF"}}},{content:"((",props:{style:{color:"#C9D1D9"}}},{content:"err",props:{style:{color:"#FFA657"}}},{content:") ",props:{style:{color:"#C9D1D9"}}},{content:"=>",props:{style:{color:"#FF7B72"}}},{content:" console.",props:{style:{color:"#C9D1D9"}}},{content:"error",props:{style:{color:"#D2A8FF"}}},{content:"(err));",props:{style:{color:"#C9D1D9"}}}]}],lang:"js"},annotations:[]}]})}),(0,s.jsx)(a.A,{value:"curl",label:"curl",children:(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"--request ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --url ",props:{style:{color:"#79C0FF"}}},{content:'"http://LANGFLOW_SERVER_ADDRESS/api/v1/deployments/DEPLOYMENT_ID/runs/RUN_ID" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --header ",props:{style:{color:"#79C0FF"}}},{content:'"x-api-key: LANGFLOW_API_KEY"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsx)(o.h4,{id:"path-parameters",children:"Path parameters"}),"\n",(0,s.jsxs)(o.table,{children:[(0,s.jsx)(o.thead,{children:(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.th,{children:"Parameter"}),(0,s.jsx)(o.th,{children:"Type"}),(0,s.jsx)(o.th,{children:"Required"}),(0,s.jsx)(o.th,{children:"Description"})]})}),(0,s.jsxs)(o.tbody,{children:[(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"deployment_id"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"uuid"})}),(0,s.jsx)(o.td,{children:"Yes"}),(0,s.jsx)(o.td,{children:"The Langflow deployment ID for the deployed flow."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"run_id"})}),(0,s.jsx)(o.td,{children:(0,s.jsx)(o.code,{children:"string"})}),(0,s.jsx)(o.td,{children:"Yes"}),(0,s.jsxs)(o.td,{children:["The provider-owned run ID returned in ",(0,s.jsx)(o.code,{children:"provider_data.id"}),"."]})]})]})]}),"\n",(0,s.jsx)(o.h4,{id:"example-response-1",children:"Example response"}),"\n",(0,s.jsx)(y.Code,{codeConfig:u,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "deployment_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"3ea34379-1f72-4a33-9f6e-9e3ca88365b5"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider_data"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"run-42"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "agent_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"agent-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "thread_id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"thread-123"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "status"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"completed"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "result"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "output"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"Here is your summary..."',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "started_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"2026-04-03T12:40:00Z"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "completed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"2026-04-03T12:40:05Z"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "failed_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "cancelled_at"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "last_error"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n",(0,s.jsx)(o.h4,{id:"response-body-1",children:"Response body"}),"\n",(0,s.jsxs)(o.p,{children:["Check ",(0,s.jsx)(o.code,{children:"provider_data.status"})," to determine whether the run is still processing or has finished.\nWhen the status is ",(0,s.jsx)(o.code,{children:"completed"}),", read the output from ",(0,s.jsx)(o.code,{children:"provider_data.result"}),"."]})]})}function F(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}function j(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19365:(e,o,t)=>{t.d(o,{A:()=>l});t(96540);var n=t(18215);const s={tabItem:"tabItem_Ymn6"};var r=t(74848);function l({children:e,hidden:o,className:t}){return(0,r.jsx)("div",{role:"tabpanel",className:(0,n.A)(s.tabItem,t),hidden:o,children:e})}},86272:(e,o,t)=>{t.d(o,{Ay:()=>p,RM:()=>l});var n=t(74848),s=t(28453),r=t(52307);const l=[];function c(e){const o={em:"em",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"To edit Langflow's global model provider configuration, do the following:"}),"\n",(0,n.jsxs)(o.ol,{children:["\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["To open the ",(0,n.jsx)(o.strong,{children:"Model Providers"})," pane, click your profile icon, select ",(0,n.jsx)(o.strong,{children:"Settings"}),", and then click ",(0,n.jsx)(r.A,{name:"Brain","aria-hidden":"true"})," ",(0,n.jsx)(o.strong,{children:"Model Providers"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["In the ",(0,n.jsx)(o.strong,{children:"Model Providers"})," pane, select a provider."]}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["In the ",(0,n.jsx)(o.strong,{children:"API Key"})," field, add your provider's API key."]}),"\n",(0,n.jsx)(o.p,{children:"The key must have permission to call the models you want to use in your flow, and your account must have sufficient credits for the actions you want to perform."}),"\n",(0,n.jsxs)(o.p,{children:["You can only add one key for each provider. Make sure the key has access to ",(0,n.jsx)(o.em,{children:"all"})," models that you want to use in Langflow."]}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["Enable the specific models that you want to use in Langflow.\nThe available models depend on the provider and your API key's permissions.\nModels that generate text are listed under ",(0,n.jsx)(o.strong,{children:"Language Models"}),".\nModels that generate embeddings are listed under ",(0,n.jsx)(o.strong,{children:"Embedding Models"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:"After you enable a model in Langflow's global model configuration, you can use that model in any model-driven component in your flows."})]})}function p(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/3d67876e.a0d8647c.js b/assets/js/3d67876e.a0d8647c.js
deleted file mode 100644
index 60b6eccbde..0000000000
--- a/assets/js/3d67876e.a0d8647c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[23387],{53941:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"Develop/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.","source":"@site/docs/Develop/contributing-telemetry.mdx","sourceDirName":"Develop","slug":"/contributing-telemetry","permalink":"/next/contributing-telemetry","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Telemetry","slug":"/contributing-telemetry"},"sidebar":"docs","previous":{"title":"Traceloop","permalink":"/next/integrations-instana-traceloop"},"next":{"title":"Use Langflow data types","permalink":"/next/data-types"}}');var i=t(74848),r=t(28453);const o={title:"Telemetry",slug:"/contributing-telemetry"},l=void 0,a={},c=[{value:"Privacy",id:"privacy",level:2},{value:"Opt out of telemetry",id:"opt-out-of-telemetry",level:2},{value:"Data that Langflow collects",id:"data-that-langflow-collects",level:2},{value:"Run",id:"run",level:3},{value:"Shutdown",id:"shutdown",level:3},{value:"Version",id:"version",level:3},{value:"Email",id:"email",level:3},{value:"Playground",id:"playground",level:3},{value:"Component",id:"component",level:3},{value:"Exception",id:"exception",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.\nThe Langflow team uses this data to identify popular features and areas that need improvement based on actual usage patterns.\nThis helps prioritize development efforts on the most impactful changes and popular features."}),"\n",(0,i.jsx)(n.h2,{id:"privacy",children:"Privacy"}),"\n",(0,i.jsx)(n.p,{children:"The Langflow team respects your privacy, and the team is committed to protecting your data."}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry doesn't collect any personal information or sensitive data.\nAll telemetry data is anonymized and used solely for improving Langflow."}),"\n",(0,i.jsx)(n.h2,{id:"opt-out-of-telemetry",children:"Opt out of telemetry"}),"\n",(0,i.jsxs)(n.p,{children:["To opt out of telemetry, set ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK=True"})," in your ",(0,i.jsx)(n.a,{href:"/environment-variables",children:"Langflow environment variables"})," before starting Langflow. This disables telemetry data collection."]}),"\n",(0,i.jsx)(n.h2,{id:"data-that-langflow-collects",children:"Data that Langflow collects"}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry collects data on flow runs, your environment, and component usage."}),"\n",(0,i.jsx)(n.h3,{id:"run",children:"Run"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent every time a flow is executed."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"IsWebhook"}),": Indicates whether the operation was triggered with a webhook."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for how long the operation lasted, providing insights into performance."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Boolean value indicating whether the operation was successful, helping identify potential errors or issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Provides error message details if the operation was unsuccessful, aiding in troubleshooting and enhancements."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"shutdown",children:"Shutdown"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event captures information about application lifecycle and runtime duration."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"TimeRunning"}),": Total runtime before shutdown, which is useful for understanding the application lifecycle and optimizing uptime."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"version",children:"Version"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent once when the telemetry service starts."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Version"}),": The specific version of Langflow used, which helps in tracking feature adoption and compatibility."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Platform"}),": Operating system of the host machine, which helps determine the most popular platforms for development and testing efforts."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Python"}),": The version of Python used, assisting in maintaining compatibility and support for various Python versions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Arch"}),": Architecture of the system, such as x86 or ARM, which helps prioritize hardware optimization and testing in the Langflow codebase."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"AutoLogin"}),": Indicates whether the auto-login feature is enabled, reflecting user preference settings."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"CacheType"}),": Type of caching mechanism used, which impacts performance and efficiency."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"BackendOnly"}),": Boolean indicating whether Langflow is running in backend-only mode, useful for understanding deployment configurations."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Desktop"}),": Indicates whether Langflow is running in desktop mode (Langflow Desktop), helping to understand usage patterns across different deployment types."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"email",children:"Email"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent to track registered email addresses for Langflow Desktop. The event is triggered in two cases:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Every time a new email address is registered through the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Each time you start Langflow Desktop ",(0,i.jsx)(n.em,{children:"after"})," an email address is registered."]}),"\n",(0,i.jsxs)(n.p,{children:["The first time you start Langflow Desktop and register your email address, the event is reported by the call to the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event includes the following information:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Email"}),": The registered email address, which helps track user registrations and facilitate an understanding of the Langflow Desktop user base."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ClientType"}),': Indicates the client type, which can be "desktop" or "oss".']}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["If telemetry is disabled with the ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK"})," environment variable in Langflow Desktop, you are still prompted to enter your email address, but the email address is stored in your local Langflow database only."]}),"\n",(0,i.jsx)(n.h3,{id:"playground",children:"Playground"}),"\n",(0,i.jsxs)(n.p,{children:["This telemetry event monitors performance and usage patterns in the ",(0,i.jsx)(n.strong,{children:"Playground"})," environment."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for ",(0,i.jsx)(n.strong,{children:"Playground"})," execution, offering insights into performance during testing or experimental stages."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ComponentCount"}),": Number of components used in the ",(0,i.jsx)(n.strong,{children:"Playground"}),", which helps understand complexity and usage patterns."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Success status of the ",(0,i.jsx)(n.strong,{children:"Playground"})," operation, aiding in identifying the stability of experimental features."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"component",children:"Component"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for each component execution."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Name"}),": Identifies the component, providing data on which components are most utilized or prone to issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Time taken by the component to execute, offering performance metrics."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Whether the component operated successfully, which helps in quality control."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Details of any errors encountered, crucial for debugging and improvement."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent when an unhandled exception is captured by Langflow's lifecycle or global exception handler."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Type"}),": The exception class name, such as ",(0,i.jsx)(n.code,{children:"ValueError"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Message"}),": The exception message that was raised."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Context"}),": Additional contextual information related to where the exception occurred, such as route, component, or operation details, when available."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"StackTraceHash"}),": A hash of the stack trace used to group similar exceptions for easier analysis."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/3d67876e.f37d5c60.js b/assets/js/3d67876e.f37d5c60.js
new file mode 100644
index 0000000000..a2d9848738
--- /dev/null
+++ b/assets/js/3d67876e.f37d5c60.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[23387],{53941:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"Develop/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.","source":"@site/docs/Develop/contributing-telemetry.mdx","sourceDirName":"Develop","slug":"/contributing-telemetry","permalink":"/next/contributing-telemetry","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Telemetry","slug":"/contributing-telemetry"},"sidebar":"docs","previous":{"title":"Traceloop","permalink":"/next/integrations-instana-traceloop"},"next":{"title":"Use Langflow data types","permalink":"/next/data-types"}}');var i=s(74848),r=s(28453);const o={title:"Telemetry",slug:"/contributing-telemetry"},l=void 0,a={},c=[{value:"Privacy",id:"privacy",level:2},{value:"Opt out of telemetry",id:"opt-out-of-telemetry",level:2},{value:"Data that Langflow collects",id:"data-that-langflow-collects",level:2},{value:"Run",id:"run",level:3},{value:"Shutdown",id:"shutdown",level:3},{value:"Version",id:"version",level:3},{value:"Email",id:"email",level:3},{value:"Playground",id:"playground",level:3},{value:"Component",id:"component",level:3},{value:"Exception",id:"exception",level:3},{value:"Deployment provider",id:"deployment-provider",level:3},{value:"Deployment",id:"deployment",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.\nThe Langflow team uses this data to identify popular features and areas that need improvement based on actual usage patterns.\nThis helps prioritize development efforts on the most impactful changes and popular features."}),"\n",(0,i.jsx)(n.h2,{id:"privacy",children:"Privacy"}),"\n",(0,i.jsx)(n.p,{children:"The Langflow team respects your privacy, and the team is committed to protecting your data."}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry doesn't collect any personal information or sensitive data.\nAll telemetry data is anonymized and used solely for improving Langflow."}),"\n",(0,i.jsx)(n.h2,{id:"opt-out-of-telemetry",children:"Opt out of telemetry"}),"\n",(0,i.jsxs)(n.p,{children:["To opt out of telemetry, set ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK=True"})," in your ",(0,i.jsx)(n.a,{href:"/environment-variables",children:"Langflow environment variables"})," before starting Langflow. This disables telemetry data collection."]}),"\n",(0,i.jsx)(n.h2,{id:"data-that-langflow-collects",children:"Data that Langflow collects"}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry collects data on flow runs, your environment, and component usage."}),"\n",(0,i.jsx)(n.h3,{id:"run",children:"Run"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent every time a flow is executed."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"IsWebhook"}),": Indicates whether the operation was triggered with a webhook."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for how long the operation lasted, providing insights into performance."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Boolean value indicating whether the operation was successful, helping identify potential errors or issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Provides error message details if the operation was unsuccessful, aiding in troubleshooting and enhancements."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"shutdown",children:"Shutdown"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event captures information about application lifecycle and runtime duration."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"TimeRunning"}),": Total runtime before shutdown, which is useful for understanding the application lifecycle and optimizing uptime."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"version",children:"Version"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent once when the telemetry service starts."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Version"}),": The specific version of Langflow used, which helps in tracking feature adoption and compatibility."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Platform"}),": Operating system of the host machine, which helps determine the most popular platforms for development and testing efforts."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Python"}),": The version of Python used, assisting in maintaining compatibility and support for various Python versions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Arch"}),": Architecture of the system, such as x86 or ARM, which helps prioritize hardware optimization and testing in the Langflow codebase."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"AutoLogin"}),": Indicates whether the auto-login feature is enabled, reflecting user preference settings."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"CacheType"}),": Type of caching mechanism used, which impacts performance and efficiency."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"BackendOnly"}),": Boolean indicating whether Langflow is running in backend-only mode, useful for understanding deployment configurations."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Desktop"}),": Indicates whether Langflow is running in desktop mode (Langflow Desktop), helping to understand usage patterns across different deployment types."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"email",children:"Email"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent to track registered email addresses for Langflow Desktop. The event is triggered in two cases:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Every time a new email address is registered through the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Each time you start Langflow Desktop ",(0,i.jsx)(n.em,{children:"after"})," an email address is registered."]}),"\n",(0,i.jsxs)(n.p,{children:["The first time you start Langflow Desktop and register your email address, the event is reported by the call to the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event includes the following information:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Email"}),": The registered email address, which helps track user registrations and facilitate an understanding of the Langflow Desktop user base."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ClientType"}),': Indicates the client type, which can be "desktop" or "oss".']}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["If telemetry is disabled with the ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK"})," environment variable in Langflow Desktop, you are still prompted to enter your email address, but the email address is stored in your local Langflow database only."]}),"\n",(0,i.jsx)(n.h3,{id:"playground",children:"Playground"}),"\n",(0,i.jsxs)(n.p,{children:["This telemetry event monitors performance and usage patterns in the ",(0,i.jsx)(n.strong,{children:"Playground"})," environment."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for ",(0,i.jsx)(n.strong,{children:"Playground"})," execution, offering insights into performance during testing or experimental stages."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ComponentCount"}),": Number of components used in the ",(0,i.jsx)(n.strong,{children:"Playground"}),", which helps understand complexity and usage patterns."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Success status of the ",(0,i.jsx)(n.strong,{children:"Playground"})," operation, aiding in identifying the stability of experimental features."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"component",children:"Component"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for each component execution."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Name"}),": Identifies the component, providing data on which components are most utilized or prone to issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Time taken by the component to execute, offering performance metrics."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Whether the component operated successfully, which helps in quality control."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Details of any errors encountered, crucial for debugging and improvement."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent when an unhandled exception is captured by Langflow's lifecycle or global exception handler."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Type"}),": The exception class name, such as ",(0,i.jsx)(n.code,{children:"ValueError"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Message"}),": The exception message that was raised."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Context"}),": Additional contextual information related to where the exception occurred, such as route, component, or operation details, when available."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"StackTraceHash"}),": A hash of the stack trace used to group similar exceptions for easier analysis."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"deployment-provider",children:"Deployment provider"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for various lifecycle operations on deployment provider accounts, such as create, delete, and update."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentAction"}),": The specific action performed, such as ",(0,i.jsx)(n.code,{children:"provider.create"})," or ",(0,i.jsx)(n.code,{children:"provider.delete"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentProvider"}),": The deployment provider used, such as ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSeconds"}),": Duration in seconds for the operation, providing performance insights."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSuccess"}),": Boolean value indicating whether the operation was successful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentErrorMessage"}),": Error message details if the operation was unsuccessful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"WxoTenantId"}),": A unique identifier for the tenant, populated only for ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"})," deployments, used to understand multi-tenant usage patterns without collecting personal information."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"deployment",children:"Deployment"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for various lifecycle operations on deployment resources, such as create, delete, and update."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentAction"}),": The specific action performed, such as ",(0,i.jsx)(n.code,{children:"deployment.create"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentProvider"}),": The deployment provider used, such as ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSeconds"}),": Duration in seconds for the operation, providing performance insights."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSuccess"}),": Boolean value indicating whether the operation was successful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentErrorMessage"}),": Error message details if the operation was unsuccessful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"WxoTenantId"}),": A unique identifier for the tenant, populated only for ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"})," deployments, used to understand multi-tenant usage patterns without collecting personal information."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/83231553.0e3e0128.js b/assets/js/83231553.0e3e0128.js
new file mode 100644
index 0000000000..8552406378
--- /dev/null
+++ b/assets/js/83231553.0e3e0128.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[31111],{20070:(e,n,s)=>{s.r(n),s.d(n,{CH:()=>p,assets:()=>h,chCodeConfig:()=>g,contentTitle:()=>d,default:()=>x,frontMatter:()=>c,metadata:()=>o,toc:()=>u});const o=JSON.parse('{"id":"Support/release-notes","title":"Langflow release notes","description":"This page summarizes significant changes to Langflow in each release.","source":"@site/versioned_docs/version-1.9.0/Support/release-notes.mdx","sourceDirName":"Support","slug":"/release-notes","permalink":"/release-notes","draft":false,"unlisted":false,"tags":[],"version":"1.9.0","frontMatter":{"title":"Langflow release notes","slug":"/release-notes"},"sidebar":"docs","previous":{"title":"IBM Elite Support for Langflow","permalink":"/luna-for-langflow"}}');var r=s(74848),i=s(28453),t=s(24754),l=s(52307),a=s(45783);const c={title:"Langflow release notes",slug:"/release-notes"},d=void 0,h={},p={annotations:t.hk,Code:t.Cy},g={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},u=[{value:"Prepare to upgrade",id:"prepare-to-upgrade",level:2},{value:"1.9.x",id:"19x",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements",level:3},{value:"1.8.x",id:"18x",level:2},{value:"Breaking changes",id:"breaking-changes",level:3},{value:"New features and enhancements",id:"new-features-and-enhancements-1",level:3},{value:"1.7.x",id:"17x",level:2},{value:"Known issue: Data not accessible when upgrading to version 1.7.0",id:"v170-data-path",level:3},{value:"New features and enhancements",id:"new-features-and-enhancements-2",level:3},{value:"1.6.0",id:"160",level:2},{value:"Known issue, potential security vulnerability: .env file not loaded in versions 1.6.0 through 1.6.3",id:"env-file-bug",level:3},{value:"Known issue: Don't auto-upgrade Windows Desktop",id:"windows-desktop-update-issue",level:3},{value:"Breaking changes",id:"breaking-changes-1",level:3},{value:"New features and enhancements",id:"new-features-and-enhancements-3",level:3},{value:"Deprecations",id:"deprecations",level:3},{value:"1.5.0",id:"150",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-4",level:3},{value:"1.4.2",id:"142",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-5",level:3},{value:"Deprecations",id:"deprecations-1",level:3},{value:"1.4.1",id:"141",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-6",level:3},{value:"1.4.0",id:"140",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-7",level:3},{value:"Deprecations",id:"deprecations-2",level:3},{value:"Earlier releases",id:"earlier-releases",level:2}];function f(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return p||j("CH",!1),p.Code||j("CH.Code",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.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,r.jsxs)(n.p,{children:["This page summarizes significant changes to Langflow in each release.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases/latest",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Due to strict SemVer requirements, Langflow Desktop can have different patch versions than the core Langflow OSS Python package, but the major and minor versions are aligned."}),"\n",(0,r.jsx)(n.h2,{id:"prepare-to-upgrade",children:"Prepare to upgrade"}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Whenever possible, the Langflow team recommends installing new Langflow versions in a new virtual environment or VM before upgrading your primary installation.\nThis allows you to ",(0,r.jsx)(n.a,{href:"/concepts-flows-import#import-a-flow",children:"import flows"})," from your existing installation and test them in the new version without disrupting your existing installation.\nIn the event of breaking changes or bugs, your existing installation is preserved in a stable state.\nIf you are upgrading Windows Desktop to 1.6.0, don't auto-upgrade with the in-app ",(0,r.jsx)(n.strong,{children:"Update"})," button. Instead, follow the instructions in ",(0,r.jsx)(n.a,{href:"#windows-desktop-update-issue",children:"Known issue: Don't auto-upgrade Windows Desktop"}),"."]})}),"\n",(0,r.jsx)(n.p,{children:"To avoid the impact of potential breaking changes and test new versions, the Langflow team recommends the following upgrade process:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Recommended: ",(0,r.jsx)(n.a,{href:"/api-projects#export-a-project",children:"Export your projects"})," to create backups of your flows:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:'"',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_SERVER_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/projects/download/",props:{style:{color:"#A5D6FF"}}},{content:"$PROJECT_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"x-api-key: ',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,r.jsxs)(n.p,{children:["To export flows from the visual editor, see ",(0,r.jsx)(n.a,{href:"/concepts-flows-import",children:"Import and export flows"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Install the new version:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Langflow OSS Python package"}),": Install the new version in a new virtual environment. For instructions, see ",(0,r.jsx)(n.a,{href:"/get-started-installation#install-and-run-the-langflow-oss-python-package",children:"Install and run the Langflow OSS Python package"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Langflow Docker image"}),": Run the new image in a separate container."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Langflow Desktop"}),": To upgrade in place, open Langflow Desktop, and then click ",(0,r.jsx)(n.strong,{children:"Upgrade Available"})," in the Langflow header. If you want to isolate the new version, you must install Langflow Desktop on a separate physical or virtual machine, and then ",(0,r.jsx)(n.a,{href:"/concepts-flows-import",children:"import your flows"})," to the new installation."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/concepts-flows-import",children:"Import your flows"})," to test them in the new version, ",(0,r.jsx)(n.a,{href:"/concepts-components#component-versions",children:"upgrading components"})," as needed."]}),"\n",(0,r.jsxs)(n.p,{children:["When upgrading components, you can use the ",(0,r.jsx)(n.strong,{children:"Create backup flow before updating"})," option if you didn't previously export your flows."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"If you installed the new version in isolation, upgrade your primary installation after testing the new version."}),"\n",(0,r.jsx)(n.p,{children:"If you made changes to your flows in the isolated installation, you might want to export and import those flows back to your upgraded primary installation so you don't have to repeat the component upgrade process."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"19x",children:"1.9.x"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Langflow MCP client for Bob (IBM) and Claude Code"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Settings"})," page now includes ",(0,r.jsx)(l.A,{name:"Terminal","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Langflow MCP Client"}),", with instructions to connect ",(0,r.jsx)(n.strong,{children:"Bob (IBM)"})," and ",(0,r.jsx)(n.strong,{children:"Claude Code"})," to your Langflow instance.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/langflow-mcp-client",children:"Langflow MCP client"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"MCP Tools: register servers first, and then add from the MCP sidebar"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"MCP Tools"})," is no longer added from the ",(0,r.jsx)(n.strong,{children:"Agents"})," component list. Register each MCP server under ",(0,r.jsx)(n.strong,{children:"Settings"})," > *",(0,r.jsx)(n.em,{children:"MCP Servers"}),", or from the flow editor ",(0,r.jsx)(a.A,{})," ",(0,r.jsx)(n.strong,{children:"MCP"})," sidebar.\nEach saved server appears as a unique ",(0,r.jsx)(n.strong,{children:"MCP Tools"})," component that can be dragged to the canvas.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/mcp-client#use-the-mcp-tools-component",children:"Use Langflow as an MCP client"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Flow DevOps Toolkit SDK"}),"\n",(0,r.jsxs)(n.p,{children:["Use the Flow DevOps Toolkit SDK to manage local and remote flows with Git-style terminal commands.\nFor more information, see the ",(0,r.jsx)(n.a,{href:"/flow-devops-sdk",children:"Langflow Flow DevOps Toolkit SDK"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Renamed ",(0,r.jsx)(n.code,{children:"Data"})," and ",(0,r.jsx)(n.code,{children:"DataFrame"})," types"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"Data"})," object is now named ",(0,r.jsx)(n.code,{children:"JSON"}),", and the ",(0,r.jsx)(n.code,{children:"DataFrame"})," object is now named ",(0,r.jsx)(n.code,{children:"Table"}),".\nFlows using ",(0,r.jsx)(n.code,{children:"Data"})," or ",(0,r.jsx)(n.code,{children:"DataFrame"})," are backwards compatible.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/data-types",children:"Langflow data types"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Renamed ",(0,r.jsx)(n.strong,{children:"Data Operations"})," and ",(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," components"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Data Operations"})," component is now the ",(0,r.jsxs)(n.a,{href:"/data-operations",children:[(0,r.jsx)(n.strong,{children:"JSON Operations"})," component"]}),", and the ",(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," component is now the ",(0,r.jsxs)(n.a,{href:"/dataframe-operations",children:[(0,r.jsx)(n.strong,{children:"Table Operations"})," component"]}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Flow version history in the visual editor"}),"\n",(0,r.jsxs)(n.p,{children:["You can now save point-in-time versions of a flow from ",(0,r.jsx)(n.strong,{children:"Version History"}),", preview saved versions in read-only mode, and restore an earlier version to your working draft.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/concepts-flows#save-and-restore-flow-versions",children:"Build flows"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Enabled tool calling for Gemini 3 preview models"}),"\n",(0,r.jsxs)(n.p,{children:["Tool calling is enabled for the following Google Gemini 3 preview models:\n",(0,r.jsx)(n.code,{children:"gemini-3.1-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-flash-preview"}),", and ",(0,r.jsx)(n.code,{children:"gemini-3-pro-image-preview"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Build components with ",(0,r.jsx)(n.strong,{children:"Langflow Assistant"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Langflow Assistant"})," is a graph-aware co-pilot that can create components from natural language prompts, directly within the Langflow workspace.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/langflow-assistant",children:"Langflow Assistant"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Vulnerability reporting now uses HackerOne"}),"\n",(0,r.jsxs)(n.p,{children:["Security reports should now be filed through ",(0,r.jsx)(n.a,{href:"https://hackerone.com/ibm",children:"IBM's HackerOne program"}),".\nPlease do not report security vulnerabilities through public GitHub issues or GitHub security advisories.\nFor the full policy and what to include in a report, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/SECURITY.md",children:"Langflow Security Policy"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Disable custom components"}),"\n",(0,r.jsxs)(n.p,{children:["Set ",(0,r.jsx)(n.code,{children:"LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false"})," to disable custom components and in-editor editing of component code.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/deployment-block-custom-components",children:"Block custom components"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Deploy flows to watsonx Orchestrate (beta)"}),"\n",(0,r.jsxs)(n.p,{children:["In Langflow 1.9.1, Langflow flows can now be published to IBM watsonx Orchestrate as tools that a watsonx Orchestrate agent can call.\nThis workflow packages a selected flow version for use in IBM watsonx Orchestrate.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/deployment-wxo",children:"Deploy Langflow on watsonx Orchestrate"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["As of Langflow 1.9.2, this feature is behind a feature flag. To enable it, set ",(0,r.jsx)(n.code,{children:"LANGFLOW_FEATURE_WXO_DEPLOYMENTS=true"})," before starting Langflow."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Policies"})," component (beta)"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Policies"})," component uses ",(0,r.jsx)(n.a,{href:"https://github.com/AgentToolkit/toolguard",children:"ToolGuard"})," to generate guard code from natural-language business policies and apply it to agent tools.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/policies",children:"Policies (Beta)"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"18x",children:"1.8.x"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"breaking-changes",children:"Breaking changes"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"langflow-base"})," dependency structure refactored"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"langflow-base"})," package now uses granular optional dependency groups. As a result, many dependencies that were previously included in the ",(0,r.jsx)(n.code,{children:"langflow-base"})," installation were moved to optional extras."]}),"\n",(0,r.jsxs)(n.p,{children:["If you installed Langflow with ",(0,r.jsx)(n.code,{children:"uv pip install langflow"}),", this isn't a breaking change. Installing ",(0,r.jsx)(n.code,{children:"langflow"})," automatically installs ",(0,r.jsx)(n.code,{children:"langflow-base[complete]"}),", which includes all optional dependencies and maintains the same functionality as before."]}),"\n",(0,r.jsxs)(n.p,{children:["However, if you installed Langflow with ",(0,r.jsx)(n.code,{children:"uv pip install langflow-base"})," without specifying extra dependencies, this ",(0,r.jsx)(n.em,{children:"is"})," a breaking change.\nSome dependencies that were previously included by default are now available only through optional extras.\nTherefore, installing ",(0,r.jsx)(n.code,{children:"langflow-base"})," directly only installs the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/src/backend/base/pyproject.toml",children:"core base dependencies"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["If you installed ",(0,r.jsx)(n.code,{children:"langflow-base"}),", there are two ways to resolve dependency errors that result from this breaking change:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["If you need the full set of dependencies, you must install ",(0,r.jsx)(n.code,{children:"langflow-base"})," with the ",(0,r.jsx)(n.code,{children:"complete"})," extra:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:'pip install "langflow-base[complete]"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["If you need specific dependencies, you must install ",(0,r.jsx)(n.code,{children:"langflow-base"})," with those optional dependency groups. For example:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:'pip install "langflow-base[postgresql,openai,chroma]"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For more information about available optional dependency groups, see ",(0,r.jsxs)(n.a,{href:"/install-custom-dependencies#install-optional-dependency-groups-for-langflow-base",children:["Install optional dependency groups for ",(0,r.jsx)(n.code,{children:"langflow-base"})]}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Docker image does not include ",(0,r.jsx)(n.code,{children:"uv"})," or ",(0,r.jsx)(n.code,{children:"uvx"})]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["Starting with Langflow 1.8.1, the official Docker images include ",(0,r.jsx)(n.code,{children:"uv"})," and ",(0,r.jsx)(n.code,{children:"uvx"})," again.\nIf you're using Langflow 1.8.0, follow the steps in this release note to add ",(0,r.jsx)(n.code,{children:"uv"})," and ",(0,r.jsx)(n.code,{children:"uvx"})," in a derived image."]})}),"\n",(0,r.jsxs)(n.p,{children:["In Langflow 1.8.0, the Langflow Docker image does not include ",(0,r.jsx)(n.code,{children:"uv"})," or ",(0,r.jsx)(n.code,{children:"uvx"})," in the runtime image.\nThis means that MCP server configurations, including the default Langflow MCP server, that rely on commands like ",(0,r.jsx)(n.code,{children:"uvx mcp-proxy"})," will fail inside the container with a ",(0,r.jsx)(n.code,{children:"command not found"})," error."]}),"\n",(0,r.jsxs)(n.p,{children:["If you use MCP from within a Langflow 1.8.0 Docker image, you must install ",(0,r.jsx)(n.code,{children:"uv"})," in an image derived from the official ",(0,r.jsx)(n.code,{children:"langflowai/langflow"})," image."]}),"\n",(0,r.jsxs)(n.p,{children:["To install ",(0,r.jsx)(n.code,{children:"uv"})," and ",(0,r.jsx)(n.code,{children:"uvx"})," in a derived image based on the official ",(0,r.jsx)(n.code,{children:"langflowai/langflow"})," image, do the following:"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Create a ",(0,r.jsx)(n.code,{children:"Dockerfile"})," in your project."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Use the official Langflow image as the base and install ",(0,r.jsx)(n.code,{children:"uv"})," into the existing virtual environment:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"FROM",props:{style:{color:"#FF7B72"}}},{content:" langflowai/langflow:1.8.0",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"USER",props:{style:{color:"#FF7B72"}}},{content:" root",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" /app/.venv/bin/pip install uv",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"USER",props:{style:{color:"#FF7B72"}}},{content:" user",props:{style:{color:"#C9D1D9"}}}]}],lang:"dockerfile"},annotations:[]}]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Build the image."}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"build ",props:{style:{color:"#A5D6FF"}}},{content:"-t ",props:{style:{color:"#79C0FF"}}},{content:"YOUR_IMAGE_NAME .",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,r.jsxs)(n.p,{children:["Replace ",(0,r.jsx)(n.code,{children:"YOUR_IMAGE_NAME"})," with your Docker image name."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Run the new image:"}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 ",props:{style:{color:"#79C0FF"}}},{content:"YOUR_IMAGE_NAME",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For more information, see ",(0,r.jsx)(n.a,{href:"/deployment-docker#upgrade-the-langflow-docker-image",children:"Upgrade the Langflow Docker image"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Disabled tool calling for Gemini 3 preview models"}),"\n",(0,r.jsxs)(n.p,{children:["Tool calling is temporarily disabled for the following Google Gemini 3 preview models:\n",(0,r.jsx)(n.code,{children:"gemini-3.1-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-flash-preview"}),", and ",(0,r.jsx)(n.code,{children:"gemini-3-pro-image-preview"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Docling installation behavior differs between Desktop and OSS"}),"\n",(0,r.jsx)(n.p,{children:"In Langflow 1.8.0, Docling behavior depends on how Langflow is installed."}),"\n",(0,r.jsxs)(n.p,{children:["For Langflow Desktop installations, you need to set ",(0,r.jsx)(n.code,{children:"LANGFLOW_DOCLING=True"})," in your ",(0,r.jsx)(n.code,{children:".env"})," file to enable Docling dependency installation. For more information, see ",(0,r.jsx)(n.a,{href:"/environment-variables#set-environment-variables-for-langflow-desktop",children:"Set environment variables for Langflow Desktop"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["For Langflow OSS installations with ",(0,r.jsx)(n.code,{children:"uv pip install langflow"}),", Docling is included with the Langflow package."]}),"\n",(0,r.jsxs)(n.p,{children:["For Langflow OSS installations with ",(0,r.jsx)(n.code,{children:"uv pip install langflow-base"}),", install Docling explicitly as an extra with ",(0,r.jsx)(n.code,{children:'uv pip install "langflow-base[docling]"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-1",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Global model provider configuration"}),"\n",(0,r.jsxs)(n.p,{children:["Model providers for language models, embedding models, and agents are now configured globally in the ",(0,r.jsx)(n.strong,{children:"Model providers"})," pane, instead of within individual components.\nFor more information, see the ",(0,r.jsx)(n.a,{href:"/components-models",children:"Language Model component"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Component inspection panel"}),"\n",(0,r.jsxs)(n.p,{children:["The component inspection panel replaces the component header menu for managing component parameters and settings.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/concepts-components#component-inspection-panel",children:"Component inspection panel"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Developer API: ",(0,r.jsx)(n.code,{children:"/workflow"})," synchronous endpoints (Beta)"]}),"\n",(0,r.jsxs)(n.p,{children:["The Developer API is part of a larger effort to improve Langflow's APIs with enhanced capabilities and better developer experience.\nThe Developer API now includes ",(0,r.jsx)(n.code,{children:"/v2/workflow"})," endpoints for executing flows with enhanced error handling, timeout protection, and structured responses.\nThe synchronous execution endpoint is available at ",(0,r.jsx)(n.code,{children:"POST /api/v2/workflows"}),".\nFor more information, see ",(0,r.jsx)(n.a,{href:"/workflow-api",children:"Workflow API (Beta)"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Traces and trace view"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow now records execution traces for flows and components.\nView your traces in the ",(0,r.jsx)(n.strong,{children:"Trace Details"})," pane, and inspect span trees, latencies, and errors.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/traces",children:"Traces"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Knowledge bases"}),"\n",(0,r.jsxs)(n.p,{children:["Knowledge bases let you organize documents and other reference data into reusable vector databases that can be attached to multiple flows.\nThis makes it easier to centralize domain knowledge and reuse the same data across agents and retrieval workflows.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/knowledge",children:"Manage vector data"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Mustache templating support for Prompt Template component"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Prompt Template"})," component now supports Mustache templating syntax.\nMustache templating eliminates the need to escape curly braces when including JSON structures in your prompts. For more information, see ",(0,r.jsx)(n.a,{href:"/components-prompts#use-mustache-templating-in-prompt-templates",children:"Prompt Template"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"More configuration options for JWT-based session authentication"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow 1.8 offers additional configuration options for JWT algorithms, including support for RS256/RS512 algorithms, configurable keys, and token lifetimes. For more information, see ",(0,r.jsx)(n.a,{href:"/jwt-authentication",children:"JWT authentication"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Global variables in MCP server headers"}),"\n",(0,r.jsxs)(n.p,{children:["You can now use ",(0,r.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," in MCP server header values to securely store and reference sensitive values. For more information, see ",(0,r.jsx)(n.a,{href:"/mcp-client#use-global-variables-in-mcp-server-headers",children:"Use global variables in MCP server headers"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Pass environment variables to flows in API headers and CLI"}),"\n",(0,r.jsxs)(n.p,{children:["The ability to pass environment variables in HTTP headers (previously available for the ",(0,r.jsxs)(n.a,{href:"/api-openai-responses#global-var",children:[(0,r.jsx)(n.code,{children:"/responses"})," endpoint"]}),") is now also available for the ",(0,r.jsxs)(n.a,{href:"/api-flows-run#pass-global-variables-in-headers",children:[(0,r.jsx)(n.code,{children:"/run"})," endpoint"]}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Guardrails component"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Guardrails"})," component validates input text against security and safety guardrails by using a connected language model to check for content such as PII, tokens/passwords, or offensive content. For more information, see ",(0,r.jsx)(n.a,{href:"/guardrails",children:"Guardrails"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Token usage tracking for OpenAI Responses API"}),"\n",(0,r.jsxs)(n.p,{children:["The OpenAI Responses API endpoint now tracks and returns token usage statistics when your flow uses language model APIs that provide token usage information.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/api-openai-responses#token-usage-tracking",children:"Token usage tracking"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Docker AMD vs ARM image sizes"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow 1.8.0 addresses the AMD vs ARM Docker image size gap.\nWe reconfigured our Python dependencies to use CPU-only PyTorch wheels through ",(0,r.jsx)(n.code,{children:"uv"})," sources, which removes large CUDA-related dependencies from the AMD64 images.\nWith this change, both AMD64 and ARM64 images are now smaller than 2 GB."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-agentics",children:[(0,r.jsx)(n.strong,{children:"Agentics"})," bundle"]})]}),"\n",(0,r.jsx)(n.p,{children:"Uses LLMs to transform tabular data, including mapping, reducing, and generating DataFrame rows based on a defined schema."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-lite-llm",children:[(0,r.jsx)(n.strong,{children:"LiteLLM"})," bundle"]})]}),"\n",(0,r.jsx)(n.p,{children:"Connects to models through a LiteLLM proxy so you can route requests to multiple LLM providers and switch providers without changing flow credentials."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/integrations-openlayer",children:[(0,r.jsx)(n.strong,{children:"Openlayer"})," observability integration"]})]}),"\n",(0,r.jsx)(n.p,{children:"Configures Langflow to send tracing data to Openlayer for analysis, monitoring, and evaluation of your flow executions."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"17x",children:"1.7.x"}),"\n",(0,r.jsx)(n.admonition,{title:"Version yanked",type:"warning",children:(0,r.jsx)(n.p,{children:"Version 1.7.0 was yanked due to a critical bug. Version 1.7.0 has been replaced with version 1.7.1, which includes a fix for this issue."})}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"v170-data-path",children:"Known issue: Data not accessible when upgrading to version 1.7.0"}),"\n",(0,r.jsx)(n.p,{children:"A critical issue was identified during the upgrade process to version 1.7.0."}),"\n",(0,r.jsxs)(n.p,{children:["Flows, projects, and global variables are ",(0,r.jsx)(n.strong,{children:"not"})," deleted or corrupted. The data still exists, but version 1.7.0 cannot find it due to a path change in how flows are located.\nAll Langflow versions upgrading to 1.7.0 are affected."]}),"\n",(0,r.jsx)(n.p,{children:"Don't upgrade to Langflow version 1.7.0.\nInstead, upgrade directly to version 1.7.1, which includes a fix for this bug."}),"\n",(0,r.jsx)(n.p,{children:"If you installed version 1.7.0 before the fix was released, follow these steps to recover your flows:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Revert Langflow to version 1.6.9:"}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"pip install langflow==",props:{style:{color:"#A5D6FF"}}},{content:"1.6.9",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Verify that your flows, projects, and global variables are accessible."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Upgrade directly to version 1.7.1, which includes the fix for this issue:"}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"pip install langflow==",props:{style:{color:"#A5D6FF"}}},{content:"1.7.1",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-2",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Support for streamable HTTP transport for MCP clients and servers"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow now supports ",(0,r.jsx)(n.a,{href:"https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",children:"streamable HTTP transport"})," for both MCP clients and servers.\nWhen using Langflow as an ",(0,r.jsx)(n.a,{href:"/mcp-client",children:"MCP client"}),", you can connect to MCP servers with streamable HTTP transport.\nWhen using Langflow as an ",(0,r.jsx)(n.a,{href:"/mcp-server",children:"MCP server"}),", clients can connect using streamable HTTP transport.\nSSE transport is still supported as a fallback for backwards compatibility."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Webhook authentication"}),"\n",(0,r.jsxs)(n.p,{children:["Added the ",(0,r.jsx)(n.code,{children:"LANGFLOW_WEBHOOK_AUTH_ENABLE"})," environment variable for authenticating requests to the ",(0,r.jsxs)(n.a,{href:"/api-flows-run#webhook-run-flow",children:[(0,r.jsx)(n.code,{children:"/webhook"})," endpoint"]}),". When ",(0,r.jsx)(n.code,{children:"LANGFLOW_WEBHOOK_AUTH_ENABLE=TRUE"}),", webhook endpoints require API key authentication and validate that the authenticated user owns the flow being executed. When ",(0,r.jsx)(n.code,{children:"FALSE"}),", no Langflow API key is required and all requests to the webhook endpoint are treated as being sent by the flow owner. For more information, see ",(0,r.jsx)(n.a,{href:"/webhook",children:"Trigger flows with webhooks"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Configurable API key validation"}),"\n",(0,r.jsxs)(n.p,{children:["Added the ",(0,r.jsx)(n.code,{children:"LANGFLOW_API_KEY_SOURCE"})," environment variable to control how Langflow validates API keys. When set to ",(0,r.jsx)(n.code,{children:"db"}),", Langflow validates API keys against keys stored in the database. When set to ",(0,r.jsx)(n.code,{children:"env"}),", Langflow validates API keys against the ",(0,r.jsx)(n.code,{children:"LANGFLOW_API_KEY"})," environment variable. For more information, see ",(0,r.jsx)(n.a,{href:"/api-keys-and-authentication#langflow-api-key-source",children:"API keys and authentication"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"SSRF protection"}),"\n",(0,r.jsxs)(n.p,{children:["Added SSRF (Server-Side Request Forgery) protection to the ",(0,r.jsxs)(n.a,{href:"/api-request",children:[(0,r.jsx)(n.strong,{children:"API Request"})," component"]}),". HTTP redirects are disabled by default to prevent SSRF bypass attacks. To enable SSRF protection, set ",(0,r.jsx)(n.code,{children:"LANGFLOW_SSRF_PROTECTION_ENABLED=TRUE"}),". Configure allowed hosts with ",(0,r.jsx)(n.code,{children:"LANGFLOW_SSRF_ALLOWED_HOSTS"}),". Flows that relied on automatic redirects will need to enable it manually."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Email registration in Langflow Desktop"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow Desktop now includes an email registration screen at startup. The registered email address helps track user registrations and understand the user base. For more information, see ",(0,r.jsx)(n.a,{href:"/contributing-telemetry#email",children:"Telemetry"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Changes to read/write file components"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Save File"})," component was renamed to ",(0,r.jsx)(n.strong,{children:"Write File"}),", and it can now save to S3 and Google Drive.\nThe ",(0,r.jsx)(n.strong,{children:"File"})," component was renamed to ",(0,r.jsx)(n.strong,{children:"Read File"}),", and it can now read from AWS S3 and Google Drive.\nBoth components support ",(0,r.jsx)(n.strong,{children:"Tool Mode"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"New integrations, bundles, and components:"}),"\n",(0,r.jsxs)(n.p,{children:["New filter operator for ",(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," component"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/dataframe-operations",children:[(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," component"]})," now includes a ",(0,r.jsx)(n.code,{children:"not contains"})," filter operator.\nUse it to clean data by extracting only records that ",(0,r.jsx)(n.em,{children:"don't"})," contain specific values.\nFor example, you can filter out invalid email addresses that don't contain ",(0,r.jsx)(n.code,{children:"@"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["New JSON operations for ",(0,r.jsx)(n.strong,{children:"Data Operations"})," component"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/data-operations",children:[(0,r.jsx)(n.strong,{children:"Data Operations"})," component"]})," now includes two operations for advanced JSON data manipulation.\nThe ",(0,r.jsx)(n.strong,{children:"Path Selection"})," operation extracts values from nested JSON structures, and the ",(0,r.jsx)(n.strong,{children:"JQ Expression"})," operation uses the ",(0,r.jsx)(n.a,{href:"https://jqlang.org/",children:(0,r.jsx)(n.code,{children:"jq"})})," query language to perform advanced JSON filtering, projections, and transformations."]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/smart-router",children:[(0,r.jsx)(n.strong,{children:"Smart Router"})," component"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/mock-data",children:[(0,r.jsx)(n.strong,{children:"Mock Data"})," component"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/dynamic-create-data",children:[(0,r.jsx)(n.strong,{children:"Dynamic Create Data"})," component"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-altk",children:[(0,r.jsx)(n.strong,{children:"ALTK"})," bundle"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-cometapi",children:[(0,r.jsx)(n.strong,{children:"CometAPI"})," bundle"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-cuga",children:[(0,r.jsx)(n.strong,{children:"CUGA"})," bundle"]})]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"LLM Router"})," component is now called the ",(0,r.jsxs)(n.a,{href:"/llm-selector",children:[(0,r.jsx)(n.strong,{children:"LLM Selector"})," component"]}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/web-search",children:[(0,r.jsx)(n.strong,{children:"Web Search"})," component"]})," now consolidates Web Search, News Search, and RSS Reader into a single component with tabs for different search modes. You can search the web using DuckDuckGo, search Google News, or read RSS feeds\u2014all from one component. The separate ",(0,r.jsx)(n.strong,{children:"News Search"})," and ",(0,r.jsx)(n.strong,{children:"RSS Reader"})," components have been removed."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"160",children:"1.6.0"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"env-file-bug",children:"Known issue, potential security vulnerability: .env file not loaded in versions 1.6.0 through 1.6.3"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow versions 1.6.0 through 1.6.3 have a critical bug where environment variables from ",(0,r.jsx)(n.code,{children:".env"})," files aren't read.\nThis affects all deployments using environment variables for configuration, including security settings."]}),"\n",(0,r.jsxs)(n.admonition,{title:"Potential security vulnerability",type:"warning",children:[(0,r.jsxs)(n.p,{children:["If your ",(0,r.jsx)(n.code,{children:".env"})," file includes ",(0,r.jsx)(n.code,{children:"AUTO_LOGIN=false"}),", upgrading to the impacted versions causes Langflow to fall back to default settings, potentially giving all users superuser access immediately upon upgrade.\nAdditionally, database credentials, API keys, and other sensitive configurations can't be loaded from ",(0,r.jsx)(n.code,{children:".env"})," files."]}),(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Don't"})," upgrade to any Langflow version from 1.6.0 through 1.6.3 if you use ",(0,r.jsx)(n.code,{children:".env"})," files for configuration.\nInstead, upgrade to 1.6.4, which includes a fix for this bug."]})]}),"\n",(0,r.jsx)(n.h3,{id:"windows-desktop-update-issue",children:"Known issue: Don't auto-upgrade Windows Desktop"}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Windows users of Langflow Desktop should ",(0,r.jsx)(n.strong,{children:"not"})," use the in-app update feature to upgrade to Langflow version 1.6.0.\nOnly Windows Desktop users upgrading to Langflow version 1.6.0 are affected."]})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Update"})," button in Langflow Desktop will not work for Windows users, and may result in data loss."]}),"\n",(0,r.jsxs)(n.p,{children:["Instead, download a fresh installation from the ",(0,r.jsx)(n.a,{href:"https://langflow.org",children:"Langflow website"})," when a new version is available."]}),"\n",(0,r.jsx)(n.p,{children:"Follow the instructions below to minimize the risk of losing flows."}),"\n",(0,r.jsxs)(n.p,{children:["These instructions assume the default path for the Langflow database of ",(0,r.jsx)(n.code,{children:"C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\com.langflow\\data\\database.db"})," or ",(0,r.jsx)(n.code,{children:"C:\\Users\\%YOUR_USERNAME%\\AppData\\Roaming\\com.langflow\\data\\database.db"}),". Replace ",(0,r.jsx)(n.code,{children:"YOUR_USERNAME"})," with your Windows username."]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Ensure you have Administrator privileges."}),"\n",(0,r.jsx)(n.li,{children:"Ensure you have enough disk space for a second installation of Langflow."}),"\n",(0,r.jsx)(n.li,{children:"Close Langflow, and ensure no Langflow process is running in Task Manager."}),"\n",(0,r.jsxs)(n.li,{children:["The Langflow 1.6.0 installer automatically performs a database backup in a later step, but an additional manual backup provides additional redundancy and is recommended.\nTo manually back up your Langflow database file, do the following:","\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["In Windows Explorer, navigate to ",(0,r.jsx)(n.code,{children:"C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\com.langflow\\data\\"}),". Replace ",(0,r.jsx)(n.code,{children:"YOUR_USERNAME"})," with your Windows username."]}),"\n",(0,r.jsxs)(n.li,{children:["Copy the ",(0,r.jsx)(n.code,{children:"database.db"})," at this location, and paste it to a safe location."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Download the Windows installer from the ",(0,r.jsx)(n.a,{href:"https://langflow.org",children:"Langflow website"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Run the Windows installer as an Administrator. To run the installer as an Administrator, right-click the executable and select ",(0,r.jsx)(n.strong,{children:"Run as administrator"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Follow the Windows installer's guided steps.\nThe Langflow 1.6.0 installer automatically performs a database backup.\nThese steps install Langflow from scratch, and result in two Langflow installations: the previously installed version, and version 1.6.0.\nThis is expected behavior."}),"\n",(0,r.jsx)(n.li,{children:"Start version 1.6.0 of Langflow, and confirm your flows behave as expected."}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"If flows are missing"}),", restore your flows from your manual backup by doing the following:","\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Close Langflow."}),"\n",(0,r.jsxs)(n.li,{children:["Navigate to your backup location, and copy the ",(0,r.jsx)(n.code,{children:"database.db"})," file."]}),"\n",(0,r.jsxs)(n.li,{children:["Replace the database file in the new installation's ",(0,r.jsx)(n.code,{children:"data"})," directory."]}),"\n",(0,r.jsx)(n.li,{children:"Start Langflow, and confirm your flows behave as expected."}),"\n",(0,r.jsx)(n.li,{children:"After confirmation, uninstall the previous version of Langflow, and keep version 1.6.0."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"breaking-changes-1",children:"Breaking changes"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Authentication enforced for Langflow API requests by default"}),"\n",(0,r.jsxs)(n.p,{children:["In Langflow version 1.6, ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=True"})," and ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN=False"})," by default.\nThis enforces authentication for Langflow API requests while still automatically authenticating all users as superusers in the visual editor."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsxs)(n.strong,{children:["This is a breaking change from 1.5 where both of these environment variables were ",(0,r.jsx)(n.code,{children:"true"})," by default, bypassing all authentication."]})}),"\n",(0,r.jsxs)(n.p,{children:["For temporary backwards compatibility, you can revert to the earlier unauthenticated behavior by setting both variables to ",(0,r.jsx)(n.code,{children:"true"}),".\nHowever, a future release will set ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=False"})," and remove ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN"}),".\nAt that point, Langflow will strictly enforce API key authentication for API requests, and you can manually disable authentication for some features, like the visual editor, by setting ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=True"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["For more information, see the documentation for ",(0,r.jsx)(n.a,{href:"/api-keys-and-authentication#langflow-auto-login",children:(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-3",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"OpenAI Responses API compatibility"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow now includes an endpoint that is compatible with the ",(0,r.jsx)(n.a,{href:"https://platform.openai.com/docs/api-reference/responses",children:"OpenAI Responses API"})," at ",(0,r.jsx)(n.code,{children:"POST /api/v1/responses"}),".\nThis allows you to use existing OpenAI client libraries with minimal code changes by replacing the ",(0,r.jsx)(n.code,{children:"model"})," name with your ",(0,r.jsx)(n.code,{children:"flow_id"}),".\nThe endpoint supports streaming responses, conversation continuity, tool call results, and global variable passing through headers.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/api-openai-responses",children:"OpenAI Responses API"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Advanced document parsing with built-in Docling support"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Read File"})," component supports advanced parsing with the Docling library."]}),"\n",(0,r.jsxs)(n.p,{children:["To make it easier to use the ",(0,r.jsxs)(n.a,{href:"/bundles-docling",children:[(0,r.jsx)(n.strong,{children:"Docling"})," components"]})," and the ",(0,r.jsx)(n.strong,{children:"Read File"})," component's new advanced parsing feature, the Docling dependency is now included with Langflow for all operating systems except macOS Intel (x86_64)."]}),"\n",(0,r.jsxs)(n.p,{children:["For more information, see ",(0,r.jsx)(n.a,{href:"/read-file#advanced-parsing",children:"Advanced parsing"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Reorganized component menus and visual editor controls"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.a,{href:"/concepts-overview#workspace",children:"workspace"})," sidebar is divided into separate sections for ",(0,r.jsx)(l.A,{name:"Search","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Search"}),", ",(0,r.jsx)(l.A,{name:"Component","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Core components"}),", ",(0,r.jsx)(a.A,{})," ",(0,r.jsx)(n.a,{href:"/mcp-server",children:(0,r.jsx)(n.strong,{children:"MCP servers"})}),", ",(0,r.jsx)(l.A,{name:"Blocks","aria-hidden":"true"})," ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})}),", and ",(0,r.jsx)(l.A,{name:"StickyNote","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Add Note"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Lock/unlock controls moved to flow details in ",(0,r.jsx)(n.a,{href:"/concepts-flows#projects",children:(0,r.jsx)(n.strong,{children:"Projects"})}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Zoom and help controls moved to the lower-right corner of the workspace."}),"\n",(0,r.jsxs)(n.li,{children:["Vector store components moved to provider-specific ",(0,r.jsx)(l.A,{name:"Blocks","aria-hidden":"true"})," ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Serper Google Search API"})," component moved to the ",(0,r.jsx)(n.strong,{children:"Serper"})," bundle"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Increased the default maximum file upload size from ",(0,r.jsx)(n.code,{children:"100 MB"})," to ",(0,r.jsx)(n.code,{children:"1024 MB"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"New integrations and bundles:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/integrations-instana-traceloop",children:"Traceloop"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/bundles-cohere",children:"Cohere Rerank"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/bundles-amazon",children:"S3 Bucket Uploader"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/bundles-composio",children:"Composio single-service components"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"deprecations",children:"Deprecations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.strong,{children:"Local DB"})," component is now in legacy status.\nReplace this component with the ",(0,r.jsxs)(n.a,{href:"/bundles-chroma",children:[(0,r.jsx)(n.strong,{children:"Chroma DB"})," component"]}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"150",children:"1.5.0"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-4",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Langflow API requests can require authentication"}),"\n",(0,r.jsxs)(n.p,{children:["To enhance security and ensure proper authentication for automatic login features, Langflow API endpoints now require authentication with a Langflow API key, even when ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=True"}),".\nThis change will be enforced in a future release.\nFor temporary backwards compatibility, this release adds the ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN"})," environment variable.\nThe default value is ",(0,r.jsx)(n.code,{children:"true"}),", which disables API authentication enforcement.\nTo enforce API authentication, set ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN=False"}),".\nFor more information, see the documentation for ",(0,r.jsx)(n.a,{href:"/api-keys-and-authentication#langflow-auto-login",children:(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Centralized ",(0,r.jsx)(n.strong,{children:"Language Model"})," and ",(0,r.jsx)(n.strong,{children:"Embedding Model"})," components"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/components-models",children:[(0,r.jsx)(n.strong,{children:"Language Model"})," component"]})," and ",(0,r.jsxs)(n.a,{href:"/components-embedding-models",children:[(0,r.jsx)(n.strong,{children:"Embedding Model"})," component"]})," are now core components for your LLM and embeddings flows. They support multiple models and model providers, and allow you to experiment with different models without swapping out single-provider components.\nFind them in the visual editor in the ",(0,r.jsx)(n.strong,{children:"Models"})," category."]}),"\n",(0,r.jsxs)(n.p,{children:["The single-provider components moved to the ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})})," section.\nYou can use them to replace the ",(0,r.jsx)(n.strong,{children:"Language Model"})," and ",(0,r.jsx)(n.strong,{children:"Embedding Model"})," core components, or connect them to the ",(0,r.jsx)(n.strong,{children:"Agent"})," component with the ",(0,r.jsx)(n.strong,{children:"Connect other models"})," provider option."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"MCP server one-click installation"}),"\n",(0,r.jsxs)(n.p,{children:["On your Langflow project's ",(0,r.jsx)(n.strong,{children:"MCP server"})," page, click ",(0,r.jsx)(n.strong,{children:"Auto install"})," to install your Langflow MCP server to MCP clients with just one click.\nThe option to install with a JSON configuration file is available for macOS, Windows, and WSL.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/mcp-server",children:"Use Langflow as an MCP server"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"MCP server management"}),"\n",(0,r.jsxs)(n.p,{children:["You can now add, remove, and edit your MCP servers in the ",(0,r.jsx)(n.strong,{children:"MCP Tools"})," components and through your Langflow ",(0,r.jsx)(n.strong,{children:"Settings"})," page.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/mcp-client",children:"Use Langflow as an MCP client"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Input schema replaces temporary overrides"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Input schema"})," pane replaces the need to manage tweak values in the ",(0,r.jsx)(n.strong,{children:"API access"})," pane. When you enable a parameter in the ",(0,r.jsx)(n.strong,{children:"Input schema"})," pane, the parameter is automatically added to your flow's code snippets, providing ready-to-use templates for making requests in your preferred programming language."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Tools components are redistributed"}),"\n",(0,r.jsxs)(n.p,{children:["All components in the ",(0,r.jsx)(n.strong,{children:"Tools"})," category were moved to other component categories, such as ",(0,r.jsx)(n.strong,{children:"Helpers"})," and ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})}),", or marked as legacy."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/mcp-client",children:[(0,r.jsx)(n.strong,{children:"MCP Tools"})," component"]})," is now under the ",(0,r.jsx)(n.strong,{children:"Agents"})," category."]}),"\n",(0,r.jsxs)(n.p,{children:["Tools that performed the same function were combined into single components that support multiple providers, such as the ",(0,r.jsxs)(n.a,{href:"/web-search",children:[(0,r.jsx)(n.strong,{children:"Web Search"})," component"]})," and the ",(0,r.jsx)(n.strong,{children:"News Search"})," component."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Stability improvements"}),"\n",(0,r.jsxs)(n.p,{children:["General stability improvements and bug fixes for enhanced reliability.\nSee an issue? ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/issues",children:"Raise it on GitHub"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"New integrations and bundles"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsxs)(n.a,{href:"/bundles-cleanlab",children:[(0,r.jsx)(n.strong,{children:"Cleanlab"})," bundle"]})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"142",children:"1.4.2"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-5",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Enhanced file and flow management system with improved bulk capabilities."}),"\n",(0,r.jsxs)(n.li,{children:["Added the ",(0,r.jsx)(n.strong,{children:"BigQuery"})," component"]}),"\n",(0,r.jsxs)(n.li,{children:["Added the ",(0,r.jsx)(n.strong,{children:"Twelve Labs"})," bundle"]}),"\n",(0,r.jsxs)(n.li,{children:["Added the ",(0,r.jsx)(n.strong,{children:"NVIDIA System-Assist"})," component"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"deprecations-1",children:"Deprecations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Deprecated the ",(0,r.jsx)(n.strong,{children:"Combine Text"})," component."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"141",children:"1.4.1"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-6",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Added an enhanced ",(0,r.jsx)(n.strong,{children:"Breaking Changes"})," feature to help update components without breaking flows after updating Langflow."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"140",children:"1.4.0"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-7",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Introduced MCP server functionality to serve Langflow tools to MCP-compatible clients."}),"\n",(0,r.jsxs)(n.li,{children:["Renamed ",(0,r.jsx)(n.strong,{children:"Folders"})," to ",(0,r.jsx)(n.strong,{children:"Projects"})," in the visual editor."]}),"\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.code,{children:"/folders"})," endpoints now redirect to ",(0,r.jsx)(n.code,{children:"/projects"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"deprecations-2",children:"Deprecations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Deprecated the ",(0,r.jsx)(n.strong,{children:"Gmail"}),", ",(0,r.jsx)(n.strong,{children:"Google Drive"}),", and ",(0,r.jsx)(n.strong,{children:"Google Search"})," components.\nFor alternatives, see the ",(0,r.jsxs)(n.a,{href:"/bundles-google",children:[(0,r.jsx)(n.strong,{children:"Google"})," bundle"]}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"earlier-releases",children:"Earlier releases"}),"\n",(0,r.jsxs)(n.p,{children:["See the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]})]})}function x(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}function j(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},45783:(e,n,s)=>{s.d(n,{A:()=>l});var o,r,i=s(96540);function t(){return t=Object.assign?Object.assign.bind():function(e){for(var n=1;ni.createElement("svg",t({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16","aria-labelledby":n},s),e?i.createElement("title",{id:n},e):null,o||(o=i.createElement("g",{fill:"currentColor",clipPath:"url(#a)"},i.createElement("path",{d:"M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"}),i.createElement("path",{d:"M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"}))),r||(r=i.createElement("defs",null,i.createElement("clipPath",{id:"a"},i.createElement("path",{fill:"#fff",d:"M0 0h16v16H0z"})))))}}]);
\ No newline at end of file
diff --git a/assets/js/83231553.f32556a8.js b/assets/js/83231553.f32556a8.js
deleted file mode 100644
index b373ef7b18..0000000000
--- a/assets/js/83231553.f32556a8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[31111],{20070:(e,n,s)=>{s.r(n),s.d(n,{CH:()=>p,assets:()=>h,chCodeConfig:()=>g,contentTitle:()=>d,default:()=>f,frontMatter:()=>c,metadata:()=>o,toc:()=>u});const o=JSON.parse('{"id":"Support/release-notes","title":"Langflow release notes","description":"This page summarizes significant changes to Langflow in each release.","source":"@site/versioned_docs/version-1.9.0/Support/release-notes.mdx","sourceDirName":"Support","slug":"/release-notes","permalink":"/release-notes","draft":false,"unlisted":false,"tags":[],"version":"1.9.0","frontMatter":{"title":"Langflow release notes","slug":"/release-notes"},"sidebar":"docs","previous":{"title":"IBM Elite Support for Langflow","permalink":"/luna-for-langflow"}}');var r=s(74848),i=s(28453),t=s(24754),l=s(52307),a=s(45783);const c={title:"Langflow release notes",slug:"/release-notes"},d=void 0,h={},p={annotations:t.hk,Code:t.Cy},g={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},u=[{value:"Prepare to upgrade",id:"prepare-to-upgrade",level:2},{value:"1.9.x",id:"19x",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements",level:3},{value:"1.8.x",id:"18x",level:2},{value:"Breaking changes",id:"breaking-changes",level:3},{value:"New features and enhancements",id:"new-features-and-enhancements-1",level:3},{value:"1.7.x",id:"17x",level:2},{value:"Known issue: Data not accessible when upgrading to version 1.7.0",id:"v170-data-path",level:3},{value:"New features and enhancements",id:"new-features-and-enhancements-2",level:3},{value:"1.6.0",id:"160",level:2},{value:"Known issue, potential security vulnerability: .env file not loaded in versions 1.6.0 through 1.6.3",id:"env-file-bug",level:3},{value:"Known issue: Don't auto-upgrade Windows Desktop",id:"windows-desktop-update-issue",level:3},{value:"Breaking changes",id:"breaking-changes-1",level:3},{value:"New features and enhancements",id:"new-features-and-enhancements-3",level:3},{value:"Deprecations",id:"deprecations",level:3},{value:"1.5.0",id:"150",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-4",level:3},{value:"1.4.2",id:"142",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-5",level:3},{value:"Deprecations",id:"deprecations-1",level:3},{value:"1.4.1",id:"141",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-6",level:3},{value:"1.4.0",id:"140",level:2},{value:"New features and enhancements",id:"new-features-and-enhancements-7",level:3},{value:"Deprecations",id:"deprecations-2",level:3},{value:"Earlier releases",id:"earlier-releases",level:2}];function x(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return p||j("CH",!1),p.Code||j("CH.Code",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.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,r.jsxs)(n.p,{children:["This page summarizes significant changes to Langflow in each release.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases/latest",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Due to strict SemVer requirements, Langflow Desktop can have different patch versions than the core Langflow OSS Python package, but the major and minor versions are aligned."}),"\n",(0,r.jsx)(n.h2,{id:"prepare-to-upgrade",children:"Prepare to upgrade"}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Whenever possible, the Langflow team recommends installing new Langflow versions in a new virtual environment or VM before upgrading your primary installation.\nThis allows you to ",(0,r.jsx)(n.a,{href:"/concepts-flows-import#import-a-flow",children:"import flows"})," from your existing installation and test them in the new version without disrupting your existing installation.\nIn the event of breaking changes or bugs, your existing installation is preserved in a stable state.\nIf you are upgrading Windows Desktop to 1.6.0, don't auto-upgrade with the in-app ",(0,r.jsx)(n.strong,{children:"Update"})," button. Instead, follow the instructions in ",(0,r.jsx)(n.a,{href:"#windows-desktop-update-issue",children:"Known issue: Don't auto-upgrade Windows Desktop"}),"."]})}),"\n",(0,r.jsx)(n.p,{children:"To avoid the impact of potential breaking changes and test new versions, the Langflow team recommends the following upgrade process:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Recommended: ",(0,r.jsx)(n.a,{href:"/api-projects#export-a-project",children:"Export your projects"})," to create backups of your flows:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:'"',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_SERVER_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/projects/download/",props:{style:{color:"#A5D6FF"}}},{content:"$PROJECT_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"x-api-key: ',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,r.jsxs)(n.p,{children:["To export flows from the visual editor, see ",(0,r.jsx)(n.a,{href:"/concepts-flows-import",children:"Import and export flows"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Install the new version:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Langflow OSS Python package"}),": Install the new version in a new virtual environment. For instructions, see ",(0,r.jsx)(n.a,{href:"/get-started-installation#install-and-run-the-langflow-oss-python-package",children:"Install and run the Langflow OSS Python package"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Langflow Docker image"}),": Run the new image in a separate container."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Langflow Desktop"}),": To upgrade in place, open Langflow Desktop, and then click ",(0,r.jsx)(n.strong,{children:"Upgrade Available"})," in the Langflow header. If you want to isolate the new version, you must install Langflow Desktop on a separate physical or virtual machine, and then ",(0,r.jsx)(n.a,{href:"/concepts-flows-import",children:"import your flows"})," to the new installation."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/concepts-flows-import",children:"Import your flows"})," to test them in the new version, ",(0,r.jsx)(n.a,{href:"/concepts-components#component-versions",children:"upgrading components"})," as needed."]}),"\n",(0,r.jsxs)(n.p,{children:["When upgrading components, you can use the ",(0,r.jsx)(n.strong,{children:"Create backup flow before updating"})," option if you didn't previously export your flows."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"If you installed the new version in isolation, upgrade your primary installation after testing the new version."}),"\n",(0,r.jsx)(n.p,{children:"If you made changes to your flows in the isolated installation, you might want to export and import those flows back to your upgraded primary installation so you don't have to repeat the component upgrade process."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"19x",children:"1.9.x"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Langflow MCP client for Bob (IBM) and Claude Code"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Settings"})," page now includes ",(0,r.jsx)(l.A,{name:"Terminal","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Langflow MCP Client"}),", with instructions to connect ",(0,r.jsx)(n.strong,{children:"Bob (IBM)"})," and ",(0,r.jsx)(n.strong,{children:"Claude Code"})," to your Langflow instance.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/langflow-mcp-client",children:"Langflow MCP client"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"MCP Tools: register servers first, and then add from the MCP sidebar"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"MCP Tools"})," is no longer added from the ",(0,r.jsx)(n.strong,{children:"Agents"})," component list. Register each MCP server under ",(0,r.jsx)(n.strong,{children:"Settings"})," > *",(0,r.jsx)(n.em,{children:"MCP Servers"}),", or from the flow editor ",(0,r.jsx)(a.A,{})," ",(0,r.jsx)(n.strong,{children:"MCP"})," sidebar.\nEach saved server appears as a unique ",(0,r.jsx)(n.strong,{children:"MCP Tools"})," component that can be dragged to the canvas.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/mcp-client#use-the-mcp-tools-component",children:"Use Langflow as an MCP client"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Flow DevOps Toolkit SDK"}),"\n",(0,r.jsxs)(n.p,{children:["Use the Flow DevOps Toolkit SDK to manage local and remote flows with Git-style terminal commands.\nFor more information, see the ",(0,r.jsx)(n.a,{href:"/flow-devops-sdk",children:"Langflow Flow DevOps Toolkit SDK"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Renamed ",(0,r.jsx)(n.code,{children:"Data"})," and ",(0,r.jsx)(n.code,{children:"DataFrame"})," types"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"Data"})," object is now named ",(0,r.jsx)(n.code,{children:"JSON"}),", and the ",(0,r.jsx)(n.code,{children:"DataFrame"})," object is now named ",(0,r.jsx)(n.code,{children:"Table"}),".\nFlows using ",(0,r.jsx)(n.code,{children:"Data"})," or ",(0,r.jsx)(n.code,{children:"DataFrame"})," are backwards compatible.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/data-types",children:"Langflow data types"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Renamed ",(0,r.jsx)(n.strong,{children:"Data Operations"})," and ",(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," components"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Data Operations"})," component is now the ",(0,r.jsxs)(n.a,{href:"/data-operations",children:[(0,r.jsx)(n.strong,{children:"JSON Operations"})," component"]}),", and the ",(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," component is now the ",(0,r.jsxs)(n.a,{href:"/dataframe-operations",children:[(0,r.jsx)(n.strong,{children:"Table Operations"})," component"]}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Flow version history in the visual editor"}),"\n",(0,r.jsxs)(n.p,{children:["You can now save point-in-time versions of a flow from ",(0,r.jsx)(n.strong,{children:"Version History"}),", preview saved versions in read-only mode, and restore an earlier version to your working draft.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/concepts-flows#save-and-restore-flow-versions",children:"Build flows"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Enabled tool calling for Gemini 3 preview models"}),"\n",(0,r.jsxs)(n.p,{children:["Tool calling is enabled for the following Google Gemini 3 preview models:\n",(0,r.jsx)(n.code,{children:"gemini-3.1-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-flash-preview"}),", and ",(0,r.jsx)(n.code,{children:"gemini-3-pro-image-preview"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Build components with ",(0,r.jsx)(n.strong,{children:"Langflow Assistant"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Langflow Assistant"})," is a graph-aware co-pilot that can create components from natural language prompts, directly within the Langflow workspace.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/langflow-assistant",children:"Langflow Assistant"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Vulnerability reporting now uses HackerOne"}),"\n",(0,r.jsxs)(n.p,{children:["Security reports should now be filed through ",(0,r.jsx)(n.a,{href:"https://hackerone.com/ibm",children:"IBM's HackerOne program"}),".\nPlease do not report security vulnerabilities through public GitHub issues or GitHub security advisories.\nFor the full policy and what to include in a report, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/SECURITY.md",children:"Langflow Security Policy"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Disable custom components"}),"\n",(0,r.jsxs)(n.p,{children:["Set ",(0,r.jsx)(n.code,{children:"LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false"})," to disable custom components and in-editor editing of component code.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/deployment-block-custom-components",children:"Block custom components"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Deploy flows to watsonx Orchestrate (beta)"}),"\n",(0,r.jsxs)(n.p,{children:["In Langflow 1.9.1, Langflow flows can now be published to IBM watsonx Orchestrate as tools that a watsonx Orchestrate agent can call.\nThis workflow packages a selected flow version for use in IBM watsonx Orchestrate.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/deployment-wxo",children:"Deploy Langflow on watsonx Orchestrate"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Policies"})," component (beta)"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Policies"})," component uses ",(0,r.jsx)(n.a,{href:"https://github.com/AgentToolkit/toolguard",children:"ToolGuard"})," to generate guard code from natural-language business policies and apply it to agent tools.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/policies",children:"Policies (Beta)"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"18x",children:"1.8.x"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"breaking-changes",children:"Breaking changes"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"langflow-base"})," dependency structure refactored"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"langflow-base"})," package now uses granular optional dependency groups. As a result, many dependencies that were previously included in the ",(0,r.jsx)(n.code,{children:"langflow-base"})," installation were moved to optional extras."]}),"\n",(0,r.jsxs)(n.p,{children:["If you installed Langflow with ",(0,r.jsx)(n.code,{children:"uv pip install langflow"}),", this isn't a breaking change. Installing ",(0,r.jsx)(n.code,{children:"langflow"})," automatically installs ",(0,r.jsx)(n.code,{children:"langflow-base[complete]"}),", which includes all optional dependencies and maintains the same functionality as before."]}),"\n",(0,r.jsxs)(n.p,{children:["However, if you installed Langflow with ",(0,r.jsx)(n.code,{children:"uv pip install langflow-base"})," without specifying extra dependencies, this ",(0,r.jsx)(n.em,{children:"is"})," a breaking change.\nSome dependencies that were previously included by default are now available only through optional extras.\nTherefore, installing ",(0,r.jsx)(n.code,{children:"langflow-base"})," directly only installs the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/src/backend/base/pyproject.toml",children:"core base dependencies"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["If you installed ",(0,r.jsx)(n.code,{children:"langflow-base"}),", there are two ways to resolve dependency errors that result from this breaking change:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["If you need the full set of dependencies, you must install ",(0,r.jsx)(n.code,{children:"langflow-base"})," with the ",(0,r.jsx)(n.code,{children:"complete"})," extra:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:'pip install "langflow-base[complete]"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["If you need specific dependencies, you must install ",(0,r.jsx)(n.code,{children:"langflow-base"})," with those optional dependency groups. For example:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:'pip install "langflow-base[postgresql,openai,chroma]"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For more information about available optional dependency groups, see ",(0,r.jsxs)(n.a,{href:"/install-custom-dependencies#install-optional-dependency-groups-for-langflow-base",children:["Install optional dependency groups for ",(0,r.jsx)(n.code,{children:"langflow-base"})]}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Docker image does not include ",(0,r.jsx)(n.code,{children:"uv"})," or ",(0,r.jsx)(n.code,{children:"uvx"})]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["Starting with Langflow 1.8.1, the official Docker images include ",(0,r.jsx)(n.code,{children:"uv"})," and ",(0,r.jsx)(n.code,{children:"uvx"})," again.\nIf you're using Langflow 1.8.0, follow the steps in this release note to add ",(0,r.jsx)(n.code,{children:"uv"})," and ",(0,r.jsx)(n.code,{children:"uvx"})," in a derived image."]})}),"\n",(0,r.jsxs)(n.p,{children:["In Langflow 1.8.0, the Langflow Docker image does not include ",(0,r.jsx)(n.code,{children:"uv"})," or ",(0,r.jsx)(n.code,{children:"uvx"})," in the runtime image.\nThis means that MCP server configurations, including the default Langflow MCP server, that rely on commands like ",(0,r.jsx)(n.code,{children:"uvx mcp-proxy"})," will fail inside the container with a ",(0,r.jsx)(n.code,{children:"command not found"})," error."]}),"\n",(0,r.jsxs)(n.p,{children:["If you use MCP from within a Langflow 1.8.0 Docker image, you must install ",(0,r.jsx)(n.code,{children:"uv"})," in an image derived from the official ",(0,r.jsx)(n.code,{children:"langflowai/langflow"})," image."]}),"\n",(0,r.jsxs)(n.p,{children:["To install ",(0,r.jsx)(n.code,{children:"uv"})," and ",(0,r.jsx)(n.code,{children:"uvx"})," in a derived image based on the official ",(0,r.jsx)(n.code,{children:"langflowai/langflow"})," image, do the following:"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Create a ",(0,r.jsx)(n.code,{children:"Dockerfile"})," in your project."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Use the official Langflow image as the base and install ",(0,r.jsx)(n.code,{children:"uv"})," into the existing virtual environment:"]}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"FROM",props:{style:{color:"#FF7B72"}}},{content:" langflowai/langflow:1.8.0",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"USER",props:{style:{color:"#FF7B72"}}},{content:" root",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" /app/.venv/bin/pip install uv",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"USER",props:{style:{color:"#FF7B72"}}},{content:" user",props:{style:{color:"#C9D1D9"}}}]}],lang:"dockerfile"},annotations:[]}]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Build the image."}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"build ",props:{style:{color:"#A5D6FF"}}},{content:"-t ",props:{style:{color:"#79C0FF"}}},{content:"YOUR_IMAGE_NAME .",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,r.jsxs)(n.p,{children:["Replace ",(0,r.jsx)(n.code,{children:"YOUR_IMAGE_NAME"})," with your Docker image name."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Run the new image:"}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 ",props:{style:{color:"#79C0FF"}}},{content:"YOUR_IMAGE_NAME",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For more information, see ",(0,r.jsx)(n.a,{href:"/deployment-docker#upgrade-the-langflow-docker-image",children:"Upgrade the Langflow Docker image"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Disabled tool calling for Gemini 3 preview models"}),"\n",(0,r.jsxs)(n.p,{children:["Tool calling is temporarily disabled for the following Google Gemini 3 preview models:\n",(0,r.jsx)(n.code,{children:"gemini-3.1-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-pro-preview"}),", ",(0,r.jsx)(n.code,{children:"gemini-3-flash-preview"}),", and ",(0,r.jsx)(n.code,{children:"gemini-3-pro-image-preview"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Docling installation behavior differs between Desktop and OSS"}),"\n",(0,r.jsx)(n.p,{children:"In Langflow 1.8.0, Docling behavior depends on how Langflow is installed."}),"\n",(0,r.jsxs)(n.p,{children:["For Langflow Desktop installations, you need to set ",(0,r.jsx)(n.code,{children:"LANGFLOW_DOCLING=True"})," in your ",(0,r.jsx)(n.code,{children:".env"})," file to enable Docling dependency installation. For more information, see ",(0,r.jsx)(n.a,{href:"/environment-variables#set-environment-variables-for-langflow-desktop",children:"Set environment variables for Langflow Desktop"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["For Langflow OSS installations with ",(0,r.jsx)(n.code,{children:"uv pip install langflow"}),", Docling is included with the Langflow package."]}),"\n",(0,r.jsxs)(n.p,{children:["For Langflow OSS installations with ",(0,r.jsx)(n.code,{children:"uv pip install langflow-base"}),", install Docling explicitly as an extra with ",(0,r.jsx)(n.code,{children:'uv pip install "langflow-base[docling]"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-1",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Global model provider configuration"}),"\n",(0,r.jsxs)(n.p,{children:["Model providers for language models, embedding models, and agents are now configured globally in the ",(0,r.jsx)(n.strong,{children:"Model providers"})," pane, instead of within individual components.\nFor more information, see the ",(0,r.jsx)(n.a,{href:"/components-models",children:"Language Model component"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Component inspection panel"}),"\n",(0,r.jsxs)(n.p,{children:["The component inspection panel replaces the component header menu for managing component parameters and settings.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/concepts-components#component-inspection-panel",children:"Component inspection panel"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Developer API: ",(0,r.jsx)(n.code,{children:"/workflow"})," synchronous endpoints (Beta)"]}),"\n",(0,r.jsxs)(n.p,{children:["The Developer API is part of a larger effort to improve Langflow's APIs with enhanced capabilities and better developer experience.\nThe Developer API now includes ",(0,r.jsx)(n.code,{children:"/v2/workflow"})," endpoints for executing flows with enhanced error handling, timeout protection, and structured responses.\nThe synchronous execution endpoint is available at ",(0,r.jsx)(n.code,{children:"POST /api/v2/workflows"}),".\nFor more information, see ",(0,r.jsx)(n.a,{href:"/workflow-api",children:"Workflow API (Beta)"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Traces and trace view"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow now records execution traces for flows and components.\nView your traces in the ",(0,r.jsx)(n.strong,{children:"Trace Details"})," pane, and inspect span trees, latencies, and errors.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/traces",children:"Traces"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Knowledge bases"}),"\n",(0,r.jsxs)(n.p,{children:["Knowledge bases let you organize documents and other reference data into reusable vector databases that can be attached to multiple flows.\nThis makes it easier to centralize domain knowledge and reuse the same data across agents and retrieval workflows.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/knowledge",children:"Manage vector data"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Mustache templating support for Prompt Template component"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Prompt Template"})," component now supports Mustache templating syntax.\nMustache templating eliminates the need to escape curly braces when including JSON structures in your prompts. For more information, see ",(0,r.jsx)(n.a,{href:"/components-prompts#use-mustache-templating-in-prompt-templates",children:"Prompt Template"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"More configuration options for JWT-based session authentication"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow 1.8 offers additional configuration options for JWT algorithms, including support for RS256/RS512 algorithms, configurable keys, and token lifetimes. For more information, see ",(0,r.jsx)(n.a,{href:"/jwt-authentication",children:"JWT authentication"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Global variables in MCP server headers"}),"\n",(0,r.jsxs)(n.p,{children:["You can now use ",(0,r.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," in MCP server header values to securely store and reference sensitive values. For more information, see ",(0,r.jsx)(n.a,{href:"/mcp-client#use-global-variables-in-mcp-server-headers",children:"Use global variables in MCP server headers"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Pass environment variables to flows in API headers and CLI"}),"\n",(0,r.jsxs)(n.p,{children:["The ability to pass environment variables in HTTP headers (previously available for the ",(0,r.jsxs)(n.a,{href:"/api-openai-responses#global-var",children:[(0,r.jsx)(n.code,{children:"/responses"})," endpoint"]}),") is now also available for the ",(0,r.jsxs)(n.a,{href:"/api-flows-run#pass-global-variables-in-headers",children:[(0,r.jsx)(n.code,{children:"/run"})," endpoint"]}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Guardrails component"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Guardrails"})," component validates input text against security and safety guardrails by using a connected language model to check for content such as PII, tokens/passwords, or offensive content. For more information, see ",(0,r.jsx)(n.a,{href:"/guardrails",children:"Guardrails"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Token usage tracking for OpenAI Responses API"}),"\n",(0,r.jsxs)(n.p,{children:["The OpenAI Responses API endpoint now tracks and returns token usage statistics when your flow uses language model APIs that provide token usage information.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/api-openai-responses#token-usage-tracking",children:"Token usage tracking"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Docker AMD vs ARM image sizes"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow 1.8.0 addresses the AMD vs ARM Docker image size gap.\nWe reconfigured our Python dependencies to use CPU-only PyTorch wheels through ",(0,r.jsx)(n.code,{children:"uv"})," sources, which removes large CUDA-related dependencies from the AMD64 images.\nWith this change, both AMD64 and ARM64 images are now smaller than 2 GB."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-agentics",children:[(0,r.jsx)(n.strong,{children:"Agentics"})," bundle"]})]}),"\n",(0,r.jsx)(n.p,{children:"Uses LLMs to transform tabular data, including mapping, reducing, and generating DataFrame rows based on a defined schema."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-lite-llm",children:[(0,r.jsx)(n.strong,{children:"LiteLLM"})," bundle"]})]}),"\n",(0,r.jsx)(n.p,{children:"Connects to models through a LiteLLM proxy so you can route requests to multiple LLM providers and switch providers without changing flow credentials."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/integrations-openlayer",children:[(0,r.jsx)(n.strong,{children:"Openlayer"})," observability integration"]})]}),"\n",(0,r.jsx)(n.p,{children:"Configures Langflow to send tracing data to Openlayer for analysis, monitoring, and evaluation of your flow executions."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"17x",children:"1.7.x"}),"\n",(0,r.jsx)(n.admonition,{title:"Version yanked",type:"warning",children:(0,r.jsx)(n.p,{children:"Version 1.7.0 was yanked due to a critical bug. Version 1.7.0 has been replaced with version 1.7.1, which includes a fix for this issue."})}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"v170-data-path",children:"Known issue: Data not accessible when upgrading to version 1.7.0"}),"\n",(0,r.jsx)(n.p,{children:"A critical issue was identified during the upgrade process to version 1.7.0."}),"\n",(0,r.jsxs)(n.p,{children:["Flows, projects, and global variables are ",(0,r.jsx)(n.strong,{children:"not"})," deleted or corrupted. The data still exists, but version 1.7.0 cannot find it due to a path change in how flows are located.\nAll Langflow versions upgrading to 1.7.0 are affected."]}),"\n",(0,r.jsx)(n.p,{children:"Don't upgrade to Langflow version 1.7.0.\nInstead, upgrade directly to version 1.7.1, which includes a fix for this bug."}),"\n",(0,r.jsx)(n.p,{children:"If you installed version 1.7.0 before the fix was released, follow these steps to recover your flows:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Revert Langflow to version 1.6.9:"}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"pip install langflow==",props:{style:{color:"#A5D6FF"}}},{content:"1.6.9",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Verify that your flows, projects, and global variables are accessible."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Upgrade directly to version 1.7.1, which includes the fix for this issue:"}),"\n",(0,r.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"pip install langflow==",props:{style:{color:"#A5D6FF"}}},{content:"1.7.1",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-2",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Support for streamable HTTP transport for MCP clients and servers"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow now supports ",(0,r.jsx)(n.a,{href:"https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",children:"streamable HTTP transport"})," for both MCP clients and servers.\nWhen using Langflow as an ",(0,r.jsx)(n.a,{href:"/mcp-client",children:"MCP client"}),", you can connect to MCP servers with streamable HTTP transport.\nWhen using Langflow as an ",(0,r.jsx)(n.a,{href:"/mcp-server",children:"MCP server"}),", clients can connect using streamable HTTP transport.\nSSE transport is still supported as a fallback for backwards compatibility."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Webhook authentication"}),"\n",(0,r.jsxs)(n.p,{children:["Added the ",(0,r.jsx)(n.code,{children:"LANGFLOW_WEBHOOK_AUTH_ENABLE"})," environment variable for authenticating requests to the ",(0,r.jsxs)(n.a,{href:"/api-flows-run#webhook-run-flow",children:[(0,r.jsx)(n.code,{children:"/webhook"})," endpoint"]}),". When ",(0,r.jsx)(n.code,{children:"LANGFLOW_WEBHOOK_AUTH_ENABLE=TRUE"}),", webhook endpoints require API key authentication and validate that the authenticated user owns the flow being executed. When ",(0,r.jsx)(n.code,{children:"FALSE"}),", no Langflow API key is required and all requests to the webhook endpoint are treated as being sent by the flow owner. For more information, see ",(0,r.jsx)(n.a,{href:"/webhook",children:"Trigger flows with webhooks"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Configurable API key validation"}),"\n",(0,r.jsxs)(n.p,{children:["Added the ",(0,r.jsx)(n.code,{children:"LANGFLOW_API_KEY_SOURCE"})," environment variable to control how Langflow validates API keys. When set to ",(0,r.jsx)(n.code,{children:"db"}),", Langflow validates API keys against keys stored in the database. When set to ",(0,r.jsx)(n.code,{children:"env"}),", Langflow validates API keys against the ",(0,r.jsx)(n.code,{children:"LANGFLOW_API_KEY"})," environment variable. For more information, see ",(0,r.jsx)(n.a,{href:"/api-keys-and-authentication#langflow-api-key-source",children:"API keys and authentication"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"SSRF protection"}),"\n",(0,r.jsxs)(n.p,{children:["Added SSRF (Server-Side Request Forgery) protection to the ",(0,r.jsxs)(n.a,{href:"/api-request",children:[(0,r.jsx)(n.strong,{children:"API Request"})," component"]}),". HTTP redirects are disabled by default to prevent SSRF bypass attacks. To enable SSRF protection, set ",(0,r.jsx)(n.code,{children:"LANGFLOW_SSRF_PROTECTION_ENABLED=TRUE"}),". Configure allowed hosts with ",(0,r.jsx)(n.code,{children:"LANGFLOW_SSRF_ALLOWED_HOSTS"}),". Flows that relied on automatic redirects will need to enable it manually."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Email registration in Langflow Desktop"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow Desktop now includes an email registration screen at startup. The registered email address helps track user registrations and understand the user base. For more information, see ",(0,r.jsx)(n.a,{href:"/contributing-telemetry#email",children:"Telemetry"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Changes to read/write file components"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Save File"})," component was renamed to ",(0,r.jsx)(n.strong,{children:"Write File"}),", and it can now save to S3 and Google Drive.\nThe ",(0,r.jsx)(n.strong,{children:"File"})," component was renamed to ",(0,r.jsx)(n.strong,{children:"Read File"}),", and it can now read from AWS S3 and Google Drive.\nBoth components support ",(0,r.jsx)(n.strong,{children:"Tool Mode"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"New integrations, bundles, and components:"}),"\n",(0,r.jsxs)(n.p,{children:["New filter operator for ",(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," component"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/dataframe-operations",children:[(0,r.jsx)(n.strong,{children:"DataFrame Operations"})," component"]})," now includes a ",(0,r.jsx)(n.code,{children:"not contains"})," filter operator.\nUse it to clean data by extracting only records that ",(0,r.jsx)(n.em,{children:"don't"})," contain specific values.\nFor example, you can filter out invalid email addresses that don't contain ",(0,r.jsx)(n.code,{children:"@"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["New JSON operations for ",(0,r.jsx)(n.strong,{children:"Data Operations"})," component"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/data-operations",children:[(0,r.jsx)(n.strong,{children:"Data Operations"})," component"]})," now includes two operations for advanced JSON data manipulation.\nThe ",(0,r.jsx)(n.strong,{children:"Path Selection"})," operation extracts values from nested JSON structures, and the ",(0,r.jsx)(n.strong,{children:"JQ Expression"})," operation uses the ",(0,r.jsx)(n.a,{href:"https://jqlang.org/",children:(0,r.jsx)(n.code,{children:"jq"})})," query language to perform advanced JSON filtering, projections, and transformations."]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/smart-router",children:[(0,r.jsx)(n.strong,{children:"Smart Router"})," component"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/mock-data",children:[(0,r.jsx)(n.strong,{children:"Mock Data"})," component"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/dynamic-create-data",children:[(0,r.jsx)(n.strong,{children:"Dynamic Create Data"})," component"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-altk",children:[(0,r.jsx)(n.strong,{children:"ALTK"})," bundle"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-cometapi",children:[(0,r.jsx)(n.strong,{children:"CometAPI"})," bundle"]})]}),"\n",(0,r.jsxs)(n.p,{children:["New ",(0,r.jsxs)(n.a,{href:"/bundles-cuga",children:[(0,r.jsx)(n.strong,{children:"CUGA"})," bundle"]})]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"LLM Router"})," component is now called the ",(0,r.jsxs)(n.a,{href:"/llm-selector",children:[(0,r.jsx)(n.strong,{children:"LLM Selector"})," component"]}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/web-search",children:[(0,r.jsx)(n.strong,{children:"Web Search"})," component"]})," now consolidates Web Search, News Search, and RSS Reader into a single component with tabs for different search modes. You can search the web using DuckDuckGo, search Google News, or read RSS feeds\u2014all from one component. The separate ",(0,r.jsx)(n.strong,{children:"News Search"})," and ",(0,r.jsx)(n.strong,{children:"RSS Reader"})," components have been removed."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"160",children:"1.6.0"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"env-file-bug",children:"Known issue, potential security vulnerability: .env file not loaded in versions 1.6.0 through 1.6.3"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow versions 1.6.0 through 1.6.3 have a critical bug where environment variables from ",(0,r.jsx)(n.code,{children:".env"})," files aren't read.\nThis affects all deployments using environment variables for configuration, including security settings."]}),"\n",(0,r.jsxs)(n.admonition,{title:"Potential security vulnerability",type:"warning",children:[(0,r.jsxs)(n.p,{children:["If your ",(0,r.jsx)(n.code,{children:".env"})," file includes ",(0,r.jsx)(n.code,{children:"AUTO_LOGIN=false"}),", upgrading to the impacted versions causes Langflow to fall back to default settings, potentially giving all users superuser access immediately upon upgrade.\nAdditionally, database credentials, API keys, and other sensitive configurations can't be loaded from ",(0,r.jsx)(n.code,{children:".env"})," files."]}),(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Don't"})," upgrade to any Langflow version from 1.6.0 through 1.6.3 if you use ",(0,r.jsx)(n.code,{children:".env"})," files for configuration.\nInstead, upgrade to 1.6.4, which includes a fix for this bug."]})]}),"\n",(0,r.jsx)(n.h3,{id:"windows-desktop-update-issue",children:"Known issue: Don't auto-upgrade Windows Desktop"}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Windows users of Langflow Desktop should ",(0,r.jsx)(n.strong,{children:"not"})," use the in-app update feature to upgrade to Langflow version 1.6.0.\nOnly Windows Desktop users upgrading to Langflow version 1.6.0 are affected."]})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Update"})," button in Langflow Desktop will not work for Windows users, and may result in data loss."]}),"\n",(0,r.jsxs)(n.p,{children:["Instead, download a fresh installation from the ",(0,r.jsx)(n.a,{href:"https://langflow.org",children:"Langflow website"})," when a new version is available."]}),"\n",(0,r.jsx)(n.p,{children:"Follow the instructions below to minimize the risk of losing flows."}),"\n",(0,r.jsxs)(n.p,{children:["These instructions assume the default path for the Langflow database of ",(0,r.jsx)(n.code,{children:"C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\com.langflow\\data\\database.db"})," or ",(0,r.jsx)(n.code,{children:"C:\\Users\\%YOUR_USERNAME%\\AppData\\Roaming\\com.langflow\\data\\database.db"}),". Replace ",(0,r.jsx)(n.code,{children:"YOUR_USERNAME"})," with your Windows username."]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Ensure you have Administrator privileges."}),"\n",(0,r.jsx)(n.li,{children:"Ensure you have enough disk space for a second installation of Langflow."}),"\n",(0,r.jsx)(n.li,{children:"Close Langflow, and ensure no Langflow process is running in Task Manager."}),"\n",(0,r.jsxs)(n.li,{children:["The Langflow 1.6.0 installer automatically performs a database backup in a later step, but an additional manual backup provides additional redundancy and is recommended.\nTo manually back up your Langflow database file, do the following:","\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["In Windows Explorer, navigate to ",(0,r.jsx)(n.code,{children:"C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\com.langflow\\data\\"}),". Replace ",(0,r.jsx)(n.code,{children:"YOUR_USERNAME"})," with your Windows username."]}),"\n",(0,r.jsxs)(n.li,{children:["Copy the ",(0,r.jsx)(n.code,{children:"database.db"})," at this location, and paste it to a safe location."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Download the Windows installer from the ",(0,r.jsx)(n.a,{href:"https://langflow.org",children:"Langflow website"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Run the Windows installer as an Administrator. To run the installer as an Administrator, right-click the executable and select ",(0,r.jsx)(n.strong,{children:"Run as administrator"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Follow the Windows installer's guided steps.\nThe Langflow 1.6.0 installer automatically performs a database backup.\nThese steps install Langflow from scratch, and result in two Langflow installations: the previously installed version, and version 1.6.0.\nThis is expected behavior."}),"\n",(0,r.jsx)(n.li,{children:"Start version 1.6.0 of Langflow, and confirm your flows behave as expected."}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"If flows are missing"}),", restore your flows from your manual backup by doing the following:","\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Close Langflow."}),"\n",(0,r.jsxs)(n.li,{children:["Navigate to your backup location, and copy the ",(0,r.jsx)(n.code,{children:"database.db"})," file."]}),"\n",(0,r.jsxs)(n.li,{children:["Replace the database file in the new installation's ",(0,r.jsx)(n.code,{children:"data"})," directory."]}),"\n",(0,r.jsx)(n.li,{children:"Start Langflow, and confirm your flows behave as expected."}),"\n",(0,r.jsx)(n.li,{children:"After confirmation, uninstall the previous version of Langflow, and keep version 1.6.0."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"breaking-changes-1",children:"Breaking changes"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Authentication enforced for Langflow API requests by default"}),"\n",(0,r.jsxs)(n.p,{children:["In Langflow version 1.6, ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=True"})," and ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN=False"})," by default.\nThis enforces authentication for Langflow API requests while still automatically authenticating all users as superusers in the visual editor."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsxs)(n.strong,{children:["This is a breaking change from 1.5 where both of these environment variables were ",(0,r.jsx)(n.code,{children:"true"})," by default, bypassing all authentication."]})}),"\n",(0,r.jsxs)(n.p,{children:["For temporary backwards compatibility, you can revert to the earlier unauthenticated behavior by setting both variables to ",(0,r.jsx)(n.code,{children:"true"}),".\nHowever, a future release will set ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=False"})," and remove ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN"}),".\nAt that point, Langflow will strictly enforce API key authentication for API requests, and you can manually disable authentication for some features, like the visual editor, by setting ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=True"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["For more information, see the documentation for ",(0,r.jsx)(n.a,{href:"/api-keys-and-authentication#langflow-auto-login",children:(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-3",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"OpenAI Responses API compatibility"}),"\n",(0,r.jsxs)(n.p,{children:["Langflow now includes an endpoint that is compatible with the ",(0,r.jsx)(n.a,{href:"https://platform.openai.com/docs/api-reference/responses",children:"OpenAI Responses API"})," at ",(0,r.jsx)(n.code,{children:"POST /api/v1/responses"}),".\nThis allows you to use existing OpenAI client libraries with minimal code changes by replacing the ",(0,r.jsx)(n.code,{children:"model"})," name with your ",(0,r.jsx)(n.code,{children:"flow_id"}),".\nThe endpoint supports streaming responses, conversation continuity, tool call results, and global variable passing through headers.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/api-openai-responses",children:"OpenAI Responses API"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Advanced document parsing with built-in Docling support"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Read File"})," component supports advanced parsing with the Docling library."]}),"\n",(0,r.jsxs)(n.p,{children:["To make it easier to use the ",(0,r.jsxs)(n.a,{href:"/bundles-docling",children:[(0,r.jsx)(n.strong,{children:"Docling"})," components"]})," and the ",(0,r.jsx)(n.strong,{children:"Read File"})," component's new advanced parsing feature, the Docling dependency is now included with Langflow for all operating systems except macOS Intel (x86_64)."]}),"\n",(0,r.jsxs)(n.p,{children:["For more information, see ",(0,r.jsx)(n.a,{href:"/read-file#advanced-parsing",children:"Advanced parsing"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Reorganized component menus and visual editor controls"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.a,{href:"/concepts-overview#workspace",children:"workspace"})," sidebar is divided into separate sections for ",(0,r.jsx)(l.A,{name:"Search","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Search"}),", ",(0,r.jsx)(l.A,{name:"Component","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Core components"}),", ",(0,r.jsx)(a.A,{})," ",(0,r.jsx)(n.a,{href:"/mcp-server",children:(0,r.jsx)(n.strong,{children:"MCP servers"})}),", ",(0,r.jsx)(l.A,{name:"Blocks","aria-hidden":"true"})," ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})}),", and ",(0,r.jsx)(l.A,{name:"StickyNote","aria-hidden":"true"})," ",(0,r.jsx)(n.strong,{children:"Add Note"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Lock/unlock controls moved to flow details in ",(0,r.jsx)(n.a,{href:"/concepts-flows#projects",children:(0,r.jsx)(n.strong,{children:"Projects"})}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Zoom and help controls moved to the lower-right corner of the workspace."}),"\n",(0,r.jsxs)(n.li,{children:["Vector store components moved to provider-specific ",(0,r.jsx)(l.A,{name:"Blocks","aria-hidden":"true"})," ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Serper Google Search API"})," component moved to the ",(0,r.jsx)(n.strong,{children:"Serper"})," bundle"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Increased the default maximum file upload size from ",(0,r.jsx)(n.code,{children:"100 MB"})," to ",(0,r.jsx)(n.code,{children:"1024 MB"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"New integrations and bundles:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/integrations-instana-traceloop",children:"Traceloop"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/bundles-cohere",children:"Cohere Rerank"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/bundles-amazon",children:"S3 Bucket Uploader"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/bundles-composio",children:"Composio single-service components"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"deprecations",children:"Deprecations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.strong,{children:"Local DB"})," component is now in legacy status.\nReplace this component with the ",(0,r.jsxs)(n.a,{href:"/bundles-chroma",children:[(0,r.jsx)(n.strong,{children:"Chroma DB"})," component"]}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"150",children:"1.5.0"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-4",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Langflow API requests can require authentication"}),"\n",(0,r.jsxs)(n.p,{children:["To enhance security and ensure proper authentication for automatic login features, Langflow API endpoints now require authentication with a Langflow API key, even when ",(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN=True"}),".\nThis change will be enforced in a future release.\nFor temporary backwards compatibility, this release adds the ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN"})," environment variable.\nThe default value is ",(0,r.jsx)(n.code,{children:"true"}),", which disables API authentication enforcement.\nTo enforce API authentication, set ",(0,r.jsx)(n.code,{children:"LANGFLOW_SKIP_AUTH_AUTO_LOGIN=False"}),".\nFor more information, see the documentation for ",(0,r.jsx)(n.a,{href:"/api-keys-and-authentication#langflow-auto-login",children:(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Centralized ",(0,r.jsx)(n.strong,{children:"Language Model"})," and ",(0,r.jsx)(n.strong,{children:"Embedding Model"})," components"]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/components-models",children:[(0,r.jsx)(n.strong,{children:"Language Model"})," component"]})," and ",(0,r.jsxs)(n.a,{href:"/components-embedding-models",children:[(0,r.jsx)(n.strong,{children:"Embedding Model"})," component"]})," are now core components for your LLM and embeddings flows. They support multiple models and model providers, and allow you to experiment with different models without swapping out single-provider components.\nFind them in the visual editor in the ",(0,r.jsx)(n.strong,{children:"Models"})," category."]}),"\n",(0,r.jsxs)(n.p,{children:["The single-provider components moved to the ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})})," section.\nYou can use them to replace the ",(0,r.jsx)(n.strong,{children:"Language Model"})," and ",(0,r.jsx)(n.strong,{children:"Embedding Model"})," core components, or connect them to the ",(0,r.jsx)(n.strong,{children:"Agent"})," component with the ",(0,r.jsx)(n.strong,{children:"Connect other models"})," provider option."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"MCP server one-click installation"}),"\n",(0,r.jsxs)(n.p,{children:["On your Langflow project's ",(0,r.jsx)(n.strong,{children:"MCP server"})," page, click ",(0,r.jsx)(n.strong,{children:"Auto install"})," to install your Langflow MCP server to MCP clients with just one click.\nThe option to install with a JSON configuration file is available for macOS, Windows, and WSL.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/mcp-server",children:"Use Langflow as an MCP server"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"MCP server management"}),"\n",(0,r.jsxs)(n.p,{children:["You can now add, remove, and edit your MCP servers in the ",(0,r.jsx)(n.strong,{children:"MCP Tools"})," components and through your Langflow ",(0,r.jsx)(n.strong,{children:"Settings"})," page.\nFor more information, see ",(0,r.jsx)(n.a,{href:"/mcp-client",children:"Use Langflow as an MCP client"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Input schema replaces temporary overrides"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Input schema"})," pane replaces the need to manage tweak values in the ",(0,r.jsx)(n.strong,{children:"API access"})," pane. When you enable a parameter in the ",(0,r.jsx)(n.strong,{children:"Input schema"})," pane, the parameter is automatically added to your flow's code snippets, providing ready-to-use templates for making requests in your preferred programming language."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Tools components are redistributed"}),"\n",(0,r.jsxs)(n.p,{children:["All components in the ",(0,r.jsx)(n.strong,{children:"Tools"})," category were moved to other component categories, such as ",(0,r.jsx)(n.strong,{children:"Helpers"})," and ",(0,r.jsx)(n.a,{href:"/components-bundle-components",children:(0,r.jsx)(n.strong,{children:"Bundles"})}),", or marked as legacy."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"/mcp-client",children:[(0,r.jsx)(n.strong,{children:"MCP Tools"})," component"]})," is now under the ",(0,r.jsx)(n.strong,{children:"Agents"})," category."]}),"\n",(0,r.jsxs)(n.p,{children:["Tools that performed the same function were combined into single components that support multiple providers, such as the ",(0,r.jsxs)(n.a,{href:"/web-search",children:[(0,r.jsx)(n.strong,{children:"Web Search"})," component"]})," and the ",(0,r.jsx)(n.strong,{children:"News Search"})," component."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Stability improvements"}),"\n",(0,r.jsxs)(n.p,{children:["General stability improvements and bug fixes for enhanced reliability.\nSee an issue? ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/issues",children:"Raise it on GitHub"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"New integrations and bundles"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsxs)(n.a,{href:"/bundles-cleanlab",children:[(0,r.jsx)(n.strong,{children:"Cleanlab"})," bundle"]})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"142",children:"1.4.2"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-5",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Enhanced file and flow management system with improved bulk capabilities."}),"\n",(0,r.jsxs)(n.li,{children:["Added the ",(0,r.jsx)(n.strong,{children:"BigQuery"})," component"]}),"\n",(0,r.jsxs)(n.li,{children:["Added the ",(0,r.jsx)(n.strong,{children:"Twelve Labs"})," bundle"]}),"\n",(0,r.jsxs)(n.li,{children:["Added the ",(0,r.jsx)(n.strong,{children:"NVIDIA System-Assist"})," component"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"deprecations-1",children:"Deprecations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Deprecated the ",(0,r.jsx)(n.strong,{children:"Combine Text"})," component."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"141",children:"1.4.1"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-6",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Added an enhanced ",(0,r.jsx)(n.strong,{children:"Breaking Changes"})," feature to help update components without breaking flows after updating Langflow."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"140",children:"1.4.0"}),"\n",(0,r.jsxs)(n.p,{children:["Highlights of this release include the following changes.\nFor all changes, see the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"new-features-and-enhancements-7",children:"New features and enhancements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Introduced MCP server functionality to serve Langflow tools to MCP-compatible clients."}),"\n",(0,r.jsxs)(n.li,{children:["Renamed ",(0,r.jsx)(n.strong,{children:"Folders"})," to ",(0,r.jsx)(n.strong,{children:"Projects"})," in the visual editor."]}),"\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.code,{children:"/folders"})," endpoints now redirect to ",(0,r.jsx)(n.code,{children:"/projects"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"deprecations-2",children:"Deprecations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Deprecated the ",(0,r.jsx)(n.strong,{children:"Gmail"}),", ",(0,r.jsx)(n.strong,{children:"Google Drive"}),", and ",(0,r.jsx)(n.strong,{children:"Google Search"})," components.\nFor alternatives, see the ",(0,r.jsxs)(n.a,{href:"/bundles-google",children:[(0,r.jsx)(n.strong,{children:"Google"})," bundle"]}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"earlier-releases",children:"Earlier releases"}),"\n",(0,r.jsxs)(n.p,{children:["See the ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases",children:"Changelog"}),"."]})]})}function f(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}function j(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},45783:(e,n,s)=>{s.d(n,{A:()=>l});var o,r,i=s(96540);function t(){return t=Object.assign?Object.assign.bind():function(e){for(var n=1;ni.createElement("svg",t({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16","aria-labelledby":n},s),e?i.createElement("title",{id:n},e):null,o||(o=i.createElement("g",{fill:"currentColor",clipPath:"url(#a)"},i.createElement("path",{d:"M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"}),i.createElement("path",{d:"M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"}))),r||(r=i.createElement("defs",null,i.createElement("clipPath",{id:"a"},i.createElement("path",{fill:"#fff",d:"M0 0h16v16H0z"})))))}}]);
\ No newline at end of file
diff --git a/assets/js/d47919d3.1353576b.js b/assets/js/d47919d3.1353576b.js
deleted file mode 100644
index 55ec9ef780..0000000000
--- a/assets/js/d47919d3.1353576b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[99082],{4885:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"Develop/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.","source":"@site/versioned_docs/version-1.9.0/Develop/contributing-telemetry.mdx","sourceDirName":"Develop","slug":"/contributing-telemetry","permalink":"/contributing-telemetry","draft":false,"unlisted":false,"tags":[],"version":"1.9.0","frontMatter":{"title":"Telemetry","slug":"/contributing-telemetry"},"sidebar":"docs","previous":{"title":"Traceloop","permalink":"/integrations-instana-traceloop"},"next":{"title":"Use Langflow data types","permalink":"/data-types"}}');var i=t(74848),r=t(28453);const o={title:"Telemetry",slug:"/contributing-telemetry"},l=void 0,a={},c=[{value:"Privacy",id:"privacy",level:2},{value:"Opt out of telemetry",id:"opt-out-of-telemetry",level:2},{value:"Data that Langflow collects",id:"data-that-langflow-collects",level:2},{value:"Run",id:"run",level:3},{value:"Shutdown",id:"shutdown",level:3},{value:"Version",id:"version",level:3},{value:"Email",id:"email",level:3},{value:"Playground",id:"playground",level:3},{value:"Component",id:"component",level:3},{value:"Exception",id:"exception",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.\nThe Langflow team uses this data to identify popular features and areas that need improvement based on actual usage patterns.\nThis helps prioritize development efforts on the most impactful changes and popular features."}),"\n",(0,i.jsx)(n.h2,{id:"privacy",children:"Privacy"}),"\n",(0,i.jsx)(n.p,{children:"The Langflow team respects your privacy, and the team is committed to protecting your data."}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry doesn't collect any personal information or sensitive data.\nAll telemetry data is anonymized and used solely for improving Langflow."}),"\n",(0,i.jsx)(n.h2,{id:"opt-out-of-telemetry",children:"Opt out of telemetry"}),"\n",(0,i.jsxs)(n.p,{children:["To opt out of telemetry, set ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK=True"})," in your ",(0,i.jsx)(n.a,{href:"/environment-variables",children:"Langflow environment variables"})," before starting Langflow. This disables telemetry data collection."]}),"\n",(0,i.jsx)(n.h2,{id:"data-that-langflow-collects",children:"Data that Langflow collects"}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry collects data on flow runs, your environment, and component usage."}),"\n",(0,i.jsx)(n.h3,{id:"run",children:"Run"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent every time a flow is executed."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"IsWebhook"}),": Indicates whether the operation was triggered with a webhook."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for how long the operation lasted, providing insights into performance."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Boolean value indicating whether the operation was successful, helping identify potential errors or issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Provides error message details if the operation was unsuccessful, aiding in troubleshooting and enhancements."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"shutdown",children:"Shutdown"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event captures information about application lifecycle and runtime duration."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"TimeRunning"}),": Total runtime before shutdown, which is useful for understanding the application lifecycle and optimizing uptime."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"version",children:"Version"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent once when the telemetry service starts."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Version"}),": The specific version of Langflow used, which helps in tracking feature adoption and compatibility."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Platform"}),": Operating system of the host machine, which helps determine the most popular platforms for development and testing efforts."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Python"}),": The version of Python used, assisting in maintaining compatibility and support for various Python versions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Arch"}),": Architecture of the system, such as x86 or ARM, which helps prioritize hardware optimization and testing in the Langflow codebase."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"AutoLogin"}),": Indicates whether the auto-login feature is enabled, reflecting user preference settings."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"CacheType"}),": Type of caching mechanism used, which impacts performance and efficiency."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"BackendOnly"}),": Boolean indicating whether Langflow is running in backend-only mode, useful for understanding deployment configurations."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Desktop"}),": Indicates whether Langflow is running in desktop mode (Langflow Desktop), helping to understand usage patterns across different deployment types."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"email",children:"Email"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent to track registered email addresses for Langflow Desktop. The event is triggered in two cases:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Every time a new email address is registered through the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Each time you start Langflow Desktop ",(0,i.jsx)(n.em,{children:"after"})," an email address is registered."]}),"\n",(0,i.jsxs)(n.p,{children:["The first time you start Langflow Desktop and register your email address, the event is reported by the call to the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event includes the following information:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Email"}),": The registered email address, which helps track user registrations and facilitate an understanding of the Langflow Desktop user base."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ClientType"}),': Indicates the client type, which can be "desktop" or "oss".']}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["If telemetry is disabled with the ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK"})," environment variable in Langflow Desktop, you are still prompted to enter your email address, but the email address is stored in your local Langflow database only."]}),"\n",(0,i.jsx)(n.h3,{id:"playground",children:"Playground"}),"\n",(0,i.jsxs)(n.p,{children:["This telemetry event monitors performance and usage patterns in the ",(0,i.jsx)(n.strong,{children:"Playground"})," environment."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for ",(0,i.jsx)(n.strong,{children:"Playground"})," execution, offering insights into performance during testing or experimental stages."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ComponentCount"}),": Number of components used in the ",(0,i.jsx)(n.strong,{children:"Playground"}),", which helps understand complexity and usage patterns."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Success status of the ",(0,i.jsx)(n.strong,{children:"Playground"})," operation, aiding in identifying the stability of experimental features."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"component",children:"Component"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for each component execution."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Name"}),": Identifies the component, providing data on which components are most utilized or prone to issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Time taken by the component to execute, offering performance metrics."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Whether the component operated successfully, which helps in quality control."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Details of any errors encountered, crucial for debugging and improvement."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent when an unhandled exception is captured by Langflow's lifecycle or global exception handler."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Type"}),": The exception class name, such as ",(0,i.jsx)(n.code,{children:"ValueError"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Message"}),": The exception message that was raised."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Context"}),": Additional contextual information related to where the exception occurred, such as route, component, or operation details, when available."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"StackTraceHash"}),": A hash of the stack trace used to group similar exceptions for easier analysis."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/d47919d3.9487d5ac.js b/assets/js/d47919d3.9487d5ac.js
new file mode 100644
index 0000000000..cbd8c18c4c
--- /dev/null
+++ b/assets/js/d47919d3.9487d5ac.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[99082],{4885:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"Develop/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.","source":"@site/versioned_docs/version-1.9.0/Develop/contributing-telemetry.mdx","sourceDirName":"Develop","slug":"/contributing-telemetry","permalink":"/contributing-telemetry","draft":false,"unlisted":false,"tags":[],"version":"1.9.0","frontMatter":{"title":"Telemetry","slug":"/contributing-telemetry"},"sidebar":"docs","previous":{"title":"Traceloop","permalink":"/integrations-instana-traceloop"},"next":{"title":"Use Langflow data types","permalink":"/data-types"}}');var i=s(74848),r=s(28453);const o={title:"Telemetry",slug:"/contributing-telemetry"},l=void 0,a={},d=[{value:"Privacy",id:"privacy",level:2},{value:"Opt out of telemetry",id:"opt-out-of-telemetry",level:2},{value:"Data that Langflow collects",id:"data-that-langflow-collects",level:2},{value:"Run",id:"run",level:3},{value:"Shutdown",id:"shutdown",level:3},{value:"Version",id:"version",level:3},{value:"Email",id:"email",level:3},{value:"Playground",id:"playground",level:3},{value:"Component",id:"component",level:3},{value:"Exception",id:"exception",level:3},{value:"Deployment provider",id:"deployment-provider",level:3},{value:"Deployment",id:"deployment",level:3}];function c(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Langflow uses anonymous telemetry to collect statistics about feature usage and performance.\nThe Langflow team uses this data to identify popular features and areas that need improvement based on actual usage patterns.\nThis helps prioritize development efforts on the most impactful changes and popular features."}),"\n",(0,i.jsx)(n.h2,{id:"privacy",children:"Privacy"}),"\n",(0,i.jsx)(n.p,{children:"The Langflow team respects your privacy, and the team is committed to protecting your data."}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry doesn't collect any personal information or sensitive data.\nAll telemetry data is anonymized and used solely for improving Langflow."}),"\n",(0,i.jsx)(n.h2,{id:"opt-out-of-telemetry",children:"Opt out of telemetry"}),"\n",(0,i.jsxs)(n.p,{children:["To opt out of telemetry, set ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK=True"})," in your ",(0,i.jsx)(n.a,{href:"/environment-variables",children:"Langflow environment variables"})," before starting Langflow. This disables telemetry data collection."]}),"\n",(0,i.jsx)(n.h2,{id:"data-that-langflow-collects",children:"Data that Langflow collects"}),"\n",(0,i.jsx)(n.p,{children:"Langflow telemetry collects data on flow runs, your environment, and component usage."}),"\n",(0,i.jsx)(n.h3,{id:"run",children:"Run"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent every time a flow is executed."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"IsWebhook"}),": Indicates whether the operation was triggered with a webhook."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for how long the operation lasted, providing insights into performance."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Boolean value indicating whether the operation was successful, helping identify potential errors or issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Provides error message details if the operation was unsuccessful, aiding in troubleshooting and enhancements."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"shutdown",children:"Shutdown"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event captures information about application lifecycle and runtime duration."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"TimeRunning"}),": Total runtime before shutdown, which is useful for understanding the application lifecycle and optimizing uptime."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"version",children:"Version"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent once when the telemetry service starts."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Version"}),": The specific version of Langflow used, which helps in tracking feature adoption and compatibility."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Platform"}),": Operating system of the host machine, which helps determine the most popular platforms for development and testing efforts."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Python"}),": The version of Python used, assisting in maintaining compatibility and support for various Python versions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Arch"}),": Architecture of the system, such as x86 or ARM, which helps prioritize hardware optimization and testing in the Langflow codebase."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"AutoLogin"}),": Indicates whether the auto-login feature is enabled, reflecting user preference settings."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"CacheType"}),": Type of caching mechanism used, which impacts performance and efficiency."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"BackendOnly"}),": Boolean indicating whether Langflow is running in backend-only mode, useful for understanding deployment configurations."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Desktop"}),": Indicates whether Langflow is running in desktop mode (Langflow Desktop), helping to understand usage patterns across different deployment types."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"email",children:"Email"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent to track registered email addresses for Langflow Desktop. The event is triggered in two cases:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Every time a new email address is registered through the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Each time you start Langflow Desktop ",(0,i.jsx)(n.em,{children:"after"})," an email address is registered."]}),"\n",(0,i.jsxs)(n.p,{children:["The first time you start Langflow Desktop and register your email address, the event is reported by the call to the POST ",(0,i.jsx)(n.code,{children:"/api/v2/registration/"})," endpoint."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event includes the following information:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Email"}),": The registered email address, which helps track user registrations and facilitate an understanding of the Langflow Desktop user base."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ClientType"}),': Indicates the client type, which can be "desktop" or "oss".']}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["If telemetry is disabled with the ",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK"})," environment variable in Langflow Desktop, you are still prompted to enter your email address, but the email address is stored in your local Langflow database only."]}),"\n",(0,i.jsx)(n.h3,{id:"playground",children:"Playground"}),"\n",(0,i.jsxs)(n.p,{children:["This telemetry event monitors performance and usage patterns in the ",(0,i.jsx)(n.strong,{children:"Playground"})," environment."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for ",(0,i.jsx)(n.strong,{children:"Playground"})," execution, offering insights into performance during testing or experimental stages."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ComponentCount"}),": Number of components used in the ",(0,i.jsx)(n.strong,{children:"Playground"}),", which helps understand complexity and usage patterns."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Success status of the ",(0,i.jsx)(n.strong,{children:"Playground"})," operation, aiding in identifying the stability of experimental features."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"component",children:"Component"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for each component execution."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Name"}),": Identifies the component, providing data on which components are most utilized or prone to issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Time taken by the component to execute, offering performance metrics."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Whether the component operated successfully, which helps in quality control."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Details of any errors encountered, crucial for debugging and improvement."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent when an unhandled exception is captured by Langflow's lifecycle or global exception handler."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Type"}),": The exception class name, such as ",(0,i.jsx)(n.code,{children:"ValueError"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Message"}),": The exception message that was raised."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Context"}),": Additional contextual information related to where the exception occurred, such as route, component, or operation details, when available."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"StackTraceHash"}),": A hash of the stack trace used to group similar exceptions for easier analysis."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"deployment-provider",children:"Deployment provider"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for various lifecycle operations on deployment provider accounts, such as create, delete, and update."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentAction"}),": The specific action performed, such as ",(0,i.jsx)(n.code,{children:"provider.create"})," or ",(0,i.jsx)(n.code,{children:"provider.delete"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentProvider"}),": The deployment provider used, such as ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSeconds"}),": Duration in seconds for the operation, providing performance insights."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSuccess"}),": Boolean value indicating whether the operation was successful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentErrorMessage"}),": Error message details if the operation was unsuccessful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"WxoTenantId"}),": A unique identifier for the tenant, populated only for ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"})," deployments, used to understand multi-tenant usage patterns without collecting personal information."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"deployment",children:"Deployment"}),"\n",(0,i.jsx)(n.p,{children:"This telemetry event is sent for various lifecycle operations on deployment resources, such as create, delete, and update."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentAction"}),": The specific action performed, such as ",(0,i.jsx)(n.code,{children:"deployment.create"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentProvider"}),": The deployment provider used, such as ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSeconds"}),": Duration in seconds for the operation, providing performance insights."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentSuccess"}),": Boolean value indicating whether the operation was successful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"DeploymentErrorMessage"}),": Error message details if the operation was unsuccessful."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"WxoTenantId"}),": A unique identifier for the tenant, populated only for ",(0,i.jsx)(n.code,{children:"watsonx-orchestrate"})," deployments, used to understand multi-tenant usage patterns without collecting personal information."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.e5de2727.js b/assets/js/runtime~main.6cbdbac2.js
similarity index 99%
rename from assets/js/runtime~main.e5de2727.js
rename to assets/js/runtime~main.6cbdbac2.js
index 1a8cdba84b..155e22c713 100644
--- a/assets/js/runtime~main.e5de2727.js
+++ b/assets/js/runtime~main.6cbdbac2.js
@@ -1 +1 @@
-(()=>{"use strict";var e,c,f,d,b,a={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return a[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=a,r.c=t,e=[],r.O=(c,f,d,b)=>{if(!f){var a=1/0;for(i=0;i=b)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,d,b]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var a={};c=c||[null,f({}),f([]),f(f)];for(var t=2&d&&e;"object"==typeof t&&!~c.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach(c=>a[c]=()=>e[c]);return a.default=()=>e,r.d(b,a),b},r.d=(e,c)=>{for(var f in c)r.o(c,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((c,f)=>(r.f[f](e,c),c),[])),r.u=e=>"assets/js/"+({15:"d803fa53",348:"54835a34",360:"e4dcfb14",681:"ffa0f8b1",889:"08b309e9",1072:"db819a37",1162:"f7e6b9d6",1171:"b685e31b",1841:"9c41e875",1966:"b1582da4",2272:"ca5faf5d",2318:"8f587777",2536:"2ff50c47",3138:"d9370077",3152:"c0de4bb7",3409:"9bd8678f",3578:"59b4092b",4048:"6a9646c2",4085:"cb17b4e0",4120:"8adc8900",4261:"e0e01b61",4593:"58dbbaf6",4810:"6c9a6dfb",4919:"ce43de4b",5009:"f55f73d6",5200:"ff7f32ba",5270:"99931d31",5801:"0f72e758",5834:"4916c69a",6459:"290c78e6",6538:"719cba95",6547:"bab3e2be",6637:"2b2e9d64",6809:"8f7e7f58",7243:"5d9d4350",7323:"92c23da4",7521:"d9570b85",7677:"7030d598",7863:"b49f632d",7879:"9b2487b6",8336:"e7fd9095",8581:"0d551289",8607:"681e5335",8750:"8a484c94",8775:"9cc816e3",8839:"5853a7b9",8895:"b13f6e6e",9037:"62d465bc",9145:"b96ee1bf",9574:"0e5d0999",9625:"5b73b0a8",9647:"5e95c892",10078:"b768a3a5",10750:"33b5ee95",10801:"3d1d37ee",10883:"1dfb8d43",11185:"86f51cb1",11502:"c38e511c",11523:"131fd31a",11567:"22dd74f7",11574:"60ebe5d0",11703:"ff8bad6c",11783:"6e911c05",12102:"755d162a",12460:"954b19af",12567:"2141bac8",12895:"083628f7",13035:"87b7bbd6",13038:"6df123cd",13147:"c83c70df",13164:"67f2dc6c",13341:"8e51f10f",13398:"2613df18",13412:"3782bb5d",13618:"c4ac99db",13656:"db31f7b6",13696:"69a0b706",13988:"d29c4a40",14102:"ef8630dc",14351:"13786dcf",14356:"7b864b08",14387:"60cde673",14435:"4e55999f",14574:"313670b1",14614:"e55b8e98",14876:"44691977",15512:"a64546e2",15648:"68ce6e99",15660:"1b208f60",15679:"a304954f",16224:"ef9aa223",16426:"9ebc9441",16513:"f13693f0",16629:"a49b697b",16839:"80866714",16913:"2aae4c48",16916:"b1c2f621",17080:"c11ffc61",17756:"323a2e94",17800:"1cf73564",17846:"f37945da",17938:"02b166f2",18060:"eb22fa0a",18157:"5b43ec5c",18401:"17896441",18436:"d80374ab",18565:"88482ee6",18593:"56350599",18611:"0c23d011",18725:"1605cba6",18732:"8d03d619",18822:"555ae514",18968:"5dbb78ab",19280:"06d4c56c",19363:"f3312674",19421:"9369b6bc",19556:"c2b2f507",19638:"db42831a",19724:"7a5c3569",19788:"e53e6cac",20038:"a99a45c9",20123:"67f5d62b",20253:"bb45d4f9",20351:"b9acb8d9",20357:"886ee107",20449:"0591c3e4",20596:"c2e0ed62",20879:"8bee5443",20929:"c62d7ccd",20953:"bd7e5f4a",21193:"8b191302",21359:"93f4a427",21446:"c78349fc",21490:"0f761898",21826:"c3ae1367",22214:"1c1c22e6",22440:"69a67e92",22457:"46abd5bb",22469:"cd086441",22565:"622fd833",22614:"71a62fc9",22992:"9d7c1d70",23299:"f39513cb",23387:"3d67876e",23468:"c76bd485",23689:"7a7f449b",23723:"d29727e0",23822:"e1925c9e",23890:"f57aa203",24314:"f6a246db",24369:"6b6b826b",24384:"622bdc6f",24672:"59a1fafb",25412:"a6d50436",25657:"fc9e0258",25663:"b1379b2b",25707:"8593bab8",25757:"ad42ff54",25838:"bbb8ec1d",25903:"69d616f2",25985:"e3536031",26108:"2fed9fb3",26237:"8b896872",26311:"cce672fb",26691:"3e9e9e4d",26767:"23499d25",26873:"b06c1bff",27118:"7996108c",27176:"ae846847",27554:"66c0ced4",27637:"72881381",27807:"1a8a0a64",27964:"ff35961a",28058:"c116cd5b",28110:"714c86d4",28158:"78f20457",28171:"cc554d5c",28240:"0102a83b",28702:"42962acd",28963:"56c23a02",29033:"563ddf9c",29279:"7d437779",29342:"dd544600",29612:"46a77053",29781:"b796be74",29986:"d1f3cfe5",30126:"ae70dfbf",30488:"3d4d4fec",30534:"76e36fb0",30676:"7631f8d2",30684:"44121474",30956:"03735ec1",31111:"83231553",31224:"f8655c95",31345:"fe6d5b4f",31353:"e3ac9b36",31731:"7f371604",32579:"dea11b82",32580:"19a17d95",32684:"12c97058",32696:"e76a67c4",32741:"43ad9ba4",33110:"33dc892c",33190:"35b7ab8a",33284:"6398c398",33345:"040305fb",33441:"57ca4a6e",33500:"c3c63498",34448:"af54cce0",34547:"b1d3effc",34572:"3348f35c",34600:"5f7173ff",34838:"519fcc13",34999:"6c4352b5",35045:"f2ec4536",35109:"81045c65",35110:"e9fe1d10",35145:"b9639850",35281:"eeeaec82",35310:"3bc04d54",35560:"a0b1cb48",35742:"aba21aa0",36294:"06438862",36690:"4d73c64d",36816:"e3193c90",37217:"8433a9df",37258:"b0066887",37383:"c43bb4ff",37512:"4c09a7b3",37705:"2b91b6ca",37824:"2b56b65e",37829:"7c27dc91",37859:"593d9d00",38101:"dbc51d47",38269:"c7f91cbe",38513:"86e152f5",38622:"3421ab55",38649:"7de42fc9",38652:"f3ac2f9e",38701:"4fb38478",39049:"f182f6a8",39296:"0664e19b",39482:"a9c1003f",39504:"577c79e2",39610:"558d344b",39654:"d336c0e7",39673:"25e1f852",39921:"bf5514cf",40008:"4c98f287",40044:"e3f369d5",40323:"07cbc62e",40375:"3d81f1cf",40446:"a4232cf8",40547:"3325f616",40794:"62403cba",40825:"6306afff",40877:"0f15664b",41262:"736c10b7",41303:"41d45d82",41392:"524ac532",41586:"bb458927",41876:"5c3b537a",41891:"0e5f6b08",42192:"9d8bd6d4",42360:"017d425f",42557:"e52a8b92",42632:"568a9220",42969:"f0ad3fbb",43534:"6334f102",43704:"7cddad42",43788:"5df8c6e2",43821:"597eac2b",44036:"fbcfc90d",44335:"f0f46288",44341:"e1a0f423",44770:"68b33cec",44956:"7dd51668",45397:"eba86ea4",45485:"087959bf",45851:"2be9dc85",46092:"53bec5b2",46113:"4dfec8bf",46195:"44254a19",46256:"6888b60e",46737:"dfae685c",46933:"2c0889df",46964:"0cb92a3e",46995:"9de16efd",47472:"918796f5",48044:"26e0f666",48161:"c0975f59",48268:"a4b6c971",48625:"3a9e0e6c",48786:"614cb771",48975:"0fca4648",49091:"db80839f",49186:"7e09847e",49331:"ffcd190c",49640:"3b25a2ae",49712:"d8c8efb9",49763:"aece522a",49801:"907b1917",49895:"a2cf3cbb",49901:"74765de4",50021:"b75540e2",50062:"49dd0916",50093:"a3702f61",50262:"e3375295",50448:"50ebac30",50601:"efc28ab7",50635:"ddc3f343",50789:"6120404c",51150:"b9f408a3",51308:"ec030ab7",51640:"34c961bc",52242:"780df666",52410:"3c2009e3",52415:"b7f0fa5c",52475:"1ab69cbd",52651:"8cd0650d",53104:"81ade132",53251:"00ff87cb",53360:"2c0d05be",53361:"8f633f11",53368:"efa0f9ee",53483:"af3eee87",53628:"8db61ca8",53769:"2c3d9ffa",54090:"a8ca941b",54098:"2d7c992e",54147:"2b710dbb",54160:"c81b2489",54239:"93d1f2ab",54245:"f04703a3",54474:"3db73d6f",55112:"68f30bb0",55343:"1b10d5ba",55562:"0c843eb8",56534:"30291f60",56540:"e983a71a",56770:"2c96c8bf",56801:"acefda8b",56844:"ff75e5d1",57034:"c699cab6",57046:"4bd60bfa",57150:"dee456a9",57156:"165dcd0d",57395:"1be2c3df",57502:"1a547ad8",57720:"3bfbe7c9",58090:"6e85978c",58381:"147f5874",58545:"5a94716a",58997:"0f16c390",59289:"32141993",59376:"8d322213",59448:"f2e40bf0",59776:"28a2dd93",59837:"1167f920",59887:"508dc4aa",59931:"35953519",60107:"7e3143ed",60870:"c8c2e8e3",61141:"067fc716",61171:"db681b30",61427:"a07a3961",61483:"87a280ae",61507:"cfacdcbb",61702:"ac660c9a",61963:"97dc9ff4",62138:"1a4e3797",62278:"c4280da9",62472:"62f97fbe",62620:"f3ad3ad1",62663:"f8717faf",62718:"41998ae8",62719:"faf2e68f",62888:"32270e71",62937:"7fdc52f9",64129:"f183fa16",64249:"fc515ceb",64270:"e6c71d49",64609:"09db28ba",64785:"3760d024",64790:"e4a3fe7d",64865:"454071be",65048:"3c440e04",65069:"3d29008d",65138:"47094f16",65217:"fb0a7a3f",65410:"adea32c2",65412:"cd6761a3",65527:"4e5156cc",65708:"59a5ce7f",65739:"69079906",66329:"a7b545c5",66546:"2e4bb914",66559:"7431813e",66611:"c6498d99",67066:"65dee3f9",67076:"308702e4",67098:"a7bd4aaa",67354:"c0d9f82a",67378:"7f3541b1",67484:"ad01e028",68035:"aacd5a8e",68311:"3df9cb09",68392:"20177945",68419:"78d85954",68765:"1a2eaade",68960:"c72ac64a",68990:"5f1a63c6",69033:"9f55b2fc",69264:"c7f32161",69568:"975a9c4e",69578:"1956b4f2",69601:"d202f5de",69674:"feac1fba",69849:"503850d7",69924:"a87e3b03",69955:"36748e69",70019:"b74a56d9",70129:"dfa3dc90",71333:"c990d48e",71731:"7f2f21f2",71861:"8ad67c3b",72076:"common",72343:"e4268fbc",72350:"aca88518",72423:"19bcb67f",72466:"f4a50841",72544:"6631fea3",72706:"97839d16",73297:"d3cb7fcd",73352:"c39faaf0",73353:"2b4d41d7",73454:"0c48e067",73536:"2eb731bc",73694:"72eeaf12",73763:"221619dc",73876:"3fdc0814",74209:"be104550",74612:"6a9eca1a",74644:"d3e886ab",74645:"3512f6ed",74995:"62266e9d",75144:"944c5f91",75264:"e6597272",75312:"9f8d430a",75333:"70909872",75560:"481fac59",75644:"47733641",75734:"cef46d81",75741:"af5bd3c8",75780:"d5583dec",76014:"939f801c",76605:"b64518a7",76925:"057068ec",76999:"d5ec984b",77153:"68090d23",77202:"c4ce7d01",77356:"2ea623f2",77567:"4545d55b",77839:"85e8edc4",77901:"2ef5093f",78169:"12151514",78213:"e4db1f51",78270:"80c19293",78508:"10dd1586",78571:"da1ad91e",78633:"9120c1b0",78873:"c441d042",78901:"bf15d2f8",79048:"a94703ab",79260:"0413db52",79289:"314515b7",79315:"16faf8bf",79327:"4e911fe9",79976:"230d5fdc",80030:"db8c087e",80190:"b5b00d31",80292:"d35a0895",80320:"c8932bdf",80598:"db4f3bbd",80957:"c141421f",81006:"47e58a89",81690:"9fbf837f",81740:"7781e1f8",81895:"d375ca1d",82096:"c8d33703",82206:"aa56551c",82439:"400ecdbb",82752:"e14655eb",83019:"ced78c62",83683:"5a0b74d9",83992:"18dc6e4d",84051:"a3a08fde",84064:"29a3e49d",84170:"b4bc1be8",84263:"9a5e6f6b",84592:"df85e4a0",84666:"59ad984c",84842:"af836517",84900:"4907faf4",85168:"f83cb548",85416:"816072e4",85497:"a9d8f5ad",86049:"1f4ffe33",86104:"459e8eb3",86154:"b5725d20",86585:"23da8cfc",86738:"2e821519",87136:"e765ceb6",87294:"fcc3e8af",87902:"619c7267",87968:"9b0af131",88122:"f641c1d8",88138:"2be18267",88267:"02f8077b",88291:"9767dab6",88294:"f2bedfce",88776:"afbb88b8",89132:"293f8708",89151:"50b9949d",89178:"aaa36fb1",89213:"62d1268c",89227:"7e40e6b3",89459:"97254d1d",89610:"453ae64a",89640:"39d45b55",89792:"f2545f30",89830:"ce671f56",89897:"f0eeb72e",90496:"168c922b",90600:"ee87c775",90872:"b4eb1ea1",90880:"35bd09bf",90951:"23480489",90972:"e66b1de2",91193:"444a6da6",91209:"f6dd9f9d",91408:"2fc7e024",91587:"71394c29",91691:"ce1a1cdf",92116:"0f1bef30",92348:"f2da9399",92394:"c2ea283c",92444:"904b8c49",92909:"144a43f5",92990:"1d50b418",93140:"1a29c454",93240:"b079b393",93247:"f0b67137",93263:"730da84e",93359:"6d032186",93457:"f16848a8",93542:"c37cc938",93591:"49aa9822",94173:"d51059db",94382:"752a25f3",94508:"351b3050",94573:"baacc2a1",94907:"86116998",95057:"99abe279",95165:"bd565561",95180:"8ee2c8d6",95200:"af95bc92",95234:"a9898daa",95523:"9bacfd07",95627:"e27c2ac1",95638:"eed50738",96585:"67da1391",96601:"81bb6a5c",97078:"f531aa2f",97202:"58f0e94f",97221:"9c504d23",97382:"00f42144",97498:"e4400415",98096:"11f65c63",98284:"b2eaded0",98417:"aceb0cb2",98531:"71726720",98780:"75c9b719",98862:"e87b52ac",99082:"d47919d3",99522:"85dc2a2b",99758:"439d880a"}[e]||e)+"."+{15:"4bc36aab",348:"7c6763e5",360:"723ac405",681:"26c49a71",889:"63d1b6f5",1072:"3e3b6b07",1162:"c8c3ce21",1171:"777757d1",1841:"71033951",1966:"82d442d6",2272:"43aaddbf",2318:"60c438f9",2536:"7f03b177",3138:"77f6d4a2",3152:"ea46fb80",3409:"a0c5c02b",3578:"f324a27e",4048:"e81f215f",4085:"8810a337",4120:"6bd30035",4261:"1b98b33a",4593:"ae309596",4810:"17d80b40",4919:"428c4dc9",5009:"cd4e928a",5200:"5545d20c",5270:"cc59bede",5480:"c523c75e",5801:"0c134a12",5834:"99f95dc8",6459:"2463c0f5",6538:"3d80e9fb",6547:"bfe470bc",6637:"a8d327e6",6809:"7f55f7b1",7243:"af9f0e46",7323:"c99f5340",7521:"fbea3816",7677:"52b60ef5",7863:"91ca28b3",7879:"6a948fea",8336:"5a908ba3",8581:"375e74a0",8607:"35fbd426",8750:"c79946fb",8775:"127a1cbb",8839:"ccb5fd32",8895:"959cfbbd",9037:"e39e2c50",9145:"339beb28",9574:"29841f45",9625:"78e7b6cf",9647:"c23c9301",10078:"bcb6c741",10750:"1ad96d81",10801:"73291250",10883:"3527f197",11083:"8f40709a",11185:"26866c1b",11502:"5d48dab4",11523:"e95cd60a",11567:"9de89c92",11574:"28f2fdff",11703:"ea70de26",11783:"f709544c",12102:"0c2b8708",12460:"9826e2f9",12567:"081f88db",12895:"6e75fbfc",13035:"dca1fdb8",13038:"4810d98b",13147:"e8220d44",13164:"d514e63b",13341:"81565ee7",13398:"bcd8385d",13412:"6e53959c",13618:"e9bce68b",13656:"41995449",13696:"fec6e060",13988:"af6cca10",14102:"e73c7026",14351:"851b7342",14356:"326ef8b6",14387:"53247ec5",14435:"28c410a9",14574:"5688d922",14614:"de29bc02",14876:"b29a38da",15512:"93a18dfd",15648:"06dbc9fd",15660:"1d10d43e",15679:"3cfba2b3",16224:"9f707bbf",16426:"c1bf54de",16513:"87ed9775",16629:"a6a9f0f4",16839:"b901f5dd",16913:"1e2e4a59",16916:"0eb58f49",17080:"cd0d48bd",17756:"121f9958",17800:"c4734880",17846:"1e88ff10",17938:"f4c47c13",18060:"6e3f43a3",18157:"58cd5e7a",18401:"1a60d6d0",18436:"e94cad69",18565:"2857925b",18593:"576a6afe",18611:"c49da3c6",18725:"dac3e176",18732:"e07b3b2c",18822:"3e04c39b",18968:"76c259f5",19280:"48d8ee9b",19363:"e03467b9",19421:"541e5be3",19556:"c3ce1c90",19638:"90a6eab4",19724:"e7887f4b",19788:"79160c86",20038:"e6c18b78",20123:"d91a620e",20253:"38558257",20351:"dd491c08",20357:"0b8529d7",20449:"47790358",20596:"b128b2f8",20879:"a2c59b5a",20929:"68f9db6c",20953:"291ac903",21193:"ff16d6fd",21359:"79647661",21446:"653a53f3",21490:"1f71748e",21826:"183033b5",22214:"68a773e7",22440:"fa139af9",22457:"8cfbb28b",22469:"237e9abd",22565:"25b0982b",22614:"6f2f3de9",22992:"d93bfdf8",23299:"3b423e1e",23387:"a0d8647c",23468:"5e040828",23689:"a6922e67",23723:"32566795",23822:"ae01165d",23890:"be34832d",24314:"eaf7b829",24369:"b846f64f",24384:"136a578d",24672:"f0749b03",24754:"71766d32",25412:"1cac0cdd",25657:"efd0027a",25663:"8e60b0a0",25707:"e9246468",25757:"c7ddfc6c",25838:"fdf1baca",25903:"d7592810",25985:"ce9676e3",26108:"5ce3b274",26237:"b7e73db4",26311:"3803e3f6",26691:"ca08fd03",26767:"da86ef34",26873:"34283723",27118:"af62d8c8",27176:"2a2a3583",27554:"089f3c70",27637:"9e209eda",27807:"4af5241c",27964:"c8c31ffc",28058:"364ed189",28110:"642bb860",28158:"d095bf47",28171:"23d9c975",28240:"60ea0de3",28702:"cd8164b9",28963:"1d975761",29033:"4a96da2f",29279:"67eb3fe0",29342:"c7649629",29612:"f27de5d7",29781:"67d3e687",29986:"7751ed96",30126:"5cd771fb",30488:"79680e9c",30534:"337fb672",30676:"e5c26923",30684:"49c8fd44",30956:"6164e152",31111:"f32556a8",31224:"8cece013",31345:"aa2bcb03",31353:"098748f9",31731:"5ff4ee68",32579:"c426b094",32580:"aea8d975",32684:"0768db6d",32696:"1af40420",32741:"d8bc77ae",33110:"58e71da4",33190:"63878b25",33284:"ffa40397",33345:"3abb4a53",33441:"a2b4073c",33500:"8ba5f851",34448:"972ff4d8",34547:"2f25857a",34572:"469e5ac8",34600:"bb085f08",34838:"a402cc2b",34999:"4af78575",35045:"a28232c3",35109:"3c7559c2",35110:"337afa30",35145:"bce19d30",35281:"29e59402",35310:"9cf71581",35560:"96f31d96",35742:"923e0bb4",36294:"e0d23bb9",36690:"947faa07",36816:"f46b47c5",37217:"7a4ef066",37258:"2d9b47f6",37383:"9d09bb9e",37512:"e7f16b02",37705:"a96e7b4b",37824:"1111924d",37829:"c4090496",37859:"9cee68ec",38101:"af9e5894",38269:"6f8cb448",38513:"56c436c8",38622:"481ce6a3",38649:"e576cd1e",38652:"e57eed17",38701:"219c6b01",39049:"34fa50af",39296:"82d377da",39482:"70365956",39504:"77db0bfe",39610:"74e14cbe",39654:"385e3980",39673:"fe1eb1bb",39921:"73dd12f2",40008:"cb86569e",40044:"4947c563",40323:"6d4b7c78",40375:"293bb51b",40446:"a74969ec",40547:"5e020af8",40794:"5f0050ee",40825:"20be687c",40877:"63b5082a",41262:"45beafb1",41303:"742edf8b",41392:"d87e8292",41586:"7f7a2662",41876:"a8b1ca9e",41891:"84d0b5a8",42192:"2ca6b53c",42360:"616557fc",42557:"4a0e5a95",42632:"fda59463",42969:"a50aac96",43534:"8b79edc7",43704:"c3afcbb5",43788:"ccc0ed14",43821:"c5740155",44036:"98874fa9",44335:"07b48998",44341:"8d3bf878",44770:"22020439",44956:"7707ccd2",45397:"d3f885da",45485:"2296c95c",45851:"e597d80e",46092:"46879042",46113:"7926e335",46195:"107d32b5",46256:"80a973d7",46737:"fdbb3cf9",46933:"c5b50832",46964:"cad7fa82",46995:"404edcb9",47472:"1cc331f2",48044:"e4ae06d6",48161:"873f2f9c",48268:"5f5f3d04",48287:"992866e0",48625:"92461765",48786:"210c0593",48975:"36b51bf7",49091:"0a978cc6",49186:"794ce735",49331:"9934dfbf",49640:"7f344ff6",49712:"f906fd11",49763:"6d3ea318",49801:"17625821",49895:"be49135a",49901:"7617084c",50021:"7d3a696c",50062:"666d3b14",50093:"890cf8f4",50262:"c58d388f",50448:"630925fa",50601:"7b3be885",50635:"b4385a82",50789:"88c072ac",51150:"25ce120e",51308:"b7ac26d5",51640:"9a59b452",51925:"e35676f0",52242:"56b336d0",52410:"050ab84f",52415:"ea458349",52475:"d6ac21c2",52651:"4cadb00e",53104:"d78866e6",53251:"f110894a",53360:"c513e10d",53361:"d1d9c866",53368:"9208d438",53483:"7eac2a5b",53628:"4efaf023",53769:"b6b78310",54090:"f36594d4",54098:"9f548eb3",54147:"479fcf2c",54160:"d44ef039",54239:"76fc4690",54245:"44d1c184",54474:"901b9787",55112:"d5592543",55343:"b415eb2a",55562:"d7365956",56534:"45ac6ade",56540:"bf243f5d",56770:"6a6dd1a6",56801:"4d318bcf",56844:"bebaf7b3",56990:"60356de0",57034:"923d8637",57046:"99320596",57150:"c93a0bb9",57156:"e7fd1f70",57395:"914379e4",57502:"ab23db6a",57720:"6488506b",58090:"0db32e61",58381:"516f2552",58545:"65afcd82",58913:"504dfdef",58997:"ba372c1d",59289:"b86930f8",59376:"cb96084c",59448:"9424ca32",59776:"43c0729c",59837:"7ae1c6f4",59887:"ad710240",59931:"a7d9606d",60107:"190fe3cf",60870:"f592ecae",61141:"bb908bf6",61171:"933a1de5",61427:"d874d581",61483:"5f072524",61507:"2ea168f6",61702:"853c6135",61963:"2526868a",62138:"8c1f8d7b",62278:"41f5f0ce",62472:"e4e985f7",62620:"320e764b",62663:"47b675af",62718:"4bfde737",62719:"7d85ae0a",62888:"2b886d1d",62937:"ce46f85b",63324:"11382e69",63760:"d715fe9b",64129:"1ac7e1ef",64249:"0ccb484f",64270:"9d49c0b4",64609:"2db56abc",64785:"05e37b09",64790:"8836c920",64865:"6585a4c9",65048:"4ccce4bf",65069:"29efbae5",65138:"92d879d9",65217:"3b864fab",65410:"2f855d26",65412:"eb2d0f85",65527:"a5108b31",65708:"5d8de1b1",65739:"afe97a78",66329:"4068a644",66546:"3c52ac9e",66559:"d3af445b",66611:"823aeb28",67066:"429c84d6",67076:"f56a72f5",67098:"1f707bd1",67354:"87bbd614",67378:"668fa5ce",67484:"2f5867bd",68035:"1ec4aaee",68311:"1274d116",68392:"e1d309b9",68419:"b1595d71",68765:"3558c7bc",68960:"e04d6c42",68990:"fe0f56c2",69033:"18c70cc2",69264:"b0cf1b2b",69568:"6dd6f71b",69578:"233d0968",69601:"50828cf5",69674:"2b9ce91e",69849:"2874f6ac",69924:"dbc19d8f",69955:"a28195af",70019:"fd4fbe01",70129:"b6691fbb",71333:"cc40ef44",71731:"3a2a9448",71861:"40571f27",72076:"510c623b",72343:"ff2212f7",72350:"8fdb9113",72423:"9314b96c",72466:"aa228f3d",72544:"a5a6f671",72706:"36b5d85c",73297:"f1544fa1",73352:"ac1175ba",73353:"5265c1ef",73454:"9ee843a0",73536:"35836174",73694:"6fba475d",73763:"bed4284a",73876:"838f6aa8",74209:"43cea2d0",74612:"0e51c25a",74644:"b72d176a",74645:"2f15e98a",74995:"6f940e39",75144:"9f105302",75264:"d2cb7d59",75312:"c5a76fdc",75333:"ff378399",75560:"ad3f21bd",75644:"2e8b9d7c",75734:"6d77bc16",75741:"4bab86d6",75780:"fc3fc3a6",76014:"14b17cb1",76605:"9f17e4ca",76925:"c0b53f41",76999:"c123ecf0",77153:"57cad231",77202:"7513cb99",77356:"0c781eed",77567:"ecb030cf",77839:"3b1dce49",77901:"b33df9db",78169:"ceec409d",78213:"28b54a24",78270:"4becdd2e",78508:"0dbeb83e",78571:"79899a0f",78633:"ccfafba8",78873:"ee1d5f12",78901:"aa6186de",79048:"140c9501",79260:"f25c171f",79289:"9dd99a1d",79315:"ad10bdfd",79327:"6148e5ba",79976:"6707cfb8",80030:"374a7847",80190:"ec037c45",80292:"7b8f4410",80320:"3795b7ac",80598:"efe1a66f",80957:"0374bea0",81006:"76be8ba8",81690:"76b63724",81740:"fdc85886",81895:"cf915c1a",82096:"00d69342",82206:"e3b780c1",82237:"dd615fba",82439:"d78bde2e",82752:"db53e0f4",83019:"c4bd679a",83683:"9a5136f6",83992:"4e85cabf",84051:"a75fcae9",84064:"9e2ec24f",84170:"e7ad241a",84263:"c34214cc",84592:"18adbd02",84666:"c80d8c1c",84842:"3e805915",84900:"f9e04dcf",85168:"baa0a540",85416:"9dcfdae9",85497:"dcaabbcc",86049:"20c00568",86104:"5f2f2681",86154:"a5b3413b",86585:"e8aa9b14",86738:"61031a1c",87136:"f73646db",87294:"442b8920",87902:"fc525f67",87968:"2192ce2b",88122:"f50d0b7c",88138:"252e15e2",88267:"ab893e14",88291:"596c9f15",88294:"36662e4d",88776:"cfde878c",89132:"6c0de2b9",89151:"88985d0d",89178:"ab84f319",89213:"f2a0ac4b",89227:"8c16f99a",89459:"ead6a011",89610:"2c1e27f9",89640:"bf7e62d9",89792:"e0fa33b3",89830:"f015aded",89897:"48cb5a77",90496:"35d86ab8",90600:"0240eadd",90872:"25bad842",90880:"b2f41745",90951:"cb0919a4",90972:"b0c82687",91193:"6618604e",91209:"50901cd7",91408:"ba79f1e7",91587:"c333b01a",91691:"eb55a9cd",92116:"c322a874",92348:"0aac0b29",92394:"5b21655b",92444:"db93d9f9",92693:"742a8a9b",92909:"9a4f4b2d",92990:"39fd1e14",93140:"e57c9d90",93240:"9bfe1105",93247:"8009a68d",93263:"22d971a5",93359:"06c1c053",93457:"924133e1",93542:"409095c5",93591:"f1c24f82",94173:"df15d197",94382:"a1a53f31",94508:"54593b6d",94573:"5d6d2c86",94907:"f86ecc9f",95057:"803d95bb",95165:"04e080bd",95180:"39c2f1ad",95200:"b2947158",95234:"829d8ca7",95523:"086828c7",95627:"79c05cb7",95638:"86152d46",96585:"8e48c643",96601:"aefc9007",97078:"e47647f0",97202:"d01b59a1",97221:"76d9505a",97382:"f6c1c4bc",97498:"4c9a818b",98096:"b4cbc148",98284:"58766206",98417:"87dcc7bd",98531:"b4b60cb8",98780:"7d74ec67",98862:"f511c02e",99082:"1353576b",99522:"eb234984",99758:"4c398706"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),d={},b="langflow-docs:",r.l=(e,c,f,a)=>{if(d[e])d[e].push(c);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach(e=>e(f)),c)return c(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={12151514:"78169",17896441:"18401",20177945:"68392",23480489:"90951",32141993:"59289",35953519:"59931",44121474:"30684",44691977:"14876",47733641:"75644",56350599:"18593",69079906:"65739",70909872:"75333",71726720:"98531",72881381:"27637",80866714:"16839",83231553:"31111",86116998:"94907",d803fa53:"15","54835a34":"348",e4dcfb14:"360",ffa0f8b1:"681","08b309e9":"889",db819a37:"1072",f7e6b9d6:"1162",b685e31b:"1171","9c41e875":"1841",b1582da4:"1966",ca5faf5d:"2272","8f587777":"2318","2ff50c47":"2536",d9370077:"3138",c0de4bb7:"3152","9bd8678f":"3409","59b4092b":"3578","6a9646c2":"4048",cb17b4e0:"4085","8adc8900":"4120",e0e01b61:"4261","58dbbaf6":"4593","6c9a6dfb":"4810",ce43de4b:"4919",f55f73d6:"5009",ff7f32ba:"5200","99931d31":"5270","0f72e758":"5801","4916c69a":"5834","290c78e6":"6459","719cba95":"6538",bab3e2be:"6547","2b2e9d64":"6637","8f7e7f58":"6809","5d9d4350":"7243","92c23da4":"7323",d9570b85:"7521","7030d598":"7677",b49f632d:"7863","9b2487b6":"7879",e7fd9095:"8336","0d551289":"8581","681e5335":"8607","8a484c94":"8750","9cc816e3":"8775","5853a7b9":"8839",b13f6e6e:"8895","62d465bc":"9037",b96ee1bf:"9145","0e5d0999":"9574","5b73b0a8":"9625","5e95c892":"9647",b768a3a5:"10078","33b5ee95":"10750","3d1d37ee":"10801","1dfb8d43":"10883","86f51cb1":"11185",c38e511c:"11502","131fd31a":"11523","22dd74f7":"11567","60ebe5d0":"11574",ff8bad6c:"11703","6e911c05":"11783","755d162a":"12102","954b19af":"12460","2141bac8":"12567","083628f7":"12895","87b7bbd6":"13035","6df123cd":"13038",c83c70df:"13147","67f2dc6c":"13164","8e51f10f":"13341","2613df18":"13398","3782bb5d":"13412",c4ac99db:"13618",db31f7b6:"13656","69a0b706":"13696",d29c4a40:"13988",ef8630dc:"14102","13786dcf":"14351","7b864b08":"14356","60cde673":"14387","4e55999f":"14435","313670b1":"14574",e55b8e98:"14614",a64546e2:"15512","68ce6e99":"15648","1b208f60":"15660",a304954f:"15679",ef9aa223:"16224","9ebc9441":"16426",f13693f0:"16513",a49b697b:"16629","2aae4c48":"16913",b1c2f621:"16916",c11ffc61:"17080","323a2e94":"17756","1cf73564":"17800",f37945da:"17846","02b166f2":"17938",eb22fa0a:"18060","5b43ec5c":"18157",d80374ab:"18436","88482ee6":"18565","0c23d011":"18611","1605cba6":"18725","8d03d619":"18732","555ae514":"18822","5dbb78ab":"18968","06d4c56c":"19280",f3312674:"19363","9369b6bc":"19421",c2b2f507:"19556",db42831a:"19638","7a5c3569":"19724",e53e6cac:"19788",a99a45c9:"20038","67f5d62b":"20123",bb45d4f9:"20253",b9acb8d9:"20351","886ee107":"20357","0591c3e4":"20449",c2e0ed62:"20596","8bee5443":"20879",c62d7ccd:"20929",bd7e5f4a:"20953","8b191302":"21193","93f4a427":"21359",c78349fc:"21446","0f761898":"21490",c3ae1367:"21826","1c1c22e6":"22214","69a67e92":"22440","46abd5bb":"22457",cd086441:"22469","622fd833":"22565","71a62fc9":"22614","9d7c1d70":"22992",f39513cb:"23299","3d67876e":"23387",c76bd485:"23468","7a7f449b":"23689",d29727e0:"23723",e1925c9e:"23822",f57aa203:"23890",f6a246db:"24314","6b6b826b":"24369","622bdc6f":"24384","59a1fafb":"24672",a6d50436:"25412",fc9e0258:"25657",b1379b2b:"25663","8593bab8":"25707",ad42ff54:"25757",bbb8ec1d:"25838","69d616f2":"25903",e3536031:"25985","2fed9fb3":"26108","8b896872":"26237",cce672fb:"26311","3e9e9e4d":"26691","23499d25":"26767",b06c1bff:"26873","7996108c":"27118",ae846847:"27176","66c0ced4":"27554","1a8a0a64":"27807",ff35961a:"27964",c116cd5b:"28058","714c86d4":"28110","78f20457":"28158",cc554d5c:"28171","0102a83b":"28240","42962acd":"28702","56c23a02":"28963","563ddf9c":"29033","7d437779":"29279",dd544600:"29342","46a77053":"29612",b796be74:"29781",d1f3cfe5:"29986",ae70dfbf:"30126","3d4d4fec":"30488","76e36fb0":"30534","7631f8d2":"30676","03735ec1":"30956",f8655c95:"31224",fe6d5b4f:"31345",e3ac9b36:"31353","7f371604":"31731",dea11b82:"32579","19a17d95":"32580","12c97058":"32684",e76a67c4:"32696","43ad9ba4":"32741","33dc892c":"33110","35b7ab8a":"33190","6398c398":"33284","040305fb":"33345","57ca4a6e":"33441",c3c63498:"33500",af54cce0:"34448",b1d3effc:"34547","3348f35c":"34572","5f7173ff":"34600","519fcc13":"34838","6c4352b5":"34999",f2ec4536:"35045","81045c65":"35109",e9fe1d10:"35110",b9639850:"35145",eeeaec82:"35281","3bc04d54":"35310",a0b1cb48:"35560",aba21aa0:"35742","06438862":"36294","4d73c64d":"36690",e3193c90:"36816","8433a9df":"37217",b0066887:"37258",c43bb4ff:"37383","4c09a7b3":"37512","2b91b6ca":"37705","2b56b65e":"37824","7c27dc91":"37829","593d9d00":"37859",dbc51d47:"38101",c7f91cbe:"38269","86e152f5":"38513","3421ab55":"38622","7de42fc9":"38649",f3ac2f9e:"38652","4fb38478":"38701",f182f6a8:"39049","0664e19b":"39296",a9c1003f:"39482","577c79e2":"39504","558d344b":"39610",d336c0e7:"39654","25e1f852":"39673",bf5514cf:"39921","4c98f287":"40008",e3f369d5:"40044","07cbc62e":"40323","3d81f1cf":"40375",a4232cf8:"40446","3325f616":"40547","62403cba":"40794","6306afff":"40825","0f15664b":"40877","736c10b7":"41262","41d45d82":"41303","524ac532":"41392",bb458927:"41586","5c3b537a":"41876","0e5f6b08":"41891","9d8bd6d4":"42192","017d425f":"42360",e52a8b92:"42557","568a9220":"42632",f0ad3fbb:"42969","6334f102":"43534","7cddad42":"43704","5df8c6e2":"43788","597eac2b":"43821",fbcfc90d:"44036",f0f46288:"44335",e1a0f423:"44341","68b33cec":"44770","7dd51668":"44956",eba86ea4:"45397","087959bf":"45485","2be9dc85":"45851","53bec5b2":"46092","4dfec8bf":"46113","44254a19":"46195","6888b60e":"46256",dfae685c:"46737","2c0889df":"46933","0cb92a3e":"46964","9de16efd":"46995","918796f5":"47472","26e0f666":"48044",c0975f59:"48161",a4b6c971:"48268","3a9e0e6c":"48625","614cb771":"48786","0fca4648":"48975",db80839f:"49091","7e09847e":"49186",ffcd190c:"49331","3b25a2ae":"49640",d8c8efb9:"49712",aece522a:"49763","907b1917":"49801",a2cf3cbb:"49895","74765de4":"49901",b75540e2:"50021","49dd0916":"50062",a3702f61:"50093",e3375295:"50262","50ebac30":"50448",efc28ab7:"50601",ddc3f343:"50635","6120404c":"50789",b9f408a3:"51150",ec030ab7:"51308","34c961bc":"51640","780df666":"52242","3c2009e3":"52410",b7f0fa5c:"52415","1ab69cbd":"52475","8cd0650d":"52651","81ade132":"53104","00ff87cb":"53251","2c0d05be":"53360","8f633f11":"53361",efa0f9ee:"53368",af3eee87:"53483","8db61ca8":"53628","2c3d9ffa":"53769",a8ca941b:"54090","2d7c992e":"54098","2b710dbb":"54147",c81b2489:"54160","93d1f2ab":"54239",f04703a3:"54245","3db73d6f":"54474","68f30bb0":"55112","1b10d5ba":"55343","0c843eb8":"55562","30291f60":"56534",e983a71a:"56540","2c96c8bf":"56770",acefda8b:"56801",ff75e5d1:"56844",c699cab6:"57034","4bd60bfa":"57046",dee456a9:"57150","165dcd0d":"57156","1be2c3df":"57395","1a547ad8":"57502","3bfbe7c9":"57720","6e85978c":"58090","147f5874":"58381","5a94716a":"58545","0f16c390":"58997","8d322213":"59376",f2e40bf0:"59448","28a2dd93":"59776","1167f920":"59837","508dc4aa":"59887","7e3143ed":"60107",c8c2e8e3:"60870","067fc716":"61141",db681b30:"61171",a07a3961:"61427","87a280ae":"61483",cfacdcbb:"61507",ac660c9a:"61702","97dc9ff4":"61963","1a4e3797":"62138",c4280da9:"62278","62f97fbe":"62472",f3ad3ad1:"62620",f8717faf:"62663","41998ae8":"62718",faf2e68f:"62719","32270e71":"62888","7fdc52f9":"62937",f183fa16:"64129",fc515ceb:"64249",e6c71d49:"64270","09db28ba":"64609","3760d024":"64785",e4a3fe7d:"64790","454071be":"64865","3c440e04":"65048","3d29008d":"65069","47094f16":"65138",fb0a7a3f:"65217",adea32c2:"65410",cd6761a3:"65412","4e5156cc":"65527","59a5ce7f":"65708",a7b545c5:"66329","2e4bb914":"66546","7431813e":"66559",c6498d99:"66611","65dee3f9":"67066","308702e4":"67076",a7bd4aaa:"67098",c0d9f82a:"67354","7f3541b1":"67378",ad01e028:"67484",aacd5a8e:"68035","3df9cb09":"68311","78d85954":"68419","1a2eaade":"68765",c72ac64a:"68960","5f1a63c6":"68990","9f55b2fc":"69033",c7f32161:"69264","975a9c4e":"69568","1956b4f2":"69578",d202f5de:"69601",feac1fba:"69674","503850d7":"69849",a87e3b03:"69924","36748e69":"69955",b74a56d9:"70019",dfa3dc90:"70129",c990d48e:"71333","7f2f21f2":"71731","8ad67c3b":"71861",common:"72076",e4268fbc:"72343",aca88518:"72350","19bcb67f":"72423",f4a50841:"72466","6631fea3":"72544","97839d16":"72706",d3cb7fcd:"73297",c39faaf0:"73352","2b4d41d7":"73353","0c48e067":"73454","2eb731bc":"73536","72eeaf12":"73694","221619dc":"73763","3fdc0814":"73876",be104550:"74209","6a9eca1a":"74612",d3e886ab:"74644","3512f6ed":"74645","62266e9d":"74995","944c5f91":"75144",e6597272:"75264","9f8d430a":"75312","481fac59":"75560",cef46d81:"75734",af5bd3c8:"75741",d5583dec:"75780","939f801c":"76014",b64518a7:"76605","057068ec":"76925",d5ec984b:"76999","68090d23":"77153",c4ce7d01:"77202","2ea623f2":"77356","4545d55b":"77567","85e8edc4":"77839","2ef5093f":"77901",e4db1f51:"78213","80c19293":"78270","10dd1586":"78508",da1ad91e:"78571","9120c1b0":"78633",c441d042:"78873",bf15d2f8:"78901",a94703ab:"79048","0413db52":"79260","314515b7":"79289","16faf8bf":"79315","4e911fe9":"79327","230d5fdc":"79976",db8c087e:"80030",b5b00d31:"80190",d35a0895:"80292",c8932bdf:"80320",db4f3bbd:"80598",c141421f:"80957","47e58a89":"81006","9fbf837f":"81690","7781e1f8":"81740",d375ca1d:"81895",c8d33703:"82096",aa56551c:"82206","400ecdbb":"82439",e14655eb:"82752",ced78c62:"83019","5a0b74d9":"83683","18dc6e4d":"83992",a3a08fde:"84051","29a3e49d":"84064",b4bc1be8:"84170","9a5e6f6b":"84263",df85e4a0:"84592","59ad984c":"84666",af836517:"84842","4907faf4":"84900",f83cb548:"85168","816072e4":"85416",a9d8f5ad:"85497","1f4ffe33":"86049","459e8eb3":"86104",b5725d20:"86154","23da8cfc":"86585","2e821519":"86738",e765ceb6:"87136",fcc3e8af:"87294","619c7267":"87902","9b0af131":"87968",f641c1d8:"88122","2be18267":"88138","02f8077b":"88267","9767dab6":"88291",f2bedfce:"88294",afbb88b8:"88776","293f8708":"89132","50b9949d":"89151",aaa36fb1:"89178","62d1268c":"89213","7e40e6b3":"89227","97254d1d":"89459","453ae64a":"89610","39d45b55":"89640",f2545f30:"89792",ce671f56:"89830",f0eeb72e:"89897","168c922b":"90496",ee87c775:"90600",b4eb1ea1:"90872","35bd09bf":"90880",e66b1de2:"90972","444a6da6":"91193",f6dd9f9d:"91209","2fc7e024":"91408","71394c29":"91587",ce1a1cdf:"91691","0f1bef30":"92116",f2da9399:"92348",c2ea283c:"92394","904b8c49":"92444","144a43f5":"92909","1d50b418":"92990","1a29c454":"93140",b079b393:"93240",f0b67137:"93247","730da84e":"93263","6d032186":"93359",f16848a8:"93457",c37cc938:"93542","49aa9822":"93591",d51059db:"94173","752a25f3":"94382","351b3050":"94508",baacc2a1:"94573","99abe279":"95057",bd565561:"95165","8ee2c8d6":"95180",af95bc92:"95200",a9898daa:"95234","9bacfd07":"95523",e27c2ac1:"95627",eed50738:"95638","67da1391":"96585","81bb6a5c":"96601",f531aa2f:"97078","58f0e94f":"97202","9c504d23":"97221","00f42144":"97382",e4400415:"97498","11f65c63":"98096",b2eaded0:"98284",aceb0cb2:"98417","75c9b719":"98780",e87b52ac:"98862",d47919d3:"99082","85dc2a2b":"99522","439d880a":"99758"}[e]||e,r.p+r.u(e)},(()=>{var e={45354:0,71869:0};r.f.j=(c,f)=>{var d=r.o(e,c)?e[c]:void 0;if(0!==d)if(d)f.push(d[2]);else if(/^(45354|71869)$/.test(c))e[c]=0;else{var b=new Promise((f,b)=>d=e[c]=[f,b]);f.push(d[2]=b);var a=r.p+r.u(c),t=new Error;r.l(a,f=>{if(r.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var b=f&&("load"===f.type?"missing":f.type),a=f&&f.target&&f.target.src;t.message="Loading chunk "+c+" failed.\n("+b+": "+a+")",t.name="ChunkLoadError",t.type=b,t.request=a,d[1](t)}},"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,f)=>{var d,b,[a,t,o]=f,n=0;if(a.some(c=>0!==e[c])){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(c&&c(f);n{"use strict";var e,c,f,d,b,a={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return a[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=a,r.c=t,e=[],r.O=(c,f,d,b)=>{if(!f){var a=1/0;for(i=0;i=b)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,d,b]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var a={};c=c||[null,f({}),f([]),f(f)];for(var t=2&d&&e;"object"==typeof t&&!~c.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach(c=>a[c]=()=>e[c]);return a.default=()=>e,r.d(b,a),b},r.d=(e,c)=>{for(var f in c)r.o(c,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((c,f)=>(r.f[f](e,c),c),[])),r.u=e=>"assets/js/"+({15:"d803fa53",348:"54835a34",360:"e4dcfb14",681:"ffa0f8b1",889:"08b309e9",1072:"db819a37",1162:"f7e6b9d6",1171:"b685e31b",1841:"9c41e875",1966:"b1582da4",2272:"ca5faf5d",2318:"8f587777",2536:"2ff50c47",3138:"d9370077",3152:"c0de4bb7",3409:"9bd8678f",3578:"59b4092b",4048:"6a9646c2",4085:"cb17b4e0",4120:"8adc8900",4261:"e0e01b61",4593:"58dbbaf6",4810:"6c9a6dfb",4919:"ce43de4b",5009:"f55f73d6",5200:"ff7f32ba",5270:"99931d31",5801:"0f72e758",5834:"4916c69a",6459:"290c78e6",6538:"719cba95",6547:"bab3e2be",6637:"2b2e9d64",6809:"8f7e7f58",7243:"5d9d4350",7323:"92c23da4",7521:"d9570b85",7677:"7030d598",7863:"b49f632d",7879:"9b2487b6",8336:"e7fd9095",8581:"0d551289",8607:"681e5335",8750:"8a484c94",8775:"9cc816e3",8839:"5853a7b9",8895:"b13f6e6e",9037:"62d465bc",9145:"b96ee1bf",9574:"0e5d0999",9625:"5b73b0a8",9647:"5e95c892",10078:"b768a3a5",10750:"33b5ee95",10801:"3d1d37ee",10883:"1dfb8d43",11185:"86f51cb1",11502:"c38e511c",11523:"131fd31a",11567:"22dd74f7",11574:"60ebe5d0",11703:"ff8bad6c",11783:"6e911c05",12102:"755d162a",12460:"954b19af",12567:"2141bac8",12895:"083628f7",13035:"87b7bbd6",13038:"6df123cd",13147:"c83c70df",13164:"67f2dc6c",13341:"8e51f10f",13398:"2613df18",13412:"3782bb5d",13618:"c4ac99db",13656:"db31f7b6",13696:"69a0b706",13988:"d29c4a40",14102:"ef8630dc",14351:"13786dcf",14356:"7b864b08",14387:"60cde673",14435:"4e55999f",14574:"313670b1",14614:"e55b8e98",14876:"44691977",15512:"a64546e2",15648:"68ce6e99",15660:"1b208f60",15679:"a304954f",16224:"ef9aa223",16426:"9ebc9441",16513:"f13693f0",16629:"a49b697b",16839:"80866714",16913:"2aae4c48",16916:"b1c2f621",17080:"c11ffc61",17756:"323a2e94",17800:"1cf73564",17846:"f37945da",17938:"02b166f2",18060:"eb22fa0a",18157:"5b43ec5c",18401:"17896441",18436:"d80374ab",18565:"88482ee6",18593:"56350599",18611:"0c23d011",18725:"1605cba6",18732:"8d03d619",18822:"555ae514",18968:"5dbb78ab",19280:"06d4c56c",19363:"f3312674",19421:"9369b6bc",19556:"c2b2f507",19638:"db42831a",19724:"7a5c3569",19788:"e53e6cac",20038:"a99a45c9",20123:"67f5d62b",20253:"bb45d4f9",20351:"b9acb8d9",20357:"886ee107",20449:"0591c3e4",20596:"c2e0ed62",20879:"8bee5443",20929:"c62d7ccd",20953:"bd7e5f4a",21193:"8b191302",21359:"93f4a427",21446:"c78349fc",21490:"0f761898",21826:"c3ae1367",22214:"1c1c22e6",22440:"69a67e92",22457:"46abd5bb",22469:"cd086441",22565:"622fd833",22614:"71a62fc9",22992:"9d7c1d70",23299:"f39513cb",23387:"3d67876e",23468:"c76bd485",23689:"7a7f449b",23723:"d29727e0",23822:"e1925c9e",23890:"f57aa203",24314:"f6a246db",24369:"6b6b826b",24384:"622bdc6f",24672:"59a1fafb",25412:"a6d50436",25657:"fc9e0258",25663:"b1379b2b",25707:"8593bab8",25757:"ad42ff54",25838:"bbb8ec1d",25903:"69d616f2",25985:"e3536031",26108:"2fed9fb3",26237:"8b896872",26311:"cce672fb",26691:"3e9e9e4d",26767:"23499d25",26873:"b06c1bff",27118:"7996108c",27176:"ae846847",27554:"66c0ced4",27637:"72881381",27807:"1a8a0a64",27964:"ff35961a",28058:"c116cd5b",28110:"714c86d4",28158:"78f20457",28171:"cc554d5c",28240:"0102a83b",28702:"42962acd",28963:"56c23a02",29033:"563ddf9c",29279:"7d437779",29342:"dd544600",29612:"46a77053",29781:"b796be74",29986:"d1f3cfe5",30126:"ae70dfbf",30488:"3d4d4fec",30534:"76e36fb0",30676:"7631f8d2",30684:"44121474",30956:"03735ec1",31111:"83231553",31224:"f8655c95",31345:"fe6d5b4f",31353:"e3ac9b36",31731:"7f371604",32579:"dea11b82",32580:"19a17d95",32684:"12c97058",32696:"e76a67c4",32741:"43ad9ba4",33110:"33dc892c",33190:"35b7ab8a",33284:"6398c398",33345:"040305fb",33441:"57ca4a6e",33500:"c3c63498",34448:"af54cce0",34547:"b1d3effc",34572:"3348f35c",34600:"5f7173ff",34838:"519fcc13",34999:"6c4352b5",35045:"f2ec4536",35109:"81045c65",35110:"e9fe1d10",35145:"b9639850",35281:"eeeaec82",35310:"3bc04d54",35560:"a0b1cb48",35742:"aba21aa0",36294:"06438862",36690:"4d73c64d",36816:"e3193c90",37217:"8433a9df",37258:"b0066887",37383:"c43bb4ff",37512:"4c09a7b3",37705:"2b91b6ca",37824:"2b56b65e",37829:"7c27dc91",37859:"593d9d00",38101:"dbc51d47",38269:"c7f91cbe",38513:"86e152f5",38622:"3421ab55",38649:"7de42fc9",38652:"f3ac2f9e",38701:"4fb38478",39049:"f182f6a8",39296:"0664e19b",39482:"a9c1003f",39504:"577c79e2",39610:"558d344b",39654:"d336c0e7",39673:"25e1f852",39921:"bf5514cf",40008:"4c98f287",40044:"e3f369d5",40323:"07cbc62e",40375:"3d81f1cf",40446:"a4232cf8",40547:"3325f616",40794:"62403cba",40825:"6306afff",40877:"0f15664b",41262:"736c10b7",41303:"41d45d82",41392:"524ac532",41586:"bb458927",41876:"5c3b537a",41891:"0e5f6b08",42192:"9d8bd6d4",42360:"017d425f",42557:"e52a8b92",42632:"568a9220",42969:"f0ad3fbb",43534:"6334f102",43704:"7cddad42",43788:"5df8c6e2",43821:"597eac2b",44036:"fbcfc90d",44335:"f0f46288",44341:"e1a0f423",44770:"68b33cec",44956:"7dd51668",45397:"eba86ea4",45485:"087959bf",45851:"2be9dc85",46092:"53bec5b2",46113:"4dfec8bf",46195:"44254a19",46256:"6888b60e",46737:"dfae685c",46933:"2c0889df",46964:"0cb92a3e",46995:"9de16efd",47472:"918796f5",48044:"26e0f666",48161:"c0975f59",48268:"a4b6c971",48625:"3a9e0e6c",48786:"614cb771",48975:"0fca4648",49091:"db80839f",49186:"7e09847e",49331:"ffcd190c",49640:"3b25a2ae",49712:"d8c8efb9",49763:"aece522a",49801:"907b1917",49895:"a2cf3cbb",49901:"74765de4",50021:"b75540e2",50062:"49dd0916",50093:"a3702f61",50262:"e3375295",50448:"50ebac30",50601:"efc28ab7",50635:"ddc3f343",50789:"6120404c",51150:"b9f408a3",51308:"ec030ab7",51640:"34c961bc",52242:"780df666",52410:"3c2009e3",52415:"b7f0fa5c",52475:"1ab69cbd",52651:"8cd0650d",53104:"81ade132",53251:"00ff87cb",53360:"2c0d05be",53361:"8f633f11",53368:"efa0f9ee",53483:"af3eee87",53628:"8db61ca8",53769:"2c3d9ffa",54090:"a8ca941b",54098:"2d7c992e",54147:"2b710dbb",54160:"c81b2489",54239:"93d1f2ab",54245:"f04703a3",54474:"3db73d6f",55112:"68f30bb0",55343:"1b10d5ba",55562:"0c843eb8",56534:"30291f60",56540:"e983a71a",56770:"2c96c8bf",56801:"acefda8b",56844:"ff75e5d1",57034:"c699cab6",57046:"4bd60bfa",57150:"dee456a9",57156:"165dcd0d",57395:"1be2c3df",57502:"1a547ad8",57720:"3bfbe7c9",58090:"6e85978c",58381:"147f5874",58545:"5a94716a",58997:"0f16c390",59289:"32141993",59376:"8d322213",59448:"f2e40bf0",59776:"28a2dd93",59837:"1167f920",59887:"508dc4aa",59931:"35953519",60107:"7e3143ed",60870:"c8c2e8e3",61141:"067fc716",61171:"db681b30",61427:"a07a3961",61483:"87a280ae",61507:"cfacdcbb",61702:"ac660c9a",61963:"97dc9ff4",62138:"1a4e3797",62278:"c4280da9",62472:"62f97fbe",62620:"f3ad3ad1",62663:"f8717faf",62718:"41998ae8",62719:"faf2e68f",62888:"32270e71",62937:"7fdc52f9",64129:"f183fa16",64249:"fc515ceb",64270:"e6c71d49",64609:"09db28ba",64785:"3760d024",64790:"e4a3fe7d",64865:"454071be",65048:"3c440e04",65069:"3d29008d",65138:"47094f16",65217:"fb0a7a3f",65410:"adea32c2",65412:"cd6761a3",65527:"4e5156cc",65708:"59a5ce7f",65739:"69079906",66329:"a7b545c5",66546:"2e4bb914",66559:"7431813e",66611:"c6498d99",67066:"65dee3f9",67076:"308702e4",67098:"a7bd4aaa",67354:"c0d9f82a",67378:"7f3541b1",67484:"ad01e028",68035:"aacd5a8e",68311:"3df9cb09",68392:"20177945",68419:"78d85954",68765:"1a2eaade",68960:"c72ac64a",68990:"5f1a63c6",69033:"9f55b2fc",69264:"c7f32161",69568:"975a9c4e",69578:"1956b4f2",69601:"d202f5de",69674:"feac1fba",69849:"503850d7",69924:"a87e3b03",69955:"36748e69",70019:"b74a56d9",70129:"dfa3dc90",71333:"c990d48e",71731:"7f2f21f2",71861:"8ad67c3b",72076:"common",72343:"e4268fbc",72350:"aca88518",72423:"19bcb67f",72466:"f4a50841",72544:"6631fea3",72706:"97839d16",73297:"d3cb7fcd",73352:"c39faaf0",73353:"2b4d41d7",73454:"0c48e067",73536:"2eb731bc",73694:"72eeaf12",73763:"221619dc",73876:"3fdc0814",74209:"be104550",74612:"6a9eca1a",74644:"d3e886ab",74645:"3512f6ed",74995:"62266e9d",75144:"944c5f91",75264:"e6597272",75312:"9f8d430a",75333:"70909872",75560:"481fac59",75644:"47733641",75734:"cef46d81",75741:"af5bd3c8",75780:"d5583dec",76014:"939f801c",76605:"b64518a7",76925:"057068ec",76999:"d5ec984b",77153:"68090d23",77202:"c4ce7d01",77356:"2ea623f2",77567:"4545d55b",77839:"85e8edc4",77901:"2ef5093f",78169:"12151514",78213:"e4db1f51",78270:"80c19293",78508:"10dd1586",78571:"da1ad91e",78633:"9120c1b0",78873:"c441d042",78901:"bf15d2f8",79048:"a94703ab",79260:"0413db52",79289:"314515b7",79315:"16faf8bf",79327:"4e911fe9",79976:"230d5fdc",80030:"db8c087e",80190:"b5b00d31",80292:"d35a0895",80320:"c8932bdf",80598:"db4f3bbd",80957:"c141421f",81006:"47e58a89",81690:"9fbf837f",81740:"7781e1f8",81895:"d375ca1d",82096:"c8d33703",82206:"aa56551c",82439:"400ecdbb",82752:"e14655eb",83019:"ced78c62",83683:"5a0b74d9",83992:"18dc6e4d",84051:"a3a08fde",84064:"29a3e49d",84170:"b4bc1be8",84263:"9a5e6f6b",84592:"df85e4a0",84666:"59ad984c",84842:"af836517",84900:"4907faf4",85168:"f83cb548",85416:"816072e4",85497:"a9d8f5ad",86049:"1f4ffe33",86104:"459e8eb3",86154:"b5725d20",86585:"23da8cfc",86738:"2e821519",87136:"e765ceb6",87294:"fcc3e8af",87902:"619c7267",87968:"9b0af131",88122:"f641c1d8",88138:"2be18267",88267:"02f8077b",88291:"9767dab6",88294:"f2bedfce",88776:"afbb88b8",89132:"293f8708",89151:"50b9949d",89178:"aaa36fb1",89213:"62d1268c",89227:"7e40e6b3",89459:"97254d1d",89610:"453ae64a",89640:"39d45b55",89792:"f2545f30",89830:"ce671f56",89897:"f0eeb72e",90496:"168c922b",90600:"ee87c775",90872:"b4eb1ea1",90880:"35bd09bf",90951:"23480489",90972:"e66b1de2",91193:"444a6da6",91209:"f6dd9f9d",91408:"2fc7e024",91587:"71394c29",91691:"ce1a1cdf",92116:"0f1bef30",92348:"f2da9399",92394:"c2ea283c",92444:"904b8c49",92909:"144a43f5",92990:"1d50b418",93140:"1a29c454",93240:"b079b393",93247:"f0b67137",93263:"730da84e",93359:"6d032186",93457:"f16848a8",93542:"c37cc938",93591:"49aa9822",94173:"d51059db",94382:"752a25f3",94508:"351b3050",94573:"baacc2a1",94907:"86116998",95057:"99abe279",95165:"bd565561",95180:"8ee2c8d6",95200:"af95bc92",95234:"a9898daa",95523:"9bacfd07",95627:"e27c2ac1",95638:"eed50738",96585:"67da1391",96601:"81bb6a5c",97078:"f531aa2f",97202:"58f0e94f",97221:"9c504d23",97382:"00f42144",97498:"e4400415",98096:"11f65c63",98284:"b2eaded0",98417:"aceb0cb2",98531:"71726720",98780:"75c9b719",98862:"e87b52ac",99082:"d47919d3",99522:"85dc2a2b",99758:"439d880a"}[e]||e)+"."+{15:"4bc36aab",348:"7c6763e5",360:"723ac405",681:"26c49a71",889:"63d1b6f5",1072:"3e3b6b07",1162:"c8c3ce21",1171:"777757d1",1841:"71033951",1966:"82d442d6",2272:"43aaddbf",2318:"60c438f9",2536:"7f03b177",3138:"77f6d4a2",3152:"ea46fb80",3409:"a0c5c02b",3578:"f324a27e",4048:"e81f215f",4085:"8810a337",4120:"6bd30035",4261:"1b98b33a",4593:"ae309596",4810:"17d80b40",4919:"428c4dc9",5009:"cd4e928a",5200:"5545d20c",5270:"cc59bede",5480:"c523c75e",5801:"0c134a12",5834:"99f95dc8",6459:"2463c0f5",6538:"3d80e9fb",6547:"bfe470bc",6637:"a8d327e6",6809:"7f55f7b1",7243:"af9f0e46",7323:"c99f5340",7521:"fbea3816",7677:"52b60ef5",7863:"91ca28b3",7879:"6a948fea",8336:"5a908ba3",8581:"375e74a0",8607:"35fbd426",8750:"c79946fb",8775:"127a1cbb",8839:"ccb5fd32",8895:"959cfbbd",9037:"e39e2c50",9145:"339beb28",9574:"29841f45",9625:"78e7b6cf",9647:"c23c9301",10078:"bcb6c741",10750:"1ad96d81",10801:"73291250",10883:"3527f197",11083:"8f40709a",11185:"26866c1b",11502:"5d48dab4",11523:"e95cd60a",11567:"bbd28d0e",11574:"28f2fdff",11703:"ea70de26",11783:"f709544c",12102:"0c2b8708",12460:"9826e2f9",12567:"081f88db",12895:"6e75fbfc",13035:"dca1fdb8",13038:"4810d98b",13147:"e8220d44",13164:"d514e63b",13341:"81565ee7",13398:"bcd8385d",13412:"6e53959c",13618:"e9bce68b",13656:"41995449",13696:"fec6e060",13988:"af6cca10",14102:"e73c7026",14351:"851b7342",14356:"326ef8b6",14387:"53247ec5",14435:"28c410a9",14574:"c86af17c",14614:"de29bc02",14876:"b29a38da",15512:"93a18dfd",15648:"06dbc9fd",15660:"1d10d43e",15679:"3cfba2b3",16224:"9f707bbf",16426:"c1bf54de",16513:"87ed9775",16629:"a6a9f0f4",16839:"b901f5dd",16913:"1e2e4a59",16916:"0eb58f49",17080:"cd0d48bd",17756:"121f9958",17800:"c4734880",17846:"1e88ff10",17938:"f4c47c13",18060:"6e3f43a3",18157:"58cd5e7a",18401:"1a60d6d0",18436:"e94cad69",18565:"2857925b",18593:"576a6afe",18611:"c49da3c6",18725:"dac3e176",18732:"e07b3b2c",18822:"3e04c39b",18968:"76c259f5",19280:"48d8ee9b",19363:"e03467b9",19421:"541e5be3",19556:"c3ce1c90",19638:"90a6eab4",19724:"e7887f4b",19788:"79160c86",20038:"e6c18b78",20123:"d91a620e",20253:"38558257",20351:"dd491c08",20357:"0b8529d7",20449:"47790358",20596:"b128b2f8",20879:"a2c59b5a",20929:"68f9db6c",20953:"291ac903",21193:"ff16d6fd",21359:"79647661",21446:"653a53f3",21490:"1f71748e",21826:"183033b5",22214:"68a773e7",22440:"fa139af9",22457:"8cfbb28b",22469:"237e9abd",22565:"25b0982b",22614:"6f2f3de9",22992:"d93bfdf8",23299:"3b423e1e",23387:"f37d5c60",23468:"5e040828",23689:"a6922e67",23723:"32566795",23822:"ae01165d",23890:"be34832d",24314:"eaf7b829",24369:"b846f64f",24384:"136a578d",24672:"f0749b03",24754:"71766d32",25412:"1cac0cdd",25657:"efd0027a",25663:"8e60b0a0",25707:"e9246468",25757:"c7ddfc6c",25838:"fdf1baca",25903:"d7592810",25985:"ce9676e3",26108:"5ce3b274",26237:"b7e73db4",26311:"3803e3f6",26691:"ca08fd03",26767:"da86ef34",26873:"34283723",27118:"af62d8c8",27176:"2a2a3583",27554:"089f3c70",27637:"9e209eda",27807:"4af5241c",27964:"c8c31ffc",28058:"364ed189",28110:"642bb860",28158:"d095bf47",28171:"23d9c975",28240:"60ea0de3",28702:"cd8164b9",28963:"1d975761",29033:"4a96da2f",29279:"67eb3fe0",29342:"c7649629",29612:"f27de5d7",29781:"67d3e687",29986:"7751ed96",30126:"5cd771fb",30488:"79680e9c",30534:"337fb672",30676:"e5c26923",30684:"49c8fd44",30956:"6164e152",31111:"0e3e0128",31224:"8cece013",31345:"aa2bcb03",31353:"098748f9",31731:"5ff4ee68",32579:"c426b094",32580:"aea8d975",32684:"0768db6d",32696:"1af40420",32741:"d8bc77ae",33110:"58e71da4",33190:"63878b25",33284:"ffa40397",33345:"3abb4a53",33441:"a2b4073c",33500:"8ba5f851",34448:"972ff4d8",34547:"2f25857a",34572:"469e5ac8",34600:"bb085f08",34838:"a402cc2b",34999:"4af78575",35045:"a28232c3",35109:"3c7559c2",35110:"337afa30",35145:"bce19d30",35281:"29e59402",35310:"9cf71581",35560:"96f31d96",35742:"923e0bb4",36294:"e0d23bb9",36690:"947faa07",36816:"f46b47c5",37217:"7a4ef066",37258:"2d9b47f6",37383:"9d09bb9e",37512:"e7f16b02",37705:"a96e7b4b",37824:"1111924d",37829:"c4090496",37859:"9cee68ec",38101:"af9e5894",38269:"6f8cb448",38513:"56c436c8",38622:"481ce6a3",38649:"e576cd1e",38652:"e57eed17",38701:"219c6b01",39049:"34fa50af",39296:"82d377da",39482:"70365956",39504:"77db0bfe",39610:"74e14cbe",39654:"385e3980",39673:"fe1eb1bb",39921:"73dd12f2",40008:"cb86569e",40044:"4947c563",40323:"6d4b7c78",40375:"293bb51b",40446:"a74969ec",40547:"5e020af8",40794:"5f0050ee",40825:"20be687c",40877:"63b5082a",41262:"45beafb1",41303:"742edf8b",41392:"d87e8292",41586:"7f7a2662",41876:"a8b1ca9e",41891:"84d0b5a8",42192:"2ca6b53c",42360:"616557fc",42557:"4a0e5a95",42632:"fda59463",42969:"a50aac96",43534:"8b79edc7",43704:"c3afcbb5",43788:"ccc0ed14",43821:"c5740155",44036:"98874fa9",44335:"07b48998",44341:"8d3bf878",44770:"22020439",44956:"7707ccd2",45397:"d3f885da",45485:"2296c95c",45851:"e597d80e",46092:"46879042",46113:"7926e335",46195:"107d32b5",46256:"80a973d7",46737:"fdbb3cf9",46933:"c5b50832",46964:"cad7fa82",46995:"404edcb9",47472:"1cc331f2",48044:"e4ae06d6",48161:"873f2f9c",48268:"5f5f3d04",48287:"992866e0",48625:"92461765",48786:"210c0593",48975:"36b51bf7",49091:"0a978cc6",49186:"794ce735",49331:"9934dfbf",49640:"7f344ff6",49712:"f906fd11",49763:"6d3ea318",49801:"17625821",49895:"be49135a",49901:"7617084c",50021:"7d3a696c",50062:"666d3b14",50093:"890cf8f4",50262:"c58d388f",50448:"630925fa",50601:"7b3be885",50635:"b4385a82",50789:"88c072ac",51150:"25ce120e",51308:"b7ac26d5",51640:"9a59b452",51925:"e35676f0",52242:"56b336d0",52410:"050ab84f",52415:"ea458349",52475:"d6ac21c2",52651:"4cadb00e",53104:"d78866e6",53251:"f110894a",53360:"c513e10d",53361:"d1d9c866",53368:"9208d438",53483:"7eac2a5b",53628:"4efaf023",53769:"b6b78310",54090:"f36594d4",54098:"9f548eb3",54147:"479fcf2c",54160:"d44ef039",54239:"76fc4690",54245:"44d1c184",54474:"901b9787",55112:"d5592543",55343:"b415eb2a",55562:"d7365956",56534:"45ac6ade",56540:"bf243f5d",56770:"6a6dd1a6",56801:"4d318bcf",56844:"bebaf7b3",56990:"60356de0",57034:"923d8637",57046:"99320596",57150:"c93a0bb9",57156:"e7fd1f70",57395:"914379e4",57502:"ab23db6a",57720:"6488506b",58090:"0db32e61",58381:"516f2552",58545:"65afcd82",58913:"504dfdef",58997:"ba372c1d",59289:"b86930f8",59376:"cb96084c",59448:"9424ca32",59776:"43c0729c",59837:"7ae1c6f4",59887:"ad710240",59931:"a7d9606d",60107:"190fe3cf",60870:"f592ecae",61141:"bb908bf6",61171:"933a1de5",61427:"d874d581",61483:"5f072524",61507:"2ea168f6",61702:"853c6135",61963:"2526868a",62138:"8c1f8d7b",62278:"41f5f0ce",62472:"e4e985f7",62620:"320e764b",62663:"47b675af",62718:"4bfde737",62719:"7d85ae0a",62888:"2b886d1d",62937:"ce46f85b",63324:"11382e69",63760:"d715fe9b",64129:"1ac7e1ef",64249:"0ccb484f",64270:"9d49c0b4",64609:"2db56abc",64785:"05e37b09",64790:"8836c920",64865:"6585a4c9",65048:"4ccce4bf",65069:"29efbae5",65138:"92d879d9",65217:"3b864fab",65410:"2f855d26",65412:"eb2d0f85",65527:"a5108b31",65708:"5d8de1b1",65739:"afe97a78",66329:"4068a644",66546:"3c52ac9e",66559:"d3af445b",66611:"823aeb28",67066:"429c84d6",67076:"f56a72f5",67098:"1f707bd1",67354:"87bbd614",67378:"668fa5ce",67484:"2f5867bd",68035:"1ec4aaee",68311:"1274d116",68392:"e1d309b9",68419:"b1595d71",68765:"3558c7bc",68960:"e04d6c42",68990:"fe0f56c2",69033:"18c70cc2",69264:"b0cf1b2b",69568:"6dd6f71b",69578:"233d0968",69601:"50828cf5",69674:"2b9ce91e",69849:"2874f6ac",69924:"dbc19d8f",69955:"a28195af",70019:"fd4fbe01",70129:"b6691fbb",71333:"cc40ef44",71731:"3a2a9448",71861:"40571f27",72076:"510c623b",72343:"ff2212f7",72350:"8fdb9113",72423:"9314b96c",72466:"aa228f3d",72544:"a5a6f671",72706:"36b5d85c",73297:"f1544fa1",73352:"ac1175ba",73353:"5265c1ef",73454:"9ee843a0",73536:"35836174",73694:"6fba475d",73763:"bed4284a",73876:"838f6aa8",74209:"43cea2d0",74612:"0e51c25a",74644:"b72d176a",74645:"2f15e98a",74995:"6f940e39",75144:"9f105302",75264:"d2cb7d59",75312:"c5a76fdc",75333:"ff378399",75560:"ad3f21bd",75644:"2e8b9d7c",75734:"6d77bc16",75741:"4bab86d6",75780:"fc3fc3a6",76014:"14b17cb1",76605:"9f17e4ca",76925:"c0b53f41",76999:"c123ecf0",77153:"57cad231",77202:"7513cb99",77356:"0c781eed",77567:"ecb030cf",77839:"3b1dce49",77901:"b33df9db",78169:"ceec409d",78213:"28b54a24",78270:"4becdd2e",78508:"0dbeb83e",78571:"79899a0f",78633:"ccfafba8",78873:"ee1d5f12",78901:"aa6186de",79048:"140c9501",79260:"f25c171f",79289:"9dd99a1d",79315:"ad10bdfd",79327:"6148e5ba",79976:"6707cfb8",80030:"374a7847",80190:"ec037c45",80292:"7b8f4410",80320:"3795b7ac",80598:"efe1a66f",80957:"0374bea0",81006:"76be8ba8",81690:"76b63724",81740:"fdc85886",81895:"cf915c1a",82096:"00d69342",82206:"e3b780c1",82237:"dd615fba",82439:"d78bde2e",82752:"db53e0f4",83019:"c4bd679a",83683:"9a5136f6",83992:"4e85cabf",84051:"a75fcae9",84064:"9e2ec24f",84170:"e7ad241a",84263:"c34214cc",84592:"18adbd02",84666:"c80d8c1c",84842:"3e805915",84900:"f9e04dcf",85168:"baa0a540",85416:"9dcfdae9",85497:"dcaabbcc",86049:"20c00568",86104:"5f2f2681",86154:"a5b3413b",86585:"e8aa9b14",86738:"61031a1c",87136:"f73646db",87294:"442b8920",87902:"fc525f67",87968:"2192ce2b",88122:"f50d0b7c",88138:"252e15e2",88267:"ab893e14",88291:"596c9f15",88294:"36662e4d",88776:"cfde878c",89132:"6c0de2b9",89151:"88985d0d",89178:"ab84f319",89213:"f2a0ac4b",89227:"8c16f99a",89459:"ead6a011",89610:"2c1e27f9",89640:"bf7e62d9",89792:"e0fa33b3",89830:"f015aded",89897:"48cb5a77",90496:"35d86ab8",90600:"0240eadd",90872:"25bad842",90880:"b2f41745",90951:"cb0919a4",90972:"b0c82687",91193:"6618604e",91209:"50901cd7",91408:"ba79f1e7",91587:"c333b01a",91691:"eb55a9cd",92116:"c322a874",92348:"0aac0b29",92394:"5b21655b",92444:"db93d9f9",92693:"742a8a9b",92909:"9a4f4b2d",92990:"39fd1e14",93140:"e57c9d90",93240:"9bfe1105",93247:"8009a68d",93263:"22d971a5",93359:"06c1c053",93457:"924133e1",93542:"409095c5",93591:"f1c24f82",94173:"df15d197",94382:"a1a53f31",94508:"54593b6d",94573:"5d6d2c86",94907:"f86ecc9f",95057:"803d95bb",95165:"04e080bd",95180:"39c2f1ad",95200:"b2947158",95234:"829d8ca7",95523:"086828c7",95627:"79c05cb7",95638:"86152d46",96585:"8e48c643",96601:"aefc9007",97078:"e47647f0",97202:"d01b59a1",97221:"76d9505a",97382:"f6c1c4bc",97498:"4c9a818b",98096:"b4cbc148",98284:"58766206",98417:"87dcc7bd",98531:"b4b60cb8",98780:"7d74ec67",98862:"f511c02e",99082:"9487d5ac",99522:"eb234984",99758:"4c398706"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),d={},b="langflow-docs:",r.l=(e,c,f,a)=>{if(d[e])d[e].push(c);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach(e=>e(f)),c)return c(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={12151514:"78169",17896441:"18401",20177945:"68392",23480489:"90951",32141993:"59289",35953519:"59931",44121474:"30684",44691977:"14876",47733641:"75644",56350599:"18593",69079906:"65739",70909872:"75333",71726720:"98531",72881381:"27637",80866714:"16839",83231553:"31111",86116998:"94907",d803fa53:"15","54835a34":"348",e4dcfb14:"360",ffa0f8b1:"681","08b309e9":"889",db819a37:"1072",f7e6b9d6:"1162",b685e31b:"1171","9c41e875":"1841",b1582da4:"1966",ca5faf5d:"2272","8f587777":"2318","2ff50c47":"2536",d9370077:"3138",c0de4bb7:"3152","9bd8678f":"3409","59b4092b":"3578","6a9646c2":"4048",cb17b4e0:"4085","8adc8900":"4120",e0e01b61:"4261","58dbbaf6":"4593","6c9a6dfb":"4810",ce43de4b:"4919",f55f73d6:"5009",ff7f32ba:"5200","99931d31":"5270","0f72e758":"5801","4916c69a":"5834","290c78e6":"6459","719cba95":"6538",bab3e2be:"6547","2b2e9d64":"6637","8f7e7f58":"6809","5d9d4350":"7243","92c23da4":"7323",d9570b85:"7521","7030d598":"7677",b49f632d:"7863","9b2487b6":"7879",e7fd9095:"8336","0d551289":"8581","681e5335":"8607","8a484c94":"8750","9cc816e3":"8775","5853a7b9":"8839",b13f6e6e:"8895","62d465bc":"9037",b96ee1bf:"9145","0e5d0999":"9574","5b73b0a8":"9625","5e95c892":"9647",b768a3a5:"10078","33b5ee95":"10750","3d1d37ee":"10801","1dfb8d43":"10883","86f51cb1":"11185",c38e511c:"11502","131fd31a":"11523","22dd74f7":"11567","60ebe5d0":"11574",ff8bad6c:"11703","6e911c05":"11783","755d162a":"12102","954b19af":"12460","2141bac8":"12567","083628f7":"12895","87b7bbd6":"13035","6df123cd":"13038",c83c70df:"13147","67f2dc6c":"13164","8e51f10f":"13341","2613df18":"13398","3782bb5d":"13412",c4ac99db:"13618",db31f7b6:"13656","69a0b706":"13696",d29c4a40:"13988",ef8630dc:"14102","13786dcf":"14351","7b864b08":"14356","60cde673":"14387","4e55999f":"14435","313670b1":"14574",e55b8e98:"14614",a64546e2:"15512","68ce6e99":"15648","1b208f60":"15660",a304954f:"15679",ef9aa223:"16224","9ebc9441":"16426",f13693f0:"16513",a49b697b:"16629","2aae4c48":"16913",b1c2f621:"16916",c11ffc61:"17080","323a2e94":"17756","1cf73564":"17800",f37945da:"17846","02b166f2":"17938",eb22fa0a:"18060","5b43ec5c":"18157",d80374ab:"18436","88482ee6":"18565","0c23d011":"18611","1605cba6":"18725","8d03d619":"18732","555ae514":"18822","5dbb78ab":"18968","06d4c56c":"19280",f3312674:"19363","9369b6bc":"19421",c2b2f507:"19556",db42831a:"19638","7a5c3569":"19724",e53e6cac:"19788",a99a45c9:"20038","67f5d62b":"20123",bb45d4f9:"20253",b9acb8d9:"20351","886ee107":"20357","0591c3e4":"20449",c2e0ed62:"20596","8bee5443":"20879",c62d7ccd:"20929",bd7e5f4a:"20953","8b191302":"21193","93f4a427":"21359",c78349fc:"21446","0f761898":"21490",c3ae1367:"21826","1c1c22e6":"22214","69a67e92":"22440","46abd5bb":"22457",cd086441:"22469","622fd833":"22565","71a62fc9":"22614","9d7c1d70":"22992",f39513cb:"23299","3d67876e":"23387",c76bd485:"23468","7a7f449b":"23689",d29727e0:"23723",e1925c9e:"23822",f57aa203:"23890",f6a246db:"24314","6b6b826b":"24369","622bdc6f":"24384","59a1fafb":"24672",a6d50436:"25412",fc9e0258:"25657",b1379b2b:"25663","8593bab8":"25707",ad42ff54:"25757",bbb8ec1d:"25838","69d616f2":"25903",e3536031:"25985","2fed9fb3":"26108","8b896872":"26237",cce672fb:"26311","3e9e9e4d":"26691","23499d25":"26767",b06c1bff:"26873","7996108c":"27118",ae846847:"27176","66c0ced4":"27554","1a8a0a64":"27807",ff35961a:"27964",c116cd5b:"28058","714c86d4":"28110","78f20457":"28158",cc554d5c:"28171","0102a83b":"28240","42962acd":"28702","56c23a02":"28963","563ddf9c":"29033","7d437779":"29279",dd544600:"29342","46a77053":"29612",b796be74:"29781",d1f3cfe5:"29986",ae70dfbf:"30126","3d4d4fec":"30488","76e36fb0":"30534","7631f8d2":"30676","03735ec1":"30956",f8655c95:"31224",fe6d5b4f:"31345",e3ac9b36:"31353","7f371604":"31731",dea11b82:"32579","19a17d95":"32580","12c97058":"32684",e76a67c4:"32696","43ad9ba4":"32741","33dc892c":"33110","35b7ab8a":"33190","6398c398":"33284","040305fb":"33345","57ca4a6e":"33441",c3c63498:"33500",af54cce0:"34448",b1d3effc:"34547","3348f35c":"34572","5f7173ff":"34600","519fcc13":"34838","6c4352b5":"34999",f2ec4536:"35045","81045c65":"35109",e9fe1d10:"35110",b9639850:"35145",eeeaec82:"35281","3bc04d54":"35310",a0b1cb48:"35560",aba21aa0:"35742","06438862":"36294","4d73c64d":"36690",e3193c90:"36816","8433a9df":"37217",b0066887:"37258",c43bb4ff:"37383","4c09a7b3":"37512","2b91b6ca":"37705","2b56b65e":"37824","7c27dc91":"37829","593d9d00":"37859",dbc51d47:"38101",c7f91cbe:"38269","86e152f5":"38513","3421ab55":"38622","7de42fc9":"38649",f3ac2f9e:"38652","4fb38478":"38701",f182f6a8:"39049","0664e19b":"39296",a9c1003f:"39482","577c79e2":"39504","558d344b":"39610",d336c0e7:"39654","25e1f852":"39673",bf5514cf:"39921","4c98f287":"40008",e3f369d5:"40044","07cbc62e":"40323","3d81f1cf":"40375",a4232cf8:"40446","3325f616":"40547","62403cba":"40794","6306afff":"40825","0f15664b":"40877","736c10b7":"41262","41d45d82":"41303","524ac532":"41392",bb458927:"41586","5c3b537a":"41876","0e5f6b08":"41891","9d8bd6d4":"42192","017d425f":"42360",e52a8b92:"42557","568a9220":"42632",f0ad3fbb:"42969","6334f102":"43534","7cddad42":"43704","5df8c6e2":"43788","597eac2b":"43821",fbcfc90d:"44036",f0f46288:"44335",e1a0f423:"44341","68b33cec":"44770","7dd51668":"44956",eba86ea4:"45397","087959bf":"45485","2be9dc85":"45851","53bec5b2":"46092","4dfec8bf":"46113","44254a19":"46195","6888b60e":"46256",dfae685c:"46737","2c0889df":"46933","0cb92a3e":"46964","9de16efd":"46995","918796f5":"47472","26e0f666":"48044",c0975f59:"48161",a4b6c971:"48268","3a9e0e6c":"48625","614cb771":"48786","0fca4648":"48975",db80839f:"49091","7e09847e":"49186",ffcd190c:"49331","3b25a2ae":"49640",d8c8efb9:"49712",aece522a:"49763","907b1917":"49801",a2cf3cbb:"49895","74765de4":"49901",b75540e2:"50021","49dd0916":"50062",a3702f61:"50093",e3375295:"50262","50ebac30":"50448",efc28ab7:"50601",ddc3f343:"50635","6120404c":"50789",b9f408a3:"51150",ec030ab7:"51308","34c961bc":"51640","780df666":"52242","3c2009e3":"52410",b7f0fa5c:"52415","1ab69cbd":"52475","8cd0650d":"52651","81ade132":"53104","00ff87cb":"53251","2c0d05be":"53360","8f633f11":"53361",efa0f9ee:"53368",af3eee87:"53483","8db61ca8":"53628","2c3d9ffa":"53769",a8ca941b:"54090","2d7c992e":"54098","2b710dbb":"54147",c81b2489:"54160","93d1f2ab":"54239",f04703a3:"54245","3db73d6f":"54474","68f30bb0":"55112","1b10d5ba":"55343","0c843eb8":"55562","30291f60":"56534",e983a71a:"56540","2c96c8bf":"56770",acefda8b:"56801",ff75e5d1:"56844",c699cab6:"57034","4bd60bfa":"57046",dee456a9:"57150","165dcd0d":"57156","1be2c3df":"57395","1a547ad8":"57502","3bfbe7c9":"57720","6e85978c":"58090","147f5874":"58381","5a94716a":"58545","0f16c390":"58997","8d322213":"59376",f2e40bf0:"59448","28a2dd93":"59776","1167f920":"59837","508dc4aa":"59887","7e3143ed":"60107",c8c2e8e3:"60870","067fc716":"61141",db681b30:"61171",a07a3961:"61427","87a280ae":"61483",cfacdcbb:"61507",ac660c9a:"61702","97dc9ff4":"61963","1a4e3797":"62138",c4280da9:"62278","62f97fbe":"62472",f3ad3ad1:"62620",f8717faf:"62663","41998ae8":"62718",faf2e68f:"62719","32270e71":"62888","7fdc52f9":"62937",f183fa16:"64129",fc515ceb:"64249",e6c71d49:"64270","09db28ba":"64609","3760d024":"64785",e4a3fe7d:"64790","454071be":"64865","3c440e04":"65048","3d29008d":"65069","47094f16":"65138",fb0a7a3f:"65217",adea32c2:"65410",cd6761a3:"65412","4e5156cc":"65527","59a5ce7f":"65708",a7b545c5:"66329","2e4bb914":"66546","7431813e":"66559",c6498d99:"66611","65dee3f9":"67066","308702e4":"67076",a7bd4aaa:"67098",c0d9f82a:"67354","7f3541b1":"67378",ad01e028:"67484",aacd5a8e:"68035","3df9cb09":"68311","78d85954":"68419","1a2eaade":"68765",c72ac64a:"68960","5f1a63c6":"68990","9f55b2fc":"69033",c7f32161:"69264","975a9c4e":"69568","1956b4f2":"69578",d202f5de:"69601",feac1fba:"69674","503850d7":"69849",a87e3b03:"69924","36748e69":"69955",b74a56d9:"70019",dfa3dc90:"70129",c990d48e:"71333","7f2f21f2":"71731","8ad67c3b":"71861",common:"72076",e4268fbc:"72343",aca88518:"72350","19bcb67f":"72423",f4a50841:"72466","6631fea3":"72544","97839d16":"72706",d3cb7fcd:"73297",c39faaf0:"73352","2b4d41d7":"73353","0c48e067":"73454","2eb731bc":"73536","72eeaf12":"73694","221619dc":"73763","3fdc0814":"73876",be104550:"74209","6a9eca1a":"74612",d3e886ab:"74644","3512f6ed":"74645","62266e9d":"74995","944c5f91":"75144",e6597272:"75264","9f8d430a":"75312","481fac59":"75560",cef46d81:"75734",af5bd3c8:"75741",d5583dec:"75780","939f801c":"76014",b64518a7:"76605","057068ec":"76925",d5ec984b:"76999","68090d23":"77153",c4ce7d01:"77202","2ea623f2":"77356","4545d55b":"77567","85e8edc4":"77839","2ef5093f":"77901",e4db1f51:"78213","80c19293":"78270","10dd1586":"78508",da1ad91e:"78571","9120c1b0":"78633",c441d042:"78873",bf15d2f8:"78901",a94703ab:"79048","0413db52":"79260","314515b7":"79289","16faf8bf":"79315","4e911fe9":"79327","230d5fdc":"79976",db8c087e:"80030",b5b00d31:"80190",d35a0895:"80292",c8932bdf:"80320",db4f3bbd:"80598",c141421f:"80957","47e58a89":"81006","9fbf837f":"81690","7781e1f8":"81740",d375ca1d:"81895",c8d33703:"82096",aa56551c:"82206","400ecdbb":"82439",e14655eb:"82752",ced78c62:"83019","5a0b74d9":"83683","18dc6e4d":"83992",a3a08fde:"84051","29a3e49d":"84064",b4bc1be8:"84170","9a5e6f6b":"84263",df85e4a0:"84592","59ad984c":"84666",af836517:"84842","4907faf4":"84900",f83cb548:"85168","816072e4":"85416",a9d8f5ad:"85497","1f4ffe33":"86049","459e8eb3":"86104",b5725d20:"86154","23da8cfc":"86585","2e821519":"86738",e765ceb6:"87136",fcc3e8af:"87294","619c7267":"87902","9b0af131":"87968",f641c1d8:"88122","2be18267":"88138","02f8077b":"88267","9767dab6":"88291",f2bedfce:"88294",afbb88b8:"88776","293f8708":"89132","50b9949d":"89151",aaa36fb1:"89178","62d1268c":"89213","7e40e6b3":"89227","97254d1d":"89459","453ae64a":"89610","39d45b55":"89640",f2545f30:"89792",ce671f56:"89830",f0eeb72e:"89897","168c922b":"90496",ee87c775:"90600",b4eb1ea1:"90872","35bd09bf":"90880",e66b1de2:"90972","444a6da6":"91193",f6dd9f9d:"91209","2fc7e024":"91408","71394c29":"91587",ce1a1cdf:"91691","0f1bef30":"92116",f2da9399:"92348",c2ea283c:"92394","904b8c49":"92444","144a43f5":"92909","1d50b418":"92990","1a29c454":"93140",b079b393:"93240",f0b67137:"93247","730da84e":"93263","6d032186":"93359",f16848a8:"93457",c37cc938:"93542","49aa9822":"93591",d51059db:"94173","752a25f3":"94382","351b3050":"94508",baacc2a1:"94573","99abe279":"95057",bd565561:"95165","8ee2c8d6":"95180",af95bc92:"95200",a9898daa:"95234","9bacfd07":"95523",e27c2ac1:"95627",eed50738:"95638","67da1391":"96585","81bb6a5c":"96601",f531aa2f:"97078","58f0e94f":"97202","9c504d23":"97221","00f42144":"97382",e4400415:"97498","11f65c63":"98096",b2eaded0:"98284",aceb0cb2:"98417","75c9b719":"98780",e87b52ac:"98862",d47919d3:"99082","85dc2a2b":"99522","439d880a":"99758"}[e]||e,r.p+r.u(e)},(()=>{var e={45354:0,71869:0};r.f.j=(c,f)=>{var d=r.o(e,c)?e[c]:void 0;if(0!==d)if(d)f.push(d[2]);else if(/^(45354|71869)$/.test(c))e[c]=0;else{var b=new Promise((f,b)=>d=e[c]=[f,b]);f.push(d[2]=b);var a=r.p+r.u(c),t=new Error;r.l(a,f=>{if(r.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var b=f&&("load"===f.type?"missing":f.type),a=f&&f.target&&f.target.src;t.message="Loading chunk "+c+" failed.\n("+b+": "+a+")",t.name="ChunkLoadError",t.type=b,t.request=a,d[1](t)}},"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,f)=>{var d,b,[a,t,o]=f,n=0;if(a.some(c=>0!==e[c])){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(c&&c(f);n
-
+
diff --git a/bundles-agentics.html b/bundles-agentics.html
index fe62b3021d..d47b226798 100644
--- a/bundles-agentics.html
+++ b/bundles-agentics.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-aiml.html b/bundles-aiml.html
index cf35b653d5..cfdd4ca3aa 100644
--- a/bundles-aiml.html
+++ b/bundles-aiml.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-altk.html b/bundles-altk.html
index d69d8d334a..4d389e2bd0 100644
--- a/bundles-altk.html
+++ b/bundles-altk.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-amazon.html b/bundles-amazon.html
index 8110da01eb..38d9fbe35f 100644
--- a/bundles-amazon.html
+++ b/bundles-amazon.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-anthropic.html b/bundles-anthropic.html
index 05487d3bcb..9cb9cdcf4a 100644
--- a/bundles-anthropic.html
+++ b/bundles-anthropic.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-apify.html b/bundles-apify.html
index 5ebdb4d491..496c4771d1 100644
--- a/bundles-apify.html
+++ b/bundles-apify.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-arxiv.html b/bundles-arxiv.html
index c384c65979..ab928d1a86 100644
--- a/bundles-arxiv.html
+++ b/bundles-arxiv.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-assemblyai.html b/bundles-assemblyai.html
index 38871a5476..7cb047eb54 100644
--- a/bundles-assemblyai.html
+++ b/bundles-assemblyai.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-azure.html b/bundles-azure.html
index 48aca55e68..3f5bbf4885 100644
--- a/bundles-azure.html
+++ b/bundles-azure.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-baidu.html b/bundles-baidu.html
index 1aa50d2119..e0edbeb4ad 100644
--- a/bundles-baidu.html
+++ b/bundles-baidu.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-bing.html b/bundles-bing.html
index 926b4b5e5d..127b155fb4 100644
--- a/bundles-bing.html
+++ b/bundles-bing.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-cassandra.html b/bundles-cassandra.html
index 301578a873..81733a09f6 100644
--- a/bundles-cassandra.html
+++ b/bundles-cassandra.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-chroma.html b/bundles-chroma.html
index 29bfa8f2ae..69f9a791ad 100644
--- a/bundles-chroma.html
+++ b/bundles-chroma.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-cleanlab.html b/bundles-cleanlab.html
index 039cb54d98..5aeb9b9a44 100644
--- a/bundles-cleanlab.html
+++ b/bundles-cleanlab.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-clickhouse.html b/bundles-clickhouse.html
index 3a1e67c0aa..61f97d0d21 100644
--- a/bundles-clickhouse.html
+++ b/bundles-clickhouse.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-cloudflare.html b/bundles-cloudflare.html
index 16391f36a9..b7243bbca6 100644
--- a/bundles-cloudflare.html
+++ b/bundles-cloudflare.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-cohere.html b/bundles-cohere.html
index 5aafca9328..42b749a03f 100644
--- a/bundles-cohere.html
+++ b/bundles-cohere.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-cometapi.html b/bundles-cometapi.html
index 70409d4eb6..d7ce83e245 100644
--- a/bundles-cometapi.html
+++ b/bundles-cometapi.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-composio.html b/bundles-composio.html
index 570ca96a2f..6361655e82 100644
--- a/bundles-composio.html
+++ b/bundles-composio.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-couchbase.html b/bundles-couchbase.html
index 2212313580..3b35c94532 100644
--- a/bundles-couchbase.html
+++ b/bundles-couchbase.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-cuga.html b/bundles-cuga.html
index 5186af4a0c..9d66a9e23d 100644
--- a/bundles-cuga.html
+++ b/bundles-cuga.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-datastax.html b/bundles-datastax.html
index d9c74f9b88..4e5973e5cc 100644
--- a/bundles-datastax.html
+++ b/bundles-datastax.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-deepseek.html b/bundles-deepseek.html
index 9316ee9823..98c8834c51 100644
--- a/bundles-deepseek.html
+++ b/bundles-deepseek.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-docling.html b/bundles-docling.html
index 5d22c5861d..5a9d3dd98f 100644
--- a/bundles-docling.html
+++ b/bundles-docling.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-duckduckgo.html b/bundles-duckduckgo.html
index 0ee8f45818..006469efa6 100644
--- a/bundles-duckduckgo.html
+++ b/bundles-duckduckgo.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-elastic.html b/bundles-elastic.html
index ce71a727a2..0648a3e597 100644
--- a/bundles-elastic.html
+++ b/bundles-elastic.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-exa.html b/bundles-exa.html
index 1cc7797a27..85883322dc 100644
--- a/bundles-exa.html
+++ b/bundles-exa.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-faiss.html b/bundles-faiss.html
index 72d5430007..1dfad27cac 100644
--- a/bundles-faiss.html
+++ b/bundles-faiss.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-glean.html b/bundles-glean.html
index 1b14e025f6..dfb2ea14b7 100644
--- a/bundles-glean.html
+++ b/bundles-glean.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-google.html b/bundles-google.html
index 82499dd9a3..c9e2f166ce 100644
--- a/bundles-google.html
+++ b/bundles-google.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-groq.html b/bundles-groq.html
index 82b2974696..e406fb381d 100644
--- a/bundles-groq.html
+++ b/bundles-groq.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-huggingface.html b/bundles-huggingface.html
index d79afaa919..76abce09b5 100644
--- a/bundles-huggingface.html
+++ b/bundles-huggingface.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-ibm.html b/bundles-ibm.html
index 23423543ca..6e9bb0d509 100644
--- a/bundles-ibm.html
+++ b/bundles-ibm.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-icosacomputing.html b/bundles-icosacomputing.html
index b02b212ee2..8706556651 100644
--- a/bundles-icosacomputing.html
+++ b/bundles-icosacomputing.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-langchain.html b/bundles-langchain.html
index 4aefb41740..5a8c4e32e8 100644
--- a/bundles-langchain.html
+++ b/bundles-langchain.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-lite-llm.html b/bundles-lite-llm.html
index 4533ca6089..fd8117772e 100644
--- a/bundles-lite-llm.html
+++ b/bundles-lite-llm.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-lmstudio.html b/bundles-lmstudio.html
index 4f8b5d542c..3945b96bb0 100644
--- a/bundles-lmstudio.html
+++ b/bundles-lmstudio.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-maritalk.html b/bundles-maritalk.html
index 75ee73fee8..bc31929480 100644
--- a/bundles-maritalk.html
+++ b/bundles-maritalk.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-mem0.html b/bundles-mem0.html
index e4fb7fa697..b24e4d4e6c 100644
--- a/bundles-mem0.html
+++ b/bundles-mem0.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-milvus.html b/bundles-milvus.html
index 88c3ae1109..ce528df543 100644
--- a/bundles-milvus.html
+++ b/bundles-milvus.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-mistralai.html b/bundles-mistralai.html
index 3b7231f93d..c9b67874fe 100644
--- a/bundles-mistralai.html
+++ b/bundles-mistralai.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-mongodb.html b/bundles-mongodb.html
index 71bb6b68d6..f414cbaeda 100644
--- a/bundles-mongodb.html
+++ b/bundles-mongodb.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-notion.html b/bundles-notion.html
index 058053b844..00e4e8f2a6 100644
--- a/bundles-notion.html
+++ b/bundles-notion.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-novita.html b/bundles-novita.html
index 9d95016b98..656b70b570 100644
--- a/bundles-novita.html
+++ b/bundles-novita.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-nvidia.html b/bundles-nvidia.html
index 768dd18400..31b4037728 100644
--- a/bundles-nvidia.html
+++ b/bundles-nvidia.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-ollama.html b/bundles-ollama.html
index e197546147..57fc1d7ca0 100644
--- a/bundles-ollama.html
+++ b/bundles-ollama.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-openai.html b/bundles-openai.html
index d853956b22..f8951996cf 100644
--- a/bundles-openai.html
+++ b/bundles-openai.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-openrouter.html b/bundles-openrouter.html
index f28a5eeb57..bdd94f8754 100644
--- a/bundles-openrouter.html
+++ b/bundles-openrouter.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-perplexity.html b/bundles-perplexity.html
index 490541908a..7138131b3d 100644
--- a/bundles-perplexity.html
+++ b/bundles-perplexity.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-pgvector.html b/bundles-pgvector.html
index c26211abfb..4acf620959 100644
--- a/bundles-pgvector.html
+++ b/bundles-pgvector.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-pinecone.html b/bundles-pinecone.html
index b6b7b584f0..a20e3d31cb 100644
--- a/bundles-pinecone.html
+++ b/bundles-pinecone.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-qdrant.html b/bundles-qdrant.html
index 6e12c0dab5..fbc5166a65 100644
--- a/bundles-qdrant.html
+++ b/bundles-qdrant.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-redis.html b/bundles-redis.html
index 965289f1ff..b6d1a6a58f 100644
--- a/bundles-redis.html
+++ b/bundles-redis.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-sambanova.html b/bundles-sambanova.html
index a836dddb26..2b09a34af1 100644
--- a/bundles-sambanova.html
+++ b/bundles-sambanova.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-searchapi.html b/bundles-searchapi.html
index 377135cee1..774a9e2c5d 100644
--- a/bundles-searchapi.html
+++ b/bundles-searchapi.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-serper.html b/bundles-serper.html
index 0484b95b65..b06e20e89b 100644
--- a/bundles-serper.html
+++ b/bundles-serper.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-supabase.html b/bundles-supabase.html
index eb54c53030..ad9462e948 100644
--- a/bundles-supabase.html
+++ b/bundles-supabase.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-upstash.html b/bundles-upstash.html
index 8856f0056b..8e90394816 100644
--- a/bundles-upstash.html
+++ b/bundles-upstash.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-vectara.html b/bundles-vectara.html
index da3738ebe8..5878e8eb27 100644
--- a/bundles-vectara.html
+++ b/bundles-vectara.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-vertexai.html b/bundles-vertexai.html
index ab615f5e71..76f5fefb4a 100644
--- a/bundles-vertexai.html
+++ b/bundles-vertexai.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-vllm.html b/bundles-vllm.html
index 98dcbfad19..ed9ba51164 100644
--- a/bundles-vllm.html
+++ b/bundles-vllm.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-weaviate.html b/bundles-weaviate.html
index e3f5e2c682..efdd019bb7 100644
--- a/bundles-weaviate.html
+++ b/bundles-weaviate.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-wikipedia.html b/bundles-wikipedia.html
index 6e6c300e69..5151f34bc6 100644
--- a/bundles-wikipedia.html
+++ b/bundles-wikipedia.html
@@ -25,7 +25,7 @@
-
+
diff --git a/bundles-xai.html b/bundles-xai.html
index 386df45b8e..ce7fad410e 100644
--- a/bundles-xai.html
+++ b/bundles-xai.html
@@ -25,7 +25,7 @@
-
+
diff --git a/calculator.html b/calculator.html
index 6f0c8dab6e..50d0c01737 100644
--- a/calculator.html
+++ b/calculator.html
@@ -25,7 +25,7 @@
-
+
diff --git a/chat-input-and-output.html b/chat-input-and-output.html
index b69bfba9c0..d1799bb15d 100644
--- a/chat-input-and-output.html
+++ b/chat-input-and-output.html
@@ -25,7 +25,7 @@
-
+
diff --git a/chat-with-files.html b/chat-with-files.html
index 4f60969b32..71b4aaab71 100644
--- a/chat-with-files.html
+++ b/chat-with-files.html
@@ -25,7 +25,7 @@
-
+
diff --git a/chat-with-rag.html b/chat-with-rag.html
index 14e28b05f1..86e139b2c5 100644
--- a/chat-with-rag.html
+++ b/chat-with-rag.html
@@ -25,7 +25,7 @@
-
+
diff --git a/component-webhook.html b/component-webhook.html
index 3acb73fce1..9a2940abbd 100644
--- a/component-webhook.html
+++ b/component-webhook.html
@@ -25,7 +25,7 @@
-
+
diff --git a/components-agents.html b/components-agents.html
index b3a5f5bc2f..bca798b255 100644
--- a/components-agents.html
+++ b/components-agents.html
@@ -25,7 +25,7 @@
-
+
diff --git a/components-bundle-components.html b/components-bundle-components.html
index 803f57a84b..265b9b7418 100644
--- a/components-bundle-components.html
+++ b/components-bundle-components.html
@@ -25,7 +25,7 @@
-
+
diff --git a/components-custom-components.html b/components-custom-components.html
index 158b182525..baf6201057 100644
--- a/components-custom-components.html
+++ b/components-custom-components.html
@@ -25,7 +25,7 @@
-
+
diff --git a/components-embedding-models.html b/components-embedding-models.html
index d7ef901318..8b44628a17 100644
--- a/components-embedding-models.html
+++ b/components-embedding-models.html
@@ -25,7 +25,7 @@
-
+
diff --git a/components-models.html b/components-models.html
index b1a478d620..d45fbc841f 100644
--- a/components-models.html
+++ b/components-models.html
@@ -25,7 +25,7 @@
-
+
diff --git a/components-prompts.html b/components-prompts.html
index 1ea90bcadf..09e230aec4 100644
--- a/components-prompts.html
+++ b/components-prompts.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-components.html b/concepts-components.html
index eed5647533..14ce29a513 100644
--- a/concepts-components.html
+++ b/concepts-components.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-file-management.html b/concepts-file-management.html
index 8198f6b1c2..1e46b45f4b 100644
--- a/concepts-file-management.html
+++ b/concepts-file-management.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-flows-import.html b/concepts-flows-import.html
index fe1a495eaf..75c063a698 100644
--- a/concepts-flows-import.html
+++ b/concepts-flows-import.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-flows.html b/concepts-flows.html
index 50f9ccea0e..58c6425173 100644
--- a/concepts-flows.html
+++ b/concepts-flows.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-overview.html b/concepts-overview.html
index 7a5647861a..657b7e5126 100644
--- a/concepts-overview.html
+++ b/concepts-overview.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-playground.html b/concepts-playground.html
index 056e4357f1..66d81055df 100644
--- a/concepts-playground.html
+++ b/concepts-playground.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-publish.html b/concepts-publish.html
index bf83c0f6ed..3eab715f8d 100644
--- a/concepts-publish.html
+++ b/concepts-publish.html
@@ -25,7 +25,7 @@
-
+
diff --git a/concepts-voice-mode.html b/concepts-voice-mode.html
index 6542f5fdab..0460f35692 100644
--- a/concepts-voice-mode.html
+++ b/concepts-voice-mode.html
@@ -25,7 +25,7 @@
-
+
diff --git a/configuration-cli.html b/configuration-cli.html
index 61320839b0..686dd9dd48 100644
--- a/configuration-cli.html
+++ b/configuration-cli.html
@@ -25,7 +25,7 @@
-
+
diff --git a/configuration-custom-database.html b/configuration-custom-database.html
index 7f5d41c185..d33de06cdb 100644
--- a/configuration-custom-database.html
+++ b/configuration-custom-database.html
@@ -25,7 +25,7 @@
-
+
diff --git a/configuration-global-variables.html b/configuration-global-variables.html
index a71fef847a..e4095587cd 100644
--- a/configuration-global-variables.html
+++ b/configuration-global-variables.html
@@ -25,7 +25,7 @@
-
+
diff --git a/contributing-bundles.html b/contributing-bundles.html
index 1f47d202ac..dbd998f996 100644
--- a/contributing-bundles.html
+++ b/contributing-bundles.html
@@ -25,7 +25,7 @@
-
+
diff --git a/contributing-community.html b/contributing-community.html
index 64cbe685b1..43711bbadf 100644
--- a/contributing-community.html
+++ b/contributing-community.html
@@ -25,7 +25,7 @@
-
+
diff --git a/contributing-component-tests.html b/contributing-component-tests.html
index b0beaf735f..db48aa59e2 100644
--- a/contributing-component-tests.html
+++ b/contributing-component-tests.html
@@ -25,7 +25,7 @@
-
+
diff --git a/contributing-components.html b/contributing-components.html
index f3b20fbf8e..38d48dcee3 100644
--- a/contributing-components.html
+++ b/contributing-components.html
@@ -25,7 +25,7 @@
-
+
diff --git a/contributing-github-issues.html b/contributing-github-issues.html
index f252d37cd9..fd7803414a 100644
--- a/contributing-github-issues.html
+++ b/contributing-github-issues.html
@@ -25,7 +25,7 @@
-
+
diff --git a/contributing-how-to-contribute.html b/contributing-how-to-contribute.html
index 5cd4971097..adf8bc9798 100644
--- a/contributing-how-to-contribute.html
+++ b/contributing-how-to-contribute.html
@@ -25,7 +25,7 @@
-
+
diff --git a/contributing-telemetry.html b/contributing-telemetry.html
index 42d4e1fe1d..55ffe214ff 100644
--- a/contributing-telemetry.html
+++ b/contributing-telemetry.html
@@ -25,7 +25,7 @@
-
+
@@ -124,7 +124,27 @@ All telemetry data is anonymized and used solely for improving Langflow.
Message: The exception message that was raised.
Context: Additional contextual information related to where the exception occurred, such as route, component, or operation details, when available.
StackTraceHash: A hash of the stack trace used to group similar exceptions for easier analysis.