From fc76f972e1afbec4a16b676ffde80ee1778c70a9 Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Mon, 24 Feb 2025 17:06:12 +0000 Subject: [PATCH] deploy: a24d3830e48de8bcc55284be0d0b9a8d640a5d36 --- 404.html | 4 +- Concepts/concepts-flows.html | 6 +- Deployment/deployment-docker.html | 6 +- agents-overview.html | 6 +- agents-tool-calling-agent-component.html | 6 +- api-reference-api-examples.html | 6 +- api.html | 4 +- api/add-user.html | 4 +- api/auto-login.html | 4 +- api/build-flow.html | 4 +- api/build-vertex-stream.html | 4 +- api/build-vertex.html | 4 +- api/check-if-store-has-api-key.html | 4 +- api/check-if-store-is-enabled.html | 4 +- api/create-api-key-route.html | 4 +- api/create-flow.html | 4 +- api/create-flows.html | 4 +- api/create-folder.html | 4 +- api/create-upload-file.html | 4 +- api/create-variable.html | 4 +- api/custom-component-update.html | 4 +- api/custom-component.html | 4 +- api/delete-api-key-route.html | 4 +- api/delete-file.html | 4 +- api/delete-flow.html | 4 +- api/delete-folder.html | 4 +- api/delete-messages-session.html | 4 +- api/delete-messages.html | 4 +- api/delete-multiple-flows.html | 4 +- api/delete-user.html | 4 +- api/delete-variable.html | 4 +- api/delete-vertex-builds.html | 4 +- api/download-component.html | 4 +- api/download-file-1.html | 4 +- api/download-file.html | 4 +- api/download-image.html | 4 +- api/download-multiple-file.html | 4 +- api/download-profile-picture.html | 4 +- api/experimental-run-flow.html | 4 +- api/get-all.html | 4 +- api/get-api-keys-route.html | 4 +- api/get-components.html | 4 +- api/get-config.html | 4 +- api/get-list-of-components-liked-by-user.html | 4 +- api/get-messages.html | 4 +- api/get-starter-projects.html | 4 +- api/get-tags.html | 4 +- api/get-task-status.html | 4 +- api/get-transactions.html | 4 +- api/get-version.html | 4 +- api/get-vertex-builds.html | 4 +- api/handle-messages.html | 4 +- api/handle-sse.html | 4 +- api/health-check.html | 4 +- api/health.html | 4 +- api/like-component.html | 4 +- api/list-files.html | 4 +- api/list-profile-pictures.html | 4 +- api/login-to-get-access-token.html | 4 +- api/logout.html | 4 +- api/logs.html | 4 +- api/patch-user.html | 4 +- api/post-validate-code.html | 4 +- api/post-validate-prompt.html | 4 +- api/process-1.html | 4 +- api/process.html | 4 +- api/read-all-users.html | 4 +- api/read-basic-examples.html | 4 +- api/read-current-user.html | 4 +- api/read-flow.html | 4 +- api/read-flows.html | 4 +- api/read-folder.html | 4 +- api/read-folders.html | 4 +- api/read-variables.html | 4 +- api/refresh-token.html | 4 +- api/reset-password.html | 4 +- api/retrieve-vertices-order.html | 4 +- api/save-store-api-key.html | 4 +- api/share-component.html | 4 +- api/simplified-run-flow.html | 4 +- api/stream-logs.html | 4 +- api/update-flow.html | 4 +- api/update-folder.html | 4 +- api/update-message.html | 4 +- api/update-session-id.html | 4 +- api/update-shared-component.html | 4 +- api/update-variable.html | 4 +- api/upload-file-1.html | 4 +- api/upload-file-2.html | 4 +- api/upload-file.html | 4 +- api/webhook-run-flow.html | 4 +- ...astra-ac58faad6d13d928d400455962bf6028.png | Bin 0 -> 279852 bytes assets/js/18f3809a.7edfca3e.js | 1 + assets/js/18f3809a.b4730037.js | 1 - assets/js/20e9af62.79623de3.js | 1 - assets/js/20e9af62.d5843844.js | 1 + assets/js/22dd74f7.0cad782c.js | 1 - assets/js/22dd74f7.a2531470.js | 1 + assets/js/2ab0d4f5.3effb72b.js | 1 - assets/js/2ab0d4f5.fd0aac36.js | 1 + assets/js/5e834a3c.965aeff7.js | 1 + ...6a4d2.f4418579.js => e6c6a4d2.3eb76ad5.js} | 2 +- assets/js/main.9d10f1e7.js | 2 - assets/js/main.9f3f6452.js | 2 + ...CENSE.txt => main.9f3f6452.js.LICENSE.txt} | 0 assets/js/runtime~main.bd0ec986.js | 1 + assets/js/runtime~main.e258ea88.js | 1 - components-agents.html | 6 +- components-custom-components.html | 6 +- components-data.html | 6 +- components-embedding-models.html | 6 +- components-helpers.html | 6 +- components-io.html | 6 +- components-loaders.html | 6 +- components-logic.html | 6 +- components-memories.html | 6 +- components-models.html | 8 +- components-processing.html | 6 +- components-prompts.html | 6 +- components-tools.html | 6 +- components-vector-stores.html | 6 +- concepts-api.html | 6 +- concepts-components.html | 6 +- concepts-objects.html | 6 +- concepts-overview.html | 6 +- concepts-playground.html | 6 +- configuration-api-keys.html | 6 +- configuration-authentication.html | 6 +- configuration-auto-save.html | 6 +- configuration-backend-only.html | 6 +- configuration-cli.html | 6 +- configuration-custom-database.html | 4 +- configuration-global-variables.html | 6 +- configuration-security-best-practices.html | 6 +- contributing-community.html | 8 +- contributing-components.html | 6 +- contributing-github-discussions.html | 6 +- contributing-github-issues.html | 6 +- contributing-how-to-contribute.html | 6 +- contributing-telemetry.html | 8 +- deployment-gcp.html | 6 +- deployment-hugging-face-spaces.html | 6 +- deployment-kubernetes.html | 6 +- deployment-railway.html | 6 +- deployment-render.html | 6 +- environment-variables.html | 6 +- get-started-installation.html | 6 +- get-started-quickstart.html | 6 +- index.html | 6 +- integrations-apify.html | 6 +- integrations-assemblyai.html | 6 +- integrations-composio.html | 6 +- integrations-langfuse.html | 6 +- integrations-langsmith.html | 6 +- integrations-langwatch.html | 6 +- integrations-nvidia-ingest.html | 110 ++++++++++++++++++ ...setup-google-cloud-vertex-ai-langflow.html | 6 +- integrations-setup-google-oauth-langflow.html | 6 +- .../notion/notion-agent-conversational.html | 6 +- .../notion/notion-agent-meeting-notes.html | 8 +- integrations/notion/setup.html | 6 +- search.html | 4 +- sitemap.xml | 2 +- starter-projects-basic-prompting.html | 6 +- starter-projects-simple-agent.html | 6 +- starter-projects-vector-store-rag.html | 6 +- tutorials-blog-writer.html | 6 +- tutorials-document-qa.html | 6 +- tutorials-math-agent.html | 6 +- tutorials-memory-chatbot.html | 6 +- tutorials-sequential-agent.html | 6 +- tutorials-travel-planning-agent.html | 6 +- 172 files changed, 498 insertions(+), 387 deletions(-) create mode 100644 assets/images/nvidia-component-ingest-astra-ac58faad6d13d928d400455962bf6028.png create mode 100644 assets/js/18f3809a.7edfca3e.js delete mode 100644 assets/js/18f3809a.b4730037.js delete mode 100644 assets/js/20e9af62.79623de3.js create mode 100644 assets/js/20e9af62.d5843844.js delete mode 100644 assets/js/22dd74f7.0cad782c.js create mode 100644 assets/js/22dd74f7.a2531470.js delete mode 100644 assets/js/2ab0d4f5.3effb72b.js create mode 100644 assets/js/2ab0d4f5.fd0aac36.js create mode 100644 assets/js/5e834a3c.965aeff7.js rename assets/js/{e6c6a4d2.f4418579.js => e6c6a4d2.3eb76ad5.js} (56%) delete mode 100644 assets/js/main.9d10f1e7.js create mode 100644 assets/js/main.9f3f6452.js rename assets/js/{main.9d10f1e7.js.LICENSE.txt => main.9f3f6452.js.LICENSE.txt} (100%) create mode 100644 assets/js/runtime~main.bd0ec986.js delete mode 100644 assets/js/runtime~main.e258ea88.js create mode 100644 integrations-nvidia-ingest.html diff --git a/404.html b/404.html index b01e799414..c3f04360f7 100644 --- a/404.html +++ b/404.html @@ -16,8 +16,8 @@ - - + + diff --git a/Concepts/concepts-flows.html b/Concepts/concepts-flows.html index 54314d9ac7..1331dfbbde 100644 --- a/Concepts/concepts-flows.html +++ b/Concepts/concepts-flows.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -
Skip to main content

Flows

+

Flows

Flows in Langflow are fully serializable and can be saved and loaded from the file system. In this guide, we'll explore how to import and export flows.

Import Flow

If you've already got a Langflow JSON file, import it into Langflow by clicking on the project name and choosing Import Flow.

diff --git a/Deployment/deployment-docker.html b/Deployment/deployment-docker.html index edb8692aab..fed3e1e14f 100644 --- a/Deployment/deployment-docker.html +++ b/Deployment/deployment-docker.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

Docker

This guide will help you get LangFlow up and running using Docker and Docker Compose.

+

Docker

This guide will help you get LangFlow up and running using Docker and Docker Compose.

Prerequisites


    diff --git a/agents-overview.html b/agents-overview.html index 2c201ab1b5..39e1269f6d 100644 --- a/agents-overview.html +++ b/agents-overview.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

    Agents overview

    Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.

    +

    Agents overview

    Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.

    Instead of developers having to create logical statements to direct every possible path of a program, an agent can operate with autonomy. An agent can leverage external tools and APIs to gather information and take action, demonstrate chain-of-thought reasoning, and generate tailored text for specific purposes.

    To simplify the development of agents, Langflow created a custom Tool calling agent component that simplifies configuration and lets developers focus on solving problems with agents.

    Tool calling agentcomponent

    diff --git a/agents-tool-calling-agent-component.html b/agents-tool-calling-agent-component.html index 665395df2a..bd27a5e80a 100644 --- a/agents-tool-calling-agent-component.html +++ b/agents-tool-calling-agent-component.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

    Create a problem-solving agent

    +

    Create a problem-solving agent

    Developing agents in Langchain is complex.

    The AgentComponent is a component for easily creating an AI agent capable of analyzing tasks using tools you provide.

    The component contains all of the elements you'll need for creating an agent. Instead of managing LLM models and providers, pick your model and enter your API key. Instead of connecting a Prompt component, enter instructions in the component's Agent Instruction fields.

    diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index 526bda8e36..7cb505bcdf 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

    API examples

    +

    API examples

    This page provides examples and practices for managing Langflow using the Langflow API.

    The Langflow API's OpenAPI spec can be viewed and tested at your Langflow deployment's docs endpoint. diff --git a/api.html b/api.html index 002dcde9e8..8e8ec1e269 100644 --- a/api.html +++ b/api.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/add-user.html b/api/add-user.html index ffc05827d5..19c4e9b3bc 100644 --- a/api/add-user.html +++ b/api/add-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/auto-login.html b/api/auto-login.html index 82a5977a9f..4a7d8fc1b0 100644 --- a/api/auto-login.html +++ b/api/auto-login.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/build-flow.html b/api/build-flow.html index 076bdcade3..c94661f84f 100644 --- a/api/build-flow.html +++ b/api/build-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/build-vertex-stream.html b/api/build-vertex-stream.html index 18f6d47861..bcaec19d51 100644 --- a/api/build-vertex-stream.html +++ b/api/build-vertex-stream.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/build-vertex.html b/api/build-vertex.html index 3ead88cfbc..d99d944384 100644 --- a/api/build-vertex.html +++ b/api/build-vertex.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/check-if-store-has-api-key.html b/api/check-if-store-has-api-key.html index b61e61feb3..3a637a7246 100644 --- a/api/check-if-store-has-api-key.html +++ b/api/check-if-store-has-api-key.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/check-if-store-is-enabled.html b/api/check-if-store-is-enabled.html index 1f0ef7f4c4..ef084e5399 100644 --- a/api/check-if-store-is-enabled.html +++ b/api/check-if-store-is-enabled.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-api-key-route.html b/api/create-api-key-route.html index 4919d001c7..72d3948ca2 100644 --- a/api/create-api-key-route.html +++ b/api/create-api-key-route.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-flow.html b/api/create-flow.html index f710a75074..5cb9a16fd7 100644 --- a/api/create-flow.html +++ b/api/create-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-flows.html b/api/create-flows.html index fa9dde3ba9..02eeb655b3 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-folder.html b/api/create-folder.html index ad15ab4382..dbd662f4e3 100644 --- a/api/create-folder.html +++ b/api/create-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index 18692e8b2b..0057e0969c 100644 --- a/api/create-upload-file.html +++ b/api/create-upload-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-variable.html b/api/create-variable.html index 958c472d3d..ec6e84a8ce 100644 --- a/api/create-variable.html +++ b/api/create-variable.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/custom-component-update.html b/api/custom-component-update.html index 3516f69cce..f447a250d5 100644 --- a/api/custom-component-update.html +++ b/api/custom-component-update.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/custom-component.html b/api/custom-component.html index 345adff246..0344055fdc 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-api-key-route.html b/api/delete-api-key-route.html index b0aa2ac094..f4f8fa3885 100644 --- a/api/delete-api-key-route.html +++ b/api/delete-api-key-route.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-file.html b/api/delete-file.html index 71b27e95a7..e259c63820 100644 --- a/api/delete-file.html +++ b/api/delete-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-flow.html b/api/delete-flow.html index eadacda4f5..f565ac3aba 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-folder.html b/api/delete-folder.html index 5e77a22ceb..580bb2eaa4 100644 --- a/api/delete-folder.html +++ b/api/delete-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index d1883c035d..54d7868f05 100644 --- a/api/delete-messages-session.html +++ b/api/delete-messages-session.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-messages.html b/api/delete-messages.html index 93495d6205..0a47c0d764 100644 --- a/api/delete-messages.html +++ b/api/delete-messages.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-multiple-flows.html b/api/delete-multiple-flows.html index 3c40077d0a..8354b4b614 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-user.html b/api/delete-user.html index 43e9a294f6..d56ab526d7 100644 --- a/api/delete-user.html +++ b/api/delete-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-variable.html b/api/delete-variable.html index aa845068f9..23d3419a8d 100644 --- a/api/delete-variable.html +++ b/api/delete-variable.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-vertex-builds.html b/api/delete-vertex-builds.html index 81784be77d..f8203fd5bb 100644 --- a/api/delete-vertex-builds.html +++ b/api/delete-vertex-builds.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-component.html b/api/download-component.html index 2a954462b5..74a7fcee9c 100644 --- a/api/download-component.html +++ b/api/download-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-file-1.html b/api/download-file-1.html index e0f9ae07fe..7370a8f792 100644 --- a/api/download-file-1.html +++ b/api/download-file-1.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-file.html b/api/download-file.html index f6457bff3f..81f0d99537 100644 --- a/api/download-file.html +++ b/api/download-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-image.html b/api/download-image.html index 082e87b29e..dc6167cc3a 100644 --- a/api/download-image.html +++ b/api/download-image.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-multiple-file.html b/api/download-multiple-file.html index f1c77d0244..2fbbdcd0be 100644 --- a/api/download-multiple-file.html +++ b/api/download-multiple-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-profile-picture.html b/api/download-profile-picture.html index 1739fec16b..5eb069b382 100644 --- a/api/download-profile-picture.html +++ b/api/download-profile-picture.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/experimental-run-flow.html b/api/experimental-run-flow.html index 7d12c93393..cd392ab3e6 100644 --- a/api/experimental-run-flow.html +++ b/api/experimental-run-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-all.html b/api/get-all.html index bf1e781602..d281f131fb 100644 --- a/api/get-all.html +++ b/api/get-all.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-api-keys-route.html b/api/get-api-keys-route.html index 713c3a9b5c..361994ec78 100644 --- a/api/get-api-keys-route.html +++ b/api/get-api-keys-route.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-components.html b/api/get-components.html index 01b60503b6..6180bca500 100644 --- a/api/get-components.html +++ b/api/get-components.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-config.html b/api/get-config.html index 3d887bba4f..c30e3469ea 100644 --- a/api/get-config.html +++ b/api/get-config.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-list-of-components-liked-by-user.html b/api/get-list-of-components-liked-by-user.html index b5a8edf5eb..13a2c19dc5 100644 --- a/api/get-list-of-components-liked-by-user.html +++ b/api/get-list-of-components-liked-by-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-messages.html b/api/get-messages.html index 968d8f1dc5..5e9dad1d33 100644 --- a/api/get-messages.html +++ b/api/get-messages.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-starter-projects.html b/api/get-starter-projects.html index c0ff85f513..dd658666d6 100644 --- a/api/get-starter-projects.html +++ b/api/get-starter-projects.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-tags.html b/api/get-tags.html index d86330c727..fe5bcea0f0 100644 --- a/api/get-tags.html +++ b/api/get-tags.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-task-status.html b/api/get-task-status.html index 892f29da3e..b02d102d21 100644 --- a/api/get-task-status.html +++ b/api/get-task-status.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-transactions.html b/api/get-transactions.html index 5b0e67987f..ffaedce224 100644 --- a/api/get-transactions.html +++ b/api/get-transactions.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-version.html b/api/get-version.html index e7466300ed..caa6f08dfe 100644 --- a/api/get-version.html +++ b/api/get-version.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-vertex-builds.html b/api/get-vertex-builds.html index 4b42b9db9e..0fc5a384d5 100644 --- a/api/get-vertex-builds.html +++ b/api/get-vertex-builds.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/handle-messages.html b/api/handle-messages.html index b59a3e9979..47e76941d4 100644 --- a/api/handle-messages.html +++ b/api/handle-messages.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/handle-sse.html b/api/handle-sse.html index 6ba46a3a6c..7fc5ef19de 100644 --- a/api/handle-sse.html +++ b/api/handle-sse.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/health-check.html b/api/health-check.html index 98891b927b..250ed193e8 100644 --- a/api/health-check.html +++ b/api/health-check.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/health.html b/api/health.html index 74cb35a199..ff3802fa9d 100644 --- a/api/health.html +++ b/api/health.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/like-component.html b/api/like-component.html index bb026e6f53..99330300ba 100644 --- a/api/like-component.html +++ b/api/like-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/list-files.html b/api/list-files.html index 622c5ba6ea..7fad4374a2 100644 --- a/api/list-files.html +++ b/api/list-files.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/list-profile-pictures.html b/api/list-profile-pictures.html index ed5866ffee..d066d175ce 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index 7b1d04143b..044e64ecda 100644 --- a/api/login-to-get-access-token.html +++ b/api/login-to-get-access-token.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/logout.html b/api/logout.html index 235a487fce..76189741e8 100644 --- a/api/logout.html +++ b/api/logout.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/logs.html b/api/logs.html index 7e66e27b6b..d038cd565d 100644 --- a/api/logs.html +++ b/api/logs.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/patch-user.html b/api/patch-user.html index 0ff5f1de14..0ad97689fc 100644 --- a/api/patch-user.html +++ b/api/patch-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/post-validate-code.html b/api/post-validate-code.html index 00733e6340..2b4c11f777 100644 --- a/api/post-validate-code.html +++ b/api/post-validate-code.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/post-validate-prompt.html b/api/post-validate-prompt.html index 6a39208003..32bc0eb877 100644 --- a/api/post-validate-prompt.html +++ b/api/post-validate-prompt.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/process-1.html b/api/process-1.html index 63e9404267..02b06cf4aa 100644 --- a/api/process-1.html +++ b/api/process-1.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/process.html b/api/process.html index 3c52d65692..fc9a48e0b3 100644 --- a/api/process.html +++ b/api/process.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-all-users.html b/api/read-all-users.html index 09f49d535e..8758bae210 100644 --- a/api/read-all-users.html +++ b/api/read-all-users.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-basic-examples.html b/api/read-basic-examples.html index 167f0c65de..ce56fe376d 100644 --- a/api/read-basic-examples.html +++ b/api/read-basic-examples.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-current-user.html b/api/read-current-user.html index cf3fae9321..2620ee6319 100644 --- a/api/read-current-user.html +++ b/api/read-current-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-flow.html b/api/read-flow.html index 53f7306fcb..f3a1ec599f 100644 --- a/api/read-flow.html +++ b/api/read-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-flows.html b/api/read-flows.html index 8b2d322eaf..afed8033a9 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-folder.html b/api/read-folder.html index 6b6d322d57..db5dedc5b7 100644 --- a/api/read-folder.html +++ b/api/read-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-folders.html b/api/read-folders.html index 0ec09c917a..440338d9d6 100644 --- a/api/read-folders.html +++ b/api/read-folders.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-variables.html b/api/read-variables.html index f711c09826..63fc5bbd42 100644 --- a/api/read-variables.html +++ b/api/read-variables.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/refresh-token.html b/api/refresh-token.html index 079bad4ee9..895756c52b 100644 --- a/api/refresh-token.html +++ b/api/refresh-token.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/reset-password.html b/api/reset-password.html index 7b8d99f543..d35f97185c 100644 --- a/api/reset-password.html +++ b/api/reset-password.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/retrieve-vertices-order.html b/api/retrieve-vertices-order.html index c0811aff51..e21b84bd18 100644 --- a/api/retrieve-vertices-order.html +++ b/api/retrieve-vertices-order.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/save-store-api-key.html b/api/save-store-api-key.html index 74d854c659..e8f602f51b 100644 --- a/api/save-store-api-key.html +++ b/api/save-store-api-key.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/share-component.html b/api/share-component.html index 6bec763b15..37e2ee5cb5 100644 --- a/api/share-component.html +++ b/api/share-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/simplified-run-flow.html b/api/simplified-run-flow.html index a685971ad7..41cfd287b9 100644 --- a/api/simplified-run-flow.html +++ b/api/simplified-run-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/stream-logs.html b/api/stream-logs.html index 8f7bddcb87..f39ffcd4e6 100644 --- a/api/stream-logs.html +++ b/api/stream-logs.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-flow.html b/api/update-flow.html index 4a94dd5fcb..4456234abc 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-folder.html b/api/update-folder.html index d639110498..3997c26056 100644 --- a/api/update-folder.html +++ b/api/update-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-message.html b/api/update-message.html index 5fde07e3e0..8db5a010f5 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-session-id.html b/api/update-session-id.html index d456229c61..4fc77023d8 100644 --- a/api/update-session-id.html +++ b/api/update-session-id.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-shared-component.html b/api/update-shared-component.html index 8e4f3c99fe..81c8cd4cbf 100644 --- a/api/update-shared-component.html +++ b/api/update-shared-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-variable.html b/api/update-variable.html index c20dfa9540..e57e469b50 100644 --- a/api/update-variable.html +++ b/api/update-variable.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/upload-file-1.html b/api/upload-file-1.html index e02f16a298..6fcc964659 100644 --- a/api/upload-file-1.html +++ b/api/upload-file-1.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/upload-file-2.html b/api/upload-file-2.html index 2345c98eaa..7c8e84357d 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/upload-file.html b/api/upload-file.html index d35bcbda39..b746bfc640 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/webhook-run-flow.html b/api/webhook-run-flow.html index e59f4aec46..be8cebed7f 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/assets/images/nvidia-component-ingest-astra-ac58faad6d13d928d400455962bf6028.png b/assets/images/nvidia-component-ingest-astra-ac58faad6d13d928d400455962bf6028.png new file mode 100644 index 0000000000000000000000000000000000000000..1d0af51cb0ce6a0535add59579030e923e9f90a2 GIT binary patch literal 279852 zcmeFZXIN9&_XY|Gh#-Oj(u*TfrARN*1hD~vbdV+xq}Nal&4MCLkrqG@r1xG!5hYRr zNDnP2QWHQ*5+MZcVP>4c|IG7qzTFS^`aGDB9QN6Juf5v4-gTbo>Rh9xW}_w{A)&o- zUE>Z3$?+Hx5{f=5O5l_DToP5_h1C1bwJRj0eH_ccFaGu>H$d9jBtpP@DiU&1HWG@% zOMo9`Que>zYmy3(9Q*xqG7^#qM-uWsuh9Ws5C6phKZk$w$Lq07(m$^TKFcKgarN<- z%ws>^Q}iAFS@d!FR^a7?$8}S05|XnQ4u42*+~NI30!;LVhMIvtDQ5aa8iyeae;}zu z;EnH+h}Xi!C0yjCdIE{JID1tW*$_girok=x6=yK zAXelLc~x;r@nDG*NXSYMNJkrdyMHh~<%ThS@tc!VnF4mL^oAdC#ZTwSa)aG=^UYy4 zrIPi;YZG;m>3yH}oJ$)(?@b-jrGvJYK5cDoMQC+(b-hkYNRXB}f8N%P_YCVAY_oZ! z+AVi9k0+FbjOu^>7o?YoRPeQsi6Vny1#&W-r3{W$mC zz)9D-Ri`prbwYU#WPIX-4*{cdtS&f@!lHM{7s6bcIA|_BA!q?qkEl z&EJ-?W0en9-9v(|5xNAv6`xVW$jnaGJ|l+QMuVF!TUyJ^G`DRiMElkRV;&^gq>Z#h zU{L$GnNM&|zxSqBub%JwCJ{-uxzGew;C#gTzxM?ARyFcOwLfc@yRpG572K3}nX=b% z4znA!udIT|kvb6}dLEe`XiPd=y3n+GFG3Fur}V4wY7S^m->#l2L5H`AR*h3eJ&%m^ zvV>rx8E)Nz?}hB_1n~O{H_f{#KKb?C8&61$jgBgr8`aJqsC;><&TMF4P@h|DL4vgZ z4Nm#8$t#ljB-~WcDL|ZxgCn*oU8N`wJLSbJR|`4I?KkDA9zsN0Wym@iY$RAp4iD|Y zE`|T<98mGh()c4x%cd%939CsKzDQ!f68^3sfsFaOZ`fRZTUo0o{QB*lX{fIf^VgBy z*?Mz9In1ip7-J1*47ZB%`h1cVto-fU?~^aC+dc4zh&unvlSlQQ`M#qgvfgzPcW`+n z|NPo?y{D}O!A$fRk~WB%9`Do;-mXOP$U>yatRLa0t>aMV9=ElNF5{L8!eKHT92R@Q ziZ)Mwy{>_vu+GjW7q}tYpQIx=ea9zfj6}D_v5zs(@--pVsgb>W>iUJZ*`Q9XZN|Gs zZ6;#&Ea(Kt7D6`3ZK8S^x3k53`Rc$p!<+x9M!$;`!l>J8SYiCZn&~;#H`~sVIRm^g zQHq<4^!uJAjnAu_{uX(zy=9&#(^V_17bu69Y9clv@8`%eF1roLd4H zBbj;*u%X9J`4>aPfVD_ltnRADC|$2hfs1};pZZ7m@9q@e9iV+=a!Tv}}2W zQ>^*h9!18%-lCPW3Y3NeKkQRelt#;g=kvgjb&8g!4Yfo}`OO5ZOICppdl252Zy4`W z|H51Xa&F_HsjjXz3fb(c3^A?$7RubLK32!w@&>Xb@w{o3V50Wf`dd9@GC$0GZCA=D z*Ao}C4)eodkX2kf_c`o8kpJ=y;`wBeNFm=MmQp`!_I~UW(H8UD;-Mcv0Sa^Q&O%=0bzLFU5YuuXUk(jNELj)MBfq!FzEZSrmresy7BiE5}i` zAXAAE8BhpBe%z)JYkttoEVa+=4$Z8HP*wZoe!tYvc$#^Js2QH*IoaOSLC2e(8d1~HA|La4-BTrt*G-T*9R-}`N_u8;DR%E90RadlH zHFJJ)(<9%rPD|UsVI~k=GIU#o=pAbh(u}N@p!g5t?vP7JNO*O|a)&rME+@At6Ss%v zEoqqut{aw-$Leb7U~1PqNx#I%b3(X;cZ*-DxX(0Wk}LyvmZzqsh?Ag=kY8#JNtoT) z{IaqG_@`^!;LQl`;PIuAA#A|Zu%!dVOX8W69L{&IegZMsvlTHGTeW^Zh+(<(rLy+M ze(bM>M^72Hxw&a|J5BDhN^|3A^;q2-$oQ190cE9Ye^r;W~ul% zv*P@{Uz^8A*HkMkKRkf36@7605NdJRq{1fYt_$;h8;@L>0iQK|3m*2#;dQ`h$BXN{ z{i(UXHiA@-v@+km{hA+ja%;Azti^26&?2QX@_18}ZF+Rwc(O}0MI_A`I>6S?iCn$f z(SPEiE#rR>oE;exQ`5d&@ZNX#fRR$Cvc~X_!Fp_!!rhl^5&A(Lm}`J}w-&qqpw|53 ze>q=iWRXN6O3aAmvk#?6rw3&h1=?H^*^UJ=gUX=Yp+jDB|uqhQtl_zt>C+1 z69jU5$K97ID;Bc(^@edyTYxw9FNYu@BPIP1&cuKN?OeJS?fhGz`y60>@I5IhDRX3# z5|O_?WN~CZWN?}A%fWk(^z{kN@`}H<7Nq7Sm_?Uj3(nkvcXB+Bp~POjtm%w$hqVPR*DiL^`n|3OpfFU)?3int~r zDfv9>zplZucbqcDdvGC2UhmguGfaR~%p;AV>*L3dG0>i0$1S0N8~`zF^vOv6*F9qT zXfT`nUu;Sz8F|dmcf{iGuaD3PdbtJf|8PJXNW$i%4oEz9e=VFaTjgWFyh;^HLocVZ zMMskNYhMmbQS$$v;=ifg|Es&GdY1g(#QacfU}8ey`|QsBTiGBy!k?gN01L|U2;Z&QQs4L53RReGM)>J}Dk_je-4!<>{nFXVN4V4Wv;K4{UoKehof)$)TMF{Zw%6m4 z7Z&cZb8rai&{B-$skCPqIIuS`G#nBg3_Vlj{g1J)%aSsSyE!>YV6oAbPdxP-PkXc+ zS@ibvP>C1bUX|KzZZXr`q+f$=qMI1V;GU+*&;BV)UQzm!EMp_m;|uvslh574?HwEf z5F1xrh8|3jqjjF!|2=L2@9YIOf<@hu+AZ+npv5OYdy3c-JbroA4n0&H>nYsk|B@OT zWtKdH8R;7vJEXpifoG|DT3VJu1f8!y>h+G|N|`0dl_yU$%RaoOTvr6c@ac`f2PW+J zbTc~Z%~|{6zSr6eax;=DwVMCeq=!i{dzf}MRv4O_yAvFrU(hSB&*VXUU0nPidXMd> z&-_BQL;!1RmlTwiMiV#{`T605;B@CY-cXL?<#bh49C*@b?W0rr^F}A?Gd*2h)Af8c zT=X*imj=$&-mV?D{|N<9?I#lvDakD?oG>sl0-KqNd}n0*`f2qRe@Y92$Ae?8Hpnl> zwALjDPg*RUtr;y<<#1cp)b#UxnVZ@+CFXTqF4K+E&M2iZtyCFg6pJ2Xq!e*s0aRrR z*QpA`QciBSjaOtNUJ1s#aNoY?_gSd3?_@0}XmtW>*~%cIIfnV##h~tuSh@A2)D#jN8R>)QE7zvze9-*T ztMbj8c9)6j4=vj{*T*o)mp;6y2Z8ks7le(9H%pO$`giWQfcmERr4IT=M@IuQ0xYWL zaqfFjtoj(#p7>=%zVf|^Qe?EH%5xFW-uFwOFYhcofEszwkt-4eBGZsvnXgq~pNe7pc1q1&17 zF;1CoDuSWTcQiZuCa$(hFDrlb6f&@~a+h%#cj@k~4FLDmj=6Yl2&|)!Ut2*~Q$aD* zyhRnd88p2D%y(QXL-~Ti7-nSz4GfUPY=^*?A{}SSd6vsei6t&BE|mwG1u4zeUESTA z`_pVrt?1*6k}*fM5yGH*@rGwJ6xx{2xwM~VhS$4XR)$~Mo^HvyvhhS(rl;Yp-CMtP zFSGk=7Mfw0c8%>asM5Gzp-ZFBGXIQr_$n^f$Msmorzc~kR(63i_I!05cH?0aMg4F!dT6&a~1l6icPX~Xtt zcG<~@3yj;oW5rxXdNNlknThG9wY^Os7<*93OvsA+l`+iwXLB!ME49IEP(yuwYC9nk zMTfp#-6@ml7Dyg#;QEY(y+rc?*a)xLuu0XCpe!dS@eWhK%dY!7&S_yMTT` z#??`hl9GM_Djepk_$qO!(?zWtJ&7f?YO3kaxm4qb^`1FUt=-Koe&Oche6dBNmA9{U(qztY5n}MFD)L z(s+9GHeKKnsR*R(qSzSX^;16tAHD;!izvy8I0KHReBQ#n^hWn5uYkmDa4YMs%0b4c&UISccp|I)x9!NQzUWHuns)6JpI&o zzyxee??Av=;6U0eI;u#yUCdH!mSs2nC+_ibMvBa-Ma}iF%E)(jgoFy4NerTiQ`Ht# zOy?Rw>@Ywn9NipiGuR<9KFT(NlXXdxqqGX8rb^X=zH?&8{x_@8lFGGBV-K~hce-Zg z<}M`N7FE=iLPY`>uO5hYO+egUJu8Tyd#AgN*TaHC(Ac`XtSp7YnGNGFQAA^jS}0aV z#!vn%k^9;sttFLX4ps*Xoytt9#fxtgdKCN-Yg48#ibqxr#A?X1Gb@@vhWPTkRl9`z zh||;3lQ?7X|pkxY~mzpnfB%&D>cc=e5q-TPiDU!%gyI_7!M9Qg4!=<95Gaz zivgBHbWJG68Y>z4KvvETSnIVVXL{;B@;u_Jca2q%ADj^4I8vPtAED5RFIvyI^iUhv zZ_Odx?>pJwd9O=++FErYE?LQ1lq6_wMbL?D_8Z+!E;21Bf3>%_m#-Y}^ZC7{R9B#= zld|>Fz$s^?(^>rL@9t33&}6%v73fhsX{x)4Ko~A=aE=B9G`w-FG{%Yvt@uY;jk(y^ zz!$Ig#5d%l9$V`dIcZ8>9CHDIj0`|NlhUb4y;FK%{rJt(V$VM?X`{Coo@A9$4Oce^ zH-f;N5pO=4jFv9(6+xqEZ+&XL)jj2P72&W_#r=u6MY!~8ai~r=GTG{l+b6i z!7(q1ygslM1@P4&n+6cpg6}?Ot+Nb{&G0!_X$=WJm=|5X%C=e$0wNOiA=*f-2-@ds zf$Gy&9_3V9WOI%cOALE^EAHd?w*r>fqG7-c9_2h*hJw{>m2`7c@3c!e4S&b6+bvaZHs}Nh1?$NXj=;ka_<+Jf%VvQyxU4GtXo751*VKy_z~#>%>>gE zV>wK}D$P$>KMZxE*3njq$ceR;ew@Sppc|@>>XZa&Rdk4xt51-@)m=2h!+(qCiS z&2Js{*cK~cms)$$zVzurt-H%K@2Q7?{aXgT-7PRAamax11rT#$VyGYSqfsO~D>iiY zqt|{*sqODGt$H`K80uy%Yy{XZ?Zmz``45!uI=(f0Qt94J%|59L8Rfst?d<*OQS!sdwTIX716Nm=JXA4F=$+p_8b@olhuLB3O4*c#>#mr)`)BXKX zzZOtlpzKn_lP~TtK#O#9T`ZI?zIB$-f^Y~s7ggw$0U`4q z%YHgI?4BQDC1~UQGh6iyqE-ec*0~rIZ?EKwVJTC5%K9c?K$8yF0GLk!oeX7U6q~dJ zBW?|v0OL{~aM0B5iI^v(w2bA0&s^9{d=<6X7&R!J`hfVdDfM=DOd_}(xc;{l($-mt z&ZAjl<^jcalRn;Zd-`t5yV51)s9^J=ZJcuGsP_gXF@{a0WfWWKVl)W&$Tp%b%A&w;-yL$Rb>dVqK33ul;qzS>=D9N1P zG-7wEUPUV<L{?3Ul z>7t0#ZDR3iljnFDl4HHe(|>;)eY}k3<}%8JXwIHEh+B7g2(i9`67KK?HoBtJ9Fma) zNp4}UBj!3)lbY1f&$+#N^to#2@H(PWYH@49Hqz*m18;3n+>7%O5ry`l;t%-p&mRF{ zU`zw<=fKn1>no*8__*+HAz1X-Bl(%xzM$I?Gf&~eaHFiSkd2@k zt!Psta5{HQ_AZR|2#yqYlkDbqUG5L7{XrA@`bBqc-oXHXQ^MulKv7Q4%Q!Hd%fFO2 z-j;{<$oPu9YS1^NJf>!w*M0>14TJG#l2kyUr_O@4i@vnEaW?^>UnJ!8ZUPd)??2Tf8`0*uo@PRGG!ghc z$R9LNl}%YevuF1OkC(rBvvN$aa8v6DY#x_IRzc?{ z8t+aX@fLsP9+}!a{@GnACppb#HIMFmsOrlTON7R;swgW)IllWCZy&`gKzWzz>_4_i zRe_q^{USwGw4~&D&_{YQ`11FZ*|fi<{q7w7GmQ`jV=K6}HllX3eSPP%TxxsCg|NAH z?85ycCiai*pg%)8ZQumtnm~>d9KE%*MfB7>nkVtdQ&3Z9wbseX$h-hgJ+F&w^Aw9S z`DdADP`}NdufD3kzu!CiC%N(5ps1{>()RUDv}#&d;0sB6QA$C@;pf_M<{!IrT|LZt z3yeUxYEL{nCn-7f^{ZXp8>+mhzvF1t@8p}CUc{S4Oy{IcOU~@Ite3StW#aMZJx=l7Fs+H95gF}p+uaHMKh13C4TJN~?&nfALSr3?y z+p*^@9}gS)J3Xb!QPt7eewZOTC-;h9@_GWF$K~q-9F+f<#JdXvgM**6YMi(*=SA*1 zTygzdQ1sVT!lI&1#wR2!XZT|tzS$?!d_YPDSEe}s4O=eKKJKC-Ot2eu{G+X@{q{r@-h|HGRam+-N>SW%ozTU$G~q2U9-nShy@M>~!j2pl;)Z=V4u>XT2uqo0+P z651dT2%4sp_b+H71_GSDpwCM8-P~lNqqQ|j=W=rwV7kXn9l2I@lg8iEPRu{ezOqUZ zW?V}vz#mdl@Gli4dL3Y}hubZJ59{B&`9#Aad*&h+ulK2kf0=uFH&W?$L%4GL_=1uW zd}UmfmX1y>&HJU6_mM)2NnpfypDv<_w+`MgLVVWlID-DHd6K0 zts)fomhs}(@Q+w5mQPj|PQ$b4QzNwXZ+7AgU>P`$<&vz&a4NcjJc5H;1Vy=!i+mfe zEbbZ`yA#A>Epp&Ga*m+Yv z2EJo%?$F&M+>FZ927Qb>2YUbX^GtxhYfD7t5`GIn4`JQ|(y6wZ(QJJk=g#?~@_#$B zy9K!IV?7E!TQ)S0$>6)y`~#!L5B#^aX&r17fAP3Q_%L(m*kqj z*Tb|z)0jwOYU<6X@WIBet4HZ8VW&uy?iOf$sdf2s&NnRFW;eKm+oL^;$I8$!nwDyD zagl;K1pskU0nl!e2ioG-pC&(|l_u9m`6Am$>)na;qTqO!sd{A3J2&aM&IBl{B<|AH ztB-G(O!gU0l-pF*7=LRj_sGYmI$7zPDKu_H-jH(`E2ZuaPCzz-^Ty5?!yMqzVKOFReqKubf*#Ryp{~DrjnyBo#B5*Sg>_#*?!ZTyn|MMXOLl z1}x)G{>eI%Vw)a6QG-TwC!jG82LkE+)}~T$HcMg3z7ne{FSQbGJZUU8sTiGkH8?cU ztve9ArV$xjY;0uoftHO9h$x$E?%d1R<-4EuR0#cdaPqb)H2fWP@N$@r(gwTvuv46b zMrvv*@oK7!t80I=3y?pe$K2N#{c*-Rm8U80GD(dF2-0|?M^`O*9$b4lQi)zEHmm7_ zqGdl5a#Vj=sE*Y^hVvg?50cW z{+fAFTRM{WYL}7?o>WvGyZ7A9r@*nHxVU%x>d%oe@W!-lPT3I{sKAZhgSN7hRT(J2_mEm&i7Nhv2Ts73;! z;O{csv0YrhGNE@c-mjM-H%|4F1HFDdb58b|%q=+T!XI$K8Hrmv36dCw30BtAWrFoK zpxx~*&6IaaO!mi?y4I}qnie}En30(k(5dXBKDF&NP5ucRilfFEAoH{-3{D#{_VD$sO>(rj$EU@@4lQ+KeBerO zePxqc_*xkf$;nsb=L3^)u`&vzS1Zwo=C*R`j1oL?m0{6UZR~8SX_>P|23}B~?>%BL zR(bJj${@BlZ*Nr^Jz}BVu^c#)dbK37Ku2gdbtsi^EU2o5gZ=2jvnaL|&yUx*03{+? zDs-J+bDM{&D-1uaa&In3KToH!^>!9Mc|xDnGTzO#HS`YQauCGV>8$hCf(Q;?yE`|i z9sU|1jtviM9FGQYoz>X8l~F;1w(>^|1B7`Xwsmt80IOT91qD8CHNGyWMw~=nv$=7j zV$9vk*CXLAr!hmnQ`db0E?sl3yK+>$#72-hFe$;c1`$NdD)BywlRaiXdcKIn=IRHx zN#2z3vK4+g%dMrZUCX5>9}`6;o6&E&l-r7TBXaTu==swss z{UZV)i^tbw7k#RSprdrec(dFmoo3g?8o{_aPD<=wxF0{PIWnZ~GjiVFnByYPPf|IPxZ% zdUpOk9B)%qe+!%Qse0zu5>$uC^OvUnblILC4q_9o3d{6-I-^neH;;fmkW~7dw9_zE zcJDpo2{Ppx8Rr3n?Z0tN25NwKu++8D;>+vHqXSIXupH&&qduEQyq>IE+~}Je9L+G! zB%M<1(mw0wTNm{&el}FK8W`(-tflsHXFRmso5&aP z3;M2c1=uxT?folzcxg2II*3aqCnp=Rx8vPxb7OEcJ~Af;SQa^|r`Ba|DRZOT<}n|C zUiOVOBvwowE#xHc+Sgm;ERfI10+)gkS){R4n)3I&A7>%_(Ij3&)z z@CK;s<%Mate9?=YF`Ul1I_XY*@{1haYYmGyh5M*fB6>DZz;*L$7Y@?$_2sSJsRp}n zFd?`6cPJ_IHd(if(d@WAchSxY!|ltBw+Z*olQ%Lv^{I=q|3nsev$~+*{G=QZ#pO3B z{*+nrW`shE`np#>k~rPJFC`-4%KEX(*xczb#e1Z$+HPyljn8dxEXf92w8^JAq?weg zH?6nmuAsg^}lLbIX^l0+%m%e_%2m-)}2xSYRuY zZto0M1VidfV1YF|AH;%fl(7Z3b4C`MQ1r;thsvWGOXifd`<@}Tg2?G?PZ2kAP~qIy z2Xq`qoFc3HueknSXvo1GKIB%l^vttBz}qk95vnKm&*Uz|2L=Cd@E=) zqJvJwMYIW1snbL0)j61R3z1-Kxy*fUqS`SX>W5>_UAnHV9o;aWXx^LZ-r|UQ=sDMk zMW+byl$_i+drS3- zbu5sh<6r8^CWhZWFXXKT$s>{k^O6;(;!$>_{`9az|KuuoXs2Dtl*OJQ@oSO~`<%CWarx{fWq`sQn? ze9iA>jjBntJY{7rMzJr=cfxUBQ1EHNLbM?9d}icpNDJlr4K@ zp=GjZeOHer<&W<&xyfbRXIvgWb2DC<+<6)}Y)lZ0^PRYf$x5^6ym?r8Cm5>kai7-}QWq^g}_kZEW65k8QxY z-4E?ps)q7bucT|atZ&BF0-~yY@Rk@%%IQTelg0?T?HFB@84j4?Zcp`t$y!%j&Kx35 ze(1seR)#E4TB;4eAsw=7haQCwBv}PFu*$e3Bfcr^E@dMG^V04u^k=x=ym_g$+lh(CagLP*Lj67bKZvF zggP3UHlJJVy#t67(|fyPtuoX;@UzmNi}%y%6fxpk-#X~vqFk>WrCEaq)Q<1KUz)3{ zKUA3>dm)Q@AX%sw1svk~zt^?Pn@O^Hl^N3YDlw*ZvIu2c8B5Se8D&2$xAtMO%;k}_ z<`rLGxOSeUOP|nD*I%AQ5svz7Zf1t}a+SOMyDb)?`CZf3Lk^lkBJ(nW8&!fkSslL5 zu`O$lZbUK(M}^1rB#La+iHM5IET(zKAXHyp4yaUVZEl`Q1KLzT#9i!u^RZKMZ5Qv> z4`iH*x!+<*SZ@vS@Xgx*#w5%{FJ9e$0RFrHo%WSvGBC<$9~l{OOH7flkNhN`5wgDn z0*Zyfnx!-vt>50!>^DA?Kl6aw7jWiqgdw`+^Lj8|@qp3J`}^kz!qA@r5l<#tA($ZH zqM=&24eOPN0}~C^rT{vNaygt}pLOjO+0?3^avq=&GZ=q_9D&s*((kdl#^xM+pFw3pKVfUmwgGm6{0_mUpm zw8__X*ylF}MPH0K>U*awCTO{~2|H?zh+>tT;#L16O{cU_MZ$A(u1&VYFv%I=DlDn_ zgv+(mGKCMLo-XnQIEWVrk0=v=CgpdD#-*@MkH6$P6^(dx6X%^7eCWlKDHuP()*8`S z;c#lUUr&Ai{@O*!|q6qV;deXmfWMQ&V@QR#IZ3CZ_{ne)NVa7=TvM znv|jT9f0YmNk<}Zek$QcJfG=t?1t7K2n-J^`Pqxf&Ye-LuFBst&-*{t8h1xy5QijW%UC3fSHyPF2m!V`0)R%>v z!I=`#=}DET;FFx*;#ILI|2f(!rx77z+ASa)x+ElNLNolnnuf#K3}NWUEO)B*QQd6^@f^a4vOi2Vs+m)X;)mW~1DiZm6_#RCs0fwL0tvmL^mf zG)BqN)YP;tqOhRgQmo3pe;qns&@DY_H|5X#El!K90tqin-Bq?Mw~oO>Q?(3pL~roW z6UQNE3^7QtG8PCEgXQ~htCOw^ zULFnrSVOIIs=FS#eJas9>1_MXvnVl(#^EIxRM!3V*u|wU8Z!2ORy!!Ks;b=^Tdz2k z&sQu+^`1J;lSBBO)ISri(6&(OdeGZBY|s?yxG&rTj#(!*5d~R*c!aL;hNR~gjcic% zT*6kLV*ehY^`Ob(?f&zF?K~Bva`;?H&}z-tgqG1*24H(tT(&1d4v2`)5!`OEZ(OW7 z-7~v~3-lQ#zyQ%?2d=VjqrCS`eXENu+Se}Oiy5D_%i91r zSOmz`nv)Sn0bS?Gy`WtAobn z*pp^{X&O%?z5}k*u`1HGDv$x$uUb}w=Q9bU=5TOuNCnWpN8ZtH zleSQzUjzdRehr&btXfG{ONrRJI4y z^@svZ#8yC{nquj5wy{c}&S>_4)_1mLIrTxB*%k8_A88=`$K znhKY%MMB>we~nY0`pQKMM1sTls}D`r^=SSKOszvH?mg_JX0h`5l+@gYE<6Q1nBb3R z0c=c>DoZrcHIcBwZ93=2>>|x`f z6}9Jj>Seu(=g6rz6i@tnFZ#9`kBs?uAjgr+*d5LboEkd8pJu&}t7}DK6EB+HW4s?# zXW{K#^~nqCSKQ`OF3@DG=HyD)$~c&^s`gnPRHNZ&-CZf#_l#BET@roRX||k`WVt!U zi8&1u8?y{52^mjIOAAKy0i5P?MrP*YKdQ>ss)rj*9(DYcqP?Gv{)ix9)a%~Spz6nA zI3`jKMjLHms`_^$QslisQ?q5QSFFD_Z}rh=v3dgyZ<^W%z-*+hadeFDS}7v;`(99gex zC6?3}R3S^JJUVFkWNwX%-15oqZwEeJ%|{I9N&Z1b2n#!_+xGnsC3?;*hNT0##q+Fr z)kq~`7|3nGKY{jtRD6Lhr^8g~{;SiNNT~9ft304D2qxpZHbADl%13wkTj&n5KX}1` zssFXoB+$Cu?oLTi*`HI1k_ekJO{0C=dvcuU%} zf+VQ7d=Z`dC!Iu`p3IJw?vYdAdVHH_VCzBJztqY?+qkIS%jiRZ6a*jWPCfD3t6OjZ z=#{OR%tzTuTR;YH@FSOti!ZWIHE(tcuU1zE&?$enKJ+i%mr1K+9!ci>-xRK+6H)FzR6uzf|zfd{Qa^2EBJ18XUZ*0~k^7 zFVFZVE;>?tU>de)_OH-eSZ@y4>IM3AlLz*LswyR_g3N)&zcX7Z2U{w9XO=B&qq<)i z!Gg>;x3;3W$d<}l;)83Rdk zU;?5kaz8`Y8_`{Ds9Aaw$ZiguH0FDvhRne;39Z8n2YjDFF?Y0Bt-ZZe}v0w1Crf2HN{=M6fq@#CS5aj)uqi>Z&YD z`C7Fno#ZRx>A z^+v{Hp!Me)`4o(V*4Y`|jOnUvaR!K2mO~-g@qPI~02l=TvSlN}pF%Nl=hP`-rO!q^ z2ZWPnNfW@$Uh_A%0Hs3CZiZ9PXnA^ih6i1mS!@~=ur)(myA74eZ~3t+g#m6xFn{trz-HI_1v@Z z8qxH`s4vz(A@6@;ZJGR}(u88Zkf2Eo@NEM7(|MbGTdO{E(^8;My1J~zWxZBUrJ1l= zmywDYd$Vh76hHo>y18UUO4dn4cg-jO!1kKUJC1)bpkboq@8a5vGB<$!|LG5`;(yhj zs4_^@=DxukY>F?1&55@-53~M2&;Q1l?lZIW7F#8Km^9vNr(QUfd&5d({M3)jmUJ?! ztKSQl6jxfePpui*vyu_{RJq~Px{blnOLO(?yl0QJFVmBe?#i8NPt{;LefL&B+UZjZ;+%ctc;E_jfMM&xsQsGE3RS+V zl;(>-%$*D*&dJw#ci7Q`4)#5Xt_whla;c^UeAqYyY9)eFiiBP*H(KMMaSY)*(fHiu?x70sVqbfRl0rTvtIsaWO8KCJ}lY;`F+!?-bm< zFh&wtRk5uwX=x&OznGm<2q@|F4(2py%F_H*W&=`wvs8dB<93O4riZ|VVIs7OXWS`U znOULWkoe7V;2h8_C=svnZKx>zUd}7#{QU7%ifH4Ml@+$2Qs>cP*@g!BL!QAKIXvJ# z$1&r2Ys3;qELn;C12-#jxsG7?m#Q1xKP$=T|TgwQhD$_i!u zurrX#>?$4i*ZKKJ3wX@tymRjYVp2Tqd5iTBC?vOb!p?3P~C5gOjPYdN26AVMxKK*?c7YS+Un*GvOVZ|p0%NdEe zgYJUH;jI-@&32qZKmn^*7@8Qu66xl(RN!w6O-?q(@Lht1T`*N3YZ0l=8d zoN@|UYx?N1uW~2rynci`#jB zh&%2pSxt1V{k0ND!7|Ab>19r-n7}+UGi_(rDo3QDyIJjszYJ&ln|y4tDnKFz_7Zyf z{1Za!tyi7}d_f&|fTDW^!f6s^01yIbGQX4?OanzQY4wOx8>?`)o3y-t*ow}Rf z_e3Q&Svqk&7|#FvCcjBY-plRw7=0K;XxO4)xzhFcbCLt`a&pzM9y{ z_Gx~%pfNORF4@mWJ0J4>v&6b!xDdP4YiVb*`>(}g8rx*&zEJ z;=bGuB51iExyutz!)!-a%*XKwMd=&+*|kDX?;`I@I6<{FZDfF|)YxB8jlv+64L>Y9PXoDbyfCKrt~05o9>gHlHRh*>MLf8N6o_6mQ+}M1tKvT>+d$ z`z7Kt`Ec3}>G57k?vUm|nJR$(e_s;3@>Semden2Yc-azVg9M>RIW4*2>b+0z(gXe}mmE5+mxhAaN$gleBEYF775ZX0<_?dgxS)I(B#x6Ul8tBJw9#S{ZD~Ka3 z_`i*O*!~$Fk14B{=VosEsacLmVTWHFpOoBN%c{*2dj-LCZwwub)VEcn=0#b<8Yk<_ zlYW%*w=FX5>&9XMW`&r2KZO}ORogkBq>JT6>!PA9-BHc|%lACe0=TCiXUg}B-Hg>N zm@me-o|=%pR-!;okh0v-F+b?sfX0m~Gx~5v@f8z>ob#+6 z%;H8>LmSXkU&5W-jly(yWbfx5=9X2^q)oHdJ&HKv)d$%_$`-hd^mPu#8alo|?Fx@t z*r?Iaog3DYYBi6H+zVW!Qsifh=P$ml(xQqtalqo-cP|=w%vX|=D7wfd9P=EVJ zyGv$J*r=1({i(qTV1?7RVQ0$(zkT$87SGsT_x(#)fBRJ)dTP=;0#`O0zf`|DKH_y^;Y`tMvdfy2;*6ks>x^E9TtRc$oMf=|!e2S z#{!kIhHXW29%+Rv=XNfB-PE`PE5mI$n(EgNtjWBdbsGy~F zC4xZq_9;NgYqw|W=_tTA{XMtCKDXc(6YB>`3Y{9iL7ay(Wx*ccXPh#!vZ-M7=v4&Q z4{AnT9z(@?!pX0{GaV_-GHXQTC9IF{UXHgvC;?mg;>)M(3Svqk!ap8T3inGy_(IbR z)=wtx_4{9uU`4C*518%WA_bfhUq(is!$LTLjB`buO=b5*!*Xuwo}qio4rt5$0O!8HeS<&U4qeQupR0AL z$hZub)bL_f!Oaq*t2PXz`_KaYJg9e{JUlIEtpRpwh7yl5 zHB*=%;6sWIUXml>55EV@>i*NZsZ!Hyi*SlRR=cx0{Ds0Lfp*H`8SSobU1|9H_A~5{ zMl1bU`>5H94(1HRy4Q$6@o`2hui)fdRlo8i$`}HH?EtV8<~H8<>zfF!O=CmNaV!AQv+iv=%Uq3rX``r{O=+#PZjvA1DLz z3_^nBj_=vBfcq3r9+IN`(d0>fenw8=W@sV$;{90L)J~nn%nEM;>VRmqbqMo!DY04l ze}1eti3$n1<~^%N)0pfJ;0?WnhDCchK#k8J1KNc1i);If%W(Albk6q?qTYC4kN-w(G{|>k+P{c8d zSyuWzkP|u@3aqqAFWkTY>f&;rGP<d?@$bcJJYPQlZ z(ys%w<@0>&X#kO=JI(*gGk}PEI>?~wu+V;3CO(8&*A_o8TU8?r@wMFZ<0Lo==DX$B zu%9~R<>k|%Ri(wnQY(4>0D`?h7xMjK08r4_n`_?RMa%f_0n83|>G|o5tE}T-FxWR~ zW$62`{%vW|`d|Qwg!YIw6|2y}TL6y`rpEkHSAT@~U>MpeB4Zx1p)~~q*=cI6Ro{zO zbS~~nw{)V8dF`O(3z`D!2Y`ykN_;fWyv}saGBbq>v907p+0|Vw}277tO+BA7Q_TM=dZt9@9N%pXvSMhp?NJ2K2O$K+0!zq>O9U;4hEu3 z&}|^=5m^8rz}2K7YRVvh?W=~|uVY^N!n#>I+Mg&*5dNL8^+;7U zq=x_#V6hlt!H?WAb$2?b_=E}k20Uk>lOK^764GW~)`BY1CAO}oY)`z=?mE7wNr2@(~Fgs{5Z?y^n-QpuU~ln_r81v7xc>^*%N7v>jQC0 zAW_pNYkNq&itfvBPKAnALZ9_5qOCO*qQqyr6)yynwP$(LX^v!NGYv9q8}>8rn!a-FVkrkmUUGR$J?CNuoHJ z)@Q%8eh@SwWLCZ2Bv7#=u4yw{X;t6OiCi?99*cp~oI`QgclB+zeVX-V-~h~iR|K4yR>k?hHi3b$OLPqh=8O6ADW=#V&XVsT z2CZGT-Us$%$%PR@Qm*5Uf3!0E+J3->L(B!Gc>|D!q}gz(C`6G&d}9S*JM{_cD}%Qt zNeYRqZ7rYpHnBa-O)~Tyx^VJxaytKbBnr~Iy1IZK{)%H6wsai^jFXKE3PPCIzX0^c zKU%%D?>$h~xB-fB3veS`q_DRF8awbu?0-F9JW}gX1uY?xxcz(>+~dd#eg(KEEK;!5 zFbKIsHjo>amne(1NK5Sx^DIgeO|bpRQG%gv?MJGt3u z@FGo!lN9+ivF%^+*PGA}SZqGc*4LeXqr)R43<*a=1?~dyn>@#g1cWIy;dJpHk$8i27a$k8P`+M$KsJ5DqEYb+2uX|{ zU4b%SsjV=;+SX~hb;p6=AmOKJ^0pZHSpQ*9U2(f~q#vN!&21ZZ-_2uG=QYvy8>#us z{t*&Y5Fk@_fb=Er&p`IjO=#y-8~W+IxTq*BmAP?;;(W>D*jcO0J3DR?Ad6rrfKjDs z5uyI+cEl%H!RK!LifEHKrIhgn^cW?!Siuq?FayNNKyuOe;7>jNyq9`G_O7|$b#&$H zDRyPp7}j`A)nE-bXO}M2Vv&3N=2S`<)`s8%?)X4>&>W<|eRrNEm7E-2SM0I=Mj5si zoVVKHoL9^C2=u)lv%k%36~}osn~#R-J@tGXllD{oTi+n9LdGzPrXjKb$E-nU%{>QT zRumG3dG$6U+zV&%A$7%fl~#KEY7)qllxplEnjO-EO6nwGz$sfivj=-+<7Eq}UW zIS0mW&sfsidjd+yA8q&=GN=D|mSDqO4HrmnS*A6ctBZ5V(QGmP&gT@j^+qyVIO1B0 zZ#|6Tex>y5Pv8e0ULVUSia!3a8?}c1AxcT7Pq7c2BsF{5R%%m3ev7~S%mOGKB3A0N zzx&(&*cQ=l8rPqWTwAMWdr>HQ-oA{*SqZmU^8l=VrWsyWl^KSv;V%n@ec}Q&w^v8S0V4}=0?*^Q@ zb-VkuR?~APMcd%*G_#a;m-pT#lEvUdz~R)hycAB0SC%Db1Kh*|V!yCV@S~qL!Fqkf z?;6X{S#Q{Q-W4=Lw1T^zw)ZNzRk$77yX}>*nTue3!+M07+>o}75AMS7fUR4z4JXU^ z!MRG$vfcQCQBlTi@a!opLH>Novc8d6N@^o%HQ%Qn`(eN=>>H{zXh{+A(;4#1C{=7; zmkz+5oB~kv(AHC%fdja|&(!s$`R%Zc9#QjpM}Di4bt0^$DsmFT!TK8-0Yg-Y=&>uV z$$`Uf4VVltf^`sERGGA?e$gdGp#XIrzygC;ko^%kdx@b31dgBtKunF@omHKkA5uZw zcOGQxfu{+7MI|*PXHSu6QzGxL*$s>)u9AP(q)RWL-8R<7+)wKbxJCalPrPWJueYn$ z>_&<8-q&9KUNj6q#Qg#bo=mw-AU6yQP6p7{)CquTI00)87eT*98L(M07V>n_eE@Yw z@@2S5zMLVKPuZXWS83^E434zRCZfoV-!f5MO8)8)&+-9c_$35D_da&}7l5NM@sAT3 zFo$*v!Vaq6F%%yrQD63zctNsE_@{u?b!a-9na8DH-uif1t~dZF=YDN(3c#*$J{8Sg zJ+O7#9Pr1$*$XIQmVdY2iF$5r-smgZRs(K*P^99s1{RZf`N-r_5s!Wh0<(=T$zkn8 zO~vtN{MF~_JcGm98JzgKJafMjI)c1YW)9Y?s!F+|R?r)7SPat4bh} ze~-3)_9q4~KtDSI0zTg=*lm&HRkslUF#NoVqrHg!O*^h9p~(n6W}#^{Vl|*J<((@l z2${ehoO^~xMtDSkLS|Dve&nUZT~_6quaI%1RxNG?U}^pA~`8}O<|4ZS_; za{-!7Mft+wCxe$@U?}T-M*+my1Xg4Vj5SX@%+|(`xX*Yx_pwH(Y|Y}q8oX1xsz`2$ zVCols9F6q;lJ0TDH?MyE`UBDHCX{g`vZya`mI#e!e(Lg@95$N8fj!4oj?KRuScT`c zRL$yio_x{vOuu}P>zj_`0tXMXCv|nmb&Or+-9M_!52aYiEv|*r$^<>O@ybf!|sw`G95xfonRNRQ;{dW(1w6sePr?b2K8~gt{)U%txF1wVS`y zz_j?Q|DN_t+_C4jKpv0~lYb|u@{6@W#AK{{pK#hFtMNqvvhm9o*J{AfFQrPPt zCHeZE7aSJq&wVV<=9Da;x7n%u=55G?YkRsYf7%;S+5#PHGtFe2o^1}u z0}ho|Z+nRhugfG)pog9@t@0nh`v5q87%E`9U8V!Ai~FtI`rrgjkG+w>h$elGB+B!l z-q1+auIY3`E#pVxS?7_^Jnv0(?b{zduo8U7?zVTJunqbSjsWM*N%4;cZiGJW3bEV>jX<(s{#CWB)WFQX{{Wt0Oum2$dPzBvGXSLyL z<7slXnt{giFD7^lZyNHmwn{Eh5JHuS=CUp-a2lAI`F+u-@cM2V4I zP+btXC!kYEieh4REiq(e{VYI&Q|g4H{T`xmgLy#wIR{Dln0Pns^9#BQc(L29q>2>i zz~bf)9WiF`(z0E3byGD*_0#P9z#+%6fLf&Dp!h3tHfRvvcc4AfJ9i3rt_N|%+l84(MCQ!k#x34vl*L)rLrI;e2V7 zl$7DRIx)|X-Jbh(QkreF&q;%1W?Xd2sP!h9FlaTU&#;He>kiu=^r7#}aNmJnAjUE< z-p);bbjVF4h1g$9$-v%}nX{~7C+QsYW(TZCc_e?_sepB&JJ^$OwPe)c10{-nN@SKw9^06VoWGOw;Mogh2+wC|x z=cFGqker<|l@pbu_XA6D%c4t6V5%aTCeH%%VH%q(r^ZMWAh zU)I7C3&bGcls*W1_p-|yv68H+YZZ;57QEE!+(r7xAJk>!r z_Wb#C{)x*7Vi}`P-%%}tC;jn3%zvI35K)x`W4*4N1VlJy16z$&?+5tnpQA1d%Nl!= z#rfMVQp;p=jh960I%P7x@KuO@EAKX`8oa^PY}2u{p1Z$fzAbxdtkn~Ze_YZ`q4J#Q zSc~ELyxrt@7N)}o*2`xh4vV>w)E+u7{T2#~$$0t}J&L8l13q%HYMB^I?6{Ggppy~A zW=fd68(YQWYjsKh&rN=GX|DqZAp1WP3=5B%oKbIfOVknz@A$J0qW<>UP=dpb09o`1 zG+L{}v7Z?W8@s*Emt^D?)7wUfH2NTSc>Nyl5r~P^Mwy0KLESHZ)Y;7MVYYdDdtc=@ zEOg&jYz`#gx)FBd$)~(C?unSRxChkIBvDMx11S%}Y~m}uBK+48ua9Qjy=Y{hg~}WOV{n_vL_R}m?@6P zLD^|--vz8>BEmX{b*VOX?|V1stMmb+>Ia~U$l1fOiEZOTjuM^1?A0zV30Uv}_4hOD zNAD<(ZyqchY6(W%?%2^?nYyMOTQ2aW-1h{3s-AVJiFTuRwMY#= zHi?&|Lw6Vnubar8m9Gt@tm>vRu7M(qaeujmz)So7<>iR~9Hj?R(y<89DfSJ!KN0&h zglcC*Ng8P6FVWA{{u~33RdnR|dp6Q0Y*^rUhr0H6`&I7ykRZIU^YE&va($M>$hX{H zcTUi5(v86B!|*yj(AEqmIR!<#sQ?qp_WX`&Jc?76)_Wt4rW}f9 z=nnF5R8hLf8>cZw563@V?W6a`&A9Q^8!a z`D}KWf2#n0%0kSuK;t(r-(10?j;xV{w@e3y6J|hW3Wl$}O<+Pcbn2{SN$jYrP;Y=%G z&t}3*hg~0MOexz*dk;q2)B+PqQ3Qu|@y{CA-8@Kz+*QopQlSH5PEynA#mmx~faf#~ zD;GB0;PlyX(`tO{Har%xw)LQY{m^I4L;$bN5eWJTA0pduv!fx0bOWS# z1s`Rtl|;iHuxL`Yf2~hy2dq18_9q=mtpUb95FJrZclUQMTFVr;34|>Iy?WcUrEqUQ zb$3g>!7G!Tx^UQ=SM6VE-o3MA`4UjT-JA*d0I3@kIM%@FT7+(?@Y26P@MWno-bZ&^ zuf|?()2WG`1#Bh^&Fag2Sn${!iX^{Q+P0qP+2M*0@r_a;wPz6;0i z{t!1rXc)+0`+N*2lz-W0WW@07+`Fdy^c!?kqHr?sz|#{7p-gBbKxU^j8FbQ62@o5= zlbbBJmH}ts)n0&Wz9Hs|W5_m%@p(|mYq2K%R&Ucq^Eb`%<5s|yQWOp_P#*vsc{#dG zE~arOy^9rw{*bh^H^7&*uV+_tZPPx?v>XCftg7WWqb8uPZ3z!T!oeZHDiXbSHbKgU zg3nFc=9VyR3D<U#qxqXAOS1m(NksTjYPJQ_c;g}Qit zc{+sF;VEVN1m%+#p8~pwu%1!RJ)L@FMpfTBVU%F}sbz^So+nqifS6H-r%JE2$GPHb zs^Q_;FRcRVb{zvZ89s0O^5pwQrqPMDiov_uY@E(zEgWvAz$N+1Yb6=jY15u=vGDA1 z&pL%D;ZG-v)lGmld$;J=50M1ZYGws!_+JU~q3tg~sqcpb8?B7{7y zN;I!43_Eh9!l^Rb7Iyyxao@1J9_etn#?hV$Z=FBomujvA`dlG{&TYXQe^lUlzaz)D$OsY?bCaUmx4p45oIp zyl3RQI-7R%oN=mt{nEDBI4_#^!knQ`yEtG8_xgeU8zGM}v+Yd2m{!lgW^at+-Z=#8 z`rJ|`Ofa|kN91=q^XDn&4+Gd-_3JJA^oip)WAQm7Eeelh$VF)?SGPE@jRk$H4Xu00 z=mGVOv0+NbGiagX)pFX_Ekx)!%ev2_W&uJrHP{fBh2&kNkPFMp^#yO^le@pK-(P5O zeMiK$Urgf{b-W#XUP0ASXLrI>VUmrBjX0R)ojK z`)sabwBviD-=n6Fw18G_^L9G}HvlpC0iY1s-7m~f{Xb}P^DHpPCv&nvy~#1vi&SLz zo%g8fm)widZw1YUi59Oh1H{F}b%TnTwQ3434(HWTk2e6yLOOw2cLQM8Fs;n3D@b^3 zQ(M%d^&0FmMahO!c*Wd1qm;!oh^?Kaw~lH4S=5e5_xPA z;;8XUeR`;T&r+8ZyKcYQj5SwZ9g;!cYt&|A6*}TNusJvT(b0QW4;s?1^jJRKNyGaY zWqDB|!Y+k*8mqj&kL_uvt7lo=E;}(xp)M-1Jf=02QPP7pY2)-Dvz`)=M3P)8R%d|8;i@RK{h%% zIyHW=u!I@;4>B&)fm8wROzmT-Cj)!sHn;B(#6TW<;CQW7=eg2E`zk159Pq;>nCl1)sS$IT z{5JuDf+OQqP$Q52SMl6Hsbw{FKgY}J>#C~ zT-4esU37f{M%fyBZVtXYeZ|5EZb#{_RY`SuC{BpSTF)3YEGU=Az*+v<2FEs6@r!>m z_kxF|UsZK$^94=pwWD{Ra#hGKRL8JQl(Kkxx@DGw{$;z8_BLByLgjW-IyC@u{?Z|c z+ER$F^734AmvhZy(Q4O~gyFG?=>dj!r~221{(xv~n*^js1`yy6lyYTv zUw&nq``ru%eT=xEITSJ*LZG(QT9(oZJhHvCaGNun#6y* zGS84VoZy53eNADYsX2AHW9yDg#Q@?&r-+61V@q5z=;XwRU#Cdk)b`I+73HS12ht3^ zfXzKu`z6LIu)iB8#oUm^6NMc&LPS}EKDe&72QKnYCnM|i6o7yyJi%2$fY}&IB^qp2 zZ|lcSPfz&|u7EB7(w~v+$G9}vG?sKTg}Tuj$HUF#f>+l}c(lUrd0d(|d6w^sSV;A{ zrYa^b*j=8=em$MDu{mrZx3#^$0|XdS(l#-m`eXlpfy8!LW~gVxh|g71E*nSh-Y2bjlBZCN>nydm4xx%FMZPH>ftF)6lsPWw zt6jw?`0j7psMU4R6M&f4OQ=Q~|AGJkSV*@0=BItC|DD@LZ?q++Q}X~rdupae2{#Z( z*v}KT%|OIwMPzx~5rr6f>1j-Qrg2TUZ4fRvRl8Ji@1Pb*9h&5%5?qUBD)mm94Drt= ztN9~(oB>hyeTbjP-412Gdf>@C&^z!%P8TZo$Z@=fqgq*n_dLJrn>C8hV83tP>adVZdRT$$emK(Q@FD1~)I{@~SD+_3*aGW>8xDx()%@`Q zG|pm1zW(HXFjL9B)CQc#KY;wJ%+uq;(7^fSWgGzhM;A=L0(iU$`3C+r6sU()pDy}R zgdTN+Tpd(YY5+}AJWvL0sA}I#@-LY2A0P<{_O&~LsOS~OJ%d+As$mVOR|8RX6M(}# zueR}E>({TlE&k!81pEYB*0P%;ERqy{eF#LjMjm8tcaY!xorxp4K6vah z^;bkI3I~Z7y>fdKZ*^*R6sQfgB}T5sv@X|edN<{19-ZBM1v?m#Ih2iRRV`LC<@RtO zn73dW*FqTPnhW8IuZcI~jzGrh&4X`mZ~wB?3?6H8wS#ge;}a7zeN15H;vRAad>5NQ z?kxrw6qf``1W2r2e0a~Zm%X(rdHKEg>h8wn?KG`tM|shIEtP+^IWxIvFtraQ)r?#Hdg#ZDGQ7MgGpf0O6C|Gdtw$TdKt@$s@ zdRBUQGQU!gRm$~rfeHK!fL%RG;J8`Ya-x9T&(H7f2QXDV2WbBsfoNav$!doQ5U9is zhe7~41IzyXubvTgPjOnyM$y<+ap5*_Cyj6VB0fSN+~1d}FMM+l&>@uX7KQO(8x^bS zNPY{_uwtQa!qPiD&#O1N+QhSQ$QQJN9SpFQF)(dHlxfbRL|rI;LqKNl3-*A%x*y=m zsMy(+hSLOSfRuU^P~B7!Fi04YwEw|%5O~k8FI4bMP*RdcJCGC)34d_X(s1;fCH<#` z_vZxP=!*z%jJDzTdHhPm?C95ow5r}d zxG?u{z`@nl2zG^cIipWlHr|3x$udn96@zqhcP9(XC2$<0KGgy)!2;EaHm!77_q*QO zP6pfbHtWLIzC85`ZN3v#r@Y8t==~Vf%cOM{EWUl`r&BNg9uV|4zM{hD>#?U@#Vg#k z&6Cw^$4AfRfPjq{fIyc`7hGcdy*ZXE@hu`EIx&&=J!b+Ib$jmTOt`i6^_as^%A)Zk zj_r+|QRA=sv^ot@vGl59y1}js02smDoT;RBMl++PrImj0(N;R!8Y-SK^SH1k`}g`Q zicW5Sv;fY1O%ewX07c7RUrrwXP|`b3=~vbjU7d;8I9h~F$UDeky?JvPsnVRrz%_cU67fzo_!&!% zU^rCb%jqxb>JV$$XCf-D$4e|Uz+72#wv({8Y~tcj%H-Y_uV}}U6~hN{LO3#SWz`Z5 z=9IBI8#Ot(5>t#-lEY8Z(orEH-`zh~+6*7m2QF7M*a7n-nSsb$^w*aPyRbZ!!nN7* zN^~u!jb64ks6T9Zd0C&;mx3az86MuAHS&edg53@TXun&WFAZpU7$} z(#<@Vt{$4+zL-(j`zFSOI5(HQ3H(F91140mXYC%?t%bmy-t3L0wXVBWXI}?tT?nZ8lQahRCKj>cWX-6KEb*XYAwyRN}_?0ljf=?%02) zJAk^qQXis9Dd_XqOeEqx*2F?jT$uXY<~NJ!&ZKYA>spa6MkLb18x!H%Fj) zhw_Y;nWY5`w4%C@Cr_B4ze;dWK44)=@-G&i<=u+5Xkh7;Lade99{sOBK$idJWN4pd8t%Ne_MG0m|E0S{ z?$q+h*cF{g}&@w|IAu*T8RAzqu{q@oh`Hf$h{A=d}j)PZA6l^6k6rC3cS*du7#q0&gQGexY( zkof>892Up!%_RW*FL@g|{?ec3|34u_36KrQtilQ6R2%kQ@PAi}rg#b8s_dAe$XmC6 z3RD^QSnl>8h5;OUb1NU}c{HS@LpnRZFk<7235lC?4bmTJb%+x7Eb3+xS!rHvXC6#Q zSkw&6afh^Bwbv<@)iS60H)|OC-7G*oT){vJI_%(Ie7|S}`AT+kwWk=|CV`;&n^;80 zdmM-hU!MmNIYXk$3(Q*Q`bTFe5 zY(uYBQg9X3eN20wN3T)g+u=FuVD@<5rc|f|rk)D6I####7$9mokz>(h*E!oB$rs8a zZ=pD3Qfsh(&*Vut2x;{pdC(@BmiPyI{tsr@uY~N`_Tb40>!EX4p)aP;D*{7X4q#0P zMZA7_(}vQqlh%t(jG5 zcd1i{WETEw)%y`iJcFyEwbRNlxD**uy?l~e!+A|jw$J(4+Q+0-m4P+Z21ilZiWN@x zcKc_O;IllDLq>W93ux~p}`_xARBP&e)QQN4g!ZUiDXZCD!#i;3fU zD8Ai3LtVnZ?OjLu=OUL&1@@~8rKF0y!|z>Pfz!E`$3}_;nW79T9m=kJj`ZmxH0U#` zf-z;<+^rfLFW0fzKG%v?*uI~6*nT39ou1_+a1{ODHf#eAPK#HSyhKvI-z?YVU$X!> zl25-eIikMRL;Cl#0stSr378>~3cvMy^~Q9#WB$Cg=6K%`UtXO!{10;wlH}$P0VM=)dnsuNVBulc$_qDtHy?DeP%?bu%RJpMD$R`MU12 zDL0vLR%cc>Qfw9y(=P+@`=#?PeZx>hr}<>AA{y!{utzm@r_NG=Zqs#NJh2C7pc)gw z$I<=qcN>n3n(nvN+f31~PEVCYB@NA|8^Q5YhecJJ4ATRrF{5k6k9LjKA3fAH!C~-% zvMW24wBXI~`c3l*8Sn-WJU=fC7Sw8?K~W|My{|S%(o{L`zRY!VD}W3IfZ!BqKJ{0r z0#)T}E*627%HBkgZ494JivcnQ6Gf&aKhZsDkXe*~%Vs}Lk}#-cpahs07X4KTqV!S< z>LAk(!vKbrs-5t0F#D=Y@GIXA%7Q`6zuG=h{V!3o_dPId zMw4#&K~P?Qv|#mtj%fR5%TUor%}Ud3xx|~aGUhBXO_UzZmrF_`xG^mW#ytwsU5+MI zarXD;q#R!+=fW*9!$|{;Kl-pG-NHX6bLpd#2p2Kj9pzh`&4@2j+kO7LrJfo@uyx<0 zBIR=*2=0F2>Kd2eA!K38v6}j;CN zzb9_`Rz1ci7DnQsXz%0RPsYxo)2O892Ck5grB{d>ag_cwkMw(eX5KyQkotdJ+yA?b zPk5iZ0pr$4_OvDG^Zyi8(Xw}#u3KTZa?SSSt3j0wg?cu(mnjM+PktR^H8Kx`Q|M+m zq{5DJkMniPq%BZ!!lc^~xNic^T56@UR6{9C8wZ?`M@h|Eup0%!r`;0BET&IJDtd4pZ*r&A%;Sd}E@d+F5! zQ($*Y$+rs@jtD(O87%3{EQ1~=tsWgRMBUujkTG6y;RfWDX+g4Ttf!=hY#x5fJ?*~Q zom^K0rLW5@KTSs+GKUJ&HbX+&x)y-saf)ls?$_PG4Uie9_kQ z<>pt5DGsHS5B>JAK5PAW%!z8&Q>YLrhk`CJJS7R}T^%X?4tOMJc&^~elm4y1{y#9m zp7aY?SU)5O)LseNy;H!;-PTX#a;=n0WBY(EMKTJKo+{K--J2{U*X6H`1FCu6T-Hva z#_ernQkC_l7N0w(?AJ2{+3=#c+*Nt!4L^@Y^YWkS%bp*yK6Oji_Q!qs+^Y9!pc$Ba zGniN{x>b;H5**hvl2mP$YhCz5Dbo{ww`9)P?FApx%AKDk2)7^Ma?CXtMF8^jiyWCr zO@e|xK8C-xXaLx&iqpqtZyi=v3~`Pe!EoO9YVXU#-RxR^$3YW!71=0R+v2250vvr(Yn(&7!dS<}r6)lU?FY8PVm=d7X zWU=`)OiT|e1$rTG2Gq+EmY-6YVCWJ>CpndkEDZ51#bwv;c9&}XZ*HltbFnD{83j|M?9amv>7ONLhB`RE1 z1~;aV#1_W+ukY{#>^z8H&Zj>hQtwIB2$N3xgrbOhs83&g*M9E$U6$v={&v1sO3J2# zGup8A>Dc7iW^BgAYC^h)PBLeKRZQ)%ud7p{&iXB&UgO{1RLfLJd7&#}Gy};l8#-vZ z*ThD^^OyQQu#`rHslIeCL}&1cwe`f$2*KN4DEA0iNxx~#7j(S1Ev z#08v|SvXZXLgOc1kKGI-yDek5jt>||W*7VIT?`i-*ypI*%GX|nKe}@L8?Wu`mSs_J z9FI9{n0P36U2L>_vo?!4&1yVa))q=ZO<~xDt&!wp>rIY5Wl((jP?{LudZ5M}918Vb z{oQ!tO9)T4B8ueu+v)ZU2cPvz>@UiG%K^1AWr`F2Bq5(lxtkpux)rfhjVkMKRJAOI z=2%p5cL>(UiW1#=nI-(YgY3_?g+R3qPk)Uq7OgV)mb^2| zoZ*+6RbO5ANWg> z@c)SY>|<=CkYwTdCOSB>s4k3S8!9KvqL}airGNUsl~2)}cLKMtbdt4%Y4iE%E?gTs z<29VaVg*z-s{IUhp()!5Zrl8L4iE;pt$W9lMG7Sd4#Wc@=Lx+{9eVX7vab9>4+i?P z_|)+&Y;HN$pN+~V$utbw9xk`TAY-k^AX({RBS0igKkFc6zlAMR=^<;Vy%^-TDqC7^BDoZUBzD zg;Q;9!{fVa%SujEUHrJs4@`;lL!r;ht=)bFZ)i-0JsCse@LJ@9nrC}Z=Pfs61_=D6 z?wZ+jK(*=h-s5U*Rc^PIw>J;5Ab+iM0t=+r7eNtI{)Ay(8paVyjPr4L=R+8+0~I{_ zY7~yfR`J-oVfHoN-g`yQDa#IOEUQm71zeePr`NnM@BMBfx2J)PBN19kHtsNPTt$B$rKVu+!l-7uOCK2wBKG0nl}NK7D1ItRP{0i7*fMp;5{xP^ z_)v}7)A;?&)^-M1f~2Kf`#VT^K3dC%AVXQft3G#%WdBt2iIJUWzQ(#}JaHQDMI;%~ zh|)Q66UPay(8y4Yw~r>@8h*&JkKnit7?VZ2@{?5fgA&>^J_|h>tecYK8OR3~+$7BV>eW;0`-sm1-FzK^yM1Oo`E;7-k-(sEX5;}M%wR$BP;yoS#n?Y z?9-AQdOsru_G@QAU!#I=-7KCSNOX7_Pai51?Wiu>9`KjTgi9ZmC!9=>?H2%b5MW(nts2dwUIc(ut%Dd0zN6QL(a$+AXWp2SJw8;5*?$%nXn^E*BO`GOz5R zIqihmXs=W}%JiW0;>%AOC~pVL1z+1hiApa!JG=XfUo1~Hk@2>J?tWl3PnRt-&Z}rv zL>s@8_PcKz%TonGZ65sH_4at=LV0FLvGHh$ZEff_<9gWPk8&BNEFFMD4yFxAC(Y@|E1!X z*GOYM6#%)u*xc0q_-&9ncAFuf7N?lU{52^m49#1=JA!0Q$(NXK3&eDvDa2K*u6VEH z9@@chyok}AA|^+<3D#E!BX$U|D0#JP6^-DEO|Nl`?N4T&-S*h+?{g4ZB={D9biTz; z#x{7xoUsNa>|POj)Fg(MG)TEMw>+LzyO=fBBe#|Ie0&k>`o!l2hhS1;H!k+QkV}w` zyu_-!dzExg`em7H;IyLxwWIM*#1aEP%*}5e)dse6fKjP%muJUm9kY*=|D7w_TrZoS+mw*C@= zq*DrQU&e4#7fs=5NZVy+dowGyc!QD}wRI^!xZ^FV&(oXD+cYYvcG&A{EoH82`T%}G zWwwHsdLwp`_Yx@Bz4_U=yo}O^5-G|}!7Hl-KSVMvyml?B6MIMw%AmtOY5dBs9(kX! z7*oQ7zOAjA>QUK~qI+P+IocXmhUj zJ2v-`DRVVODYkBt(tcIHBssiU($7awH^dBPYjtwpdo+7gIlMc8NfzysAA}Bg&%xL zkgj-4mpOJa2tJGU*wEa(HIDVaMU39w^tLNLi9fd)u3c_$-2C1w@fPV6TQp$sx#$g+4b8K0mOuqA2!yKOH} z5Z>RSA2bDYs`E9PS^Aq$NK}MrxWn4CwgbK`r(`({n1*kpk(bY2yqtsW;x6}Jx5|xQ&-O+N zCtxfSn=^@d>_pt{e1u|%9shprm2=4?v*at)ovzT$a6J0@u0<JHZIL&=9a~Qw+ zDelvu_CQK`E7>FcLKC#@jr(B!8~M?j!?tqE*Hg*m>X9ENd_xswH*OR#$Zk{ve|A3{ z^^*M(<0Tqvja-;oQZoqjy_rin-fKe~pAcHy4y3WcR!Qco5(YL({i_j9ZufpDY#dPO)TE=!s6a)+458S0jxvd0)f0MW!`fwfTrfjREs8Q4x`q4)U!HQb0 zMxL(IYAi=*3VUkh+bkA(cU-jzipP~X@%)(&x=!j!wai!XOxA8KQ9nDXd~nZ5!M}ZM zcO^#1`q^s9FgmkzvUo8yZ!9;8M?RGSzHh-Ee_?>xIYOVqpB2ccWVn2MG&R~%Ah*~e zgNEMWDsm?*E98G({M^ifOE6LxcBXyV+LdvqBKXQq^@X`PRa6S{%qN4W6q%E`zqiR` z377@t&A5k>#yb3hZhG!V$T95^y0F2T=tMRvKYS$u78?%@31dnOv6Be5;_?A7Z?x;t z*UhSrfwDo)`wMy`%30Oq1p8@w7=klW&6h=d+h+;-PX*B9uyqZ}g(}1ArAazTd|rgn z&1l$h>~-*UjCL{)XO)NNLj%?_tmPuCMs=x`GS+R!Tv$B>^+Y-VU$3K#fPD+<$8Cgq z_EkBOhV*y(?939xqm@p}h!Cjk$|~jtcxSD-5(lhYJynwxPgm%rs=SlvQ;WN@W;LWM z&tda5NsUMSuW`QI{8axDIJgh2dJiF3$jXvGc@6*8k2lh62tcaSCmqSNHFgBslM zXk0zNDTrPDVFenKH510JcI-@GR7-?}G11dq(?-;c0rH5h$3VHDz=z14a`9gsR*xc^ z;XD19bJKd9Qr?5t;eMp7s4X+4?Ns@btPRf%3k*-ty^DR0u}d6E%P-tz>5FfF>f+xW zPVYa&^Uz8M6`jmR2tKiDWS`sEI4PbqKW+sV(tRI7ji95K=|Q(A`F(whO>Rvdf91LN zUYA0wZ@rPtz6&!vyl4d<+;hpNK^`H1;wSPrVCUo#>o?MzU2$K}X~!5;5z0D&)N|Co z00~~s(v#-sW&c&gp{X$X6SE>$_t3HkB>tmrQCl+#???gYCvNvDdAKIZ-~ zy=}Ri3JD$RIMkZ=Uec~L|04A!@phygd&KlyBCdA_G_IwlHMTB-xA&P-3LkuS(?>RG zrXb{=A!zTa?iDGJtU$b)74G2$yF|jXun?Czf2*n}jvA^48W5;9#}Om(Hz*lEwEW!p zu^cV#N|!Y5*gO5*p?HwJ=CY;9Ho-M6za$$B z3U?4iyBu+kORuHuJ2vE?Ukj3mcw@>HS!6ix z`VJ$N^(wb6$hFw;6yfINxGW?EKtXpmQ{qtRS<@b2ct7}HFt3Ujn8MH~8 zCV%O;*Ea-7iuU1~6Zm>+Mpz_^Trj73<}?X(wP@_~ z$-R!_Y%xCm4wIkA@X_#fT>r;g$6T9FJ=NI$@&-V=z598S8=sL7-^*6(yQ9Fjin&Ci z_BhFc=aeHwZ8BvoDW`&f?Yx26v=}8jW73p3(V70LW_(W}O_;K^AZmB&<*49FT;%bm z8UJgixb1ZB-rehn@piB;ydxQa`uQr9!7_hE{ZuR8MTx0xc{z|ukor&rFu|Sg2qn^o zv|abSdi@~*x=E|5`-~%d`xJI2IC@x@jaBqivQ0*b}H1=N0rPnDnbjVNjkTpD#QCAydcin1})?US1g`yR!b~y84X3-abBRP!l z4}&MIxcBzR84b}j)zu2c_>_Iwx5QoImLKstQ|)|`O^+hNLCpMQF_&|LF=aF^hqGou zp4~bXg^L52BT9tL&sbL2b3e|ho7g5WMpI20AhuiQPjWxh4+-XelAkUiXN6$Fri%Dd z(5!N{vRzCtlYb#0l+Sy?Fp_6E{IfOP5Z+++V9K;bYYMS_Ea3A@)BOC|7rfIR=*AJ= zDLdespjCK*h#+O~Nq5E@*DIsWqxUMQ=#}d_M)R0e0bhe5rm{ZiO?t#L15_&eY@|q2 znPXRNEkZWCRY&4};_byeggD+RfDlb;T6I1cEE$O}xqB?qE^e&eYJid&9fZxkn(z%? zzf0xCC26(AP3{iEWzl6HK^jcCzh!sTQ}~sF2jZM(nR?E#e18+{)Us`n#Jgz*8;1af zy$I2C9oMdAga4LL{w2Hq`A+X9e90;?apuXjg1boo@C*@zSSk}Pi#0#ldK+@6%HNl{G1o9q45KdbKH&MK9Qo|ZLLTW(~Y%O z1rQahJxDTn!}!LHdx-}AeTc&a0H`l`1E#M1vjX*G4V z(EGwXc16!|3qL9A$G!ku?8(aDr-EA{wBn7mbe^+@YUUyY(*`W7@DbYnD)+-iW$rTx zhS9e{Q8gyA31b#!K4byG!8qff41s>*3qoQ2%>_KqXCvAHc)@9(z0gOxb85Ev_Pz?8 z^enT0^s|j4G&+RuoPKzoL-#Q!-0FTA8LeG#j3}C)a4w3wjG$*T9hK-GK7?Jk?aIr@ z$;H+ZK90Yl_{0e`$U;8FAFI1Bl>>TR^A|2Q{<-`6$wID~!Y?yMuWamG+}vZNoNHZ$ zvV;fq8{}4OFfhD527t4pMbNd5Jg3nLX}raB(dR1?6_N$|h?{2u{<%Pt_9xSgQ0OC( z_-vPsr+RzGT~m2CuQgnjcgbRfq_EmKR|gEQ-Jybj3JwEIfV`mwmjnw>&@Mb{{11o* z5sMeJl?ql({J_oS-=qE6;3plX_W8Vr8^vH@lgovh%J&jVgzLCI*}-m|z>_WUnfc3< zy1mW)WA8~2mFuok@rB#HcQDJbGIpXLF$kAYnI*$VDg9>z^k!x8mEQ}!@+1qXM9Ya) zde4ec1lKb>a9SzH7zW$h$l96(j28Ikd>!uN7@w)43Pk^BxyrjOO4EST#1 zh0g_%SoC|ah$%`hza-r6q{vTi)AX#wtseWV)mU_M;Jwgz%cOm1e*{WRjo!{1@8@uP z_Co31r$^1l8>>3LO+T;bMA_%dwfQ5dwIZ?9^TB1ot{+Sa(Fp9PeqwcXLlXlfu|dxv}CE?+_D7gr@p66 z0Ue4sUMYd1;s}neY~WQ8k``Z9DmD^wv|1X8bjKv$FhMHMtzH!==ITutVJq%6g7BLY zjli4D{wDm=T6fj?dXoRc*jIo>xvgz0BA~QLNTVVp3?bc(Al)^9q_p(VNJ@8z41!1v z-JQ}U(%sz*Fy!#R?(aM2Z1*|){2vz=yfecLYrU(UxbOQ(r)3RZTvpK5kQyJ#;C84m zkD0gGftRRWjia#j=`-ooe5u#wV5UMdx;_{|oWfm@nF(d@;To-rxLC`rf~BH1!iZyP z$V$RSmhOg2%6Mb}z1#R~2iKUPZ!ABTTp-MLAv>_W;0eT*? z+9eO-1=F?B#pIu~?ann$SSXNe&0DgkM>v=D&(*WSfm& z$nC+GB|+aALmuK$K)u*kP$;*3yNq{qKW*Qi!7I)|a!Pvx0gL9@px`ad-mv^3OvS|# zX>6$GO7ppt0f9iFNAqFU?AW(Pab=u|v?-16PwDrB-Lx=sinb*v6}8hmrRba4Hzdkpte0;L^4Dd( zTrfXPv>wYWy}0f@4l*eb3jr`a4%Linwl{))7qe_h=cJXL2(-4l)fVn?k5v)j)zbw# zM)||u{VBRyfeEg*6DD(=%$KYZ3Rord%TImWp{avA3b!$ZGp;F_Y*1`}u#c!bLTSdx zPy0xJJ$G4BPIJfa0nhkZ;yRGAPw&pg$N3mHr^fX_VA4iHLvjq}2VB6-6`_%;egKJ4L$eDRhF%%MDW z@qu?AkL~nV&=K&v?r{nh@Xt=G)Vc000tSEDV4IdlnIK_8Qn``GS=~O<>WmL7TtdE&N}As1 z?gimg9Q_^adQk6|44=@1#2wc`uT|&v1-M7lzNDrUdX2(AqNjy+l3?MzdqBKrcJyR0 z=*I#{fT32fF2xXs4Y{jp#JlHj`aZPko9Vy#1uX{<`l-$sssDiY{pG$-rHIsXF%PU` zlODyWwz_WYdwr-4)Yq;be{IBnbPTD|KUchh1E!k3_w`=!Xy8w&(pju^A$D5T`5tHZqkzr((0?mWG`opNTO;kB0^4|=MQW6{>Y zPVNUFvG`RSo1breP)PAayq;@dARh@W|M7-jmb(9!BmTSwv@1C8e6wYE69D#ot~{tVavT5DW=`xHfn z$l^#nv9U~FS@pgW3p7-G^TtUd{)<5b5UDc^!!9!W+xIwDeI(yTP;4WStt7>WGa=zG1mW zaY>Z_V8Qgbl@2IV?F>h)|IQ5LJ`vPewbj%8wPF3))mEw3`WE|6(KUs0%Cwtg4T1!)1(-urS#A=iwWnqz>>ENd=c-H~q)Rk7G7lx#!~=G!=qIK%o6q z*t^B=?bH1&s1H^RfAO;IH;#Y)Gwc1^Mau{(pQ|5_KOQ1=gGR!nxy4f@&@8w=V@s7iVe zXSs@|*GUWAbObM8b#ZMUrcIQ{k{#hEDdq025Khq7#y}!DoU~71(D&5sadtsP%_1E; zgTQ&Tbia0?Znf5~Tpk1al8R;)TM;jBbV9it&_|!)C(_pD#nDBcb8>HJ{I-#!oQ(wF(;EoL*L*A{QXCkdTcki>? zEwTUdHY+XF5UVEcEJDwF+*;v5(J>cc{KCd_mk#uk9~m-Qjq@ z!xB99%OFIHI9Kvkb*yjZaBsjFu}jCl=by-;YqQT%yxx5()h@_kC;Ibq^Pz>^2)j0x ztFxe~Tv9x#`ZFgY&+*-7&L$_dA3q2l-Iz9_tvm_!>Py2a;eF38g#`n=Gzag zmVkOTrQ>)-*0qU+^;$K0nAGTC34KB$1X6%pVcknCp*-Cgj<-%hWL+pSi)eTTNyGlCjx!Y^(`f@q+kGWdloFnw5aw?xq z+b2jQolXTw=J(-!S0}X$WveZ`4vgAbodITE#3iQBXL!q8&r_-@BlV}Tjrr7`Y2m!I z-(&-}FX-9qa`@2>USn9?GT>T-EY?7S_v^(2SD2aU6gzvfnfc?*PoEOzJHvp;K}*I) zIsa)E?U3A%VD^lI2IO6ae&Z!hj5Jl99Ag3qCcp;Dzu>O6Jdg}gs%f|i{If+0=_L{Fb-8*r{#PPnzL2@VLQa6n6!XZ`#}@N6U_GONmpkZyQ+I1 zv$54NrVO%oyu2>4ljgT6VFo#Mk1=|R_lM>}Z@DhO6u5(_6M0wm;#ETANGhh3NpY#QlpC|I6}FrS2VWn}m(gFCpXAuSO6;>k*M^h#$Xj z2r0KOf7k>}UaJgsu@^Q1(UUDdVUpatQZ(Ce|GbB4uBnvJJss|eA@d4IA!#_9#d)wp z*s+9gT|9O3wg*j&8VYRaaWk zN?{x~CrrFQ*r1%)a9;)%hrqAJk(|0c_E_KcmP!vJTom z-8FXT+N-u)np982%O7MI>N_&<{3^H$_$`r!?@b00co5edxH&vdshBi?qGX zobNT7=uJ#`b;Fb|&&Dg1z4Fw*hQ9fHTz*3nWhegQcC*p%r)vxU2fTE=!qQ2y^`)0Z zsO={YyXc1qZtk!xenp`7+@Y-#57z?l5a8XJusw%fN6+(A(9YF>dqc)2j}vcBo;y!b z11P_O3L*AUO~Sj*5M)9%x%+D!H~_f$fq;17-oh>gw!gm?q;4CoB{5`mS=B{R{7&{R z`RnOvl1Fc_ar5JV{u`@t&ql2o)S+IQo2$*knZW?#)#5MfjFj;GRCdEni&IF`7lC`k zI~_WSF+nXzodfgmfyY*g_SRWNHj6u;UI5DAbX%lXE?T0sw{M%4Wm+yZCB+kD$Ypzi z2eJ9#G0j9M_LYW9XC~s6L?1U8q9FSiw_JF&bT8Jjq(v|kAGIxcQuTO?Sk-B2^0o^> z;6w^1LHK;jIp(AMir&WKu}zV zkaYIN3spJ;30>trNoyk*l2`Qdd6MMk$LxQ3ssUb2-)^NoFLF5XI-MQC-D$nMBfxXo z7Eh%o{h!$;NH485#N8@C-6Ml_!ncfRKE}N zufXX4!9)7>Kf5zjn%;zz_yu2tP1uZPxYC%Z73#f)U`_mhe%T+7B(CIyNp`ymD<%O* z+IRSUJjCikuRM1>iA*#ZS z!k}Om0Ldj^zF0W7cXoCO^(}d4cew2FZ9-KiIqhT*q;pcX-YR&w4jY1bv|R{{j$iL* zFWtS2eAJ2jtgYy={S>ukjM~jfow6uOz}`Ijq4zkSs@#HCmyJr1(*rNNmard|Yw;z5 zHMeq>(c)uj8#bK~JS#ewx4-oH=L^ZZ$Go5I4eEE&K!-0q3%(li^? z&TZVoKc)=Y=xIkRFw7-Lzskfnq4UQRct7hgZRN3TaJ%WpI({bl!>VXKX#Z+?M5V&Q zXeZ;%YlOx!`SyhZX=(c-)|VuAe$%+i?{;%5u%)UOuAfl$=MpjK-!QLHiV7_YPoVgogVmE@m^3rhz^$WIH0EzHVSk*G#yVt@|Nw0$LqoZ%#ZXL0sU`G7<11yxz`a1>q zZFokcM&8~{Dgp$8_2HL})1)Y-ut?m^lJ;bdqY>P=w&l9ILDih0ZUBh7CgJosfT1;0 z?1Ft=pu1?WoYKDqz(~@34CDWby34LZFWU#Fgj0x-i%!lxk~Jv{8mt(P(;?kBP;u0u z6!cbMEv6IG;D5xY%G4Ft)rv4&#peZBs??8}B`W&M!q4ta-yc3Nd8q0226BkT)QWbG zXi+kaD2y*dEM|Y2PE_=+yNGycW)ECD=iBFsb;sdJ~%a#s4# z?kEpR8wE9l@VZIImk%eTm&lTbg`T?-;Q_fyb2URhJ&GY8o#$C8g1zG>-L2g>v8UJC{AK; zLT}E+#a{00Yz64+AA5^-ia5_gzQE$j%F39RmV#_v>m8CW;?M5d(fFDtagIV{WQ1;B zu3g>f5|mk*WFu~zI4=b*?mwq|`Wu28L=6zcF!?^pKlig1YjGn6Jj7ERzb{FjFsckb zR^tjyNfQVCh_z!lko=wVYeEPlDc(KXORd`N2b6;T5lH#%0?6HpsNLQS@%}t*qAYXU zvP`1)M&8)L-PS^m%|1Q&JrM4x;g1|#o=-MRnP3lq9d?0U7y-VE~Pd}ja1RyQ``7OfryhUk@g|7ocu><%` zeT4U?7k{ar-3`h=`=Ica;5BtB9_##lR<+6;cWq3-Yg1Oq7G zgwk~R#M`R9QJzTYw8t+stfq6Du*lBK9>2tUJ2&v^w`Kxv{BvNC$Xp(#O8n>hK9wd? zNUFXDQ(TCn;74?~c7Js^JXHSpF(U5gH(424T1II#dOD*F$?_}H60hF|Oax^DIA+!h z|Kn%^Pe$9KjO9yV5dA(CqJ3Qn4o~;j%TNFEVgKdf6I!4TUr`}KzxVB*WA$$rZoI&J z1JC)@vsg)08%!TzlWe~cSgfjTOwdSPXt+4CY)uLcjKSqzR5fE>%r zH;7Ue```boe1k6s%0!WVoLthQwdIbm4^9A6PY30DS69~*!<6N10@Lf}yu+E^1>vaG zKH^Zj%X*IOUETf+3e^je+mV3yEX+w<$&} zeE-hm9?(227JA9h$Nj%x98SrjyGsW?P#9MHa?UNBed4&DPk~dbPaRZG`m~Xc*?wXj^-jdr43~GowI5GS1y# z$ahw5$D`#8F#b~k$Gj4!-*1Iq!PCW^9auJ_EK)x3osVoh#z6jdxxC=#mB}I|fSzCA zZGpadz83f}aPy*|;axz(+?xF#9K3&ZzoidDGcpWw zipbw}5(SX4AVA{dC^377*ZHXI4owgB_r#Y^_Br9&_fgN~PPg$b?>K=8mwA=vI0DtK z!aT4&u$F@?$cbI0a0OcKpkkcA`n}OW{`n!wIkQ%yJE34Srw}rhvL#}Hwsyc%t-w|e zuXNVsqNteIc2kR*oDMMlIE_$41=IRCaCSSMSEJDyaAc%}LrYL(2mwtpqa z{`;o-KhKC1{fcf+IP-#%fB*D9*`|MKu{E%@R;{%%|Mgz{IWPa`>uzUM9%Z|t9S1Ng zz%SFm0QS7zBEc)u4d}f`BzV+>y$P|~>d$zH-|7Giw!coxf7v1b+ukZVpuID$%F|>d z&dXUZbt_x9K0*N12CbO3M?^Xjj2bWLnuLTD;KzV|j2Q}(Mq!+&ozL?PkRB@=>V34{ z-FI>Kt#tOOOFY-ydA-?ngqaR@e+s$kIpNgwZutzwF=-adx|L@B%+&TLx0h@{{coKF zgtdTkEa?E7!D|62^W=1R!*=YKc~j?7r%vgUTYr9aRqu?$5hG$t&Fb39{)GK)xL%{n zz`8>!XOZIYWRT3@!udtilV8k(BUOJ};1pH#@nJoad)?rvP0F1sw>0Td7s32@)IH!9 z*Z2WP?}EtrRK|8L!7%&#-k~z53(||lIqqLz+o=p~Yw;KOJPs!{4QwXyER9xOx@*XK zesdN1d4t__pCL}kmHLBCdVp&b^W&}LYW}fdR*Z-Sf!k6-tHb&%E)-0?Cl*@WfHaQks&y?!^qRJ?w^D^9=^VN#z?-_W_Tekzqy8a6O2W};1&YSaAE{=nB zBMR$BCaN9-mCw+Pc0f_NW&p+2%CC6RNUSQ^#MMWvHioehK#7n@j z8sPDq;K;4OLeU{ex{0n2J}K$`r-mcDj)By6qK^yIRoiOs#Gk&$)LyGO|73E=- zsyDB_kU+wy=at<7TRKv4+-^GmYS3b_S{O;g^cXX_xVYF8-htjpb76U`SY|P0>3Ewr zV!k?*0yhoZh64yNnT!uK#|XQ){%fhXw*Vov9ptlZKN%cJPJr>|(7rh5l6-#ebZ7iA zpzidneqcJ6LlG*#4r!zJGvu?{f1AQ*97!H7kU0cXEzci?>5JDnSuz16y9(X~?`MSt z<^%fl3$Uv8NOE3VA_V+^qk_AsbY=KzKYnI<;jQ(jo$%QMfX^8NdU2E6M>=~TnWvZ6 z&@_}-tV3rtZkPB=86}BfWwbHYDQX$KKXPl6c3Z?kvASSSsUx-o%D>rFwJfw&W$r5 zI2#KxD2Zp(*5j+NVW_UQqYZpWXg~RwDJSE`LoQ&s!h6N1ZUN8s7BKr%zFG#1sv~5s zs+dPTTh=HNjpv@EM^pO@Tx*)akiuEhj@p&Qb(iE5`O4~)9=Y|anl|uw(^aTMvL(qS zB8IYONOu;bK6Z!NBP@cS*5{g6nh18Wb95aM6_s>YqLi1J?A*M<^=|Y_(GA0T)hV(r zM;B1Zkn_;4H1qE_s1QqpnTt5RDQGzAb-V<`W3wLNi6#~6ftqi5b5>;|P$9a=MV22JD=(L|^R_<9`duAcB3 z8vyuc>7DYYg*UOS@xFKep#>0Qp5-+IV9@@{4g-Aw!~sSm8cP}g?zfDVg>q}yxdpAv z6dBk_+>M^(QRW2b#7mC)Igra0@V@NemKFI7eTo@i_7YDq-R;~Ka@K>c-?SJ^g4k|x zt*kL&ehI{UTTzs4mgCb+`aSMBpW9ebTDhM!&>jzNDh>du=B0pdN{{av^@yIh*B{{$ zM;WyM0-T9Xqf|}_n9+e(X1lvCuJv4%T*CwwNZwZ*;Z#Z00*RGCeK z*NkXId(_#@Wp>9T|!)IRGD%Qk5{ zIlt)Z@pdyl!GaZqH0N%NK+@0Ak-W~NOd|sCo6~t6=L_zkES!UyRo`yDD#y7(z5H%L zAXI*vTiYugPD+==LK`?C5>RrUAdj0v^&EcD%!ysA>>~6PJ z?=D1<*Ui=(xaw_MIO)|lJX60s)$h=hceZliRWC@ywIi z(d6{Y>UZTP*U3gK=#GXWV(HvLIc`mc(f1QO`ZW8x4sfd&gd54A4RjGr(z^D|lQXmT z`%Z2Q5AwVv9;|5nk|h`*TX=5QJf?|FDZ>!1djP`XYT3XWx}!N?YOY502m5fcVJw^X z{MxvcIz-sKKLP2L9tY?+Os>A(>1_MPw8rcV(mik$@J}q#f+abVA>;7<<2szp*K!cv zPG<%7V<4!T6kk2g{(n7u6!8x|-~)c*g6did%p1K4Fr9ApB9IT#aPQ+gYxC+;qqWyO z=Ez5L1v=aJy#NfKJ{LYT&EUR{cJXfL{}an>7ouUM=Z># zZ;$7*D9dVnRDCN@^yDo#EF0T;aOf~7zdZIhoCO1kj+@#c_%+}-HNNXYKA*}iUvp%( zSqnmTFkNmCc1faiXNjJkRmsCa%%0JpszRPjI_gID!3O5)C&pF-2v+sGDK%SFulYJt z4hDd#^XTDM&Y3;gEaIcmyuRE~9lA@S&Rw5MV#Z#}iMqhE#Bc#8H5Qn6z{G_+C!H%D zZN-cSYjzSRc}BZf*gHxRnNsPG7eOhXAH&c>367tvf4uTS%-<_>o66sjyzD&~G2b$O zGZyl2yU8~9vgq^iWPx3%XN|PCO1hj@f-IrQF>W){U|_<8J=t1>7cBlIei7O;2}=## z(Jw(}5!-#f8DCF*aRqSeTrBA-$IOY|mM*c?x~HvpAl$#QH;6T#czY%DZf0eEGH+}Q zCHnDgrEvR+is&4nkdC3m0tj3s1)*9fXp|`=)a7km@dUQ21cb-ky@6?Meg1XZC=Ia< zNC!I27@N5V(^`)K5WlS?N$V86$hv$ZMiNL9+M1R&BbTZ%;M`bqu*8PxjrS%B=Er#0 z?{ist<%F!bKKd^BfM$ku=O$zb1f25(Uju>?$o(EKNUnQz^v{!0!qH0Q@ zYL&YCJJlB2gbqcYB2nrOe4s2zj}_el7iKFmfB>VmV0HeM&1jhU0te_UiK6~&+iX$W zZ^NQ`kizNvT`XG}nVQ`FYSl~axz~a|OQulD_HqkfQeXd#J6Q8e=U|I$sNBS;Bl%5G ztHMS?k`R;|hzX7C?V4;Tr^j3kUl!O`8webQzrh7T0cen++?{(PhyCpRK+MOxYQ=}+ z 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

    8f+(wPFutz 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%0ACkKm}?vVVr&S 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 Y`Y+3#Q$br*2f&Z)4aMuZ*Ng)G2f&5nk^lez literal 0 HcmV?d00001 diff --git a/assets/js/18f3809a.7edfca3e.js b/assets/js/18f3809a.7edfca3e.js new file mode 100644 index 0000000000..3518972bb2 --- /dev/null +++ b/assets/js/18f3809a.7edfca3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5475],{23551:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","source":"@site/docs/Integrations/Notion/notion-agent-meeting-notes.md","sourceDirName":"Integrations/Notion","slug":"/integrations/notion/notion-agent-meeting-notes","permalink":"/integrations/notion/notion-agent-meeting-notes","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Notion Meeting Notes Agent","slug":"/integrations/notion/notion-agent-meeting-notes"},"sidebar":"docs","previous":{"title":"Notion Conversational Agent","permalink":"/integrations/notion/notion-agent-conversational"},"next":{"title":"Integrate Nvidia Ingest with Langflow","permalink":"/integrations-nvidia-ingest"}}');var s=t(74848),o=t(28453);const r={title:"Notion Meeting Notes Agent",slug:"/integrations/notion/notion-agent-meeting-notes"},l=void 0,a={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"Meeting Transcript (Text Input)",id:"meeting-transcript-text-input",level:3},{value:"List Users (Notion Component)",id:"list-users-notion-component",level:3},{value:"List Databases (Notion Component)",id:"list-databases-notion-component",level:3},{value:"Prompt",id:"prompt",level:3},{value:"Meeting Summarizer (Tool Calling Agent)",id:"meeting-summarizer-tool-calling-agent",level:3},{value:"Notion Agent (Tool Calling Agent)",id:"notion-agent-tool-calling-agent",level:3},{value:"Notion Components (Tools)",id:"notion-components-tools",level:3},{value:"List Database Properties",id:"list-database-properties",level:4},{value:"Create Page",id:"create-page",level:4},{value:"Update Page Property",id:"update-page-property",level:4},{value:"Add Content to Page",id:"add-content-to-page",level:4},{value:"Chat Output",id:"chat-output",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Notion Meeting Notes flow",id:"run-the-notion-meeting-notes-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function c(e){const n={a:"a",admonition:"admonition",h2:"h2",h3:"h3",h4:"h4",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input."}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/integrations/notion/setup",children:"Notion App"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.notion.so/my-integrations",children:"Notion API key"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://platform.openai.com/account/api-keys",children:"OpenAI API key"})}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Download Flow Meeting Agent Flow"}),"(Download link)"]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"Before using this flow, ensure you have obtained the necessary API keys from Notion and OpenAI. These keys are essential for the flow to function properly. Keep them secure and do not share them publicly."})}),"\n",(0,s.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Notion Meeting Agent Part 1",src:t(43725).A+"",width:"1427",height:"645"})}),"\n",(0,s.jsx)(n.h3,{id:"meeting-transcript-text-input",children:"Meeting Transcript (Text Input)"}),"\n",(0,s.jsx)(n.p,{children:"This component allows users to input the meeting transcript directly into the flow."}),"\n",(0,s.jsx)(n.h3,{id:"list-users-notion-component",children:"List Users (Notion Component)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Retrieves a list of users from the Notion workspace."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Input"}),": Notion Secret (API key)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Output"}),": List of user data"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"list-databases-notion-component",children:"List Databases (Notion Component)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Searches and lists all databases in the Notion workspace."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Input"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Query (optional)"}),"\n",(0,s.jsx)(n.li,{children:"Filter Type (default: database)"}),"\n",(0,s.jsx)(n.li,{children:"Sort Direction"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Output"}),": List of database data"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"prompt",children:"Prompt"}),"\n",(0,s.jsx)(n.p,{children:"This component creates a dynamic prompt template using the following inputs:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Meeting Transcript"}),"\n",(0,s.jsx)(n.li,{children:"List of Users"}),"\n",(0,s.jsx)(n.li,{children:"List of Databases"}),"\n",(0,s.jsx)(n.li,{children:"Current Date"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"meeting-summarizer-tool-calling-agent",children:"Meeting Summarizer (Tool Calling Agent)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Analyzes the meeting transcript and identifies tasks and action items."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"System Prompt (from the Prompt component)"}),"\n",(0,s.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,s.jsxs)(n.li,{children:["Tools:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Notion Search"}),"\n",(0,s.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,s.jsx)(n.li,{children:"Create Page"}),"\n",(0,s.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,s.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Notion Meeting Agent Part 2",src:t(29750).A+"",width:"1362",height:"819"})}),"\n",(0,s.jsx)(n.h3,{id:"notion-agent-tool-calling-agent",children:"Notion Agent (Tool Calling Agent)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Executes actions in Notion based on the meeting summary."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"System Prompt (from the second Prompt component)"}),"\n",(0,s.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,s.jsxs)(n.li,{children:["Tools:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,s.jsx)(n.li,{children:"Create Page"}),"\n",(0,s.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,s.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"notion-components-tools",children:"Notion Components (Tools)"}),"\n",(0,s.jsx)(n.h4,{id:"list-database-properties",children:"List Database Properties"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Retrieves the properties of a specified Notion database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Input"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Database ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"create-page",children:"Create Page"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Creates a new page in a Notion database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Database ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Properties (JSON)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"update-page-property",children:"Update Page Property"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Updates the properties of an existing Notion page."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Page ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Properties to update"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"add-content-to-page",children:"Add Content to Page"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Converts markdown text to Notion blocks and appends them to a specified Notion page."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Page/Block ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Markdown text"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"chat-output",children:"Chat Output"}),"\n",(0,s.jsx)(n.p,{children:"Displays the final output of the Notion Agent in the Playground."}),"\n",(0,s.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"The user inputs a meeting transcript."}),"\n",(0,s.jsx)(n.li,{children:"The flow retrieves the list of Notion users and databases."}),"\n",(0,s.jsx)(n.li,{children:"A prompt is generated using the transcript, user list, database list, and current date."}),"\n",(0,s.jsx)(n.li,{children:"The Meeting Summarizer analyzes the transcript and identifies tasks and action items."}),"\n",(0,s.jsxs)(n.li,{children:["The Notion Agent uses the meeting summary to:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Create new pages for new tasks"}),"\n",(0,s.jsx)(n.li,{children:"Update existing pages for existing tasks"}),"\n",(0,s.jsx)(n.li,{children:"Add content to pages with meeting notes"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"The Chat Output displays a summary of actions taken in Notion."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"run-the-notion-meeting-notes-flow",children:"Run the Notion Meeting Notes flow"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:"To run the Notion Agent for Meeting Notes:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,s.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,s.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Flow Meeting Agent Flow"}),"(Download link) and ",(0,s.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,s.jsx)(n.li,{children:"Connect the components as shown in the flow diagram."}),"\n",(0,s.jsx)(n.li,{children:"Input the Notion and OpenAI API keys in their respective components."}),"\n",(0,s.jsx)(n.li,{children:"Paste your meeting transcript into the Meeting Transcript component."}),"\n",(0,s.jsxs)(n.li,{children:["Run the flow by clicking ",(0,s.jsx)(n.strong,{children:"Play"})," on the ",(0,s.jsx)(n.strong,{children:"Chat Output"})," component."]}),"\n",(0,s.jsx)(n.li,{children:"Review the output in the Chat Output component, which will summarize the actions taken in your Notion workspace."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"For optimal results, use detailed meeting transcripts. The quality of the output depends on the comprehensiveness of the input provided."}),"\n",(0,s.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:"The flow can be customized to meet your team's specific needs."}),"\n",(0,s.jsx)(n.p,{children:"Customize this flow by:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Adjusting the system prompt to change the agent's behavior or knowledge base."}),"\n",(0,s.jsx)(n.li,{children:"Adding or removing Notion tools based on your specific needs."}),"\n",(0,s.jsx)(n.li,{children:"Modifying the OpenAI model parameters (e.g., temperature) to adjust the agent's response style."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Ensure all API keys are correctly set and have the necessary permissions."}),"\n",(0,s.jsx)(n.li,{children:"Check that your Notion integration has access to the relevant pages and databases."}),"\n",(0,s.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,s.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["For more advanced usage and integration options, refer to the ",(0,s.jsx)(n.a,{href:"https://developers.notion.com/",children:"Notion API documentation"})," and ",(0,s.jsx)(n.a,{href:"/",children:"Langflow documentation"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}},29750:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_2-cbaa61a7a2dc7af1fc8541bfae8491ac.png"},43725:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_1-58b920a4f8129f18bbf4483b3e3255a5.png"},86924:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/files/Meeting_Notes_Agent-b29188c0cb70736d19dd52965db5f352.json"}}]); \ No newline at end of file diff --git a/assets/js/18f3809a.b4730037.js b/assets/js/18f3809a.b4730037.js deleted file mode 100644 index 55d38253e8..0000000000 --- a/assets/js/18f3809a.b4730037.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5475],{23551:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","source":"@site/docs/Integrations/Notion/notion-agent-meeting-notes.md","sourceDirName":"Integrations/Notion","slug":"/integrations/notion/notion-agent-meeting-notes","permalink":"/integrations/notion/notion-agent-meeting-notes","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Notion Meeting Notes Agent","slug":"/integrations/notion/notion-agent-meeting-notes"},"sidebar":"docs","previous":{"title":"Notion Conversational Agent","permalink":"/integrations/notion/notion-agent-conversational"},"next":{"title":"Join the Langflow community","permalink":"/contributing-community"}}');var s=t(74848),o=t(28453);const r={title:"Notion Meeting Notes Agent",slug:"/integrations/notion/notion-agent-meeting-notes"},l=void 0,a={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"Meeting Transcript (Text Input)",id:"meeting-transcript-text-input",level:3},{value:"List Users (Notion Component)",id:"list-users-notion-component",level:3},{value:"List Databases (Notion Component)",id:"list-databases-notion-component",level:3},{value:"Prompt",id:"prompt",level:3},{value:"Meeting Summarizer (Tool Calling Agent)",id:"meeting-summarizer-tool-calling-agent",level:3},{value:"Notion Agent (Tool Calling Agent)",id:"notion-agent-tool-calling-agent",level:3},{value:"Notion Components (Tools)",id:"notion-components-tools",level:3},{value:"List Database Properties",id:"list-database-properties",level:4},{value:"Create Page",id:"create-page",level:4},{value:"Update Page Property",id:"update-page-property",level:4},{value:"Add Content to Page",id:"add-content-to-page",level:4},{value:"Chat Output",id:"chat-output",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Notion Meeting Notes flow",id:"run-the-notion-meeting-notes-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function c(e){const n={a:"a",admonition:"admonition",h2:"h2",h3:"h3",h4:"h4",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input."}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/integrations/notion/setup",children:"Notion App"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.notion.so/my-integrations",children:"Notion API key"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://platform.openai.com/account/api-keys",children:"OpenAI API key"})}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Download Flow Meeting Agent Flow"}),"(Download link)"]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"Before using this flow, ensure you have obtained the necessary API keys from Notion and OpenAI. These keys are essential for the flow to function properly. Keep them secure and do not share them publicly."})}),"\n",(0,s.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Notion Meeting Agent Part 1",src:t(43725).A+"",width:"1427",height:"645"})}),"\n",(0,s.jsx)(n.h3,{id:"meeting-transcript-text-input",children:"Meeting Transcript (Text Input)"}),"\n",(0,s.jsx)(n.p,{children:"This component allows users to input the meeting transcript directly into the flow."}),"\n",(0,s.jsx)(n.h3,{id:"list-users-notion-component",children:"List Users (Notion Component)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Retrieves a list of users from the Notion workspace."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Input"}),": Notion Secret (API key)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Output"}),": List of user data"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"list-databases-notion-component",children:"List Databases (Notion Component)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Searches and lists all databases in the Notion workspace."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Input"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Query (optional)"}),"\n",(0,s.jsx)(n.li,{children:"Filter Type (default: database)"}),"\n",(0,s.jsx)(n.li,{children:"Sort Direction"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Output"}),": List of database data"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"prompt",children:"Prompt"}),"\n",(0,s.jsx)(n.p,{children:"This component creates a dynamic prompt template using the following inputs:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Meeting Transcript"}),"\n",(0,s.jsx)(n.li,{children:"List of Users"}),"\n",(0,s.jsx)(n.li,{children:"List of Databases"}),"\n",(0,s.jsx)(n.li,{children:"Current Date"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"meeting-summarizer-tool-calling-agent",children:"Meeting Summarizer (Tool Calling Agent)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Analyzes the meeting transcript and identifies tasks and action items."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"System Prompt (from the Prompt component)"}),"\n",(0,s.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,s.jsxs)(n.li,{children:["Tools:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Notion Search"}),"\n",(0,s.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,s.jsx)(n.li,{children:"Create Page"}),"\n",(0,s.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,s.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Notion Meeting Agent Part 2",src:t(29750).A+"",width:"1362",height:"819"})}),"\n",(0,s.jsx)(n.h3,{id:"notion-agent-tool-calling-agent",children:"Notion Agent (Tool Calling Agent)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Executes actions in Notion based on the meeting summary."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"System Prompt (from the second Prompt component)"}),"\n",(0,s.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,s.jsxs)(n.li,{children:["Tools:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,s.jsx)(n.li,{children:"Create Page"}),"\n",(0,s.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,s.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"notion-components-tools",children:"Notion Components (Tools)"}),"\n",(0,s.jsx)(n.h4,{id:"list-database-properties",children:"List Database Properties"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Retrieves the properties of a specified Notion database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Input"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Database ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"create-page",children:"Create Page"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Creates a new page in a Notion database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Database ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Properties (JSON)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"update-page-property",children:"Update Page Property"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Updates the properties of an existing Notion page."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Page ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Properties to update"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"add-content-to-page",children:"Add Content to Page"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Purpose"}),": Converts markdown text to Notion blocks and appends them to a specified Notion page."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Page/Block ID"}),"\n",(0,s.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,s.jsx)(n.li,{children:"Markdown text"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"chat-output",children:"Chat Output"}),"\n",(0,s.jsx)(n.p,{children:"Displays the final output of the Notion Agent in the Playground."}),"\n",(0,s.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"The user inputs a meeting transcript."}),"\n",(0,s.jsx)(n.li,{children:"The flow retrieves the list of Notion users and databases."}),"\n",(0,s.jsx)(n.li,{children:"A prompt is generated using the transcript, user list, database list, and current date."}),"\n",(0,s.jsx)(n.li,{children:"The Meeting Summarizer analyzes the transcript and identifies tasks and action items."}),"\n",(0,s.jsxs)(n.li,{children:["The Notion Agent uses the meeting summary to:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Create new pages for new tasks"}),"\n",(0,s.jsx)(n.li,{children:"Update existing pages for existing tasks"}),"\n",(0,s.jsx)(n.li,{children:"Add content to pages with meeting notes"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"The Chat Output displays a summary of actions taken in Notion."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"run-the-notion-meeting-notes-flow",children:"Run the Notion Meeting Notes flow"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:"To run the Notion Agent for Meeting Notes:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,s.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,s.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Flow Meeting Agent Flow"}),"(Download link) and ",(0,s.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,s.jsx)(n.li,{children:"Connect the components as shown in the flow diagram."}),"\n",(0,s.jsx)(n.li,{children:"Input the Notion and OpenAI API keys in their respective components."}),"\n",(0,s.jsx)(n.li,{children:"Paste your meeting transcript into the Meeting Transcript component."}),"\n",(0,s.jsxs)(n.li,{children:["Run the flow by clicking ",(0,s.jsx)(n.strong,{children:"Play"})," on the ",(0,s.jsx)(n.strong,{children:"Chat Output"})," component."]}),"\n",(0,s.jsx)(n.li,{children:"Review the output in the Chat Output component, which will summarize the actions taken in your Notion workspace."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"For optimal results, use detailed meeting transcripts. The quality of the output depends on the comprehensiveness of the input provided."}),"\n",(0,s.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:"The flow can be customized to meet your team's specific needs."}),"\n",(0,s.jsx)(n.p,{children:"Customize this flow by:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Adjusting the system prompt to change the agent's behavior or knowledge base."}),"\n",(0,s.jsx)(n.li,{children:"Adding or removing Notion tools based on your specific needs."}),"\n",(0,s.jsx)(n.li,{children:"Modifying the OpenAI model parameters (e.g., temperature) to adjust the agent's response style."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Ensure all API keys are correctly set and have the necessary permissions."}),"\n",(0,s.jsx)(n.li,{children:"Check that your Notion integration has access to the relevant pages and databases."}),"\n",(0,s.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,s.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["For more advanced usage and integration options, refer to the ",(0,s.jsx)(n.a,{href:"https://developers.notion.com/",children:"Notion API documentation"})," and ",(0,s.jsx)(n.a,{href:"/",children:"Langflow documentation"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}},29750:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_2-cbaa61a7a2dc7af1fc8541bfae8491ac.png"},43725:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_1-58b920a4f8129f18bbf4483b3e3255a5.png"},86924:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/files/Meeting_Notes_Agent-b29188c0cb70736d19dd52965db5f352.json"}}]); \ No newline at end of file diff --git a/assets/js/20e9af62.79623de3.js b/assets/js/20e9af62.79623de3.js deleted file mode 100644 index 2db8e8fe4f..0000000000 --- a/assets/js/20e9af62.79623de3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5562],{28453:(n,t,e)=>{e.d(t,{R:()=>r,x:()=>l});var o=e(96540);const i={},s=o.createContext(i);function r(n){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(t):{...t,...n}}),[t,n])}function l(n){let t;return t=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),o.createElement(s.Provider,{value:t},n.children)}},89281:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","source":"@site/docs/Contributing/contributing-community.md","sourceDirName":"Contributing","slug":"/contributing-community","permalink":"/contributing-community","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Join the Langflow community","slug":"/contributing-community"},"sidebar":"docs","previous":{"title":"Notion Meeting Notes Agent","permalink":"/integrations/notion/notion-agent-meeting-notes"},"next":{"title":"Contribute components","permalink":"/contributing-components"}}');var i=e(74848),s=e(28453);const r={title:"Join the Langflow community",slug:"/contributing-community"},l=void 0,a={},c=[{value:"Join the Langflow Discord server",id:"join-the-langflow-discord-server",level:2},{value:"Follow Langflow on X",id:"follow-langflow-on-x",level:2},{value:"Star\xa0Langflow\xa0on GitHub",id:"starlangflowon-github",level:2},{value:"Watch the GitHub repository for releases",id:"watch-the-github-repository-for-releases",level:2}];function u(n){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,s.R)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"join-the-langflow-discord-server",children:"Join the Langflow Discord server"}),"\n",(0,i.jsxs)(t.p,{children:["Join the ",(0,i.jsx)(t.a,{href:"https://discord.gg/EqksyE2EX9",children:"Langflow Discord Server"})," to ask questions and showcase your projects."]}),"\n",(0,i.jsx)(t.h2,{id:"follow-langflow-on-x",children:"Follow Langflow on X"}),"\n",(0,i.jsxs)(t.p,{children:["Follow\xa0",(0,i.jsx)(t.a,{href:"https://twitter.com/langflow_ai",children:"@langflow_ai"}),"\xa0on\xa0X\xa0to get the latest news about\xa0Langflow."]}),"\n",(0,i.jsx)(t.h2,{id:"starlangflowon-github",children:"Star\xa0Langflow\xa0on GitHub"}),"\n",(0,i.jsxs)(t.p,{children:["You can ",(0,i.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow",children:"star\xa0Langflow\xa0in\xa0GitHub"}),"."]}),"\n",(0,i.jsx)(t.p,{children:"By adding a star, other users will be able to find Langflow more easily, and see that it has been already useful for others."}),"\n",(0,i.jsx)(t.h2,{id:"watch-the-github-repository-for-releases",children:"Watch the GitHub repository for releases"}),"\n",(0,i.jsxs)(t.p,{children:["You can ",(0,i.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow",children:"watch Langflow in GitHub"}),". If you select ",(0,i.jsx)(t.strong,{children:"Watching"})," instead of ",(0,i.jsx)(t.strong,{children:"Releases only"})," you will receive notifications when someone creates a new issue or question. You can also specify that you want to be notified only about new issues, discussions, and PRs so you can try to help solve those issues."]})]})}function h(n={}){const{wrapper:t}={...(0,s.R)(),...n.components};return t?(0,i.jsx)(t,{...n,children:(0,i.jsx)(u,{...n})}):u(n)}}}]); \ No newline at end of file diff --git a/assets/js/20e9af62.d5843844.js b/assets/js/20e9af62.d5843844.js new file mode 100644 index 0000000000..d8d93f934f --- /dev/null +++ b/assets/js/20e9af62.d5843844.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5562],{28453:(n,t,e)=>{e.d(t,{R:()=>r,x:()=>l});var o=e(96540);const i={},s=o.createContext(i);function r(n){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(t):{...t,...n}}),[t,n])}function l(n){let t;return t=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),o.createElement(s.Provider,{value:t},n.children)}},89281:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","source":"@site/docs/Contributing/contributing-community.md","sourceDirName":"Contributing","slug":"/contributing-community","permalink":"/contributing-community","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Join the Langflow community","slug":"/contributing-community"},"sidebar":"docs","previous":{"title":"Integrate Nvidia Ingest with Langflow","permalink":"/integrations-nvidia-ingest"},"next":{"title":"Contribute components","permalink":"/contributing-components"}}');var i=e(74848),s=e(28453);const r={title:"Join the Langflow community",slug:"/contributing-community"},l=void 0,a={},c=[{value:"Join the Langflow Discord server",id:"join-the-langflow-discord-server",level:2},{value:"Follow Langflow on X",id:"follow-langflow-on-x",level:2},{value:"Star\xa0Langflow\xa0on GitHub",id:"starlangflowon-github",level:2},{value:"Watch the GitHub repository for releases",id:"watch-the-github-repository-for-releases",level:2}];function u(n){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,s.R)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"join-the-langflow-discord-server",children:"Join the Langflow Discord server"}),"\n",(0,i.jsxs)(t.p,{children:["Join the ",(0,i.jsx)(t.a,{href:"https://discord.gg/EqksyE2EX9",children:"Langflow Discord Server"})," to ask questions and showcase your projects."]}),"\n",(0,i.jsx)(t.h2,{id:"follow-langflow-on-x",children:"Follow Langflow on X"}),"\n",(0,i.jsxs)(t.p,{children:["Follow\xa0",(0,i.jsx)(t.a,{href:"https://twitter.com/langflow_ai",children:"@langflow_ai"}),"\xa0on\xa0X\xa0to get the latest news about\xa0Langflow."]}),"\n",(0,i.jsx)(t.h2,{id:"starlangflowon-github",children:"Star\xa0Langflow\xa0on GitHub"}),"\n",(0,i.jsxs)(t.p,{children:["You can ",(0,i.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow",children:"star\xa0Langflow\xa0in\xa0GitHub"}),"."]}),"\n",(0,i.jsx)(t.p,{children:"By adding a star, other users will be able to find Langflow more easily, and see that it has been already useful for others."}),"\n",(0,i.jsx)(t.h2,{id:"watch-the-github-repository-for-releases",children:"Watch the GitHub repository for releases"}),"\n",(0,i.jsxs)(t.p,{children:["You can ",(0,i.jsx)(t.a,{href:"https://github.com/langflow-ai/langflow",children:"watch Langflow in GitHub"}),". If you select ",(0,i.jsx)(t.strong,{children:"Watching"})," instead of ",(0,i.jsx)(t.strong,{children:"Releases only"})," you will receive notifications when someone creates a new issue or question. You can also specify that you want to be notified only about new issues, discussions, and PRs so you can try to help solve those issues."]})]})}function h(n={}){const{wrapper:t}={...(0,s.R)(),...n.components};return t?(0,i.jsx)(t,{...n,children:(0,i.jsx)(u,{...n})}):u(n)}}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.0cad782c.js b/assets/js/22dd74f7.0cad782c.js deleted file mode 100644 index 88cc881a1f..0000000000 --- a/assets/js/22dd74f7.0cad782c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Welcome to Langflow","href":"/","docId":"Get-Started/welcome-to-langflow","unlisted":false},{"type":"category","label":"Get started","items":[{"type":"link","label":"Install Langflow","href":"/get-started-installation","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/get-started-quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Starter projects","items":[{"type":"link","label":"Basic prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Vector store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false},{"type":"link","label":"Simple agent","href":"/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Blog writer","href":"/tutorials-blog-writer","docId":"Tutorials/tutorials-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/tutorials-document-qa","docId":"Tutorials/tutorials-document-qa","unlisted":false},{"type":"link","label":"Memory chatbot","href":"/tutorials-memory-chatbot","docId":"Tutorials/tutorials-memory-chatbot","unlisted":false},{"type":"link","label":"Math agent","href":"/tutorials-math-agent","docId":"Tutorials/tutorials-math-agent","unlisted":false},{"type":"link","label":"Sequential tasks agent","href":"/tutorials-sequential-agent","docId":"Tutorials/tutorials-sequential-agent","unlisted":false},{"type":"link","label":"Travel planning agent","href":"/tutorials-travel-planning-agent","docId":"Tutorials/tutorials-travel-planning-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Concepts","items":[{"type":"link","label":"Langflow overview","href":"/concepts-overview","docId":"Concepts/concepts-overview","unlisted":false},{"type":"link","label":"Playground","href":"/concepts-playground","docId":"Concepts/concepts-playground","unlisted":false},{"type":"link","label":"Components","href":"/concepts-components","docId":"Concepts/concepts-components","unlisted":false},{"type":"link","label":"Flows","href":"/Concepts/concepts-flows","docId":"Concepts/concepts-flows","unlisted":false},{"type":"link","label":"Langflow objects","href":"/concepts-objects","docId":"Concepts/concepts-objects","unlisted":false},{"type":"link","label":"API pane","href":"/concepts-api","docId":"Concepts/concepts-api","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Components","items":[{"type":"link","label":"Agents","href":"/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Create custom Python components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Embeddings","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Inputs and outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Logic","href":"/components-logic","docId":"Components/components-logic","unlisted":false},{"type":"link","label":"Memories","href":"/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Processing","href":"/components-processing","docId":"Components/components-processing","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Tools","href":"/components-tools","docId":"Components/components-tools","unlisted":false},{"type":"link","label":"Vector stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Agents","items":[{"type":"link","label":"Agents overview","href":"/agents-overview","docId":"Agents/agents-overview","unlisted":false},{"type":"link","label":"Create a problem-solving agent","href":"/agents-tool-calling-agent-component","docId":"Agents/agent-tool-calling-agent-component","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Configuration","items":[{"type":"link","label":"API keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Run Langflow in backend-only mode","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"Global variables","href":"/configuration-global-variables","docId":"Configuration/configuration-global-variables","unlisted":false},{"type":"link","label":"Environment variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false},{"type":"link","label":"Security best practices","href":"/configuration-security-best-practices","docId":"Configuration/configuration-security-best-practices","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Deployment","items":[{"type":"link","label":"Docker","href":"/Deployment/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"HuggingFace\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"Apify","href":"/integrations-apify","docId":"Integrations/Apify/integrations-apify","unlisted":false},{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Integrate Composio with Langflow","href":"/integrations-composio","docId":"Integrations/Composio/integrations-composio","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Google","items":[{"type":"link","label":"Integrate Google OAuth with Langflow","href":"/integrations-setup-google-oauth-langflow","docId":"Integrations/Google/integrations-setup-google-oauth-langflow","unlisted":false},{"type":"link","label":"Integrate Google Cloud Vertex AI with Langflow","href":"/integrations-setup-google-cloud-vertex-ai-langflow","docId":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Notion","items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false}],"collapsed":false,"collapsible":true}],"collapsed":false,"collapsible":true},{"type":"category","label":"Contributing","items":[{"type":"link","label":"Join the Langflow community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","label":"Contribute components","href":"/contributing-components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","label":"Ask for help on the Discussions board","href":"/contributing-github-discussions","docId":"Contributing/contributing-github-discussion-board","unlisted":false},{"type":"link","label":"Request an enhancement or report a bug","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Contribute to Langflow","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"API reference","items":[{"type":"link","label":"API documentation","href":"/api"},{"type":"link","label":"API examples","href":"/api-reference-api-examples","docId":"API-Reference/api-reference-api-examples","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Changelog","items":[{"type":"link","label":"Changelog","href":"https://github.com/langflow-ai/langflow/releases/latest"}],"collapsed":false,"collapsible":true}]},"docs":{"Agents/agent-tool-calling-agent-component":{"id":"Agents/agent-tool-calling-agent-component","title":"Create a problem-solving agent","description":"Developing agents in Langchain is complex.","sidebar":"docs"},"Agents/agents-overview":{"id":"Agents/agents-overview","title":"Agents overview","description":"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.","sidebar":"docs"},"API-Reference/api-reference-api-examples":{"id":"API-Reference/api-reference-api-examples","title":"API examples","description":"This page provides examples and practices for managing Langflow using the Langflow API.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components define the behavior and capabilities of AI agents in your flow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Create custom Python components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, reusable Python code.","sidebar":"docs"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"Data components load data from a source into your flow.","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embeddings","description":"Embeddings models convert text into numerical vectors. These embeddings capture semantic meaning of the input text, and allow LLMs to understand context.","sidebar":"docs"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"docs"},"Components/components-io":{"id":"Components/components-io","title":"Inputs and outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"docs"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"As of Langflow 1.1, loader components are now found in the Components menu under Bundles.","sidebar":"docs"},"Components/components-logic":{"id":"Components/components-logic","title":"Logic","description":"Logic components provide functionalities for routing, conditional processing, and flow management.","sidebar":"docs"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Memory components store and retrieve chat messages by session_id.","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components generate text using large language models.","sidebar":"docs"},"Components/components-processing":{"id":"Components/components-processing","title":"Processing","description":"Processing components process and transform data within a flow.","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt is a structured input to a language model that instructs the model how to handle user inputs and variables.","sidebar":"docs"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tools are typically connected to agent components at the Tools port. Agents use LLMs as a reasoning engine to decide which of the connected tool components to use to solve a problem.","sidebar":"docs"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector stores","description":"Vector databases store vector data, which backs AI workloads like chatbots and Retrieval Augmented Generation.","sidebar":"docs"},"Concepts/concepts-api":{"id":"Concepts/concepts-api","title":"API pane","description":"The\xa0API\xa0pane presents code templates for integrating your flow into external applications.","sidebar":"docs"},"Concepts/concepts-components":{"id":"Concepts/concepts-components","title":"Components","description":"A\xa0component\xa0is a single building block within a flow with inputs, outputs, functions, and parameters that define its functionality. A single component is like a class within a larger application.","sidebar":"docs"},"Concepts/concepts-flows":{"id":"Concepts/concepts-flows","title":"Flows","description":"Flows in Langflow are fully serializable and can be saved and loaded from the file system. In this guide, we\'ll explore how to import and export flows.","sidebar":"docs"},"Concepts/concepts-objects":{"id":"Concepts/concepts-objects","title":"Langflow objects","description":"In Langflow, objects are Pydantic models that serve as structured, functional representations of data.","sidebar":"docs"},"Concepts/concepts-overview":{"id":"Concepts/concepts-overview","title":"Langflow overview","description":"This page explores the fundamental building blocks of Langflow, beginning with the question, \\"What is a flow?\\"","sidebar":"docs"},"Concepts/concepts-playground":{"id":"Concepts/concepts-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with LLMs, allowing users to chat, access memories, and monitor inputs and outputs. Here, users can directly prototype their models, making adjustments and observing different outcomes.","sidebar":"docs"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API keys","description":"Langflow provides an API key functionality that allows users to access their individual components and flows without traditional login authentication. The API key is a user-specific token that can be included in the request header, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.","sidebar":"docs"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application.","sidebar":"docs"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow supports both manual and auto-saving functionality.","sidebar":"docs"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Run Langflow in backend-only mode","description":"Langflow can run in --backend-only mode to expose a Langflow app as an API endpoint, without running the frontend UI.","sidebar":"docs"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","sidebar":"docs"},"Configuration/configuration-custom-database":{"id":"Configuration/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."},"Configuration/configuration-global-variables":{"id":"Configuration/configuration-global-variables","title":"Global variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"docs"},"Configuration/configuration-security-best-practices":{"id":"Configuration/configuration-security-best-practices","title":"Security best practices","description":"This guide outlines security best practices for deploying and managing Langflow.","sidebar":"docs"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the\xa0CustomComponent\xa0class.","sidebar":"docs"},"Contributing/contributing-github-discussion-board":{"id":"Contributing/contributing-github-discussion-board","title":"Ask for help on the Discussions board","description":"If you\'re looking for help with your code, consider posting a question on the Langflow\xa0GitHub Discussions board. The Langflow team cannot provide individual support via email. The team also believes that help is much more valuable if it\'s\xa0shared publicly, so that more people can benefit from it.","sidebar":"docs"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"Request an enhancement or report a bug","description":"The\xa0Issues page in the Langflow repo is kept up to date with bugs, improvements, and feature requests. Labels are used to help with sorting and discovery of issues of interest. For an overview of the system Langflow uses to tag issues and pull requests, see the Langflow repo\'s labels page.","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-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"To deploy Langflow on Google Cloud Platform using Cloud Shell, use the below script.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"HuggingFace\xa0Spaces","description":"HuggingFace Spaces","sidebar":"docs"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"You can deploy Langflow either locally or as a hosted service with Datastax Langflow.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Get to know Langflow by building an OpenAI-powered chatbot application. After you\'ve constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data.","sidebar":"docs"},"Get-Started/welcome-to-langflow":{"id":"Get-Started/welcome-to-langflow","title":"Welcome to Langflow","description":"Langflow is a new, visual framework for building multi-agent and RAG applications. It is open-source, Python-powered, fully customizable, and LLM and vector store agnostic.","sidebar":"docs"},"Integrations/Apify/integrations-apify":{"id":"Integrations/Apify/integrations-apify","title":"Apify","description":"Apify is a web scraping and data extraction platform. It provides an app store with more than three thousand ready-made cloud tools called Actors.","sidebar":"docs"},"Integrations/Composio/integrations-composio":{"id":"Integrations/Composio/integrations-composio","title":"Integrate Composio with Langflow","description":"Langflow integrates with Composio as a toolset for your Agent component.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow":{"id":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","title":"Integrate Google Cloud Vertex AI with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-oauth-langflow":{"id":"Integrations/Google/integrations-setup-google-oauth-langflow","title":"Integrate Google OAuth with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"docs"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"docs"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"docs"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","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.","sidebar":"docs"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"docs"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"docs"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"docs"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"docs"},"Tutorials/tutorials-blog-writer":{"id":"Tutorials/tutorials-blog-writer","title":"Blog writer","description":"Build a Blog Writer flow for a one-shot application using OpenAI.","sidebar":"docs"},"Tutorials/tutorials-document-qa":{"id":"Tutorials/tutorials-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"docs"},"Tutorials/tutorials-math-agent":{"id":"Tutorials/tutorials-math-agent","title":"Math agent","description":"Build a Math Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Tutorials/tutorials-memory-chatbot":{"id":"Tutorials/tutorials-memory-chatbot","title":"Memory chatbot","description":"This flow extends the\xa0basic prompting flow\xa0with a Chat memory component that stores up to 100 previous chat messages and uses them to provide context for the current conversation.","sidebar":"docs"},"Tutorials/tutorials-sequential-agent":{"id":"Tutorials/tutorials-sequential-agent","title":"Sequential tasks agent","description":"Build a Sequential Tasks Agent flow for a multi-agent application using multiple Agent components.","sidebar":"docs"},"Tutorials/tutorials-travel-planning-agent":{"id":"Tutorials/tutorials-travel-planning-agent","title":"Travel planning agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.a2531470.js b/assets/js/22dd74f7.a2531470.js new file mode 100644 index 0000000000..bf79df8d14 --- /dev/null +++ b/assets/js/22dd74f7.a2531470.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Welcome to Langflow","href":"/","docId":"Get-Started/welcome-to-langflow","unlisted":false},{"type":"category","label":"Get started","items":[{"type":"link","label":"Install Langflow","href":"/get-started-installation","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/get-started-quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Starter projects","items":[{"type":"link","label":"Basic prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Vector store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false},{"type":"link","label":"Simple agent","href":"/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Blog writer","href":"/tutorials-blog-writer","docId":"Tutorials/tutorials-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/tutorials-document-qa","docId":"Tutorials/tutorials-document-qa","unlisted":false},{"type":"link","label":"Memory chatbot","href":"/tutorials-memory-chatbot","docId":"Tutorials/tutorials-memory-chatbot","unlisted":false},{"type":"link","label":"Math agent","href":"/tutorials-math-agent","docId":"Tutorials/tutorials-math-agent","unlisted":false},{"type":"link","label":"Sequential tasks agent","href":"/tutorials-sequential-agent","docId":"Tutorials/tutorials-sequential-agent","unlisted":false},{"type":"link","label":"Travel planning agent","href":"/tutorials-travel-planning-agent","docId":"Tutorials/tutorials-travel-planning-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Concepts","items":[{"type":"link","label":"Langflow overview","href":"/concepts-overview","docId":"Concepts/concepts-overview","unlisted":false},{"type":"link","label":"Playground","href":"/concepts-playground","docId":"Concepts/concepts-playground","unlisted":false},{"type":"link","label":"Components","href":"/concepts-components","docId":"Concepts/concepts-components","unlisted":false},{"type":"link","label":"Flows","href":"/Concepts/concepts-flows","docId":"Concepts/concepts-flows","unlisted":false},{"type":"link","label":"Langflow objects","href":"/concepts-objects","docId":"Concepts/concepts-objects","unlisted":false},{"type":"link","label":"API pane","href":"/concepts-api","docId":"Concepts/concepts-api","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Components","items":[{"type":"link","label":"Agents","href":"/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Create custom Python components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Embeddings","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Inputs and outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Logic","href":"/components-logic","docId":"Components/components-logic","unlisted":false},{"type":"link","label":"Memories","href":"/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Processing","href":"/components-processing","docId":"Components/components-processing","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Tools","href":"/components-tools","docId":"Components/components-tools","unlisted":false},{"type":"link","label":"Vector stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Agents","items":[{"type":"link","label":"Agents overview","href":"/agents-overview","docId":"Agents/agents-overview","unlisted":false},{"type":"link","label":"Create a problem-solving agent","href":"/agents-tool-calling-agent-component","docId":"Agents/agent-tool-calling-agent-component","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Configuration","items":[{"type":"link","label":"API keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Run Langflow in backend-only mode","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"Global variables","href":"/configuration-global-variables","docId":"Configuration/configuration-global-variables","unlisted":false},{"type":"link","label":"Environment variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false},{"type":"link","label":"Security best practices","href":"/configuration-security-best-practices","docId":"Configuration/configuration-security-best-practices","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Deployment","items":[{"type":"link","label":"Docker","href":"/Deployment/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"HuggingFace\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"Apify","href":"/integrations-apify","docId":"Integrations/Apify/integrations-apify","unlisted":false},{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Integrate Composio with Langflow","href":"/integrations-composio","docId":"Integrations/Composio/integrations-composio","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Google","items":[{"type":"link","label":"Integrate Google OAuth with Langflow","href":"/integrations-setup-google-oauth-langflow","docId":"Integrations/Google/integrations-setup-google-oauth-langflow","unlisted":false},{"type":"link","label":"Integrate Google Cloud Vertex AI with Langflow","href":"/integrations-setup-google-cloud-vertex-ai-langflow","docId":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Notion","items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"NVIDIA","items":[{"type":"link","label":"Integrate Nvidia Ingest with Langflow","href":"/integrations-nvidia-ingest","docId":"Integrations/Nvidia/integrations-nvidia-ingest","unlisted":false}],"collapsed":false,"collapsible":true}],"collapsed":false,"collapsible":true},{"type":"category","label":"Contributing","items":[{"type":"link","label":"Join the Langflow community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","label":"Contribute components","href":"/contributing-components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","label":"Ask for help on the Discussions board","href":"/contributing-github-discussions","docId":"Contributing/contributing-github-discussion-board","unlisted":false},{"type":"link","label":"Request an enhancement or report a bug","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Contribute to Langflow","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"API reference","items":[{"type":"link","label":"API documentation","href":"/api"},{"type":"link","label":"API examples","href":"/api-reference-api-examples","docId":"API-Reference/api-reference-api-examples","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Changelog","items":[{"type":"link","label":"Changelog","href":"https://github.com/langflow-ai/langflow/releases/latest"}],"collapsed":false,"collapsible":true}]},"docs":{"Agents/agent-tool-calling-agent-component":{"id":"Agents/agent-tool-calling-agent-component","title":"Create a problem-solving agent","description":"Developing agents in Langchain is complex.","sidebar":"docs"},"Agents/agents-overview":{"id":"Agents/agents-overview","title":"Agents overview","description":"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.","sidebar":"docs"},"API-Reference/api-reference-api-examples":{"id":"API-Reference/api-reference-api-examples","title":"API examples","description":"This page provides examples and practices for managing Langflow using the Langflow API.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components define the behavior and capabilities of AI agents in your flow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Create custom Python components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, reusable Python code.","sidebar":"docs"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"Data components load data from a source into your flow.","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embeddings","description":"Embeddings models convert text into numerical vectors. These embeddings capture semantic meaning of the input text, and allow LLMs to understand context.","sidebar":"docs"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"docs"},"Components/components-io":{"id":"Components/components-io","title":"Inputs and outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"docs"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"As of Langflow 1.1, loader components are now found in the Components menu under Bundles.","sidebar":"docs"},"Components/components-logic":{"id":"Components/components-logic","title":"Logic","description":"Logic components provide functionalities for routing, conditional processing, and flow management.","sidebar":"docs"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Memory components store and retrieve chat messages by session_id.","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components generate text using large language models.","sidebar":"docs"},"Components/components-processing":{"id":"Components/components-processing","title":"Processing","description":"Processing components process and transform data within a flow.","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt is a structured input to a language model that instructs the model how to handle user inputs and variables.","sidebar":"docs"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tools are typically connected to agent components at the Tools port. Agents use LLMs as a reasoning engine to decide which of the connected tool components to use to solve a problem.","sidebar":"docs"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector stores","description":"Vector databases store vector data, which backs AI workloads like chatbots and Retrieval Augmented Generation.","sidebar":"docs"},"Concepts/concepts-api":{"id":"Concepts/concepts-api","title":"API pane","description":"The\xa0API\xa0pane presents code templates for integrating your flow into external applications.","sidebar":"docs"},"Concepts/concepts-components":{"id":"Concepts/concepts-components","title":"Components","description":"A\xa0component\xa0is a single building block within a flow with inputs, outputs, functions, and parameters that define its functionality. A single component is like a class within a larger application.","sidebar":"docs"},"Concepts/concepts-flows":{"id":"Concepts/concepts-flows","title":"Flows","description":"Flows in Langflow are fully serializable and can be saved and loaded from the file system. In this guide, we\'ll explore how to import and export flows.","sidebar":"docs"},"Concepts/concepts-objects":{"id":"Concepts/concepts-objects","title":"Langflow objects","description":"In Langflow, objects are Pydantic models that serve as structured, functional representations of data.","sidebar":"docs"},"Concepts/concepts-overview":{"id":"Concepts/concepts-overview","title":"Langflow overview","description":"This page explores the fundamental building blocks of Langflow, beginning with the question, \\"What is a flow?\\"","sidebar":"docs"},"Concepts/concepts-playground":{"id":"Concepts/concepts-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with LLMs, allowing users to chat, access memories, and monitor inputs and outputs. Here, users can directly prototype their models, making adjustments and observing different outcomes.","sidebar":"docs"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API keys","description":"Langflow provides an API key functionality that allows users to access their individual components and flows without traditional login authentication. The API key is a user-specific token that can be included in the request header, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.","sidebar":"docs"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application.","sidebar":"docs"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow supports both manual and auto-saving functionality.","sidebar":"docs"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Run Langflow in backend-only mode","description":"Langflow can run in --backend-only mode to expose a Langflow app as an API endpoint, without running the frontend UI.","sidebar":"docs"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","sidebar":"docs"},"Configuration/configuration-custom-database":{"id":"Configuration/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."},"Configuration/configuration-global-variables":{"id":"Configuration/configuration-global-variables","title":"Global variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"docs"},"Configuration/configuration-security-best-practices":{"id":"Configuration/configuration-security-best-practices","title":"Security best practices","description":"This guide outlines security best practices for deploying and managing Langflow.","sidebar":"docs"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the\xa0CustomComponent\xa0class.","sidebar":"docs"},"Contributing/contributing-github-discussion-board":{"id":"Contributing/contributing-github-discussion-board","title":"Ask for help on the Discussions board","description":"If you\'re looking for help with your code, consider posting a question on the Langflow\xa0GitHub Discussions board. The Langflow team cannot provide individual support via email. The team also believes that help is much more valuable if it\'s\xa0shared publicly, so that more people can benefit from it.","sidebar":"docs"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"Request an enhancement or report a bug","description":"The\xa0Issues page in the Langflow repo is kept up to date with bugs, improvements, and feature requests. Labels are used to help with sorting and discovery of issues of interest. For an overview of the system Langflow uses to tag issues and pull requests, see the Langflow repo\'s labels page.","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-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"To deploy Langflow on Google Cloud Platform using Cloud Shell, use the below script.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"HuggingFace\xa0Spaces","description":"HuggingFace Spaces","sidebar":"docs"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"You can deploy Langflow either locally or as a hosted service with Datastax Langflow.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Get to know Langflow by building an OpenAI-powered chatbot application. After you\'ve constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data.","sidebar":"docs"},"Get-Started/welcome-to-langflow":{"id":"Get-Started/welcome-to-langflow","title":"Welcome to Langflow","description":"Langflow is a new, visual framework for building multi-agent and RAG applications. It is open-source, Python-powered, fully customizable, and LLM and vector store agnostic.","sidebar":"docs"},"Integrations/Apify/integrations-apify":{"id":"Integrations/Apify/integrations-apify","title":"Apify","description":"Apify is a web scraping and data extraction platform. It provides an app store with more than three thousand ready-made cloud tools called Actors.","sidebar":"docs"},"Integrations/Composio/integrations-composio":{"id":"Integrations/Composio/integrations-composio","title":"Integrate Composio with Langflow","description":"Langflow integrates with Composio as a toolset for your Agent component.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow":{"id":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","title":"Integrate Google Cloud Vertex AI with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-oauth-langflow":{"id":"Integrations/Google/integrations-setup-google-oauth-langflow","title":"Integrate Google OAuth with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"docs"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"docs"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"docs"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","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.","sidebar":"docs"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"docs"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"docs"},"Integrations/Nvidia/integrations-nvidia-ingest":{"id":"Integrations/Nvidia/integrations-nvidia-ingest","title":"Integrate Nvidia Ingest with Langflow","description":"The NVIDIA Ingest component integrates with the NVIDIA nv-ingest microservice for data ingestion, processing, and extraction of text files.","sidebar":"docs"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"docs"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"docs"},"Tutorials/tutorials-blog-writer":{"id":"Tutorials/tutorials-blog-writer","title":"Blog writer","description":"Build a Blog Writer flow for a one-shot application using OpenAI.","sidebar":"docs"},"Tutorials/tutorials-document-qa":{"id":"Tutorials/tutorials-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"docs"},"Tutorials/tutorials-math-agent":{"id":"Tutorials/tutorials-math-agent","title":"Math agent","description":"Build a Math Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Tutorials/tutorials-memory-chatbot":{"id":"Tutorials/tutorials-memory-chatbot","title":"Memory chatbot","description":"This flow extends the\xa0basic prompting flow\xa0with a Chat memory component that stores up to 100 previous chat messages and uses them to provide context for the current conversation.","sidebar":"docs"},"Tutorials/tutorials-sequential-agent":{"id":"Tutorials/tutorials-sequential-agent","title":"Sequential tasks agent","description":"Build a Sequential Tasks Agent flow for a multi-agent application using multiple Agent components.","sidebar":"docs"},"Tutorials/tutorials-travel-planning-agent":{"id":"Tutorials/tutorials-travel-planning-agent","title":"Travel planning agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/2ab0d4f5.3effb72b.js b/assets/js/2ab0d4f5.3effb72b.js deleted file mode 100644 index 5899a33da7..0000000000 --- a/assets/js/2ab0d4f5.3effb72b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1845],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.1.4"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"eu9cb\\": \\"\\",\\n \\"cupidatat_0\\": \\"\\"\\n },\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/simplified-run-flow","previous":{"title":"Get All","permalink":"/api/get-all"},"next":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"}}');var s=t(74848),r=t(28453);const a={},o="Simplified Run Flow",l=[];function d(e){const n={h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"simplified-run-flow",children:"Simplified Run Flow"})}),"\n",(0,s.jsx)(n.p,{children:"Executes a specified flow by ID with support for streaming and telemetry."}),"\n",(0,s.jsx)(n.p,{children:"This endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes."}),"\n",(0,s.jsx)(n.p,{children:"Args:\nbackground_tasks (BackgroundTasks): FastAPI background task manager\nflow (FlowRead | None): The flow to execute, loaded via dependency\ninput_request (SimplifiedAPIRequest | None): Input parameters for the flow\nstream (bool): Whether to stream the response\napi_key_user (UserRead): Authenticated user from API key\nrequest (Request): The incoming HTTP request"}),"\n",(0,s.jsx)(n.p,{children:"Returns:\nUnion[StreamingResponse, RunResponse]: Either a streaming response for real-time results\nor a RunResponse with the complete execution results"}),"\n",(0,s.jsx)(n.p,{children:"Raises:\nHTTPException: For flow not found (404) or invalid input (400)\nAPIException: For internal execution errors (500)"}),"\n",(0,s.jsx)(n.p,{children:"Notes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Supports both streaming and non-streaming execution modes"}),"\n",(0,s.jsx)(n.li,{children:"Tracks execution time and success/failure via telemetry"}),"\n",(0,s.jsx)(n.li,{children:"Handles graceful client disconnection in streaming mode"}),"\n",(0,s.jsx)(n.li,{children:"Provides detailed error handling with appropriate HTTP status codes"}),"\n",(0,s.jsxs)(n.li,{children:["In streaming mode, uses EventManager to handle events:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"add_message": New messages during execution'}),"\n",(0,s.jsx)(n.li,{children:'"token": Individual tokens during streaming'}),"\n",(0,s.jsx)(n.li,{children:'"end": Final execution result'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"flow_id_or_name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Flow Id Or Name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Query Parameters"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"stream"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"user_id"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" User Id"})]})})]})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Request Body "}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"200"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Successful Response"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]})})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"422"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Validation Error"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"detail"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"loc"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"msg"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"type"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function c(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]); \ No newline at end of file diff --git a/assets/js/2ab0d4f5.fd0aac36.js b/assets/js/2ab0d4f5.fd0aac36.js new file mode 100644 index 0000000000..3506401505 --- /dev/null +++ b/assets/js/2ab0d4f5.fd0aac36.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1845],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.1.4"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"dolor_16\\": \\"\\",\\n \\"anim__\\": \\"\\",\\n \\"cupidatatc_0\\": \\"\\",\\n \\"Duis_4f\\": \\"\\"\\n },\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/simplified-run-flow","previous":{"title":"Get All","permalink":"/api/get-all"},"next":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"}}');var s=t(74848),r=t(28453);const a={},o="Simplified Run Flow",l=[];function d(e){const n={h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"simplified-run-flow",children:"Simplified Run Flow"})}),"\n",(0,s.jsx)(n.p,{children:"Executes a specified flow by ID with support for streaming and telemetry."}),"\n",(0,s.jsx)(n.p,{children:"This endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes."}),"\n",(0,s.jsx)(n.p,{children:"Args:\nbackground_tasks (BackgroundTasks): FastAPI background task manager\nflow (FlowRead | None): The flow to execute, loaded via dependency\ninput_request (SimplifiedAPIRequest | None): Input parameters for the flow\nstream (bool): Whether to stream the response\napi_key_user (UserRead): Authenticated user from API key\nrequest (Request): The incoming HTTP request"}),"\n",(0,s.jsx)(n.p,{children:"Returns:\nUnion[StreamingResponse, RunResponse]: Either a streaming response for real-time results\nor a RunResponse with the complete execution results"}),"\n",(0,s.jsx)(n.p,{children:"Raises:\nHTTPException: For flow not found (404) or invalid input (400)\nAPIException: For internal execution errors (500)"}),"\n",(0,s.jsx)(n.p,{children:"Notes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Supports both streaming and non-streaming execution modes"}),"\n",(0,s.jsx)(n.li,{children:"Tracks execution time and success/failure via telemetry"}),"\n",(0,s.jsx)(n.li,{children:"Handles graceful client disconnection in streaming mode"}),"\n",(0,s.jsx)(n.li,{children:"Provides detailed error handling with appropriate HTTP status codes"}),"\n",(0,s.jsxs)(n.li,{children:["In streaming mode, uses EventManager to handle events:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"add_message": New messages during execution'}),"\n",(0,s.jsx)(n.li,{children:'"token": Individual tokens during streaming'}),"\n",(0,s.jsx)(n.li,{children:'"end": Final execution result'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"flow_id_or_name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Flow Id Or Name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Query Parameters"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"stream"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"user_id"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" User Id"})]})})]})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Request Body "}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"200"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Successful Response"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]})})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"422"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Validation Error"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"detail"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"loc"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"msg"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"type"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function c(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]); \ No newline at end of file diff --git a/assets/js/5e834a3c.965aeff7.js b/assets/js/5e834a3c.965aeff7.js new file mode 100644 index 0000000000..17354dc030 --- /dev/null +++ b/assets/js/5e834a3c.965aeff7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8245],{2255:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>h,assets:()=>l,chCodeConfig:()=>a,contentTitle:()=>d,default:()=>g,frontMatter:()=>c,metadata:()=>s,toc:()=>x});const s=JSON.parse('{"id":"Integrations/Nvidia/integrations-nvidia-ingest","title":"Integrate Nvidia Ingest with Langflow","description":"The NVIDIA Ingest component integrates with the NVIDIA nv-ingest microservice for data ingestion, processing, and extraction of text files.","source":"@site/docs/Integrations/Nvidia/integrations-nvidia-ingest.md","sourceDirName":"Integrations/Nvidia","slug":"/integrations-nvidia-ingest","permalink":"/integrations-nvidia-ingest","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Integrate Nvidia Ingest with Langflow","slug":"/integrations-nvidia-ingest"},"sidebar":"docs","previous":{"title":"Notion Meeting Notes Agent","permalink":"/integrations/notion/notion-agent-meeting-notes"},"next":{"title":"Join the Langflow community","permalink":"/contributing-community"}}');var i=n(74848),r=n(28453),o=n(24754);const c={title:"Integrate Nvidia Ingest with Langflow",slug:"/integrations-nvidia-ingest"},d=void 0,l={},h={annotations:o.hk,Code:o.Cy},a={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},x=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Use the NVIDIA Ingest component in a flow",id:"use-the-nvidia-ingest-component-in-a-flow",level:2},{value:"NVIDIA Ingest component parameters",id:"parameters",level:2},{value:"Inputs",id:"inputs",level:3},{value:"Outputs",id:"outputs",level:3}];function p(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",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 h||u("CH",!1),h.Code||u("CH.Code",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component integrates with the ",(0,i.jsx)(t.a,{href:"https://github.com/NVIDIA/nv-ingest",children:"NVIDIA nv-ingest"})," microservice for data ingestion, processing, and extraction of text files."]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"nv-ingest"})," service supports multiple extraction methods for PDF, DOCX, and PPTX file types, and includes pre- and post-processing services like splitting, chunking, and embedding generation."]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component imports the NVIDIA ",(0,i.jsx)(t.code,{children:"Ingestor"})," client, ingests files with requests to the NVIDIA ingest endpoint, and outputs the processed content as a list of ",(0,i.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects. ",(0,i.jsx)(t.code,{children:"Ingestor"})," accepts additional configuration options for data extraction from other text formats. To configure these options, see the ",(0,i.jsx)(t.a,{href:"/integrations-nvidia-ingest#parameters",children:"component parameters"}),"."]}),"\n",(0,i.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["An NVIDIA Ingest endpoint. For more information on setting up an NVIDIA Ingest endpoint, see the ",(0,i.jsx)(t.a,{href:"https://github.com/NVIDIA/nv-ingest?tab=readme-ov-file#quickstart",children:"NVIDIA Ingest quickstart"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component requires the installation of additional dependencies to your Langflow environment. To install the dependencies in a virtual environment, run the following commands:"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(h.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"source **",props:{style:{color:"#79C0FF"}}},{content:"YOUR_LANGFLOW_VENV",props:{style:{color:"#A5D6FF"}}},{content:"**",props:{style:{color:"#79C0FF"}}},{content:"/bin/activate",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"sync ",props:{style:{color:"#A5D6FF"}}},{content:"--extra ",props:{style:{color:"#79C0FF"}}},{content:"nv-ingest",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"uv ",props:{style:{color:"#FFA657"}}},{content:"run langflow run",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,i.jsx)(t.h2,{id:"use-the-nvidia-ingest-component-in-a-flow",children:"Use the NVIDIA Ingest component in a flow"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component accepts ",(0,i.jsx)(t.strong,{children:"Message"})," inputs and outputs ",(0,i.jsx)(t.strong,{children:"Data"}),". The component calls a NVIDIA Ingest microservice's endpoint to ingest a local file and extract the text."]}),"\n",(0,i.jsx)(t.p,{children:"To use the NVIDIA Ingest component in your flow, follow these steps:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["In the component library, click the ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component, and then drag it onto the canvas."]}),"\n",(0,i.jsxs)(t.li,{children:["In the ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingestion URL"})," field, enter the URL of the NVIDIA Ingest endpoint.\nOptionally, add the endpoint URL as a ",(0,i.jsx)(t.strong,{children:"Global variable"}),":","\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Click ",(0,i.jsx)(t.strong,{children:"Settings"}),", and then click ",(0,i.jsx)(t.strong,{children:"Global Variables"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Click ",(0,i.jsx)(t.strong,{children:"Add New"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Name your variable. Paste your endpoint in the ",(0,i.jsx)(t.strong,{children:"Value"})," field."]}),"\n",(0,i.jsxs)(t.li,{children:["In the ",(0,i.jsx)(t.strong,{children:"Apply To Fields"})," field, select the field you want to globally apply this variable to. In this case, select ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingestion URL"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Click ",(0,i.jsx)(t.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["In the ",(0,i.jsx)(t.strong,{children:"Path"})," field, enter the path to the file you want to ingest."]}),"\n",(0,i.jsx)(t.li,{children:"Select which text type to extract from the file.\nThe component supports text, charts, and tables."}),"\n",(0,i.jsxs)(t.li,{children:["Select whether to split the text into chunks.\nModify the splitting parameters in the component's ",(0,i.jsx)(t.strong,{children:"Configuration"})," tab."]}),"\n",(0,i.jsxs)(t.li,{children:["Click ",(0,i.jsx)(t.strong,{children:"Run"})," to ingest the file."]}),"\n",(0,i.jsxs)(t.li,{children:["To confirm the component is ingesting the file, open the ",(0,i.jsx)(t.strong,{children:"Logs"})," pane to view the output of the flow."]}),"\n",(0,i.jsxs)(t.li,{children:["To store the processed data in a vector database, add an ",(0,i.jsx)(t.strong,{children:"AstraDB Vector"})," component to your flow, and connect the ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component to the ",(0,i.jsx)(t.strong,{children:"AstraDB Vector"})," component with a ",(0,i.jsx)(t.strong,{children:"Data"})," output."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"NVIDIA Ingest component flow",src:n(76102).A+"",width:"1934",height:"1486"})}),"\n",(0,i.jsxs)(t.ol,{start:"10",children:["\n",(0,i.jsx)(t.li,{children:"Run the flow.\nInspect your Astra DB vector database to view the processed data."}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"parameters",children:"NVIDIA Ingest component parameters"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component has the following parameters."]}),"\n",(0,i.jsxs)(t.p,{children:["For more information, see the ",(0,i.jsx)(t.a,{href:"https://nvidia.github.io/nv-ingest/user-guide/",children:"NV-Ingest documentation"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"inputs",children:"Inputs"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Name"}),(0,i.jsx)(t.th,{children:"Display Name"}),(0,i.jsx)(t.th,{children:"Info"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"base_url"}),(0,i.jsx)(t.td,{children:"NVIDIA Ingestion URL"}),(0,i.jsx)(t.td,{children:"The URL of the NVIDIA Ingestion API."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"path"}),(0,i.jsx)(t.td,{children:"Path"}),(0,i.jsx)(t.td,{children:"File path to process."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"extract_text"}),(0,i.jsx)(t.td,{children:"Extract Text"}),(0,i.jsxs)(t.td,{children:["Extract text from documents. Default: ",(0,i.jsx)(t.code,{children:"True"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"extract_charts"}),(0,i.jsx)(t.td,{children:"Extract Charts"}),(0,i.jsxs)(t.td,{children:["Extract text from charts. Default: ",(0,i.jsx)(t.code,{children:"False"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"extract_tables"}),(0,i.jsx)(t.td,{children:"Extract Tables"}),(0,i.jsxs)(t.td,{children:["Extract text from tables. Default: ",(0,i.jsx)(t.code,{children:"True"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"text_depth"}),(0,i.jsx)(t.td,{children:"Text Depth"}),(0,i.jsxs)(t.td,{children:["The level at which text is extracted. Support for 'block', 'line', and 'span' varies by document type. Default: ",(0,i.jsx)(t.code,{children:"document"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"split_text"}),(0,i.jsx)(t.td,{children:"Split Text"}),(0,i.jsxs)(t.td,{children:["Split text into smaller chunks. Default: ",(0,i.jsx)(t.code,{children:"True"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"split_by"}),(0,i.jsx)(t.td,{children:"Split By"}),(0,i.jsxs)(t.td,{children:["How to split into chunks. 'size' splits by number of characters. Default: ",(0,i.jsx)(t.code,{children:"word"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"split_length"}),(0,i.jsx)(t.td,{children:"Split Length"}),(0,i.jsxs)(t.td,{children:["The size of each chunk based on the 'split_by' method. Default: ",(0,i.jsx)(t.code,{children:"200"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"split_overlap"}),(0,i.jsx)(t.td,{children:"Split Overlap"}),(0,i.jsxs)(t.td,{children:["The number of segments to overlap from the previous chunk. Default: ",(0,i.jsx)(t.code,{children:"20"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"max_character_length"}),(0,i.jsx)(t.td,{children:"Max Character Length"}),(0,i.jsxs)(t.td,{children:["The maximum number of characters in each chunk. Default: ",(0,i.jsx)(t.code,{children:"1000"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"sentence_window_size"}),(0,i.jsx)(t.td,{children:"Sentence Window Size"}),(0,i.jsxs)(t.td,{children:["The number of sentences to include from previous and following chunks when ",(0,i.jsx)(t.code,{children:"split_by=sentence"}),". Default: ",(0,i.jsx)(t.code,{children:"0"}),"."]})]})]})]}),"\n",(0,i.jsx)(t.h3,{id:"outputs",children:"Outputs"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.strong,{children:"NVIDIA Ingest"})," component outputs a list of ",(0,i.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects where each object contains:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"text"}),": The extracted content.","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"For text documents: The extracted text content."}),"\n",(0,i.jsx)(t.li,{children:"For tables and charts: The extracted table/chart content."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"file_path"}),": The source file name and path."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"document_type"}),': The type of the document ("text" or "structured").']}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"description"}),": Additional description of the content."]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["The output varies based on the ",(0,i.jsx)(t.code,{children:"document_type"}),":"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Documents with ",(0,i.jsx)(t.code,{children:'document_type: "text"'})," contain:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Raw text content extracted from documents, for example, paragraphs from PDFs or DOCX files."}),"\n",(0,i.jsxs)(t.li,{children:["Content stored directly in the ",(0,i.jsx)(t.code,{children:"text"})," field."]}),"\n",(0,i.jsxs)(t.li,{children:["Content extracted using the ",(0,i.jsx)(t.code,{children:"extract_text"})," parameter."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Documents with ",(0,i.jsx)(t.code,{children:'document_type: "structured"'})," contain:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Text extracted from tables and charts and processed to preserve structural information."}),"\n",(0,i.jsxs)(t.li,{children:["Content extracted using the ",(0,i.jsx)(t.code,{children:"extract_tables"})," and ",(0,i.jsx)(t.code,{children:"extract_charts"})," parameters."]}),"\n",(0,i.jsxs)(t.li,{children:["Content stored in the ",(0,i.jsx)(t.code,{children:"text"})," field after being processed from the ",(0,i.jsx)(t.code,{children:"table_content"})," metadata."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{type:"note",children:(0,i.jsx)(t.p,{children:"Images are currently not supported and will be skipped during processing."})})]})}function g(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}function u(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},76102:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/nvidia-component-ingest-astra-ac58faad6d13d928d400455962bf6028.png"}}]); \ No newline at end of file diff --git a/assets/js/e6c6a4d2.f4418579.js b/assets/js/e6c6a4d2.3eb76ad5.js similarity index 56% rename from assets/js/e6c6a4d2.f4418579.js rename to assets/js/e6c6a4d2.3eb76ad5.js index 44bccb2496..a9b8cbb63f 100644 --- a/assets/js/e6c6a4d2.f4418579.js +++ b/assets/js/e6c6a4d2.3eb76ad5.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/{flow_id}\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.1.4"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/{flow_id}\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"velit85\\": \\"\\"\\n },\\n \\"stream\\": false,\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/experimental-run-flow","previous":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"},"next":{"title":"Process","permalink":"/api/process"}}');var i=n(74848),o=n(28453);const a={},l="Experimental Run Flow",r=[{value:"Parameters:",id:"parameters",level:3},{value:"Returns:",id:"returns",level:3},{value:"Raises:",id:"raises",level:3},{value:"Example usage:",id:"example-usage",level:3}];function p(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"experimental-run-flow",children:"Experimental Run Flow"})}),"\n",(0,i.jsx)(t.p,{children:"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability."}),"\n",(0,i.jsx)(t.p,{children:"This endpoint supports running flows with caching to enhance performance and efficiency."}),"\n",(0,i.jsx)(t.h3,{id:"parameters",children:"Parameters:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"flow_id"})," (str): The unique identifier of the flow to be executed."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"inputs"})," (List[InputValueRequest], optional): A list of inputs specifying the input values and components\nfor the flow. Each input can target specific components and provide custom values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"outputs"})," (List[str], optional): A list of output names to retrieve from the executed flow.\nIf not provided, all outputs are returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"tweaks"})," (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\nThe tweaks can be used to modify the flow's parameters and components.\nTweaks can be overridden by the input values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"stream"})," (bool, optional): Specifies whether the results should be streamed. Defaults to False."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"session_id"})," (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\nexecution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"api_key_user"})," (User): The user associated with the current API key. Automatically resolved from the API key."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"returns",children:"Returns:"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.code,{children:"RunResponse"})," object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input."]}),"\n",(0,i.jsx)(t.h3,{id:"raises",children:"Raises:"}),"\n",(0,i.jsx)(t.p,{children:"HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution."}),"\n",(0,i.jsx)(t.h3,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'POST /run/{flow_id}\nx-api-key: YOUR_API_KEY\nPayload:\n{\n "inputs": [\n {"components": ["component1"], "input_value": "value1"},\n {"components": ["component3"], "input_value": "value2"}\n ],\n "outputs": ["Component Name", "component_id"],\n "tweaks": {"parameter_name": "value", "Component Name": {"parameter_name": "value"}, "component_id": {"parameter_name": "value"}}\n "stream": false\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements."}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"flow_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" uuid"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Request Body "}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"inputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Inputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"tweaks"}),(0,i.jsx)("span",{style:{opacity:"0.6"}})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"stream"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"})]})})]})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"200"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Successful Response"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})})]})]})})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"422"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Validation Error"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"detail"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"loc"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"msg"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"type"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/{flow_id}\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.1.4"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/{flow_id}\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"aliqua00b\\": \\"\\"\\n },\\n \\"stream\\": false,\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/experimental-run-flow","previous":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"},"next":{"title":"Process","permalink":"/api/process"}}');var i=n(74848),o=n(28453);const a={},l="Experimental Run Flow",r=[{value:"Parameters:",id:"parameters",level:3},{value:"Returns:",id:"returns",level:3},{value:"Raises:",id:"raises",level:3},{value:"Example usage:",id:"example-usage",level:3}];function p(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"experimental-run-flow",children:"Experimental Run Flow"})}),"\n",(0,i.jsx)(t.p,{children:"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability."}),"\n",(0,i.jsx)(t.p,{children:"This endpoint supports running flows with caching to enhance performance and efficiency."}),"\n",(0,i.jsx)(t.h3,{id:"parameters",children:"Parameters:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"flow_id"})," (str): The unique identifier of the flow to be executed."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"inputs"})," (List[InputValueRequest], optional): A list of inputs specifying the input values and components\nfor the flow. Each input can target specific components and provide custom values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"outputs"})," (List[str], optional): A list of output names to retrieve from the executed flow.\nIf not provided, all outputs are returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"tweaks"})," (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\nThe tweaks can be used to modify the flow's parameters and components.\nTweaks can be overridden by the input values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"stream"})," (bool, optional): Specifies whether the results should be streamed. Defaults to False."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"session_id"})," (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\nexecution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"api_key_user"})," (User): The user associated with the current API key. Automatically resolved from the API key."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"returns",children:"Returns:"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.code,{children:"RunResponse"})," object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input."]}),"\n",(0,i.jsx)(t.h3,{id:"raises",children:"Raises:"}),"\n",(0,i.jsx)(t.p,{children:"HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution."}),"\n",(0,i.jsx)(t.h3,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'POST /run/{flow_id}\nx-api-key: YOUR_API_KEY\nPayload:\n{\n "inputs": [\n {"components": ["component1"], "input_value": "value1"},\n {"components": ["component3"], "input_value": "value2"}\n ],\n "outputs": ["Component Name", "component_id"],\n "tweaks": {"parameter_name": "value", "Component Name": {"parameter_name": "value"}, "component_id": {"parameter_name": "value"}}\n "stream": false\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements."}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"flow_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" uuid"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Request Body "}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"inputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Inputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"tweaks"}),(0,i.jsx)("span",{style:{opacity:"0.6"}})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"stream"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"})]})})]})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"200"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Successful Response"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})})]})]})})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"422"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Validation Error"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"detail"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"loc"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"msg"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"type"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}}}]); \ No newline at end of file diff --git a/assets/js/main.9d10f1e7.js b/assets/js/main.9d10f1e7.js deleted file mode 100644 index 57f24cc788..0000000000 --- a/assets/js/main.9d10f1e7.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.9d10f1e7.js.LICENSE.txt */ -(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8792],{204:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},1093:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var n=t.call(e),r="[object Arguments]"===n;return r||(r="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),r}},1189:(e,t,n)=>{"use strict";var r=Array.prototype.slice,o=n(1093),a=Object.keys,i=a?function(e){return a(e)}:n(28875),l=Object.keys;i.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return o(e)?l(r.call(e)):l(e)})}else Object.keys=i;return Object.keys||i},e.exports=i},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},2833:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s{"use strict";var r=n(65606);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;te.length)&&(n=e.length),e.substring(n-t.length,n)===t}var w="",k="",x="",S="",E={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function _(e){var t=Object.keys(e),n=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){n[t]=e[t]})),Object.defineProperty(n,"message",{value:e.message}),n}function j(e){return y(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function O(e,t,n){var o="",a="",i=0,l="",s=!1,c=j(e),u=c.split("\n"),p=j(t).split("\n"),d=0,f="";if("strictEqual"===n&&"object"===h(e)&&"object"===h(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===u.length&&1===p.length&&u[0]!==p[0]){var m=u[0].length+p[0].length;if(m<=10){if(!("object"===h(e)&&null!==e||"object"===h(t)&&null!==t||0===e&&0===t))return"".concat(E[n],"\n\n")+"".concat(u[0]," !== ").concat(p[0],"\n")}else if("strictEqualObject"!==n){if(m<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;u[0][d]===p[0][d];)d++;d>2&&(f="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var n=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,n-e.length)}(" ",d),"^"),d=0)}}}for(var g=u[u.length-1],y=p[p.length-1];g===y&&(d++<2?l="\n ".concat(g).concat(l):o=g,u.pop(),p.pop(),0!==u.length&&0!==p.length);)g=u[u.length-1],y=p[p.length-1];var b=Math.max(u.length,p.length);if(0===b){var _=c.split("\n");if(_.length>30)for(_[26]="".concat(w,"...").concat(S);_.length>27;)_.pop();return"".concat(E.notIdentical,"\n\n").concat(_.join("\n"),"\n")}d>3&&(l="\n".concat(w,"...").concat(S).concat(l),s=!0),""!==o&&(l="\n ".concat(o).concat(l),o="");var O=0,A=E[n]+"\n".concat(k,"+ actual").concat(S," ").concat(x,"- expected").concat(S),C=" ".concat(w,"...").concat(S," Lines skipped");for(d=0;d1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),s=!0):P>3&&(a+="\n ".concat(p[d-2]),O++),a+="\n ".concat(p[d-1]),O++),i=d,o+="\n".concat(x,"-").concat(S," ").concat(p[d]),O++;else if(p.length1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),s=!0):P>3&&(a+="\n ".concat(u[d-2]),O++),a+="\n ".concat(u[d-1]),O++),i=d,a+="\n".concat(k,"+").concat(S," ").concat(u[d]),O++;else{var T=p[d],I=u[d],R=I!==T&&(!v(I,",")||I.slice(0,-1)!==T);R&&v(T,",")&&T.slice(0,-1)===I&&(R=!1,I+=","),R?(P>1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),s=!0):P>3&&(a+="\n ".concat(u[d-2]),O++),a+="\n ".concat(u[d-1]),O++),i=d,a+="\n".concat(k,"+").concat(S," ").concat(I),o+="\n".concat(x,"-").concat(S," ").concat(T),O+=2):(a+=o,o="",1!==P&&0!==d||(a+="\n ".concat(I),O++))}if(O>20&&d30)for(f[26]="".concat(w,"...").concat(S);f.length>27;)f.pop();t=1===f.length?d.call(this,"".concat(p," ").concat(f[0])):d.call(this,"".concat(p,"\n\n").concat(f.join("\n"),"\n"))}else{var m=j(i),g="",y=E[o];"notDeepEqual"===o||"notEqual"===o?(m="".concat(E[o],"\n\n").concat(m)).length>1024&&(m="".concat(m.slice(0,1021),"...")):(g="".concat(j(l)),m.length>512&&(m="".concat(m.slice(0,509),"...")),g.length>512&&(g="".concat(g.slice(0,509),"...")),"deepEqual"===o||"equal"===o?m="".concat(y,"\n\n").concat(m,"\n\nshould equal\n\n"):g=" ".concat(o," ").concat(g)),t=d.call(this,"".concat(m).concat(g))}return Error.stackTraceLimit=s,t.generatedMessage=!n,Object.defineProperty(u(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=i,t.expected=l,t.operator=o,Error.captureStackTrace&&Error.captureStackTrace(u(t),a),t.stack,t.name="AssertionError",c(t)}return i=v,(s=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return y(this,a(a({},t),{},{customInspect:!1,depth:0}))}}])&&l(i.prototype,s),p&&l(i,p),Object.defineProperty(i,"prototype",{writable:!1}),v}(p(Error),y.custom);e.exports=A},4023:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var r=n(96540),o=n(61934),a=n(27143),i=n(30099),l=n(54051),s=n(75313),c=n(74848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(p,{error:t})]})}function p(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{children:t}=e;return(0,c.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(d,{children:(0,c.jsxs)(g,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(l.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(f,{...e});class g extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},4146:(e,t,n)=>{"use strict";var r=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=u(n);p&&(i=i.concat(p(n)));for(var l=s(t),g=s(n),h=0;h{"use strict";n.d(t,{A:()=>r});const r={title:"Langflow Documentation",tagline:"Langflow is a low-code app builder for RAG and multi-agent AI applications.",favicon:"img/favicon.ico",url:"https://docs.langflow.org",baseUrl:"/",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",onBrokenAnchors:"warn",organizationName:"langflow-ai",projectName:"langflow",trailingSlash:!1,staticDirectories:["static"],i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["docusaurus-preset-openapi",{api:{path:"openapi.json",routeBasePath:"/api"},docs:{routeBasePath:"/",sidebarPath:"/home/runner/work/langflow/langflow/docs/sidebars.js",sidebarCollapsed:!1,beforeDefaultRemarkPlugins:[[null,{theme:"github-dark",showCopyButton:!0,lineNumbers:!0}]]},sitemap:{lastmod:"datetime",changefreq:null,priority:null},gtag:{trackingID:"G-XHC7G628ZP",anonymizeIP:!0},googleTagManager:{containerId:"GTM-NK5M4ZT8"},blog:!1,theme:{customCss:["/home/runner/work/langflow/langflow/docs/node_modules/@code-hike/mdx/dist/index.css","/home/runner/work/langflow/langflow/docs/css/custom.css","/home/runner/work/langflow/langflow/docs/css/docu-notion-styles.css","/home/runner/work/langflow/langflow/docs/css/gifplayer.css"]}}]],plugins:[["docusaurus-node-polyfills",{excludeAliases:["console"]}],"docusaurus-plugin-image-zoom",["@docusaurus/plugin-client-redirects",{redirects:[{to:"/",from:["/whats-new-a-new-chapter-langflow","/\ud83d\udc4b Welcome-to-Langflow","/getting-started-welcome-to-langflow","/guides-new-to-llms"]},{to:"/get-started-installation",from:["/getting-started-installation","/getting-started-common-installation-issues"]},{to:"/get-started-quickstart",from:"/getting-started-quickstart"},{to:"/tutorials-travel-planning-agent",from:["/starter-projects-dynamic-agent/","/starter-projects-travel-planning-agent"]},{to:"concepts-overview",from:["/workspace-overview","/365085a8-a90a-43f9-a779-f8769ec7eca1","/My-Collection","/workspace","/settings-project-general-settings"]},{to:"/concepts-components",from:["/components","/components-overview"]},{to:"/configuration-global-variables",from:"/settings-global-variables"},{to:"/concepts-playground",from:["/workspace-playground","/workspace-logs","/guides-chat-memory"]},{to:"/concepts-objects",from:["/guides-data-message","/configuration-objects"]},{to:"/tutorials-sequential-agent",from:"/starter-projects-sequential-agent"},{to:"/tutorials-blog-writer",from:"/starter-projects-blog-writer"},{to:"/tutorials-memory-chatbot",from:"/starter-projects-memory-chatbot"},{to:"/tutorials-document-qa",from:"/starter-projects-document-qa"},{to:"/components-vector-stores",from:"/components-rag"},{to:"/concepts-api",from:"/workspace-api"},{to:"/components-custom-components",from:"/components/custom"}]}],null],themeConfig:{navbar:{hideOnScroll:!0,logo:{alt:"Langflow",src:"img/langflow-logo-black.svg",srcDark:"img/langflow-logo-white.svg"},items:[{position:"right",href:"https://github.com/langflow-ai/langflow",className:"header-github-link",target:"_blank",rel:null},{position:"right",href:"https://twitter.com/langflow_ai",className:"header-twitter-link",target:"_blank",rel:null},{position:"right",href:"https://discord.gg/EqksyE2EX9",className:"header-discord-link",target:"_blank",rel:null}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!0},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},zoom:{selector:".markdown :not(a) > img:not(.no-zoom)",background:{light:"rgba(240, 240, 240, 0.9)"},config:{}},docs:{sidebar:{hideable:!1,autoCollapseCategories:!1},versionPersistence:"localStorage"},algolia:{appId:"UZK6BDPCVY",apiKey:"adbd7686dceb1cd510d5ce20d04bf74c",indexName:"langflow",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onDuplicateRoutes:"warn",customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},5338:(e,t,n)=>{"use strict";var r=n(40961);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},5528:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>d});var r=n(96540),o=n(63065),a=n(86682),i=n(30604),l=n(53115),s=n(26849),c=n(74848);const u=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,l.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[s,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(s)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:s})),[e,n,u,s])}function d(e){let{children:t}=e;const n=p();return(0,c.jsx)(u.Provider,{value:n,children:t})}function f(){const e=r.useContext(u);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5556:(e,t,n)=>{e.exports=n(2694)()},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'

    '};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,p=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,p)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){p(document.documentElement,"nprogress-busy"),p(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function p(e,t){var n,r=d(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},6188:e=>{"use strict";e.exports=Math.max},6549:e=>{"use strict";e.exports=Object.getOwnPropertyDescriptor},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},7176:(e,t,n)=>{"use strict";var r,o=n(73126),a=n(75795);try{r=[].__proto__===Array.prototype}catch(c){if(!c||"object"!=typeof c||!("code"in c)||"ERR_PROTO_ACCESS"!==c.code)throw c}var i=!!r&&a&&a(Object.prototype,"__proto__"),l=Object,s=l.getPrototypeOf;e.exports=i&&"function"==typeof i.get?o([i.get]):"function"==typeof s&&function(e){return s(null==e?e:l(e))}},7463:(e,t,n)=>{"use strict";var r=n(96763);function o(e,t){var n=e.length;e.push(t);e:for(;0>>1,o=e[r];if(!(0>>1;rl(s,n))cl(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[i]=n,r=i);else{if(!(cl(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function l(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var c=Date,u=c.now();t.unstable_now=function(){return c.now()-u}}var p=[],d=[],f=1,m=null,g=3,h=!1,y=!1,b=!1,v="function"==typeof setTimeout?setTimeout:null,w="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=a(d);null!==t;){if(null===t.callback)i(d);else{if(!(t.startTime<=e))break;i(d),t.sortIndex=t.expirationTime,o(p,t)}t=a(d)}}function S(e){if(b=!1,x(e),!y)if(null!==a(p))y=!0,D(E);else{var t=a(d);null!==t&&L(S,t.startTime-e)}}function E(e,n){y=!1,b&&(b=!1,w(A),A=-1),h=!0;var r=g;try{for(x(n),m=a(p);null!==m&&(!(m.expirationTime>n)||e&&!T());){var o=m.callback;if("function"==typeof o){m.callback=null,g=m.priorityLevel;var l=o(m.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?m.callback=l:m===a(p)&&i(p),x(n)}else i(p);m=a(p)}if(null!==m)var s=!0;else{var c=a(d);null!==c&&L(S,c.startTime-n),s=!1}return s}finally{m=null,g=r,h=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,j=!1,O=null,A=-1,C=5,P=-1;function T(){return!(t.unstable_now()-Pe||125i?(e.sortIndex=r,o(d,e),null===a(p)&&e===a(d)&&(b?(w(A),A=-1):b=!0,L(S,r-i))):(e.sortIndex=l,o(p,e),y||h||(y=!0,D(E))),e},t.unstable_shouldYield=T,t.unstable_wrapCallback=function(e){var t=g;return function(){var n=g;g=t;try{return e.apply(this,arguments)}finally{g=n}}}},8505:(e,t,n)=>{var r=n(64634);e.exports=m,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,l=0,s="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var p=n[0],d=n[1],f=n.index;if(s+=e.slice(l,f),l=f+p.length,d)s+=d[1];else{var m=e[l],g=n[2],h=n[3],y=n[4],b=n[5],v=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=g&&null!=m&&m!==g,x="+"===v||"*"===v,S="?"===v||"*"===v,E=g||c,_=y||b,j=g||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:h||a++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":i(E,j)})}}return l-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function l(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),o=0;o{"use strict";n.d(t,{G:()=>y,a:()=>h});var r=n(96540),o=n(61934),a=n(26849),i=n(78749),l=n(53115),s=n(74848);const c=r.createContext(void 0),u="theme",p=(0,i.Wf)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{p.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&p.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&g(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),p.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=p.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[o,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},8722:(e,t,n)=>{var r=n(96763);const o=n(6969),a=n(98380),i=new Set;function l(e){void 0===e?e=Object.keys(o.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...i,...Object.keys(Prism.languages)];a(o,e,t).load((e=>{if(!(e in o.languages))return void(l.silent||r.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(63157).resolve(t)],delete Prism.languages[e],n(63157)(t),i.add(e)}))}l.silent=!1,e.exports=l},9136:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(84974);function a(){return(0,r.useContext)(o.o)}},9303:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(18215),o=n(50539),a=n(53115),i=n(56289),l=n(25246);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(74848);function u(e){let{as:t,id:n,...u}=e;const p=(0,l.A)(),{navbar:{hideOnScroll:d}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});p.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",d?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9394:(e,t,n)=>{"use strict";var r=n(89211);e.exports=function(){return"function"==typeof Object.is?Object.is:r}},9957:(e,t,n)=>{"use strict";var r=Function.prototype.call,o=Object.prototype.hasOwnProperty,a=n(66743);e.exports=a.call(r,o)},10076:e=>{"use strict";e.exports=Function.prototype.call},10487:(e,t,n)=>{"use strict";var r=n(96897),o=n(30655),a=n(73126),i=n(12205);e.exports=function(e){var t=a(arguments),n=e.length-(arguments.length-1);return r(t,1+(n>0?n:0),!0)},o?o(e.exports,"apply",{value:i}):e.exports.apply=i},11002:e=>{"use strict";e.exports=Function.prototype.apply},11514:(e,t,n)=>{"use strict";var r=n(38403);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),n={},r=0;r{"use strict";n.d(t,{A:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},11835:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var r=n(40797);function o(){const{siteConfig:{themeConfig:e}}=(0,r.A)();return e}},11861:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}n.d(t,{XI:()=>r,sb:()=>o})},12205:(e,t,n)=>{"use strict";var r=n(66743),o=n(11002),a=n(13144);e.exports=function(){return a(r,o,arguments)}},12862:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(56289),o=n(29030),a=n(40797),i=n(53115),l=n(39324),s=n(74848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:u,titleClassName:p,...d}=e,f=(0,o.Ay)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.A,{to:f,...d,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(c,{logo:l,alt:g,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:p,children:n})]})}},13003:e=>{"use strict";e.exports=function(e){return e!=e}},13144:(e,t,n)=>{"use strict";var r=n(66743),o=n(11002),a=n(10076),i=n(47119);e.exports=i||r.call(a,o)},13722:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},14035:(e,t,n)=>{"use strict";var r,o=n(36556),a=n(49092)(),i=n(9957),l=n(75795);if(a){var s=o("RegExp.prototype.exec"),c={},u=function(){throw c},p={toString:u,valueOf:u};"symbol"==typeof Symbol.toPrimitive&&(p[Symbol.toPrimitive]=u),r=function(e){if(!e||"object"!=typeof e)return!1;var t=l(e,"lastIndex");if(!(t&&i(t,"value")))return!1;try{s(e,p)}catch(n){return n===c}}}else{var d=o("Object.prototype.toString");r=function(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&"[object RegExp]"===d(e)}}e.exports=r},15066:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;to});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var w=v.prototype=new b;w.constructor=v,g(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var o,a={},i=null,l=null;if(null!=t)for(o in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,o)&&!E.hasOwnProperty(o)&&(a[o]=t[o]);var s=arguments.length-2;if(1===s)a.children=r;else if(1{"use strict";n.d(t,{A:()=>a});n(96540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},18215:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;to});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=18692},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],p=n.tokenStack[u],d="string"==typeof c?c:c.content,f=t(r,u),m=d.indexOf(f);if(m>-1){++o;var g=d.substring(0,m),h=new e.Token(r,e.tokenize(p,n.grammar),"language-"+r,p),y=d.substring(m+f.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof c?l.splice.apply(l,[s,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},20311:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},21020:(e,t,n)=>{"use strict";var r=n(96540),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:l.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},21683:(e,t,n)=>{"use strict";n.r(t)},21858:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(96540),o=n(26849),a=n(74848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},22306:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>c});var r=n(96540),o=n(26849),a=n(74848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},22551:(e,t,n)=>{"use strict";var r=n(96763),o=n(96540),a=n(69982);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n