From 7801ba5aae5fcfdaf45b0bbd69b18af604bd30f8 Mon Sep 17 00:00:00 2001 From: April M Date: Wed, 18 Jun 2025 18:10:25 -0700 Subject: [PATCH 01/12] add new pages --- docs/docs/API-Reference/api-base.md | 7 +++ docs/docs/API-Reference/api-build.md | 7 +++ docs/docs/API-Reference/api-files.md | 7 +++ docs/docs/API-Reference/api-flows.md | 7 +++ docs/docs/API-Reference/api-logs.md | 7 +++ docs/docs/API-Reference/api-monitor.md | 7 +++ docs/docs/API-Reference/api-projects.md | 7 +++ .../api-reference-api-examples.md | 6 ++- docs/docs/API-Reference/api-users.md | 7 +++ docs/docs/Concepts/concepts-publish.md | 2 +- .../docs/Develop/Clients/typescript-client.md | 4 +- docs/docs/Develop/develop-application.md | 2 +- docs/docs/Develop/session-id.md | 2 +- docs/sidebars.js | 50 +++++++++++++++++-- 14 files changed, 110 insertions(+), 12 deletions(-) create mode 100644 docs/docs/API-Reference/api-base.md create mode 100644 docs/docs/API-Reference/api-build.md create mode 100644 docs/docs/API-Reference/api-files.md create mode 100644 docs/docs/API-Reference/api-flows.md create mode 100644 docs/docs/API-Reference/api-logs.md create mode 100644 docs/docs/API-Reference/api-monitor.md create mode 100644 docs/docs/API-Reference/api-projects.md create mode 100644 docs/docs/API-Reference/api-users.md diff --git a/docs/docs/API-Reference/api-base.md b/docs/docs/API-Reference/api-base.md new file mode 100644 index 000000000000..a80327f3dd6c --- /dev/null +++ b/docs/docs/API-Reference/api-base.md @@ -0,0 +1,7 @@ +--- +title: Base endpoints +slug: /api-base +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-build.md b/docs/docs/API-Reference/api-build.md new file mode 100644 index 000000000000..d06d1a3e8b0a --- /dev/null +++ b/docs/docs/API-Reference/api-build.md @@ -0,0 +1,7 @@ +--- +title: Build endpoints +slug: /api-build +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-files.md b/docs/docs/API-Reference/api-files.md new file mode 100644 index 000000000000..6f61ea665809 --- /dev/null +++ b/docs/docs/API-Reference/api-files.md @@ -0,0 +1,7 @@ +--- +title: Files endpoints +slug: /api-files +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-flows.md b/docs/docs/API-Reference/api-flows.md new file mode 100644 index 000000000000..151b74d604d7 --- /dev/null +++ b/docs/docs/API-Reference/api-flows.md @@ -0,0 +1,7 @@ +--- +title: Flows endpoints +slug: /api-flows +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-logs.md b/docs/docs/API-Reference/api-logs.md new file mode 100644 index 000000000000..6ba5149025d0 --- /dev/null +++ b/docs/docs/API-Reference/api-logs.md @@ -0,0 +1,7 @@ +--- +title: Logs endpoints +slug: /api-logs +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-monitor.md b/docs/docs/API-Reference/api-monitor.md new file mode 100644 index 000000000000..496b64d0ee06 --- /dev/null +++ b/docs/docs/API-Reference/api-monitor.md @@ -0,0 +1,7 @@ +--- +title: Monitor endpoints +slug: /api-monitor +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-projects.md b/docs/docs/API-Reference/api-projects.md new file mode 100644 index 000000000000..61739c0f2445 --- /dev/null +++ b/docs/docs/API-Reference/api-projects.md @@ -0,0 +1,7 @@ +--- +title: Projects endpoints +slug: /api-projects +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index 63f276de72df..3439728fac63 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -11,6 +11,8 @@ This page provides examples and practices for managing Langflow using the Langfl The Langflow API's OpenAPI spec can be viewed and tested at your Langflow deployment's `docs` endpoint. For example, `http://localhost:7860/docs`. + + ## Export values You might find it helpful to set the following environment variables in your terminal. @@ -409,13 +411,13 @@ Use the `/build` endpoint to build vertices and flows, and execute those flows w The `/build` endpoint offers additional configuration for running flows. -For a simpler execution of your flows, use the [`/run` endpoint](/api-reference-api-examples#run-flow) instead. +For a simpler execution of your flows, use the [`/run` endpoint](/api-flows#run-flow) instead. ### Build flow :::important This endpoint is meant to be used by the frontend and is not optimized for external use. -To run your flow, use the [`/run` endpoint](/api-reference-api-examples#run-flow) instead. +To run your flow, use the [`/run` endpoint](/api-flows#run-flow) instead. ::: This endpoint builds and executes a flow, returning a job ID that can be used to stream execution events. diff --git a/docs/docs/API-Reference/api-users.md b/docs/docs/API-Reference/api-users.md new file mode 100644 index 000000000000..34229905e59d --- /dev/null +++ b/docs/docs/API-Reference/api-users.md @@ -0,0 +1,7 @@ +--- +title: Users endpoints +slug: /api-users +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/Concepts/concepts-publish.md b/docs/docs/Concepts/concepts-publish.md index 97b94bf1cecd..c16a1782052e 100644 --- a/docs/docs/Concepts/concepts-publish.md +++ b/docs/docs/Concepts/concepts-publish.md @@ -64,7 +64,7 @@ For example, changing the **Chat Input** component's `input_value` changes that ### Send files to your flow with the API -For information on sending files to the Langflow API, see [API examples](/api-reference-api-examples#upload-image-files-v1). +For information on sending files to the Langflow API, see [Files endpoint](/api-files). ## Shareable playground diff --git a/docs/docs/Develop/Clients/typescript-client.md b/docs/docs/Develop/Clients/typescript-client.md index 038c9cc34605..9fa37ddde236 100644 --- a/docs/docs/Develop/Clients/typescript-client.md +++ b/docs/docs/Develop/Clients/typescript-client.md @@ -134,7 +134,7 @@ const session_id = "aa5a238b-02c0-4f03-bc5c-cc3a83335cdf"; ``` 3. Instead of calling `run` on the Flow object, call `stream` with the same arguments. The response is a [ReadableStream](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) of objects. -For more information on streaming Langflow responses, see [Run flow](https://docs.langflow.org/api-reference-api-examples#run-flow). +For more information on streaming Langflow responses, see the [/run endpoint](https://docs.langflow.org/api-flows#run-flow). ```tsx const response = await client.flow(flowId).stream(input); @@ -256,7 +256,7 @@ LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE=10000 LANGFLOW_LOG_LEVEL=DEBUG ``` -For more information, see [API examples](/api-reference-api-examples#logs). +For more information, see [Logs endpoints](/api-logs). This complete example starts streaming logs in the background, and then runs a flow so you can see how a flow executes. Replace `baseUrl` and `flowId` with values from your deployment. diff --git a/docs/docs/Develop/develop-application.md b/docs/docs/Develop/develop-application.md index 635a582ae1af..ab7456878a7f 100644 --- a/docs/docs/Develop/develop-application.md +++ b/docs/docs/Develop/develop-application.md @@ -155,7 +155,7 @@ If the flow streams the result back to you, your flow is being served, and can b To trigger your application from an external event, see [Webhook](/webhook). :::note -The test application returns a large amount of text, so the example command used `?stream=true`. If you prefer, set `?stream=false` to use batching. For more information, see the [API examples](/api-reference-api-examples#run-flow). +The test application returns a large amount of text, so the example command used `?stream=true`. If you prefer, set `?stream=false` to use batching. For more information, see the [/run endpoint](/api-flows#run-flow). ::: ## Deploy to Docker Hub and Kubernetes diff --git a/docs/docs/Develop/session-id.md b/docs/docs/Develop/session-id.md index 95986a2f75a1..850c52831a09 100644 --- a/docs/docs/Develop/session-id.md +++ b/docs/docs/Develop/session-id.md @@ -36,6 +36,6 @@ The `my_custom_session_value` value is used in components that accept it, and th To retrieve messages from local Langflow memory, add a [Message history](/components-helpers#message-history) component to your flow. The component accepts `sessionID` as a filter parameter, and uses the session ID value from upstream automatically to retrieve message history by session ID from storage. -Messages can be retrieved by `session_id` from the `/monitor` endpoint in the API. For more information, see the [API examples](https://docs.langflow.org/api-reference-api-examples#get-messages). +Messages can be retrieved by `session_id` from the Langflow API at `GET /v1/monitor/messages`. For more information, see [Monitor endpoints](https://docs.langflow.org/api-monitor). For an example of session ID in action, see [Use Session IDs in Langflow](https://www.youtube.com/watch?v=nJiF_eF21MY). \ No newline at end of file diff --git a/docs/sidebars.js b/docs/sidebars.js index c60ea822d837..7c251fbd738e 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -204,16 +204,56 @@ module.exports = { type: "category", label: "API reference", items: [ - { - type: "link", - label: "API documentation", - href: "/api", - }, { type: "doc", id: "API-Reference/api-reference-api-examples", label: "API examples", }, + { + type: "doc", + id: "API-Reference/api-base", + label: "Base endpoints", + }, + { + type: "doc", + id: "API-Reference/api-build", + label: "Build endpoints", + }, + { + type: "doc", + id: "API-Reference/api-files", + label: "Files endpoints", + }, + { + type: "doc", + id: "API-Reference/api-flows", + label: "Flows endpoints", + }, + { + type: "doc", + id: "API-Reference/api-logs", + label: "Logs endpoints", + }, + { + type: "doc", + id: "API-Reference/api-monitor", + label: "Monitor endpoints", + }, + { + type: "doc", + id: "API-Reference/api-projects", + label: "Projects endpoints", + }, + { + type: "doc", + id: "API-Reference/api-users", + label: "Users endpoints", + }, + { + type: "link", + label: "API documentation", + href: "/api", + }, ], }, { From bdf7e7b77cc00ec19143c43449542d654c99fa58 Mon Sep 17 00:00:00 2001 From: April M Date: Wed, 18 Jun 2025 18:27:45 -0700 Subject: [PATCH 02/12] cut and paste --- docs/docs/API-Reference/api-build.md | 156 +- docs/docs/API-Reference/api-files.md | 432 +++- docs/docs/API-Reference/api-flows.md | 394 ++- docs/docs/API-Reference/api-logs.md | 102 +- docs/docs/API-Reference/api-monitor.md | 680 ++++- docs/docs/API-Reference/api-projects.md | 241 +- .../api-reference-api-examples.md | 2287 +---------------- docs/docs/API-Reference/api-users.md | 280 +- 8 files changed, 2285 insertions(+), 2287 deletions(-) diff --git a/docs/docs/API-Reference/api-build.md b/docs/docs/API-Reference/api-build.md index d06d1a3e8b0a..0555abd047b4 100644 --- a/docs/docs/API-Reference/api-build.md +++ b/docs/docs/API-Reference/api-build.md @@ -4,4 +4,158 @@ slug: /api-build --- import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file +import TabItem from '@theme/TabItem'; + +Use the `/build` endpoint to build vertices and flows, and execute those flows with streaming event responses. + +The `/build` endpoint offers additional configuration for running flows. + +For a simpler execution of your flows, use the [`/run` endpoint](/api-flows#run-flow) instead. + +## Build flow + +:::important +This endpoint is meant to be used by the frontend and is not optimized for external use. +To run your flow, use the [`/run` endpoint](/api-flows#run-flow) instead. +::: + +This endpoint builds and executes a flow, returning a job ID that can be used to stream execution events. + +1. Send a POST request to the `/build/{flow_id}/flow` endpoint. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "inputs": { + "input_value": "Tell me a story" + } + }' +``` + + + + +```json +{ + "job_id": "123e4567-e89b-12d3-a456-426614174000" +} +``` + + + + +2. After receiving a job ID from the build endpoint, use the `/build/{job_id}/events` endpoint to stream the execution results: + + + + +```text +curl -X GET \ + "$LANGFLOW_URL/api/v1/build/123e4567-e89b-12d3-a456-426614174000/events" \ + -H "accept: application/json" +``` + + + + +```json +{"event": "vertices_sorted", "data": {"ids": ["ChatInput-XtBLx"], "to_run": ["Prompt-x74Ze", "ChatOutput-ylMzN", "ChatInput-XtBLx", "OpenAIModel-d1wOZ"]}} + +{"event": "add_message", "data": {"timestamp": "2025-03-03T17:42:23", "sender": "User", "sender_name": "User", "session_id": "d2bbd92b-187e-4c84-b2d4-5df365704201", "text": "Tell me a story", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "28879bd8-6a68-4dd5-b658-74d643a4dd92", "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201"}} + +// ... Additional events as the flow executes ... + +{"event": "end", "data": {}} +``` + + + + +The events endpoint accepts an optional `stream` query parameter which defaults to `true`. +To disable streaming and get all events at once, set `stream` to `false`. + +```text +curl -X GET \ + "$LANGFLOW_URL/api/v1/build/123e4567-e89b-12d3-a456-426614174000/events?stream=false" \ + -H "accept: application/json" +``` + +## Build endpoint headers and parameters + +**Headers** +| Header | Info | Example | +|--------|------|---------| +| Content-Type | Required. Specifies the JSON format. | "application/json" | +| accept | Required. Specifies the response format. | "application/json" | +| x-api-key | Optional. Required only if authentication is enabled. | "sk-..." | + +The `/build/{flow_id}/flow` endpoint accepts the following parameters in its request body: + +**Parameters** +| Parameter | Type | Description | +|-----------|------|-------------| +| inputs | object | Optional. Input values for flow components. | +| data | object | Optional. Flow data to override stored configuration. | +| files | array[string] | Optional. List of file paths to use. | +| stop_component_id | string | Optional. ID of the component where the execution should stop. | +| start_component_id | string | Optional. ID of the component where the execution should start. | +| log_builds | boolean | Optional. Control build logging. Default: `true`. | + +## Configure the build endpoint + +The `/build` endpoint accepts optional values for `start_component_id` and `stop_component_id` to control where the flow run starts and stops. +Setting `stop_component_id` for a component triggers the same behavior as clicking the **Play** button on that component, where all dependent components leading up to that component are also run. +For example, to stop flow execution at the Open AI model component, run the following command: + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" \ + -d '{"stop_component_id": "OpenAIModel-Uksag"}' +``` + +The `/build` endpoint also accepts inputs for `data` directly, instead of using the values stored in the Langflow database. +This is useful for running flows without having to pass custom values through the UI. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "data": { + "nodes": [], + "edges": [] + }, + "inputs": { + "input_value": "Your custom input here", + "session": "session_id" + } + }' +``` + + + + +```json +{ "job_id": "0bcc7f23-40b4-4bfa-9b8a-a44181fd1175" } +``` + + + + +## See also + +- [Get Vertex builds](/api-monitor#get-vertex-builds) +- [Delete Vertex builds](/api-monitor#delete-vertex-builds) \ No newline at end of file diff --git a/docs/docs/API-Reference/api-files.md b/docs/docs/API-Reference/api-files.md index 6f61ea665809..da5af6345056 100644 --- a/docs/docs/API-Reference/api-files.md +++ b/docs/docs/API-Reference/api-files.md @@ -4,4 +4,434 @@ slug: /api-files --- import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file +import TabItem from '@theme/TabItem'; + +Use the `/files` endpoint to add or delete files between your local machine and Langflow. + +There are `/v1` and `/v2` versions of the `/files` endpoints. +The `v2/files` version offers several improvements over `/v1`: + +- In `v1`, files are organized by `flow_id`. In `v2`, files are organized by `user_id`. + This means files are accessed based on user ownership, and not tied to specific flows. + You can upload a file to Langflow one time, and use it with multiple flows. +- In `v2`, files are tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. +- Responses from the `/v2` endpoint contain more descriptive metadata. +- The `v2` endpoints require authentication by an API key or JWT. +- The `/v2/files` endpoint does not support sending **image** files to flows through the API. To send **image** files to your flows through the API, follow the procedure in [Upload image files (v1)](#upload-image-files-v1). + +## Files/V1 endpoints + +Use the `/files` endpoint to add or delete files between your local machine and Langflow. + +- In `v1`, files are organized by `flow_id`. +- In `v2`, files are organized by `user_id` and tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. + +### Upload file (v1) + +Upload a file to the `v1/files/upload/` endpoint of your flow. +Replace **FILE_NAME** with the uploaded file name. + + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/files/upload/$FLOW_ID" \ + -H "accept: application/json" \ + -H "Content-Type: multipart/form-data" \ + -F "file=@FILE_NAME.txt" +``` + + + + +```json +{ + "flowId": "92f9a4c5-cfc8-4656-ae63-1f0881163c28", + "file_path": "92f9a4c5-cfc8-4656-ae63-1f0881163c28/2024-12-30_15-19-43_your_file.txt" +} +``` + + + + +### Upload image files (v1) + +Send image files to the Langflow API for AI analysis. + +The default file limit is 100 MB. To configure this value, change the `LANGFLOW_MAX_FILE_SIZE_UPLOAD` environment variable. +For more information, see [Supported environment variables](/environment-variables#supported-variables). + +1. To send an image to your flow with the API, POST the image file to the `v1/files/upload/` endpoint of your flow. + Replace **FILE_NAME** with the uploaded file name. + +```bash +curl -X POST "$LANGFLOW_URL/api/v1/files/upload/a430cc57-06bb-4c11-be39-d3d4de68d2c4" \ + -H "Content-Type: multipart/form-data" \ + -F "file=@FILE_NAME.png" +``` + +The API returns the image file path in the format `"file_path":"/_"}`. + +```json +{ + "flowId": "a430cc57-06bb-4c11-be39-d3d4de68d2c4", + "file_path": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png" +} +``` + +2. Post the image file to the **Chat Input** component of a **Basic prompting** flow. + Pass the file path value as an input in the **Tweaks** section of the curl call to Langflow. + To find your Chat input component's ID, use the [](#) + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/run/a430cc57-06bb-4c11-be39-d3d4de68d2c4?stream=false" \ + -H 'Content-Type: application/json'\ + -d '{ + "output_type": "chat", + "input_type": "chat", + "tweaks": { + "ChatInput-b67sL": { + "files": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png", + "input_value": "what do you see?" + } +}}' +``` + +Your chatbot describes the image file you sent. + +```text +"text": "This flowchart appears to represent a complex system for processing financial inquiries using various AI agents and tools. Here's a breakdown of its components and how they might work together..." +``` + +### List files (v1) + +List all files associated with a specific flow. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/files/list/$FLOW_ID" \ + -H "accept: application/json" +``` + + + + +```json +{ + "files": ["2024-12-30_15-19-43_your_file.txt"] +} +``` + + + + +### Download file (v1) + +Download a specific file from a flow. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/files/download/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \ + -H "accept: application/json" \ + --output downloaded_file.txt +``` + + + + +```text +File contents downloaded to downloaded_file.txt +``` + + + + +### Delete file (v1) + +Delete a specific file from a flow. + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v1/files/delete/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \ + -H "accept: application/json" +``` + + + + +```json +{ + "message": "File 2024-12-30_15-19-43_your_file.txt deleted successfully" +} +``` + + + + +## Files/V2 endpoints + +In `v2`, files are organized by `user_id` and tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. +The `v2` endpoints require authentication by an API key or JWT. +To create a Langflow API key and export it as an environment variable, see [Export values](#export-values). + +### Upload file (v2) + +Upload a file to your user account. The file can be used across multiple flows. + +The file is uploaded in the format `USER_ID/FILE_ID.FILE_EXTENSION`, such as `07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf`. + +To retrieve your current `user_id`, call the `/whoami` endpoint. +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/users/whoami" \ + -H "accept: application/json" +``` + +Result: +``` +{"id":"07e5b864-e367-4f52-b647-a48035ae7e5e","username":"langflow","profile_image":null,"store_api_key":null,"is_active":true,"is_superuser":true,"create_at":"2025-05-08T17:59:07.855965","updated_at":"2025-05-28T19:00:42.556460","last_login_at":"2025-05-28T19:00:42.554338","optins":{"github_starred":false,"dialog_dismissed":true,"discord_clicked":false,"mcp_dialog_dismissed":true}} +``` + +In the POST request to `v2/files`, replace **@FILE_NAME.EXTENSION** with the uploaded file name and its extension. +You must include the ampersand (`@`) in the request to instruct curl to upload the contents of the file, not the string `FILE_NAME.EXTENSION`. + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v2/files" \ + -H "accept: application/json" \ + -H "Content-Type: multipart/form-data" \ + -H "x-api-key: $LANGFLOW_API_KEY" \ + -F "file=@FILE_NAME.EXTENSION" +``` + +The file is uploaded in the format `USER_ID/FILE_ID.FILE_EXTENSION`, and the API returns metadata about the uploaded file: + +```json +{ + "id":"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94", + "name":"engine_manual", + "path":"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf", + "size":851160, + "provider":null +} +``` + +### Send files to your flows (v2) + +:::important +The `/v2/files` endpoint does not support sending **image** files to flows. +To send **image** files to your flows through the API, follow the procedure in [Upload image files (v1)](#upload-image-files-v1). +::: + +Send a file to your flow for analysis using the [File](/components-data#file) component and the API. +Your flow must contain a [File](/components-data#file) component to receive the file. + +The default file limit is 100 MB. To configure this value, change the `LANGFLOW_MAX_FILE_SIZE_UPLOAD` environment variable. +For more information, see [Supported environment variables](/environment-variables#supported-variables). + +1. To send a file to your flow with the API, POST the file to the `/api/v2/files` endpoint. + Replace **FILE_NAME** with the uploaded file name. + This is the same step described in [Upload file (v2)](#upload-file-v2), but since you need the filename to upload to your flow, it is included here. + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v2/files" \ + -H "accept: application/json" \ + -H "Content-Type: multipart/form-data" \ + -H "x-api-key: $LANGFLOW_API_KEY" \ + -F "file=@FILE_NAME.EXTENSION" +``` + +The file is uploaded in the format `USER_ID/FILE_ID.FILE_EXTENSION`, and the API returns metadata about the uploaded file: + +```json +{ + "id":"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94", + "name":"engine_manual", + "path":"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf", + "size":851160, + "provider": null +} +``` + +2. To use this file in your flow, add a [File](/components-data#file) component to load a file into the flow. +3. To load the file into your flow, send it to the **File** component. +To retrieve the **File** component's full name with the UUID attached, call the [Read flow](#read-flow) endpoint, and then include your **File** component and the file path as a tweak with the `/v1/run` POST request. +In this example, the file uploaded to `/v2/files` is included with the `/v1/run` POST request. + +```text +curl --request POST \ + --url "$LANGFLOW_URL/api/v1/run/$FLOW_ID" \ + --header "Content-Type: application/json" \ + --data '{ + "input_value": "what do you see?", + "output_type": "chat", + "input_type": "text", + "tweaks": { + "File-1olS3": { + "path": [ + "07e5b864-e367-4f52-b647-a48035ae7e5e/3a290013-fe1e-4d3d-a454-cacae81288f3.pdf" + ] + } + } +}' +``` + +Result: +```text +"text":"This document provides important safety information and instructions for selecting, installing, and operating Briggs & Stratton engines. It includes warnings and guidelines to prevent injury, fire, or damage, such as choosing the correct engine model, proper installation procedures, safe fuel handling, and correct engine operation. The document emphasizes following all safety precautions and using authorized parts to ensure safe and effective engine use." +``` + +### List files (v2) + +List all files associated with your user account. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v2/files" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" +``` + + + + +```json +[ + { + "id": "c7b22c4c-d5e0-4ec9-af97-5d85b7657a34", + "name": "your_file", + "path": "6f17a73e-97d7-4519-a8d9-8e4c0be411bb/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34.txt", + "size": 1234, + "provider": null + } +] +``` + + + + +### Download file (v2) + +Download a specific file by its ID and file extension. + +:::tip +You must specify the file type you expect in the `--output` value. +::: + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v2/files/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" \ + --output downloaded_file.txt +``` + + + + +```text +File contents downloaded to downloaded_file.txt +``` + + + + +### Edit file name (v2) + +Change a file name. + + + + +```bash +curl -X PUT \ + "$LANGFLOW_URL/api/v2/files/$FILE_ID?name=new_file_name" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" +``` + + + + +```json +{ + "id": "76543e40-f388-4cb3-b0ee-a1e870aca3d3", + "name": "new_file_name", + "path": "6f17a73e-97d7-4519-a8d9-8e4c0be411bb/76543e40-f388-4cb3-b0ee-a1e870aca3d3.png", + "size": 2728251, + "provider": null +} +``` + + + +### Delete file (v2) + +Delete a specific file by its ID. + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v2/files/$FILE_ID" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" +``` + + + + +```json +{ + "message": "File deleted successfully" +} +``` + + + + +### Delete all files (v2) + +Delete all files associated with your user account. + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v2/files" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" +``` + + + + +```json +{ + "message": "All files deleted successfully" +} +``` + + + \ No newline at end of file diff --git a/docs/docs/API-Reference/api-flows.md b/docs/docs/API-Reference/api-flows.md index 151b74d604d7..dff8cfc456a0 100644 --- a/docs/docs/API-Reference/api-flows.md +++ b/docs/docs/API-Reference/api-flows.md @@ -4,4 +4,396 @@ slug: /api-flows --- import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file +import TabItem from '@theme/TabItem'; + +Use the `/flows` endpoint to create, read, update, and delete flows. + +## Create flow + +Create a new flow. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/flows/" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "name": "string2", + "description": "string", + "icon": "string", + "icon_bg_color": "#FF0000", + "gradient": "string", + "data": {}, + "is_component": false, + "updated_at": "2024-12-30T15:48:01.519Z", + "webhook": false, + "endpoint_name": "string", + "tags": [ + "string" + ] +}' +``` + + + + +```json +{ + "name": "string2", + "description": "string", + "icon": "string", + "icon_bg_color": "#FF0000", + "gradient": "string", + "data": {}, + "is_component": false, + "updated_at": "2025-02-04T21:07:36+00:00", + "webhook": false, + "endpoint_name": "string", + "tags": ["string"], + "locked": false, + "id": "e8d81c37-714b-49ae-ba82-e61141f020ee", + "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3", + "project_id": "1415de42-8f01-4f36-bf34-539f23e47466" +} +``` + + + + +## Read flows + +Retrieve a list of flows with pagination support. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=false&components_only=false&get_all=true&header_flows=false&page=1&size=50" \ + -H "accept: application/json" +``` + + + + + +```text +A JSON object containing a list of flows. +``` + + + + +To retrieve only the flows from a specific project, pass `project_id` in the query string. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=true&components_only=false&get_all=false&project_id=$PROJECT_ID&header_flows=false&page=1&size=1" \ + -H "accept: application/json" +``` + + + + + +```text +A JSON object containing a list of flows. +``` + + + + +## Read flow + +Read a specific flow by its ID. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \ + -H "accept: application/json" +``` + + + + + +```json +{ + "name": "Basic Prompting", + "description": "Perform basic prompting with an OpenAI model.", + "icon": "Braces", + "icon_bg_color": null, + "gradient": "2", + "data": { + "nodes": [ + ... + ] + } +} +``` + + + + +## Update flow + +Update an existing flow by its ID. + +This example changes the value for `endpoint_name` from a random UUID to `my_new_endpoint_name`. + + + + +```bash +curl -X PATCH \ + "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "name": "string", + "description": "string", + "data": {}, + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "endpoint_name": "my_new_endpoint_name", + "locked": true +}' +``` + + + + +```json +{ + "name": "string", + "description": "string", + "icon": "Braces", + "icon_bg_color": null, + "gradient": "2", + "data": {}, + "is_component": false, + "updated_at": "2024-12-30T18:30:22+00:00", + "webhook": false, + "endpoint_name": "my_new_endpoint_name", + "tags": null, + "locked": true, + "id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3", + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" +} +``` + + + + +## Delete flow + +Delete a specific flow by its ID. + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \ + -H "accept: application/json" +``` + + + + + +```json +{ + "message": "Flow deleted successfully" +} +``` + + + + +## Create flows + +Create multiple new flows. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/flows/batch/" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "flows": [ + { + "name": "string", + "description": "string", + "icon": "string", + "icon_bg_color": "string", + "gradient": "string", + "data": {}, + "is_component": false, + "updated_at": "2024-12-30T18:36:02.737Z", + "webhook": false, + "endpoint_name": "string", + "tags": [ + "string" + ], + "locked": false, + "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + }, + { + "name": "string", + "description": "string", + "icon": "string", + "icon_bg_color": "string", + "gradient": "string", + "data": {}, + "is_component": false, + "updated_at": "2024-12-30T18:36:02.737Z", + "webhook": false, + "endpoint_name": "string", + "tags": [ + "string" + ], + "locked": false, + "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + ] +}' +``` + + + + +```json +[ + { + // FlowRead objects + } +] +``` + + + + +## Upload flows + +Upload flows from a file. + +This example uploads a local file named `agent-with-astra-db-tool.json`. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/flows/upload/?project_id=$PROJECT_ID" \ + -H "accept: application/json" \ + -H "Content-Type: multipart/form-data" \ + -F "file=@agent-with-astra-db-tool.json;type=application/json" +``` + + + + +```json +[ + { + "name": "agent-with-astra-db-tool", + "description": "", + "icon": null, + "icon_bg_color": null, + "gradient": null, + "data": {} + ... + } +] +``` + + + + +To specify a target project for the flow, include the query parameter `project_id`. +The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](#read-projects) endpoint for a list of available projects. +To specify a target project for the flow, include the query parameter `project_id`. +The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](#read-projects) endpoint for a list of available projects. + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/flows/upload/?project_id=$PROJECT_ID" \ + -H "accept: application/json" \ + -H "Content-Type: multipart/form-data" \ + -F "file=@agent-with-astra-db-tool.json;type=application/json" +``` + +## Download all flows + +Download all flows as a ZIP file. + +This endpoint downloads a ZIP file containing flows for all `flow-id` values listed in the command's body. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/flows/download/" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '[ + "e1e40c77-0541-41a9-88ab-ddb3419398b5", + "92f9a4c5-cfc8-4656-ae63-1f0881163c28" +]' \ + --output langflow-flows.zip +``` + + + + +```text + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 76437 0 76353 100 84 4516k 5088 --:--:-- --:--:-- --:--:-- 4665k +``` + + + + +## Read basic examples + +Retrieve a list of basic example flows. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/flows/basic_examples/" \ + -H "accept: application/json" +``` + + + + +```text +A list of example flows. +``` + + + \ No newline at end of file diff --git a/docs/docs/API-Reference/api-logs.md b/docs/docs/API-Reference/api-logs.md index 6ba5149025d0..faf07cbf1264 100644 --- a/docs/docs/API-Reference/api-logs.md +++ b/docs/docs/API-Reference/api-logs.md @@ -4,4 +4,104 @@ slug: /api-logs --- import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file +import TabItem from '@theme/TabItem'; + +Retrieve logs for your Langflow flow. + +This endpoint requires log retrieval to be enabled in your Langflow application. + +To enable log retrieval, include these values in your `.env` file: + +```text +LANGFLOW_ENABLE_LOG_RETRIEVAL=true +LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE=10000 +LANGFLOW_LOG_LEVEL=DEBUG +``` + +For log retrieval to function, `LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE` needs to be greater than 0. The default value is `10000`. + +Start Langflow with this `.env`: + +```text +uv run langflow run --env-file .env +``` + +## Stream logs + +Stream logs in real-time using Server-Sent Events (SSE). + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/logs-stream" \ + -H "accept: text/event-stream" +``` + + + + +```text +keepalive + +{"1736355791151": "2025-01-08T12:03:11.151218-0500 DEBUG Building Chat Input\n"} + +{"1736355791485": "2025-01-08T12:03:11.485380-0500 DEBUG consumed event add_message-153bcd5d-ef4d-4ece-8cc0-47c6b6a9ef92 (time in queue, 0.0000, client 0.0001)\n"} + +{"1736355791499": "2025-01-08T12:03:11.499704-0500 DEBUG consumed event end_vertex-3d7125cd-7b8a-44eb-9113-ed5b785e3cf3 (time in queue, 0.0056, client 0.0047)\n"} + +{"1736355791502": "2025-01-08T12:03:11.502510-0500 DEBUG consumed event end-40d0b363-5618-4a23-bbae-487cd0b9594d (time in queue, 0.0001, client 0.0004)\n"} + +{"1736355791513": "2025-01-08T12:03:11.513097-0500 DEBUG Logged vertex build: 729ff2f8-6b01-48c8-9ad0-3743c2af9e8a\n"} + +{"1736355791834": "2025-01-08T12:03:11.834982-0500 DEBUG Telemetry data sent successfully.\n"} + +{"1736355791941": "2025-01-08T12:03:11.941840-0500 DEBUG Telemetry data sent successfully.\n"} + +keepalive +``` + + + + +## Retrieve logs with optional parameters + +Retrieve logs with optional query parameters. + +- `lines_before`: The number of logs before the timestamp or the last log. +- `lines_after`: The number of logs after the timestamp. +- `timestamp`: The timestamp to start getting logs from. + +The default values for all three parameters is `0`. +With these values, the endpoint returns the last 10 lines of logs. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/logs?lines_before=0&lines_after=0×tamp=0" \ + -H "accept: application/json" +``` + + + + +```text +{ + "1736354770500": "2025-01-08T11:46:10.500363-0500 DEBUG Creating starter project Document Q&A\n", + "1736354770511": "2025-01-08T11:46:10.511146-0500 DEBUG Creating starter project Image Sentiment Analysis\n", + "1736354770521": "2025-01-08T11:46:10.521018-0500 DEBUG Creating starter project SEO Keyword Generator\n", + "1736354770532": "2025-01-08T11:46:10.532677-0500 DEBUG Creating starter project Sequential Tasks Agents\n", + "1736354770544": "2025-01-08T11:46:10.544010-0500 DEBUG Creating starter project Custom Component Generator\n", + "1736354770555": "2025-01-08T11:46:10.555513-0500 DEBUG Creating starter project Prompt Chaining\n", + "1736354770588": "2025-01-08T11:46:10.588105-0500 DEBUG Create service ServiceType.CHAT_SERVICE\n", + "1736354771021": "2025-01-08T11:46:11.021817-0500 DEBUG Telemetry data sent successfully.\n", + "1736354775619": "2025-01-08T11:46:15.619545-0500 DEBUG Create service ServiceType.STORE_SERVICE\n", + "1736354775699": "2025-01-08T11:46:15.699661-0500 DEBUG File 046-rocket.svg retrieved successfully from flow /Users/mendon.kissling/Library/Caches/langflow/profile_pictures/Space.\n" +} +``` + + + \ No newline at end of file diff --git a/docs/docs/API-Reference/api-monitor.md b/docs/docs/API-Reference/api-monitor.md index 496b64d0ee06..4d1b445b36d7 100644 --- a/docs/docs/API-Reference/api-monitor.md +++ b/docs/docs/API-Reference/api-monitor.md @@ -4,4 +4,682 @@ slug: /api-monitor --- import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file +import TabItem from '@theme/TabItem'; + +Use the `/monitor` endpoint to monitor and modify messages passed between Langflow components, vertex builds, and transactions. + +## Get Vertex builds + +Retrieve Vertex builds for a specific flow. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \ + -H "accept: application/json" +``` + + + + +```json +{ + "vertex_builds": { + "ChatInput-NCmix": [ + { + "data": { + "results": { + "message": { + "text_key": "text", + "data": { + "timestamp": "2024-12-23 19:10:57", + "sender": "User", + "sender_name": "User", + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "text": "Hello", + "files": [], + "error": "False", + "edit": "False", + "properties": { + "text_color": "", + "background_color": "", + "edited": "False", + "source": { + "id": "None", + "display_name": "None", + "source": "None" + }, + "icon": "", + "allow_markdown": "False", + "positive_feedback": "None", + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [], + "id": "c95bed34-f906-4aa6-84e4-68553f6db772", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + }, + "default_value": "", + "text": "Hello", + "sender": "User", + "sender_name": "User", + "files": [], + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "timestamp": "2024-12-23 19:10:57+00:00", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "error": "False", + "edit": "False", + "properties": { + "text_color": "", + "background_color": "", + "edited": "False", + "source": { + "id": "None", + "display_name": "None", + "source": "None" + }, + "icon": "", + "allow_markdown": "False", + "positive_feedback": "None", + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [] + } + }, + "outputs": { + "message": { + "message": { + "timestamp": "2024-12-23T19:10:57", + "sender": "User", + "sender_name": "User", + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "text": "Hello", + "files": [], + "error": false, + "edit": false, + "properties": { + "text_color": "", + "background_color": "", + "edited": false, + "source": { + "id": null, + "display_name": null, + "source": null + }, + "icon": "", + "allow_markdown": false, + "positive_feedback": null, + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [], + "id": "c95bed34-f906-4aa6-84e4-68553f6db772", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + }, + "type": "object" + } + }, + "logs": { "message": [] }, + "message": { + "message": "Hello", + "sender": "User", + "sender_name": "User", + "files": [], + "type": "object" + }, + "artifacts": { + "message": "Hello", + "sender": "User", + "sender_name": "User", + "files": [], + "type": "object" + }, + "timedelta": 0.015060124918818474, + "duration": "15 ms", + "used_frozen_result": false + }, + "artifacts": { + "message": "Hello", + "sender": "User", + "sender_name": "User", + "files": [], + "type": "object" + }, + "params": "- Files: []\n Message: Hello\n Sender: User\n Sender Name: User\n Type: object\n", + "valid": true, + "build_id": "40aa200e-74db-4651-b698-f80301d2b26b", + "id": "ChatInput-NCmix", + "timestamp": "2024-12-23T19:10:58.772766Z", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + } + ], + "Prompt-BEn9c": [ + { + "data": { + "results": {}, + "outputs": { + "prompt": { + "message": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", + "type": "text" + } + }, + "logs": { "prompt": [] }, + "message": { + "prompt": { + "repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", + "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", + "type": "text" + } + }, + "artifacts": { + "prompt": { + "repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", + "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", + "type": "text" + } + }, + "timedelta": 0.0057758750626817346, + "duration": "6 ms", + "used_frozen_result": false + }, + "artifacts": { + "prompt": { + "repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", + "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", + "type": "text" + } + }, + "params": "None", + "valid": true, + "build_id": "39bbbfde-97fd-42a5-a9ed-d42a5c5d532b", + "id": "Prompt-BEn9c", + "timestamp": "2024-12-23T19:10:58.781019Z", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + } + ], + "OpenAIModel-7AjrN": [ + { + "data": { + "results": {}, + "outputs": { + "text_output": { + "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "type": "text" + }, + "model_output": { "message": "", "type": "unknown" } + }, + "logs": { "text_output": [] }, + "message": { + "text_output": { + "repr": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "raw": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "type": "text" + } + }, + "artifacts": { + "text_output": { + "repr": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "raw": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "type": "text" + } + }, + "timedelta": 1.034765167045407, + "duration": "1.03 seconds", + "used_frozen_result": false + }, + "artifacts": { + "text_output": { + "repr": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "raw": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "type": "text" + } + }, + "params": "None", + "valid": true, + "build_id": "4f0ae730-a266-4d35-b89f-7b825c620a0f", + "id": "OpenAIModel-7AjrN", + "timestamp": "2024-12-23T19:10:58.790484Z", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + } + ], + "ChatOutput-sfUhT": [ + { + "data": { + "results": { + "message": { + "text_key": "text", + "data": { + "timestamp": "2024-12-23 19:10:58", + "sender": "Machine", + "sender_name": "AI", + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "text": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "files": [], + "error": "False", + "edit": "False", + "properties": { + "text_color": "", + "background_color": "", + "edited": "False", + "source": { + "id": "OpenAIModel-7AjrN", + "display_name": "OpenAI", + "source": "gpt-4o-mini" + }, + "icon": "OpenAI", + "allow_markdown": "False", + "positive_feedback": "None", + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [], + "id": "5688356d-9f30-40ca-9907-79a7a2fc16fd", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + }, + "default_value": "", + "text": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "sender": "Machine", + "sender_name": "AI", + "files": [], + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "timestamp": "2024-12-23 19:10:58+00:00", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "error": "False", + "edit": "False", + "properties": { + "text_color": "", + "background_color": "", + "edited": "False", + "source": { + "id": "OpenAIModel-7AjrN", + "display_name": "OpenAI", + "source": "gpt-4o-mini" + }, + "icon": "OpenAI", + "allow_markdown": "False", + "positive_feedback": "None", + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [] + } + }, + "outputs": { + "message": { + "message": { + "timestamp": "2024-12-23T19:10:58", + "sender": "Machine", + "sender_name": "AI", + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "text": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "files": [], + "error": false, + "edit": false, + "properties": { + "text_color": "", + "background_color": "", + "edited": false, + "source": { + "id": "OpenAIModel-7AjrN", + "display_name": "OpenAI", + "source": "gpt-4o-mini" + }, + "icon": "OpenAI", + "allow_markdown": false, + "positive_feedback": null, + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [], + "id": "5688356d-9f30-40ca-9907-79a7a2fc16fd", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + }, + "type": "object" + } + }, + "logs": { "message": [] }, + "message": { + "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "sender": "Machine", + "sender_name": "AI", + "files": [], + "type": "object" + }, + "artifacts": { + "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "sender": "Machine", + "sender_name": "AI", + "files": [], + "type": "object" + }, + "timedelta": 0.017838125000707805, + "duration": "18 ms", + "used_frozen_result": false + }, + "artifacts": { + "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", + "sender": "Machine", + "sender_name": "AI", + "files": [], + "type": "object" + }, + "params": "- Files: []\n Message: Hello! 🌟 I'm excited to help you get started on your journey to building\n something fresh! What do you have in mind? Whether it's a project, an idea, or\n a concept, let's dive in and make it happen!\n Sender: Machine\n Sender Name: AI\n Type: object\n", + "valid": true, + "build_id": "1e8b908b-aba7-403b-9e9b-eca92bb78668", + "id": "ChatOutput-sfUhT", + "timestamp": "2024-12-23T19:10:58.813268Z", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" + } + ] + } +} +``` + + + + +## Delete Vertex builds + +Delete Vertex builds for a specific flow. + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \ + -H "accept: */*" +``` + + + + +```text +204 No Content +``` + + + + +## Get messages + +Retrieve messages with optional filters. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/monitor/messages" \ + -H "accept: application/json" +``` + + + + +```text +A list of all messages. +``` + + + + +You can filter messages by `flow_id`, `session_id`, `sender`, and `sender_name`. +Results can be ordered with the `order_by` query string. + +This example retrieves messages sent by `Machine` and `AI` in a given chat session (`session_id`) and orders the messages by timestamp. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/monitor/messages?flow_id=$FLOW_ID&session_id=01ce083d-748b-4b8d-97b6-33adbb6a528a&sender=Machine&sender_name=AI&order_by=timestamp" \ + -H "accept: application/json" +``` + + + + +```json +[ + { + "id": "1c1d6134-9b8b-4079-931c-84dcaddf19ba", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "timestamp": "2024-12-23 19:20:11 UTC", + "sender": "Machine", + "sender_name": "AI", + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "text": "Hello! It's great to see you here! What exciting project or idea are you thinking about diving into today? Whether it's something fresh and innovative or a classic concept with a twist, I'm here to help you get started! Let's brainstorm together!", + "files": "[]", + "edit": false, + "properties": { + "text_color": "", + "background_color": "", + "edited": false, + "source": { + "id": "OpenAIModel-7AjrN", + "display_name": "OpenAI", + "source": "gpt-4o-mini" + }, + "icon": "OpenAI", + "allow_markdown": false, + "positive_feedback": null, + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [] + } +] +``` + + + + +## Delete messages + +Delete specific messages by their IDs. + +This example deletes the message retrieved in the previous Get messages example. + + + + +```bash +curl -v -X DELETE \ + "$LANGFLOW_URL/api/v1/monitor/messages" \ + -H "accept: */*" \ + -H "Content-Type: application/json" \ + -d '["MESSAGE_ID_1", "MESSAGE_ID_2"]' +``` + + + + +```text +204 No Content +``` + + + + +## Update message + +Update a specific message by its ID. + +This example updates the `text` value of message `3ab66cc6-c048-48f8-ab07-570f5af7b160`. + + + + +```bash +curl -X PUT \ + "$LANGFLOW_URL/api/v1/monitor/messages/3ab66cc6-c048-48f8-ab07-570f5af7b160" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "text": "testing 1234" +}' +``` + + + + +```json +{ + "timestamp": "2024-12-23T18:49:06", + "sender": "string", + "sender_name": "string", + "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "text": "testing 1234", + "files": ["string"], + "error": true, + "edit": true, + "properties": { + "text_color": "string", + "background_color": "string", + "edited": false, + "source": { "id": "string", "display_name": "string", "source": "string" }, + "icon": "string", + "allow_markdown": false, + "positive_feedback": true, + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [], + "id": "3ab66cc6-c048-48f8-ab07-570f5af7b160", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" +} +``` + + + + +## Update session ID + +Update the session ID for messages. + +This example updates the `session_ID` value `01ce083d-748b-4b8d-97b6-33adbb6a528a` to `different_session_id`. + + + + +```bash +curl -X PATCH \ + "$LANGFLOW_URL/api/v1/monitor/messages/session/01ce083d-748b-4b8d-97b6-33adbb6a528a?new_session_id=different_session_id" \ + -H "accept: application/json" +``` + + + + +```json +[ + { + "id": "8dd7f064-e63a-4773-b472-ca0475249dfd", + "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", + "timestamp": "2024-12-23 18:49:55 UTC", + "sender": "User", + "sender_name": "User", + "session_id": "different_session_id", + "text": "message", + "files": "[]", + "edit": false, + "properties": { + "text_color": "", + "background_color": "", + "edited": false, + "source": { + "id": null, + "display_name": null, + "source": null + }, + "icon": "", + "allow_markdown": false, + "positive_feedback": null, + "state": "complete", + "targets": [] + }, + "category": "message", + "content_blocks": [] + } +] +``` + + + + +## Delete messages by session + +Delete all messages for a specific session. + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v1/monitor/messages/session/different_session_id_2" \ + -H "accept: */*" +``` + + + + +```text +HTTP/1.1 204 No Content +``` + + + + +## Get transactions + +Retrieve all transactions (interactions between components) for a specific flow. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/monitor/transactions?flow_id=$FLOW_ID&page=1&size=50" \ + -H "accept: application/json" +``` + + + + +```json +{ + "items": [ + { + "timestamp": "2024-12-23T20:05:01.061Z", + "vertex_id": "string", + "target_id": "string", + "inputs": {}, + "outputs": {}, + "status": "string", + "error": "string", + "flow_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + ], + "total": 0, + "page": 1, + "size": 1, + "pages": 0 +} +``` + + + \ No newline at end of file diff --git a/docs/docs/API-Reference/api-projects.md b/docs/docs/API-Reference/api-projects.md index 61739c0f2445..28e9c10e2d2b 100644 --- a/docs/docs/API-Reference/api-projects.md +++ b/docs/docs/API-Reference/api-projects.md @@ -4,4 +4,243 @@ slug: /api-projects --- import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file +import TabItem from '@theme/TabItem'; + +Use the `/projects` endpoint to create, read, update, and delete projects. + +Projects store your flows and components. + +## Read projects + +Get a list of Langflow projects. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/projects/" \ + -H "accept: application/json" +``` + + + + +```json +[ + { + "name": "My Projects", + "description": "Manage your own projects. Download and upload projects.", + "id": "1415de42-8f01-4f36-bf34-539f23e47466", + "parent_id": null + } +] +``` + + + + +## Create project + +Create a new project. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/projects/" \ + -H "Content-Type: application/json" \ + -d '{ + "name": "new_project_name", + "description": "string", + "components_list": [], + "flows_list": [] +}' +``` + + + + +```json +{ + "name": "new_project_name", + "description": "string", + "id": "b408ddb9-6266-4431-9be8-e04a62758331", + "parent_id": null +} +``` + + + + +To add flows and components at project creation, retrieve the `components_list` and `flows_list` values from the [/api/v1/store/components](#get-all-components) and [/api/v1/flows/read](#read-flows) endpoints and add them to the request body. + +Adding a flow to a project moves the flow from its previous location. The flow is not copied. + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/projects/" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "name": "new_project_name", + "description": "string", + "components_list": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ], + "flows_list": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ] +}' +``` + +## Read project + +Retrieve details of a specific project. + +To find the UUID of your project, call the [read projects](#read-projects) endpoint. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/projects/$PROJECT_ID" \ + -H "accept: application/json" +``` + + + + +```json +[ + { + "name": "My Projects", + "description": "Manage your own projects. Download and upload projects.", + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "parent_id": null + } +] +``` + + + + +## Update project + +Update the information of a specific project with a `PATCH` request. + +Each PATCH request updates the project with the values you send. +Only the fields you include in your request are updated. +If you send the same values multiple times, the update is still processed, even if the values are unchanged. + + + + +```bash +curl -X PATCH \ + "$LANGFLOW_URL/api/v1/projects/b408ddb9-6266-4431-9be8-e04a62758331" \ + -H "accept: application/json" \ + -d '{ + "name": "string", + "description": "string", + "parent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "components": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ], + "flows": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ] +}' +``` + + + + +```json +{ + "name": "string", + "description": "string", + "id": "b408ddb9-6266-4431-9be8-e04a62758331", + "parent_id": null +} +``` + + + + +## Delete project + +Delete a specific project. + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v1/projects/$PROJECT_ID" \ + -H "accept: */*" +``` + + + + +```text +204 No Content +``` + + + + +## Download project + +Download all flows from a project as a zip file. + +The `--output` flag is optional. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/projects/download/b408ddb9-6266-4431-9be8-e04a62758331" \ + -H "accept: application/json" \ + --output langflow-project.zip +``` + + + + +```text +The project contents. +``` + + + + +## Upload project + +Upload a project to Langflow. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/projects/upload/" \ + -H "accept: application/json" \ + -H "Content-Type: multipart/form-data" \ + -F "file=@20241230_135006_langflow_flows.zip;type=application/zip" +``` + + + + + +```text +The project contents are uploaded to Langflow. +``` + + + \ No newline at end of file diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index 3439728fac63..2a19d866d956 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -12,6 +12,11 @@ The Langflow API's OpenAPI spec can be viewed and tested at your Langflow deploy For example, `http://localhost:7860/docs`. + + + + + ## Export values @@ -115,6 +120,8 @@ A dictionary of all Langflow components. ### Run flow +See [Flows endpoints](/api-flows) + Execute a specified flow by ID or name. The flow is executed as a batch, but LLM responses can be streamed. @@ -400,2286 +407,6 @@ curl -X GET \ "health_check_max_retries": 5, "max_file_size_upload": 100 } -``` - - - - -## Build - -Use the `/build` endpoint to build vertices and flows, and execute those flows with streaming event responses. - -The `/build` endpoint offers additional configuration for running flows. - -For a simpler execution of your flows, use the [`/run` endpoint](/api-flows#run-flow) instead. - -### Build flow - -:::important -This endpoint is meant to be used by the frontend and is not optimized for external use. -To run your flow, use the [`/run` endpoint](/api-flows#run-flow) instead. -::: - -This endpoint builds and executes a flow, returning a job ID that can be used to stream execution events. - -1. Send a POST request to the `/build/{flow_id}/flow` endpoint. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "inputs": { - "input_value": "Tell me a story" - } - }' -``` - - - - -```json -{ - "job_id": "123e4567-e89b-12d3-a456-426614174000" -} -``` - - - - -2. After receiving a job ID from the build endpoint, use the `/build/{job_id}/events` endpoint to stream the execution results: - - - - -```text -curl -X GET \ - "$LANGFLOW_URL/api/v1/build/123e4567-e89b-12d3-a456-426614174000/events" \ - -H "accept: application/json" -``` - - - - -```json -{"event": "vertices_sorted", "data": {"ids": ["ChatInput-XtBLx"], "to_run": ["Prompt-x74Ze", "ChatOutput-ylMzN", "ChatInput-XtBLx", "OpenAIModel-d1wOZ"]}} - -{"event": "add_message", "data": {"timestamp": "2025-03-03T17:42:23", "sender": "User", "sender_name": "User", "session_id": "d2bbd92b-187e-4c84-b2d4-5df365704201", "text": "Tell me a story", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "28879bd8-6a68-4dd5-b658-74d643a4dd92", "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201"}} - -// ... Additional events as the flow executes ... - -{"event": "end", "data": {}} -``` - - - - -The events endpoint accepts an optional `stream` query parameter which defaults to `true`. -To disable streaming and get all events at once, set `stream` to `false`. - -```text -curl -X GET \ - "$LANGFLOW_URL/api/v1/build/123e4567-e89b-12d3-a456-426614174000/events?stream=false" \ - -H "accept: application/json" -``` - -### Build endpoint headers and parameters - -**Headers** -| Header | Info | Example | -|--------|------|---------| -| Content-Type | Required. Specifies the JSON format. | "application/json" | -| accept | Required. Specifies the response format. | "application/json" | -| x-api-key | Optional. Required only if authentication is enabled. | "sk-..." | - -The `/build/{flow_id}/flow` endpoint accepts the following parameters in its request body: - -**Parameters** -| Parameter | Type | Description | -|-----------|------|-------------| -| inputs | object | Optional. Input values for flow components. | -| data | object | Optional. Flow data to override stored configuration. | -| files | array[string] | Optional. List of file paths to use. | -| stop_component_id | string | Optional. ID of the component where the execution should stop. | -| start_component_id | string | Optional. ID of the component where the execution should start. | -| log_builds | boolean | Optional. Control build logging. Default: `true`. | - -### Configure the build endpoint - -The `/build` endpoint accepts optional values for `start_component_id` and `stop_component_id` to control where the flow run starts and stops. -Setting `stop_component_id` for a component triggers the same behavior as clicking the **Play** button on that component, where all dependent components leading up to that component are also run. -For example, to stop flow execution at the Open AI model component, run the following command: - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" \ - -d '{"stop_component_id": "OpenAIModel-Uksag"}' -``` - -The `/build` endpoint also accepts inputs for `data` directly, instead of using the values stored in the Langflow database. -This is useful for running flows without having to pass custom values through the UI. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "data": { - "nodes": [], - "edges": [] - }, - "inputs": { - "input_value": "Your custom input here", - "session": "session_id" - } - }' -``` - - - - -```json -{ "job_id": "0bcc7f23-40b4-4bfa-9b8a-a44181fd1175" } -``` - - - - -## Files - -Use the `/files` endpoint to add or delete files between your local machine and Langflow. - -There are `/v1` and `/v2` versions of the `/files` endpoints. -The `v2/files` version offers several improvements over `/v1`: - -- In `v1`, files are organized by `flow_id`. In `v2`, files are organized by `user_id`. - This means files are accessed based on user ownership, and not tied to specific flows. - You can upload a file to Langflow one time, and use it with multiple flows. -- In `v2`, files are tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. -- Responses from the `/v2` endpoint contain more descriptive metadata. -- The `v2` endpoints require authentication by an API key or JWT. -- The `/v2/files` endpoint does not support sending **image** files to flows through the API. To send **image** files to your flows through the API, follow the procedure in [Upload image files (v1)](#upload-image-files-v1). - -## Files/V1 endpoints - -Use the `/files` endpoint to add or delete files between your local machine and Langflow. - -- In `v1`, files are organized by `flow_id`. -- In `v2`, files are organized by `user_id` and tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. - -### Upload file (v1) - -Upload a file to the `v1/files/upload/` endpoint of your flow. -Replace **FILE_NAME** with the uploaded file name. - - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/files/upload/$FLOW_ID" \ - -H "accept: application/json" \ - -H "Content-Type: multipart/form-data" \ - -F "file=@FILE_NAME.txt" -``` - - - - -```json -{ - "flowId": "92f9a4c5-cfc8-4656-ae63-1f0881163c28", - "file_path": "92f9a4c5-cfc8-4656-ae63-1f0881163c28/2024-12-30_15-19-43_your_file.txt" -} -``` - - - - -### Upload image files (v1) - -Send image files to the Langflow API for AI analysis. - -The default file limit is 100 MB. To configure this value, change the `LANGFLOW_MAX_FILE_SIZE_UPLOAD` environment variable. -For more information, see [Supported environment variables](/environment-variables#supported-variables). - -1. To send an image to your flow with the API, POST the image file to the `v1/files/upload/` endpoint of your flow. - Replace **FILE_NAME** with the uploaded file name. - -```bash -curl -X POST "$LANGFLOW_URL/api/v1/files/upload/a430cc57-06bb-4c11-be39-d3d4de68d2c4" \ - -H "Content-Type: multipart/form-data" \ - -F "file=@FILE_NAME.png" -``` - -The API returns the image file path in the format `"file_path":"/_"}`. - -```json -{ - "flowId": "a430cc57-06bb-4c11-be39-d3d4de68d2c4", - "file_path": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png" -} -``` - -2. Post the image file to the **Chat Input** component of a **Basic prompting** flow. - Pass the file path value as an input in the **Tweaks** section of the curl call to Langflow. - To find your Chat input component's ID, use the [](#) - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/run/a430cc57-06bb-4c11-be39-d3d4de68d2c4?stream=false" \ - -H 'Content-Type: application/json'\ - -d '{ - "output_type": "chat", - "input_type": "chat", - "tweaks": { - "ChatInput-b67sL": { - "files": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png", - "input_value": "what do you see?" - } -}}' -``` - -Your chatbot describes the image file you sent. - -```text -"text": "This flowchart appears to represent a complex system for processing financial inquiries using various AI agents and tools. Here's a breakdown of its components and how they might work together..." -``` - -### List files (v1) - -List all files associated with a specific flow. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/files/list/$FLOW_ID" \ - -H "accept: application/json" -``` - - - - -```json -{ - "files": ["2024-12-30_15-19-43_your_file.txt"] -} -``` - - - - -### Download file (v1) - -Download a specific file from a flow. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/files/download/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \ - -H "accept: application/json" \ - --output downloaded_file.txt -``` - - - - -```text -File contents downloaded to downloaded_file.txt -``` - - - - -### Delete file (v1) - -Delete a specific file from a flow. - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v1/files/delete/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \ - -H "accept: application/json" -``` - - - - -```json -{ - "message": "File 2024-12-30_15-19-43_your_file.txt deleted successfully" -} -``` - - - - -## Files/V2 endpoints - -In `v2`, files are organized by `user_id` and tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. -The `v2` endpoints require authentication by an API key or JWT. -To create a Langflow API key and export it as an environment variable, see [Export values](#export-values). - -### Upload file (v2) - -Upload a file to your user account. The file can be used across multiple flows. - -The file is uploaded in the format `USER_ID/FILE_ID.FILE_EXTENSION`, such as `07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf`. - -To retrieve your current `user_id`, call the `/whoami` endpoint. -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/users/whoami" \ - -H "accept: application/json" -``` - -Result: -``` -{"id":"07e5b864-e367-4f52-b647-a48035ae7e5e","username":"langflow","profile_image":null,"store_api_key":null,"is_active":true,"is_superuser":true,"create_at":"2025-05-08T17:59:07.855965","updated_at":"2025-05-28T19:00:42.556460","last_login_at":"2025-05-28T19:00:42.554338","optins":{"github_starred":false,"dialog_dismissed":true,"discord_clicked":false,"mcp_dialog_dismissed":true}} -``` - -In the POST request to `v2/files`, replace **@FILE_NAME.EXTENSION** with the uploaded file name and its extension. -You must include the ampersand (`@`) in the request to instruct curl to upload the contents of the file, not the string `FILE_NAME.EXTENSION`. - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v2/files" \ - -H "accept: application/json" \ - -H "Content-Type: multipart/form-data" \ - -H "x-api-key: $LANGFLOW_API_KEY" \ - -F "file=@FILE_NAME.EXTENSION" -``` - -The file is uploaded in the format `USER_ID/FILE_ID.FILE_EXTENSION`, and the API returns metadata about the uploaded file: - -```json -{ - "id":"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94", - "name":"engine_manual", - "path":"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf", - "size":851160, - "provider":null -} -``` - -### Send files to your flows (v2) - -:::important -The `/v2/files` endpoint does not support sending **image** files to flows. -To send **image** files to your flows through the API, follow the procedure in [Upload image files (v1)](#upload-image-files-v1). -::: - -Send a file to your flow for analysis using the [File](/components-data#file) component and the API. -Your flow must contain a [File](/components-data#file) component to receive the file. - -The default file limit is 100 MB. To configure this value, change the `LANGFLOW_MAX_FILE_SIZE_UPLOAD` environment variable. -For more information, see [Supported environment variables](/environment-variables#supported-variables). - -1. To send a file to your flow with the API, POST the file to the `/api/v2/files` endpoint. - Replace **FILE_NAME** with the uploaded file name. - This is the same step described in [Upload file (v2)](#upload-file-v2), but since you need the filename to upload to your flow, it is included here. - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v2/files" \ - -H "accept: application/json" \ - -H "Content-Type: multipart/form-data" \ - -H "x-api-key: $LANGFLOW_API_KEY" \ - -F "file=@FILE_NAME.EXTENSION" -``` - -The file is uploaded in the format `USER_ID/FILE_ID.FILE_EXTENSION`, and the API returns metadata about the uploaded file: - -```json -{ - "id":"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94", - "name":"engine_manual", - "path":"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf", - "size":851160, - "provider": null -} -``` - -2. To use this file in your flow, add a [File](/components-data#file) component to load a file into the flow. -3. To load the file into your flow, send it to the **File** component. -To retrieve the **File** component's full name with the UUID attached, call the [Read flow](#read-flow) endpoint, and then include your **File** component and the file path as a tweak with the `/v1/run` POST request. -In this example, the file uploaded to `/v2/files` is included with the `/v1/run` POST request. - -```text -curl --request POST \ - --url "$LANGFLOW_URL/api/v1/run/$FLOW_ID" \ - --header "Content-Type: application/json" \ - --data '{ - "input_value": "what do you see?", - "output_type": "chat", - "input_type": "text", - "tweaks": { - "File-1olS3": { - "path": [ - "07e5b864-e367-4f52-b647-a48035ae7e5e/3a290013-fe1e-4d3d-a454-cacae81288f3.pdf" - ] - } - } -}' -``` - -Result: -```text -"text":"This document provides important safety information and instructions for selecting, installing, and operating Briggs & Stratton engines. It includes warnings and guidelines to prevent injury, fire, or damage, such as choosing the correct engine model, proper installation procedures, safe fuel handling, and correct engine operation. The document emphasizes following all safety precautions and using authorized parts to ensure safe and effective engine use." -``` - -### List files (v2) - -List all files associated with your user account. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v2/files" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" -``` - - - - -```json -[ - { - "id": "c7b22c4c-d5e0-4ec9-af97-5d85b7657a34", - "name": "your_file", - "path": "6f17a73e-97d7-4519-a8d9-8e4c0be411bb/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34.txt", - "size": 1234, - "provider": null - } -] -``` - - - - -### Download file (v2) - -Download a specific file by its ID and file extension. - -:::tip -You must specify the file type you expect in the `--output` value. -::: - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v2/files/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" \ - --output downloaded_file.txt -``` - - - - -```text -File contents downloaded to downloaded_file.txt -``` - - - - -### Edit file name (v2) - -Change a file name. - - - - -```bash -curl -X PUT \ - "$LANGFLOW_URL/api/v2/files/$FILE_ID?name=new_file_name" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" -``` - - - - -```json -{ - "id": "76543e40-f388-4cb3-b0ee-a1e870aca3d3", - "name": "new_file_name", - "path": "6f17a73e-97d7-4519-a8d9-8e4c0be411bb/76543e40-f388-4cb3-b0ee-a1e870aca3d3.png", - "size": 2728251, - "provider": null -} -``` - - - -### Delete file (v2) - -Delete a specific file by its ID. - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v2/files/$FILE_ID" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" -``` - - - - -```json -{ - "message": "File deleted successfully" -} -``` - - - - -### Delete all files (v2) - -Delete all files associated with your user account. - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v2/files" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" -``` - - - - -```json -{ - "message": "All files deleted successfully" -} -``` - - - - -## Flows - -Use the `/flows` endpoint to create, read, update, and delete flows. - -### Create flow - -Create a new flow. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "name": "string2", - "description": "string", - "icon": "string", - "icon_bg_color": "#FF0000", - "gradient": "string", - "data": {}, - "is_component": false, - "updated_at": "2024-12-30T15:48:01.519Z", - "webhook": false, - "endpoint_name": "string", - "tags": [ - "string" - ] -}' -``` - - - - -```json -{ - "name": "string2", - "description": "string", - "icon": "string", - "icon_bg_color": "#FF0000", - "gradient": "string", - "data": {}, - "is_component": false, - "updated_at": "2025-02-04T21:07:36+00:00", - "webhook": false, - "endpoint_name": "string", - "tags": ["string"], - "locked": false, - "id": "e8d81c37-714b-49ae-ba82-e61141f020ee", - "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3", - "project_id": "1415de42-8f01-4f36-bf34-539f23e47466" -} -``` - - - - -### Read flows - -Retrieve a list of flows with pagination support. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=false&components_only=false&get_all=true&header_flows=false&page=1&size=50" \ - -H "accept: application/json" -``` - - - - - -```text -A JSON object containing a list of flows. -``` - - - - -To retrieve only the flows from a specific project, pass `project_id` in the query string. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=true&components_only=false&get_all=false&project_id=$PROJECT_ID&header_flows=false&page=1&size=1" \ - -H "accept: application/json" -``` - - - - - -```text -A JSON object containing a list of flows. -``` - - - - -### Read flow - -Read a specific flow by its ID. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \ - -H "accept: application/json" -``` - - - - - -```json -{ - "name": "Basic Prompting", - "description": "Perform basic prompting with an OpenAI model.", - "icon": "Braces", - "icon_bg_color": null, - "gradient": "2", - "data": { - "nodes": [ - ... - ] - } -} -``` - - - - -### Update flow - -Update an existing flow by its ID. - -This example changes the value for `endpoint_name` from a random UUID to `my_new_endpoint_name`. - - - - -```bash -curl -X PATCH \ - "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "name": "string", - "description": "string", - "data": {}, - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "endpoint_name": "my_new_endpoint_name", - "locked": true -}' -``` - - - - -```json -{ - "name": "string", - "description": "string", - "icon": "Braces", - "icon_bg_color": null, - "gradient": "2", - "data": {}, - "is_component": false, - "updated_at": "2024-12-30T18:30:22+00:00", - "webhook": false, - "endpoint_name": "my_new_endpoint_name", - "tags": null, - "locked": true, - "id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3", - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" -} -``` - - - - -### Delete flow - -Delete a specific flow by its ID. - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \ - -H "accept: application/json" -``` - - - - - -```json -{ - "message": "Flow deleted successfully" -} -``` - - - - -### Create flows - -Create multiple new flows. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/batch/" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "flows": [ - { - "name": "string", - "description": "string", - "icon": "string", - "icon_bg_color": "string", - "gradient": "string", - "data": {}, - "is_component": false, - "updated_at": "2024-12-30T18:36:02.737Z", - "webhook": false, - "endpoint_name": "string", - "tags": [ - "string" - ], - "locked": false, - "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - }, - { - "name": "string", - "description": "string", - "icon": "string", - "icon_bg_color": "string", - "gradient": "string", - "data": {}, - "is_component": false, - "updated_at": "2024-12-30T18:36:02.737Z", - "webhook": false, - "endpoint_name": "string", - "tags": [ - "string" - ], - "locked": false, - "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - } - ] -}' -``` - - - - -```json -[ - { - // FlowRead objects - } -] -``` - - - - -### Upload flows - -Upload flows from a file. - -This example uploads a local file named `agent-with-astra-db-tool.json`. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/upload/?project_id=$PROJECT_ID" \ - -H "accept: application/json" \ - -H "Content-Type: multipart/form-data" \ - -F "file=@agent-with-astra-db-tool.json;type=application/json" -``` - - - - -```json -[ - { - "name": "agent-with-astra-db-tool", - "description": "", - "icon": null, - "icon_bg_color": null, - "gradient": null, - "data": {} - ... - } -] -``` - - - - -To specify a target project for the flow, include the query parameter `project_id`. -The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](#read-projects) endpoint for a list of available projects. -To specify a target project for the flow, include the query parameter `project_id`. -The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](#read-projects) endpoint for a list of available projects. - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/upload/?project_id=$PROJECT_ID" \ - -H "accept: application/json" \ - -H "Content-Type: multipart/form-data" \ - -F "file=@agent-with-astra-db-tool.json;type=application/json" -``` - -### Download all flows - -Download all flows as a ZIP file. - -This endpoint downloads a ZIP file containing flows for all `flow-id` values listed in the command's body. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/download/" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '[ - "e1e40c77-0541-41a9-88ab-ddb3419398b5", - "92f9a4c5-cfc8-4656-ae63-1f0881163c28" -]' \ - --output langflow-flows.zip -``` - - - - -```text - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed -100 76437 0 76353 100 84 4516k 5088 --:--:-- --:--:-- --:--:-- 4665k -``` - - - - -### Read basic examples - -Retrieve a list of basic example flows. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/flows/basic_examples/" \ - -H "accept: application/json" -``` - - - - -```text -A list of example flows. -``` - - - - -## Projects - -Use the `/projects` endpoint to create, read, update, and delete projects. - -Projects store your flows and components. - -### Read projects - -Get a list of Langflow projects. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/projects/" \ - -H "accept: application/json" -``` - - - - -```json -[ - { - "name": "My Projects", - "description": "Manage your own projects. Download and upload projects.", - "id": "1415de42-8f01-4f36-bf34-539f23e47466", - "parent_id": null - } -] -``` - - - - -### Create project - -Create a new project. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/projects/" \ - -H "Content-Type: application/json" \ - -d '{ - "name": "new_project_name", - "description": "string", - "components_list": [], - "flows_list": [] -}' -``` - - - - -```json -{ - "name": "new_project_name", - "description": "string", - "id": "b408ddb9-6266-4431-9be8-e04a62758331", - "parent_id": null -} -``` - - - - -To add flows and components at project creation, retrieve the `components_list` and `flows_list` values from the [/api/v1/store/components](#get-all-components) and [/api/v1/flows/read](#read-flows) endpoints and add them to the request body. - -Adding a flow to a project moves the flow from its previous location. The flow is not copied. - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/projects/" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "name": "new_project_name", - "description": "string", - "components_list": [ - "3fa85f64-5717-4562-b3fc-2c963f66afa6" - ], - "flows_list": [ - "3fa85f64-5717-4562-b3fc-2c963f66afa6" - ] -}' -``` - -### Read project - -Retrieve details of a specific project. - -To find the UUID of your project, call the [read projects](#read-projects) endpoint. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/projects/$PROJECT_ID" \ - -H "accept: application/json" -``` - - - - -```json -[ - { - "name": "My Projects", - "description": "Manage your own projects. Download and upload projects.", - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "parent_id": null - } -] -``` - - - - -### Update project - -Update the information of a specific project with a `PATCH` request. - -Each PATCH request updates the project with the values you send. -Only the fields you include in your request are updated. -If you send the same values multiple times, the update is still processed, even if the values are unchanged. - - - - -```bash -curl -X PATCH \ - "$LANGFLOW_URL/api/v1/projects/b408ddb9-6266-4431-9be8-e04a62758331" \ - -H "accept: application/json" \ - -d '{ - "name": "string", - "description": "string", - "parent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "components": [ - "3fa85f64-5717-4562-b3fc-2c963f66afa6" - ], - "flows": [ - "3fa85f64-5717-4562-b3fc-2c963f66afa6" - ] -}' -``` - - - - -```json -{ - "name": "string", - "description": "string", - "id": "b408ddb9-6266-4431-9be8-e04a62758331", - "parent_id": null -} -``` - - - - -### Delete project - -Delete a specific project. - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v1/projects/$PROJECT_ID" \ - -H "accept: */*" -``` - - - - -```text -204 No Content -``` - - - - -### Download project - -Download all flows from a project as a zip file. - -The `--output` flag is optional. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/projects/download/b408ddb9-6266-4431-9be8-e04a62758331" \ - -H "accept: application/json" \ - --output langflow-project.zip -``` - - - - -```text -The project contents. -``` - - - - -### Upload project - -Upload a project to Langflow. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/projects/upload/" \ - -H "accept: application/json" \ - -H "Content-Type: multipart/form-data" \ - -F "file=@20241230_135006_langflow_flows.zip;type=application/zip" -``` - - - - - -```text -The project contents are uploaded to Langflow. -``` - - - - -## Logs - -Retrieve logs for your Langflow flow. - -This endpoint requires log retrieval to be enabled in your Langflow application. - -To enable log retrieval, include these values in your `.env` file: - -```text -LANGFLOW_ENABLE_LOG_RETRIEVAL=true -LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE=10000 -LANGFLOW_LOG_LEVEL=DEBUG -``` - -For log retrieval to function, `LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE` needs to be greater than 0. The default value is `10000`. - -Start Langflow with this `.env`: - -```text -uv run langflow run --env-file .env -``` - -### Stream logs - -Stream logs in real-time using Server-Sent Events (SSE). - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/logs-stream" \ - -H "accept: text/event-stream" -``` - - - - -```text -keepalive - -{"1736355791151": "2025-01-08T12:03:11.151218-0500 DEBUG Building Chat Input\n"} - -{"1736355791485": "2025-01-08T12:03:11.485380-0500 DEBUG consumed event add_message-153bcd5d-ef4d-4ece-8cc0-47c6b6a9ef92 (time in queue, 0.0000, client 0.0001)\n"} - -{"1736355791499": "2025-01-08T12:03:11.499704-0500 DEBUG consumed event end_vertex-3d7125cd-7b8a-44eb-9113-ed5b785e3cf3 (time in queue, 0.0056, client 0.0047)\n"} - -{"1736355791502": "2025-01-08T12:03:11.502510-0500 DEBUG consumed event end-40d0b363-5618-4a23-bbae-487cd0b9594d (time in queue, 0.0001, client 0.0004)\n"} - -{"1736355791513": "2025-01-08T12:03:11.513097-0500 DEBUG Logged vertex build: 729ff2f8-6b01-48c8-9ad0-3743c2af9e8a\n"} - -{"1736355791834": "2025-01-08T12:03:11.834982-0500 DEBUG Telemetry data sent successfully.\n"} - -{"1736355791941": "2025-01-08T12:03:11.941840-0500 DEBUG Telemetry data sent successfully.\n"} - -keepalive -``` - - - - -### Retrieve logs with optional parameters - -Retrieve logs with optional query parameters. - -- `lines_before`: The number of logs before the timestamp or the last log. -- `lines_after`: The number of logs after the timestamp. -- `timestamp`: The timestamp to start getting logs from. - -The default values for all three parameters is `0`. -With these values, the endpoint returns the last 10 lines of logs. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/logs?lines_before=0&lines_after=0×tamp=0" \ - -H "accept: application/json" -``` - - - - -```text -{ - "1736354770500": "2025-01-08T11:46:10.500363-0500 DEBUG Creating starter project Document Q&A\n", - "1736354770511": "2025-01-08T11:46:10.511146-0500 DEBUG Creating starter project Image Sentiment Analysis\n", - "1736354770521": "2025-01-08T11:46:10.521018-0500 DEBUG Creating starter project SEO Keyword Generator\n", - "1736354770532": "2025-01-08T11:46:10.532677-0500 DEBUG Creating starter project Sequential Tasks Agents\n", - "1736354770544": "2025-01-08T11:46:10.544010-0500 DEBUG Creating starter project Custom Component Generator\n", - "1736354770555": "2025-01-08T11:46:10.555513-0500 DEBUG Creating starter project Prompt Chaining\n", - "1736354770588": "2025-01-08T11:46:10.588105-0500 DEBUG Create service ServiceType.CHAT_SERVICE\n", - "1736354771021": "2025-01-08T11:46:11.021817-0500 DEBUG Telemetry data sent successfully.\n", - "1736354775619": "2025-01-08T11:46:15.619545-0500 DEBUG Create service ServiceType.STORE_SERVICE\n", - "1736354775699": "2025-01-08T11:46:15.699661-0500 DEBUG File 046-rocket.svg retrieved successfully from flow /Users/mendon.kissling/Library/Caches/langflow/profile_pictures/Space.\n" -} -``` - - - - -## Monitor - -Use the `/monitor` endpoint to monitor and modify messages passed between Langflow components, vertex builds, and transactions. - -### Get Vertex builds - -Retrieve Vertex builds for a specific flow. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \ - -H "accept: application/json" -``` - - - - -```json -{ - "vertex_builds": { - "ChatInput-NCmix": [ - { - "data": { - "results": { - "message": { - "text_key": "text", - "data": { - "timestamp": "2024-12-23 19:10:57", - "sender": "User", - "sender_name": "User", - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "text": "Hello", - "files": [], - "error": "False", - "edit": "False", - "properties": { - "text_color": "", - "background_color": "", - "edited": "False", - "source": { - "id": "None", - "display_name": "None", - "source": "None" - }, - "icon": "", - "allow_markdown": "False", - "positive_feedback": "None", - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [], - "id": "c95bed34-f906-4aa6-84e4-68553f6db772", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - }, - "default_value": "", - "text": "Hello", - "sender": "User", - "sender_name": "User", - "files": [], - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "timestamp": "2024-12-23 19:10:57+00:00", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "error": "False", - "edit": "False", - "properties": { - "text_color": "", - "background_color": "", - "edited": "False", - "source": { - "id": "None", - "display_name": "None", - "source": "None" - }, - "icon": "", - "allow_markdown": "False", - "positive_feedback": "None", - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [] - } - }, - "outputs": { - "message": { - "message": { - "timestamp": "2024-12-23T19:10:57", - "sender": "User", - "sender_name": "User", - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "text": "Hello", - "files": [], - "error": false, - "edit": false, - "properties": { - "text_color": "", - "background_color": "", - "edited": false, - "source": { - "id": null, - "display_name": null, - "source": null - }, - "icon": "", - "allow_markdown": false, - "positive_feedback": null, - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [], - "id": "c95bed34-f906-4aa6-84e4-68553f6db772", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - }, - "type": "object" - } - }, - "logs": { "message": [] }, - "message": { - "message": "Hello", - "sender": "User", - "sender_name": "User", - "files": [], - "type": "object" - }, - "artifacts": { - "message": "Hello", - "sender": "User", - "sender_name": "User", - "files": [], - "type": "object" - }, - "timedelta": 0.015060124918818474, - "duration": "15 ms", - "used_frozen_result": false - }, - "artifacts": { - "message": "Hello", - "sender": "User", - "sender_name": "User", - "files": [], - "type": "object" - }, - "params": "- Files: []\n Message: Hello\n Sender: User\n Sender Name: User\n Type: object\n", - "valid": true, - "build_id": "40aa200e-74db-4651-b698-f80301d2b26b", - "id": "ChatInput-NCmix", - "timestamp": "2024-12-23T19:10:58.772766Z", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - } - ], - "Prompt-BEn9c": [ - { - "data": { - "results": {}, - "outputs": { - "prompt": { - "message": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", - "type": "text" - } - }, - "logs": { "prompt": [] }, - "message": { - "prompt": { - "repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", - "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", - "type": "text" - } - }, - "artifacts": { - "prompt": { - "repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", - "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", - "type": "text" - } - }, - "timedelta": 0.0057758750626817346, - "duration": "6 ms", - "used_frozen_result": false - }, - "artifacts": { - "prompt": { - "repr": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", - "raw": "Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.", - "type": "text" - } - }, - "params": "None", - "valid": true, - "build_id": "39bbbfde-97fd-42a5-a9ed-d42a5c5d532b", - "id": "Prompt-BEn9c", - "timestamp": "2024-12-23T19:10:58.781019Z", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - } - ], - "OpenAIModel-7AjrN": [ - { - "data": { - "results": {}, - "outputs": { - "text_output": { - "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "type": "text" - }, - "model_output": { "message": "", "type": "unknown" } - }, - "logs": { "text_output": [] }, - "message": { - "text_output": { - "repr": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "raw": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "type": "text" - } - }, - "artifacts": { - "text_output": { - "repr": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "raw": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "type": "text" - } - }, - "timedelta": 1.034765167045407, - "duration": "1.03 seconds", - "used_frozen_result": false - }, - "artifacts": { - "text_output": { - "repr": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "raw": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "type": "text" - } - }, - "params": "None", - "valid": true, - "build_id": "4f0ae730-a266-4d35-b89f-7b825c620a0f", - "id": "OpenAIModel-7AjrN", - "timestamp": "2024-12-23T19:10:58.790484Z", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - } - ], - "ChatOutput-sfUhT": [ - { - "data": { - "results": { - "message": { - "text_key": "text", - "data": { - "timestamp": "2024-12-23 19:10:58", - "sender": "Machine", - "sender_name": "AI", - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "text": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "files": [], - "error": "False", - "edit": "False", - "properties": { - "text_color": "", - "background_color": "", - "edited": "False", - "source": { - "id": "OpenAIModel-7AjrN", - "display_name": "OpenAI", - "source": "gpt-4o-mini" - }, - "icon": "OpenAI", - "allow_markdown": "False", - "positive_feedback": "None", - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [], - "id": "5688356d-9f30-40ca-9907-79a7a2fc16fd", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - }, - "default_value": "", - "text": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "sender": "Machine", - "sender_name": "AI", - "files": [], - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "timestamp": "2024-12-23 19:10:58+00:00", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "error": "False", - "edit": "False", - "properties": { - "text_color": "", - "background_color": "", - "edited": "False", - "source": { - "id": "OpenAIModel-7AjrN", - "display_name": "OpenAI", - "source": "gpt-4o-mini" - }, - "icon": "OpenAI", - "allow_markdown": "False", - "positive_feedback": "None", - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [] - } - }, - "outputs": { - "message": { - "message": { - "timestamp": "2024-12-23T19:10:58", - "sender": "Machine", - "sender_name": "AI", - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "text": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "files": [], - "error": false, - "edit": false, - "properties": { - "text_color": "", - "background_color": "", - "edited": false, - "source": { - "id": "OpenAIModel-7AjrN", - "display_name": "OpenAI", - "source": "gpt-4o-mini" - }, - "icon": "OpenAI", - "allow_markdown": false, - "positive_feedback": null, - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [], - "id": "5688356d-9f30-40ca-9907-79a7a2fc16fd", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - }, - "type": "object" - } - }, - "logs": { "message": [] }, - "message": { - "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "sender": "Machine", - "sender_name": "AI", - "files": [], - "type": "object" - }, - "artifacts": { - "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "sender": "Machine", - "sender_name": "AI", - "files": [], - "type": "object" - }, - "timedelta": 0.017838125000707805, - "duration": "18 ms", - "used_frozen_result": false - }, - "artifacts": { - "message": "Hello! 🌟 I'm excited to help you get started on your journey to building something fresh! What do you have in mind? Whether it's a project, an idea, or a concept, let's dive in and make it happen!", - "sender": "Machine", - "sender_name": "AI", - "files": [], - "type": "object" - }, - "params": "- Files: []\n Message: Hello! 🌟 I'm excited to help you get started on your journey to building\n something fresh! What do you have in mind? Whether it's a project, an idea, or\n a concept, let's dive in and make it happen!\n Sender: Machine\n Sender Name: AI\n Type: object\n", - "valid": true, - "build_id": "1e8b908b-aba7-403b-9e9b-eca92bb78668", - "id": "ChatOutput-sfUhT", - "timestamp": "2024-12-23T19:10:58.813268Z", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" - } - ] - } -} -``` - - - - -### Delete Vertex builds - -Delete Vertex builds for a specific flow. - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \ - -H "accept: */*" -``` - - - - -```text -204 No Content -``` - - - - -### Get messages - -Retrieve messages with optional filters. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/monitor/messages" \ - -H "accept: application/json" -``` - - - - -```text -A list of all messages. -``` - - - - -You can filter messages by `flow_id`, `session_id`, `sender`, and `sender_name`. -Results can be ordered with the `order_by` query string. - -This example retrieves messages sent by `Machine` and `AI` in a given chat session (`session_id`) and orders the messages by timestamp. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/monitor/messages?flow_id=$FLOW_ID&session_id=01ce083d-748b-4b8d-97b6-33adbb6a528a&sender=Machine&sender_name=AI&order_by=timestamp" \ - -H "accept: application/json" -``` - - - - -```json -[ - { - "id": "1c1d6134-9b8b-4079-931c-84dcaddf19ba", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "timestamp": "2024-12-23 19:20:11 UTC", - "sender": "Machine", - "sender_name": "AI", - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "text": "Hello! It's great to see you here! What exciting project or idea are you thinking about diving into today? Whether it's something fresh and innovative or a classic concept with a twist, I'm here to help you get started! Let's brainstorm together!", - "files": "[]", - "edit": false, - "properties": { - "text_color": "", - "background_color": "", - "edited": false, - "source": { - "id": "OpenAIModel-7AjrN", - "display_name": "OpenAI", - "source": "gpt-4o-mini" - }, - "icon": "OpenAI", - "allow_markdown": false, - "positive_feedback": null, - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [] - } -] -``` - - - - -### Delete messages - -Delete specific messages by their IDs. - -This example deletes the message retrieved in the previous Get messages example. - - - - -```bash -curl -v -X DELETE \ - "$LANGFLOW_URL/api/v1/monitor/messages" \ - -H "accept: */*" \ - -H "Content-Type: application/json" \ - -d '["MESSAGE_ID_1", "MESSAGE_ID_2"]' -``` - - - - -```text -204 No Content -``` - - - - -### Update message - -Update a specific message by its ID. - -This example updates the `text` value of message `3ab66cc6-c048-48f8-ab07-570f5af7b160`. - - - - -```bash -curl -X PUT \ - "$LANGFLOW_URL/api/v1/monitor/messages/3ab66cc6-c048-48f8-ab07-570f5af7b160" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "text": "testing 1234" -}' -``` - - - - -```json -{ - "timestamp": "2024-12-23T18:49:06", - "sender": "string", - "sender_name": "string", - "session_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "text": "testing 1234", - "files": ["string"], - "error": true, - "edit": true, - "properties": { - "text_color": "string", - "background_color": "string", - "edited": false, - "source": { "id": "string", "display_name": "string", "source": "string" }, - "icon": "string", - "allow_markdown": false, - "positive_feedback": true, - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [], - "id": "3ab66cc6-c048-48f8-ab07-570f5af7b160", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a" -} -``` - - - - -### Update session ID - -Update the session ID for messages. - -This example updates the `session_ID` value `01ce083d-748b-4b8d-97b6-33adbb6a528a` to `different_session_id`. - - - - -```bash -curl -X PATCH \ - "$LANGFLOW_URL/api/v1/monitor/messages/session/01ce083d-748b-4b8d-97b6-33adbb6a528a?new_session_id=different_session_id" \ - -H "accept: application/json" -``` - - - - -```json -[ - { - "id": "8dd7f064-e63a-4773-b472-ca0475249dfd", - "flow_id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", - "timestamp": "2024-12-23 18:49:55 UTC", - "sender": "User", - "sender_name": "User", - "session_id": "different_session_id", - "text": "message", - "files": "[]", - "edit": false, - "properties": { - "text_color": "", - "background_color": "", - "edited": false, - "source": { - "id": null, - "display_name": null, - "source": null - }, - "icon": "", - "allow_markdown": false, - "positive_feedback": null, - "state": "complete", - "targets": [] - }, - "category": "message", - "content_blocks": [] - } -] -``` - - - - -### Delete messages by session - -Delete all messages for a specific session. - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v1/monitor/messages/session/different_session_id_2" \ - -H "accept: */*" -``` - - - - -```text -HTTP/1.1 204 No Content -``` - - - - -### Get transactions - -Retrieve all transactions (interactions between components) for a specific flow. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/monitor/transactions?flow_id=$FLOW_ID&page=1&size=50" \ - -H "accept: application/json" -``` - - - - -```json -{ - "items": [ - { - "timestamp": "2024-12-23T20:05:01.061Z", - "vertex_id": "string", - "target_id": "string", - "inputs": {}, - "outputs": {}, - "status": "string", - "error": "string", - "flow_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - } - ], - "total": 0, - "page": 1, - "size": 1, - "pages": 0 -} -``` - - - - -## Users - -Use the `/users` endpoint to manage user accounts in Langflow. - -The `user_id` value is specifically for Langflow's user system, which is stored in the Langflow database and managed at the `/users` API endpoint. -The `user_id` primary key in the Langflow database is mapped to the `id` value in the API. - -### Add user - -Create a new user account with a username and password. - -This creates a new UUID for the user's `id`, which is mapped to `user_id` in the Langflow database. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/users/" \ - -H "Content-Type: application/json" \ - -d '{ - "username": "newuser2", - "password": "securepassword123" - }' -``` - - - - -```json -{ - "id": "10c1c6a2-ab8a-4748-8700-0e4832fd5ce8", - "username": "newuser2", - "profile_image": null, - "store_api_key": null, - "is_active": false, - "is_superuser": false, - "create_at": "2025-05-29T16:02:20.132436", - "updated_at": "2025-05-29T16:02:20.132442", - "last_login_at": null, - "optins": { - "github_starred": false, - "dialog_dismissed": false, - "discord_clicked": false - } -} -``` - - - - -### Get current user - -Retrieve information about the currently authenticated user. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/users/whoami" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" -``` - - - - -```json -{ - "id": "07e5b864-e367-4f52-b647-a48035ae7e5e", - "username": "langflow", - "profile_image": null, - "store_api_key": null, - "is_active": true, - "is_superuser": true, - "create_at": "2025-05-08T17:59:07.855965", - "updated_at": "2025-05-29T15:06:56.157860", - "last_login_at": "2025-05-29T15:06:56.157016", -} -``` - - - - -### List all users - -Get a paginated list of all users in the system. -Only superusers can use this endpoint (`is_superuser: true`). - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/users/?skip=0&limit=10" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" -``` - - - - -```json -{ - "total_count": 3, - "users": [ - { - "id": "07e5b864-e367-4f52-b647-a48035ae7e5e", - "username": "langflow", - "profile_image": null, - "store_api_key": null, - "is_active": true, - "is_superuser": true, - "create_at": "2025-05-08T17:59:07.855965", - "updated_at": "2025-05-29T15:06:56.157860", - "last_login_at": "2025-05-29T15:06:56.157016", - "optins": { - "github_starred": false, - "dialog_dismissed": true, - "discord_clicked": false, - "mcp_dialog_dismissed": true - } - }, - { - "id": "c48a1f68-cc7e-491a-a507-a1a627708470", - "username": "newuser", - "profile_image": null, - "store_api_key": null, - "is_active": false, - "is_superuser": false, - "create_at": "2025-05-29T16:00:33.483386", - "updated_at": "2025-05-29T16:00:33.483392", - "last_login_at": null, - "optins": { - "github_starred": false, - "dialog_dismissed": false, - "discord_clicked": false - } - }, - { - "id": "10c1c6a2-ab8a-4748-8700-0e4832fd5ce8", - "username": "newuser2", - "profile_image": null, - "store_api_key": null, - "is_active": false, - "is_superuser": false, - "create_at": "2025-05-29T16:02:20.132436", - "updated_at": "2025-05-29T16:02:20.132442", - "last_login_at": null, - "optins": { - "github_starred": false, - "dialog_dismissed": false, - "discord_clicked": false - } - } - ] -} -``` - - - - -### Update user - -Modify an existing user's information with a PATCH request. - -This example makes the user `10c1c6a2-ab8a-4748-8700-0e4832fd5ce8` an active superuser. - - - - -```bash -curl -X PATCH \ - "$LANGFLOW_URL/api/v1/users/10c1c6a2-ab8a-4748-8700-0e4832fd5ce8" \ - -H "Content-Type: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" \ - -d '{ - "is_active": true, - "is_superuser": true - }' -``` - - - - -```json -{ - "id": "10c1c6a2-ab8a-4748-8700-0e4832fd5ce8", - "username": "newuser2", - "profile_image": null, - "store_api_key": null, - "is_active": true, - "is_superuser": true, - "create_at": "2025-05-29T16:02:20.132436", - "updated_at": "2025-05-29T16:19:03.514527Z", - "last_login_at": null, - "optins": { - "github_starred": false, - "dialog_dismissed": false, - "discord_clicked": false - } -} -``` - - - - -### Reset password - -Change a user's password to a new secure value. - -You can't change another user's password. - - - - -```bash -curl -X PATCH \ - "$LANGFLOW_URL/api/v1/users/10c1c6a2-ab8a-4748-8700-0e4832fd5ce8/reset-password" \ - -H "Content-Type: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" \ - -d '{ - "password": "newsecurepassword123" - }' -``` - - - - -```json -{ - "id": "07e5b864-e367-4f52-b647-a48035ae7e5e", - "username": "langflow", - "profile_image": null, - "store_api_key": null, - "is_active": true, - "is_superuser": true, - "create_at": "2025-05-08T17:59:07.855965", - "updated_at": "2025-05-29T15:06:56.157860", - "last_login_at": "2025-05-29T15:06:56.157016", - "optins": { - "github_starred": false, - "dialog_dismissed": true, - "discord_clicked": false - } -} -``` - - - - -### Delete user - -Remove a user account from the system. - -Only superusers can use this endpoint (`is_superuser: true`). - - - - -```bash -curl -X DELETE \ - "$LANGFLOW_URL/api/v1/users/10c1c6a2-ab8a-4748-8700-0e4832fd5ce8" \ - -H "accept: application/json" \ - -H "x-api-key: $LANGFLOW_API_KEY" -``` - - - - -```json -{ - "detail": "User deleted" -} ``` diff --git a/docs/docs/API-Reference/api-users.md b/docs/docs/API-Reference/api-users.md index 34229905e59d..ada50cbe73a6 100644 --- a/docs/docs/API-Reference/api-users.md +++ b/docs/docs/API-Reference/api-users.md @@ -4,4 +4,282 @@ slug: /api-users --- import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file +import TabItem from '@theme/TabItem'; + +Use the `/users` endpoint to manage user accounts in Langflow. + +The `user_id` value is specifically for Langflow's user system, which is stored in the Langflow database and managed at the `/users` API endpoint. +The `user_id` primary key in the Langflow database is mapped to the `id` value in the API. + +## Add user + +Create a new user account with a username and password. + +This creates a new UUID for the user's `id`, which is mapped to `user_id` in the Langflow database. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/users/" \ + -H "Content-Type: application/json" \ + -d '{ + "username": "newuser2", + "password": "securepassword123" + }' +``` + + + + +```json +{ + "id": "10c1c6a2-ab8a-4748-8700-0e4832fd5ce8", + "username": "newuser2", + "profile_image": null, + "store_api_key": null, + "is_active": false, + "is_superuser": false, + "create_at": "2025-05-29T16:02:20.132436", + "updated_at": "2025-05-29T16:02:20.132442", + "last_login_at": null, + "optins": { + "github_starred": false, + "dialog_dismissed": false, + "discord_clicked": false + } +} +``` + + + + +## Get current user + +Retrieve information about the currently authenticated user. + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/users/whoami" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" +``` + + + + +```json +{ + "id": "07e5b864-e367-4f52-b647-a48035ae7e5e", + "username": "langflow", + "profile_image": null, + "store_api_key": null, + "is_active": true, + "is_superuser": true, + "create_at": "2025-05-08T17:59:07.855965", + "updated_at": "2025-05-29T15:06:56.157860", + "last_login_at": "2025-05-29T15:06:56.157016", +} +``` + + + + +## List all users + +Get a paginated list of all users in the system. +Only superusers can use this endpoint (`is_superuser: true`). + + + + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/users/?skip=0&limit=10" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" +``` + + + + +```json +{ + "total_count": 3, + "users": [ + { + "id": "07e5b864-e367-4f52-b647-a48035ae7e5e", + "username": "langflow", + "profile_image": null, + "store_api_key": null, + "is_active": true, + "is_superuser": true, + "create_at": "2025-05-08T17:59:07.855965", + "updated_at": "2025-05-29T15:06:56.157860", + "last_login_at": "2025-05-29T15:06:56.157016", + "optins": { + "github_starred": false, + "dialog_dismissed": true, + "discord_clicked": false, + "mcp_dialog_dismissed": true + } + }, + { + "id": "c48a1f68-cc7e-491a-a507-a1a627708470", + "username": "newuser", + "profile_image": null, + "store_api_key": null, + "is_active": false, + "is_superuser": false, + "create_at": "2025-05-29T16:00:33.483386", + "updated_at": "2025-05-29T16:00:33.483392", + "last_login_at": null, + "optins": { + "github_starred": false, + "dialog_dismissed": false, + "discord_clicked": false + } + }, + { + "id": "10c1c6a2-ab8a-4748-8700-0e4832fd5ce8", + "username": "newuser2", + "profile_image": null, + "store_api_key": null, + "is_active": false, + "is_superuser": false, + "create_at": "2025-05-29T16:02:20.132436", + "updated_at": "2025-05-29T16:02:20.132442", + "last_login_at": null, + "optins": { + "github_starred": false, + "dialog_dismissed": false, + "discord_clicked": false + } + } + ] +} +``` + + + + +## Update user + +Modify an existing user's information with a PATCH request. + +This example makes the user `10c1c6a2-ab8a-4748-8700-0e4832fd5ce8` an active superuser. + + + + +```bash +curl -X PATCH \ + "$LANGFLOW_URL/api/v1/users/10c1c6a2-ab8a-4748-8700-0e4832fd5ce8" \ + -H "Content-Type: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" \ + -d '{ + "is_active": true, + "is_superuser": true + }' +``` + + + + +```json +{ + "id": "10c1c6a2-ab8a-4748-8700-0e4832fd5ce8", + "username": "newuser2", + "profile_image": null, + "store_api_key": null, + "is_active": true, + "is_superuser": true, + "create_at": "2025-05-29T16:02:20.132436", + "updated_at": "2025-05-29T16:19:03.514527Z", + "last_login_at": null, + "optins": { + "github_starred": false, + "dialog_dismissed": false, + "discord_clicked": false + } +} +``` + + + + +## Reset password + +Change a user's password to a new secure value. + +You can't change another user's password. + + + + +```bash +curl -X PATCH \ + "$LANGFLOW_URL/api/v1/users/10c1c6a2-ab8a-4748-8700-0e4832fd5ce8/reset-password" \ + -H "Content-Type: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" \ + -d '{ + "password": "newsecurepassword123" + }' +``` + + + + +```json +{ + "id": "07e5b864-e367-4f52-b647-a48035ae7e5e", + "username": "langflow", + "profile_image": null, + "store_api_key": null, + "is_active": true, + "is_superuser": true, + "create_at": "2025-05-08T17:59:07.855965", + "updated_at": "2025-05-29T15:06:56.157860", + "last_login_at": "2025-05-29T15:06:56.157016", + "optins": { + "github_starred": false, + "dialog_dismissed": true, + "discord_clicked": false + } +} +``` + + + + +## Delete user + +Remove a user account from the system. + +Only superusers can use this endpoint (`is_superuser: true`). + + + + +```bash +curl -X DELETE \ + "$LANGFLOW_URL/api/v1/users/10c1c6a2-ab8a-4748-8700-0e4832fd5ce8" \ + -H "accept: application/json" \ + -H "x-api-key: $LANGFLOW_API_KEY" +``` + + + + +```json +{ + "detail": "User deleted" +} +``` + + + \ No newline at end of file From e19731b3a0b6fbc54f47c4106cc3468e5489d7da Mon Sep 17 00:00:00 2001 From: April M Date: Thu, 19 Jun 2025 09:12:07 -0700 Subject: [PATCH 03/12] break up examples page and do some minor cleanup --- docs/docs/API-Reference/api-base.md | 7 - docs/docs/API-Reference/api-build.md | 21 +- docs/docs/API-Reference/api-files.md | 11 +- docs/docs/API-Reference/api-flows-run.md | 203 +++++ docs/docs/API-Reference/api-flows.md | 273 +++---- docs/docs/API-Reference/api-logs.md | 30 +- docs/docs/API-Reference/api-monitor.md | 18 +- docs/docs/API-Reference/api-projects.md | 37 +- .../api-reference-api-examples.md | 309 +------- .../docs/Develop/Clients/typescript-client.md | 2 +- docs/docs/Develop/develop-application.md | 2 +- docs/sidebars.js | 20 +- docs/yarn.lock | 741 +++++++----------- yarn.lock | 4 + 14 files changed, 678 insertions(+), 1000 deletions(-) delete mode 100644 docs/docs/API-Reference/api-base.md create mode 100644 docs/docs/API-Reference/api-flows-run.md create mode 100644 yarn.lock diff --git a/docs/docs/API-Reference/api-base.md b/docs/docs/API-Reference/api-base.md deleted file mode 100644 index a80327f3dd6c..000000000000 --- a/docs/docs/API-Reference/api-base.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Base endpoints -slug: /api-base ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; \ No newline at end of file diff --git a/docs/docs/API-Reference/api-build.md b/docs/docs/API-Reference/api-build.md index 0555abd047b4..394d92ab76d6 100644 --- a/docs/docs/API-Reference/api-build.md +++ b/docs/docs/API-Reference/api-build.md @@ -10,15 +10,14 @@ Use the `/build` endpoint to build vertices and flows, and execute those flows w The `/build` endpoint offers additional configuration for running flows. -For a simpler execution of your flows, use the [`/run` endpoint](/api-flows#run-flow) instead. - -## Build flow - :::important -This endpoint is meant to be used by the frontend and is not optimized for external use. -To run your flow, use the [`/run` endpoint](/api-flows#run-flow) instead. +This `/build` endpoints are meant to be used by the frontend, and they aren't optimized for external use. + +To run a flow, use the [`/run` endpoint](/api-flows-run#run-flow). ::: +## Build flow and stream events + This endpoint builds and executes a flow, returning a job ID that can be used to stream execution events. 1. Send a POST request to the `/build/{flow_id}/flow` endpoint. @@ -86,9 +85,8 @@ curl -X GET \ -H "accept: application/json" ``` -## Build endpoint headers and parameters +## Build headers -**Headers** | Header | Info | Example | |--------|------|---------| | Content-Type | Required. Specifies the JSON format. | "application/json" | @@ -97,7 +95,8 @@ curl -X GET \ The `/build/{flow_id}/flow` endpoint accepts the following parameters in its request body: -**Parameters** +## Build parameters + | Parameter | Type | Description | |-----------|------|-------------| | inputs | object | Optional. Input values for flow components. | @@ -107,7 +106,7 @@ The `/build/{flow_id}/flow` endpoint accepts the following parameters in its req | start_component_id | string | Optional. ID of the component where the execution should start. | | log_builds | boolean | Optional. Control build logging. Default: `true`. | -## Configure the build endpoint +### Set start and stop points The `/build` endpoint accepts optional values for `start_component_id` and `stop_component_id` to control where the flow run starts and stops. Setting `stop_component_id` for a component triggers the same behavior as clicking the **Play** button on that component, where all dependent components leading up to that component are also run. @@ -122,6 +121,8 @@ curl -X POST \ -d '{"stop_component_id": "OpenAIModel-Uksag"}' ``` +### Override flow parameters + The `/build` endpoint also accepts inputs for `data` directly, instead of using the values stored in the Langflow database. This is useful for running flows without having to pass custom values through the UI. diff --git a/docs/docs/API-Reference/api-files.md b/docs/docs/API-Reference/api-files.md index da5af6345056..66426b9597a1 100644 --- a/docs/docs/API-Reference/api-files.md +++ b/docs/docs/API-Reference/api-files.md @@ -81,6 +81,7 @@ The API returns the image file path in the format `"file_path":"/< } ``` + 2. Post the image file to the **Chat Input** component of a **Basic prompting** flow. Pass the file path value as an input in the **Tweaks** section of the curl call to Langflow. To find your Chat input component's ID, use the [](#) @@ -184,7 +185,7 @@ curl -X DELETE \ In `v2`, files are organized by `user_id` and tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. The `v2` endpoints require authentication by an API key or JWT. -To create a Langflow API key and export it as an environment variable, see [Export values](#export-values). +To create a Langflow API key and export it as an environment variable, see [Get started with the Langflow API](/api-reference-api-examples). ### Upload file (v2) @@ -268,7 +269,7 @@ The file is uploaded in the format `USER_ID/FILE_ID.FILE_EXTENSION`, and the API 2. To use this file in your flow, add a [File](/components-data#file) component to load a file into the flow. 3. To load the file into your flow, send it to the **File** component. -To retrieve the **File** component's full name with the UUID attached, call the [Read flow](#read-flow) endpoint, and then include your **File** component and the file path as a tweak with the `/v1/run` POST request. +To retrieve the **File** component's full name with the UUID attached, call the [Read flow](/api-flows#read-flow) endpoint, and then include your **File** component and the file path as a tweak with the `/v1/run` POST request. In this example, the file uploaded to `/v2/files` is included with the `/v1/run` POST request. ```text @@ -434,4 +435,8 @@ curl -X DELETE \ ``` - \ No newline at end of file + + +## Create upload file (Deprecated) + +This endpoint is deprecated. Use the `/files` endpoints instead. \ No newline at end of file diff --git a/docs/docs/API-Reference/api-flows-run.md b/docs/docs/API-Reference/api-flows-run.md new file mode 100644 index 000000000000..5c1bbe689253 --- /dev/null +++ b/docs/docs/API-Reference/api-flows-run.md @@ -0,0 +1,203 @@ +--- +title: Flow trigger endpoints +slug: /api-flows-run +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Use the `/run` amd `/webhook` endpoints to run flows. + +To create, read, update, and delete flows, see [Flow management endpoints](/api-flows). + +## Run flow + +Execute a specified flow by ID or name. +The flow is executed as a batch, but LLM responses can be streamed. + +This example runs a [Basic Prompting](/starter-projects-basic-prompting) flow with a given `flow_id` and passes a JSON object as the input value. + +The parameters are passed in the request body. In this example, the values are the default values. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/run/$FLOW_ID" \ + -H "Content-Type: application/json" \ + -d '{ + "input_value": "Tell me about something interesting!", + "session_id": "chat-123", + "input_type": "chat", + "output_type": "chat", + "output_component": "", + "tweaks": null + }' +``` + + + + +```text +{ + "session_id": "chat-123", + "outputs": [{ + "inputs": { + "input_value": "Tell me about something interesting!" + }, + "outputs": [{ + "results": { + "message": { + "text": "Sure! Have you ever heard of the phenomenon known as \"bioluminescence\"? It's a fascinating natural occurrence where living organisms produce and emit light. This ability is found in various species, including certain types of jellyfish, fireflies, and deep-sea creatures like anglerfish.\n\nBioluminescence occurs through a chemical reaction in which a light-emitting molecule called luciferin reacts with oxygen, catalyzed by an enzyme called luciferase. The result is a beautiful glow that can serve various purposes, such as attracting mates, deterring predators, or luring prey.\n\nOne of the most stunning displays of bioluminescence can be seen in the ocean, where certain plankton emit light when disturbed, creating a mesmerizing blue glow in the water. This phenomenon is often referred to as \"sea sparkle\" and can be seen in coastal areas around the world.\n\nBioluminescence not only captivates our imagination but also has practical applications in science and medicine, including the development of biosensors and imaging techniques. It's a remarkable example of nature's creativity and complexity!", + "sender": "Machine", + "sender_name": "AI", + "session_id": "chat-123", + "timestamp": "2025-03-03T17:17:37+00:00", + "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201", + "properties": { + "source": { + "id": "OpenAIModel-d1wOZ", + "display_name": "OpenAI", + "source": "gpt-4o-mini" + }, + "icon": "OpenAI" + }, + "component_id": "ChatOutput-ylMzN" + } + } + }] + }] +} +``` + + + + +### Stream LLM token responses + +To stream LLM token responses, append the `?stream=true` query parameter to the request. LLM chat responses are streamed back as `token` events until the `end` event closes the connection. + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=true" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "message": "Tell me something interesting!", + "session_id": "chat-123" + }' +``` + + + + +```text +{"event": "add_message", "data": {"timestamp": "2025-03-03T17:20:18", "sender": "User", "sender_name": "User", "session_id": "chat-123", "text": "Tell me about something interesting!", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "0103a21b-ebf7-4c02-9d72-017fb297f812", "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201"}} + +{"event": "add_message", "data": {"timestamp": "2025-03-03T17:20:18", "sender": "Machine", "sender_name": "AI", "session_id": "chat-123", "text": "", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-d1wOZ", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "27b66789-e673-4c65-9e81-021752925161", "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201"}} + +{"event": "token", "data": {"chunk": " Have", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} + +{"event": "token", "data": {"chunk": " you", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} + +{"event": "token", "data": {"chunk": " ever", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} + +{"event": "token", "data": {"chunk": " heard", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} + +{"event": "token", "data": {"chunk": " of", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} + +{"event": "token", "data": {"chunk": " the", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} + +{"event": "token", "data": {"chunk": " phenomenon", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} + +{"event": "end", "data": {"result": {"session_id": "chat-123", "message": "Sure! Have you ever heard of the phenomenon known as \"bioluminescence\"?..."}}} +``` + + + + +This result is abbreviated, but illustrates where the `end` event completes the LLM's token streaming response. + +### Run endpoint headers + +| Header | Info | Example | +|--------|------|---------| +| Content-Type | Required. Specifies the JSON format. | "application/json" | +| accept | Required. Specifies the response format. | "application/json" | +| x-api-key | Optional. Required only if authentication is enabled. | "sk-..." | + +### Run endpoint parameters + +| Parameter | Type | Info | +|-----------|------|------| +| flow_id | UUID/string | Required. Part of URL: `/run/{flow_id}` | +| stream | boolean | Optional. Query parameter: `/run/{flow_id}?stream=true` | +| input_value | string | Optional. JSON body field. Main input text/prompt. Default: `null` | +| input_type | string | Optional. JSON body field. Input type ("chat" or "text"). Default: `"chat"` | +| output_type | string | Optional. JSON body field. Output type ("chat", "any", "debug"). Default: `"chat"` | +| output_component | string | Optional. JSON body field. Target component for output. Default: `""` | +| tweaks | object | Optional. JSON body field. Component adjustments. Default: `null` | +| session_id | string | Optional. JSON body field. Conversation context ID. Default: `null` | + +### Request example with all headers and parameters + +```bash +curl -X POST \ + "http://$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=true" \ + -H "Content-Type: application/json" \ + -H "accept: application/json" \ + -H "x-api-key: sk-..." \ + -d '{ + "input_value": "Tell me a story", + "input_type": "chat", + "output_type": "chat", + "output_component": "chat_output", + "session_id": "chat-123", + "tweaks": { + "component_id": { + "parameter_name": "value" + } + } + }' +``` + +## Webhook run flow + +The webhook endpoint triggers flow execution with an HTTP POST request. + +When a **Webhook** component is added to the workspace, a new **Webhook cURL** tab becomes available in the **API** pane that contains an HTTP POST request for triggering the webhook component, similar to the call in this example. + +To test the **Webhook** component in your flow, see the [Webhook component](/components-data#webhook). + + + + +```bash +curl -X POST \ + "$LANGFLOW_URL/api/v1/webhook/$FLOW_ID" \ + -H "Content-Type: application/json" \ + -d '{"data": "example-data"}' +``` + + + + +```text +{ + {"message":"Task started in the background","status":"in progress"} +} +``` + + + + +## Deprecated flow trigger endpoints + +The following endpoints are deprecated and replaced by the `/run` endpoint: + +* `/process` +* `/predict` \ No newline at end of file diff --git a/docs/docs/API-Reference/api-flows.md b/docs/docs/API-Reference/api-flows.md index dff8cfc456a0..a1a900dc72bb 100644 --- a/docs/docs/API-Reference/api-flows.md +++ b/docs/docs/API-Reference/api-flows.md @@ -1,5 +1,5 @@ --- -title: Flows endpoints +title: Flow management endpoints slug: /api-flows --- @@ -8,6 +8,10 @@ import TabItem from '@theme/TabItem'; Use the `/flows` endpoint to create, read, update, and delete flows. +## Run flows + +See [Flow trigger endpoints](/api-flows-run). + ## Create flow Create a new flow. @@ -63,55 +67,79 @@ curl -X POST \ -## Read flows - -Retrieve a list of flows with pagination support. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=false&components_only=false&get_all=true&header_flows=false&page=1&size=50" \ - -H "accept: application/json" -``` - - - - - -```text -A JSON object containing a list of flows. -``` - - - +## Create flows -To retrieve only the flows from a specific project, pass `project_id` in the query string. +Create multiple new flows. - + ```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=true&components_only=false&get_all=false&project_id=$PROJECT_ID&header_flows=false&page=1&size=1" \ - -H "accept: application/json" +curl -X POST \ + "$LANGFLOW_URL/api/v1/flows/batch/" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{ + "flows": [ + { + "name": "string", + "description": "string", + "icon": "string", + "icon_bg_color": "string", + "gradient": "string", + "data": {}, + "is_component": false, + "updated_at": "2024-12-30T18:36:02.737Z", + "webhook": false, + "endpoint_name": "string", + "tags": [ + "string" + ], + "locked": false, + "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + }, + { + "name": "string", + "description": "string", + "icon": "string", + "icon_bg_color": "string", + "gradient": "string", + "data": {}, + "is_component": false, + "updated_at": "2024-12-30T18:36:02.737Z", + "webhook": false, + "endpoint_name": "string", + "tags": [ + "string" + ], + "locked": false, + "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + ] +}' ``` - - - + + -```text -A JSON object containing a list of flows. +```json +[ + { + // FlowRead objects + } +] ``` - + ## Read flow -Read a specific flow by its ID. +Retrieve a specific flow by its ID. @@ -144,6 +172,36 @@ curl -X GET \ +## Read flows + +Returns a JSON object containing a list of flows. + +Retrieve all flows with pagination: + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=false&components_only=false&get_all=true&header_flows=false&page=1&size=50" \ + -H "accept: application/json" +``` + +To retrieve flows from a specific project, use the `project_id` query parameter: + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/flows/?remove_example_flows=true&components_only=false&get_all=false&project_id=$PROJECT_ID&header_flows=false&page=1&size=1" \ + -H "accept: application/json" +``` + +## Read sample flows + +Retrieve a list of sample flows. + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/flows/basic_examples/" \ + -H "accept: application/json" +``` + ## Update flow Update an existing flow by its ID. @@ -222,81 +280,47 @@ curl -X DELETE \ -## Create flows +## Export flows -Create multiple new flows. +Export specified flows to a ZIP file. + +This endpoint downloads a ZIP file containing [Langflow JSON files](/concepts-flows#langflow-json-file-contents) for each flow ID listed in the request body. ```bash curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/batch/" \ + "$LANGFLOW_URL/api/v1/flows/download/" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ - -d '{ - "flows": [ - { - "name": "string", - "description": "string", - "icon": "string", - "icon_bg_color": "string", - "gradient": "string", - "data": {}, - "is_component": false, - "updated_at": "2024-12-30T18:36:02.737Z", - "webhook": false, - "endpoint_name": "string", - "tags": [ - "string" - ], - "locked": false, - "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - }, - { - "name": "string", - "description": "string", - "icon": "string", - "icon_bg_color": "string", - "gradient": "string", - "data": {}, - "is_component": false, - "updated_at": "2024-12-30T18:36:02.737Z", - "webhook": false, - "endpoint_name": "string", - "tags": [ - "string" - ], - "locked": false, - "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - } - ] -}' + -d '[ + "e1e40c77-0541-41a9-88ab-ddb3419398b5", + "92f9a4c5-cfc8-4656-ae63-1f0881163c28" +]' \ + --output langflow-flows.zip ``` -```json -[ - { - // FlowRead objects - } -] +```text + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 76437 0 76353 100 84 4516k 5088 --:--:-- --:--:-- --:--:-- 4665k ``` -## Upload flows +## Import flows -Upload flows from a file. +Import flows by uploading a [Langflow-compatible JSON file](/concepts-flows#langflow-json-file-contents). -This example uploads a local file named `agent-with-astra-db-tool.json`. +To specify a target project for the flow, include the query parameter `project_id`. +The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](/api-projects#read-projects) endpoint for a list of available projects. + +This example uploads a local file named `agent-with-astra-db-tool.json` to a project specified by a `PROJECT_ID` variable. @@ -324,75 +348,6 @@ curl -X POST \ ... } ] -``` - - - - -To specify a target project for the flow, include the query parameter `project_id`. -The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](#read-projects) endpoint for a list of available projects. -To specify a target project for the flow, include the query parameter `project_id`. -The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](#read-projects) endpoint for a list of available projects. - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/upload/?project_id=$PROJECT_ID" \ - -H "accept: application/json" \ - -H "Content-Type: multipart/form-data" \ - -F "file=@agent-with-astra-db-tool.json;type=application/json" -``` - -## Download all flows - -Download all flows as a ZIP file. - -This endpoint downloads a ZIP file containing flows for all `flow-id` values listed in the command's body. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/flows/download/" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '[ - "e1e40c77-0541-41a9-88ab-ddb3419398b5", - "92f9a4c5-cfc8-4656-ae63-1f0881163c28" -]' \ - --output langflow-flows.zip -``` - - - - -```text - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed -100 76437 0 76353 100 84 4516k 5088 --:--:-- --:--:-- --:--:-- 4665k -``` - - - - -## Read basic examples - -Retrieve a list of basic example flows. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/flows/basic_examples/" \ - -H "accept: application/json" -``` - - - - -```text -A list of example flows. ``` diff --git a/docs/docs/API-Reference/api-logs.md b/docs/docs/API-Reference/api-logs.md index faf07cbf1264..31c517353a84 100644 --- a/docs/docs/API-Reference/api-logs.md +++ b/docs/docs/API-Reference/api-logs.md @@ -8,23 +8,25 @@ import TabItem from '@theme/TabItem'; Retrieve logs for your Langflow flow. -This endpoint requires log retrieval to be enabled in your Langflow application. +## Enable log retrieval -To enable log retrieval, include these values in your `.env` file: +The `/logs` endpoint requires log retrieval to be enabled in your Langflow instance. -```text -LANGFLOW_ENABLE_LOG_RETRIEVAL=true -LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE=10000 -LANGFLOW_LOG_LEVEL=DEBUG -``` +1. To enable log retrieval, include these values in your `.env` file: -For log retrieval to function, `LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE` needs to be greater than 0. The default value is `10000`. + ```text + LANGFLOW_ENABLE_LOG_RETRIEVAL=true + LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE=10000 + LANGFLOW_LOG_LEVEL=DEBUG + ``` -Start Langflow with this `.env`: + Log retrieval requires that `LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE` is greater than 0. The default value is `10000`. -```text -uv run langflow run --env-file .env -``` +2. Start Langflow with the updated `.env`: + + ```text + uv run langflow run --env-file .env + ``` ## Stream logs @@ -67,14 +69,14 @@ keepalive ## Retrieve logs with optional parameters -Retrieve logs with optional query parameters. +Retrieve logs with optional query parameters: - `lines_before`: The number of logs before the timestamp or the last log. - `lines_after`: The number of logs after the timestamp. - `timestamp`: The timestamp to start getting logs from. The default values for all three parameters is `0`. -With these values, the endpoint returns the last 10 lines of logs. +With default values, the endpoint returns the last 10 lines of logs. diff --git a/docs/docs/API-Reference/api-monitor.md b/docs/docs/API-Reference/api-monitor.md index 4d1b445b36d7..83876fdeed6e 100644 --- a/docs/docs/API-Reference/api-monitor.md +++ b/docs/docs/API-Reference/api-monitor.md @@ -412,10 +412,7 @@ curl -X DELETE \ ## Get messages -Retrieve messages with optional filters. - - - +Retrieve a list of all messages: ```bash curl -X GET \ @@ -423,18 +420,9 @@ curl -X GET \ -H "accept: application/json" ``` - - - -```text -A list of all messages. -``` - - - +To filter messages, use the `flow_id`, `session_id`, `sender`, and `sender_name` query parameters. -You can filter messages by `flow_id`, `session_id`, `sender`, and `sender_name`. -Results can be ordered with the `order_by` query string. +To sort the results, use the `order_by` query parameter. This example retrieves messages sent by `Machine` and `AI` in a given chat session (`session_id`) and orders the messages by timestamp. diff --git a/docs/docs/API-Reference/api-projects.md b/docs/docs/API-Reference/api-projects.md index 28e9c10e2d2b..69ddc7af2dcf 100644 --- a/docs/docs/API-Reference/api-projects.md +++ b/docs/docs/API-Reference/api-projects.md @@ -74,7 +74,7 @@ curl -X POST \ -To add flows and components at project creation, retrieve the `components_list` and `flows_list` values from the [/api/v1/store/components](#get-all-components) and [/api/v1/flows/read](#read-flows) endpoints and add them to the request body. +To add flows and components at project creation, retrieve the `components_list` and `flows_list` values from the [/api/v1/store/components](/api-reference-api-examples#get-all-components) and [/api/v1/flows/read](/api-flows#read-flows) endpoints and add them to the request body. Adding a flow to a project moves the flow from its previous location. The flow is not copied. @@ -193,15 +193,12 @@ curl -X DELETE \ -## Download project +## Export a project Download all flows from a project as a zip file. The `--output` flag is optional. - - - ```bash curl -X GET \ "$LANGFLOW_URL/api/v1/projects/download/b408ddb9-6266-4431-9be8-e04a62758331" \ @@ -209,22 +206,9 @@ curl -X GET \ --output langflow-project.zip ``` - - - -```text -The project contents. -``` - - - - -## Upload project - -Upload a project to Langflow. +## Import a project - - +Import a project and its flows by uploading a Langflow project zip file: ```bash curl -X POST \ @@ -232,15 +216,4 @@ curl -X POST \ -H "accept: application/json" \ -H "Content-Type: multipart/form-data" \ -F "file=@20241230_135006_langflow_flows.zip;type=application/zip" -``` - - - - - -```text -The project contents are uploaded to Langflow. -``` - - - \ No newline at end of file +``` \ No newline at end of file diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index 2a19d866d956..45f2ed34f0eb 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -1,22 +1,28 @@ --- -title: API examples +title: Get started with the Langflow API slug: /api-reference-api-examples --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -This page provides examples and practices for managing Langflow using the Langflow API. +You can use the Langflow API to manage your Langflow deployment, build flows, and develop applications that use your flows. -The Langflow API's OpenAPI spec can be viewed and tested at your Langflow deployment's `docs` endpoint. -For example, `http://localhost:7860/docs`. +:::tip +You can view and test the Langflow API's OpenAPI specification at your Langflow deployment's `/docs` endpoint, such as `http://localhost:7860/docs`. +::: + + + + + + + +## Parameters - - - - - - +Langflow endpoints use URL path parameters, query parameters, and request body parameters. + +The specific parameters and where you can declare them vary by endpoint and operation. ## Export values @@ -39,7 +45,7 @@ export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da" ``` - Export the `project-id` in your terminal. -To find your project ID, call the Langflow [/api/v1/projects/](#read-projects) endpoint for a list of projects. +To find your project ID, call the Langflow [/api/v1/projects/](/api-projects#read-projects) endpoint for a list of projects. @@ -93,265 +99,9 @@ Export the generated API key as an environment variable. export LANGFLOW_API_KEY="sk-..." ``` -## Base - -Use the base Langflow API to run your flow and retrieve configuration information. - -### Get all components - -This operation returns a dictionary of all Langflow components. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/all" \ - -H "accept: application/json" -``` - - - -```text -A dictionary of all Langflow components. -``` - - - -### Run flow - -See [Flows endpoints](/api-flows) - -Execute a specified flow by ID or name. -The flow is executed as a batch, but LLM responses can be streamed. - -This example runs a [Basic Prompting](/starter-projects-basic-prompting) flow with a given `flow_id` and passes a JSON object as the input value. - -The parameters are passed in the request body. In this example, the values are the default values. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/run/$FLOW_ID" \ - -H "Content-Type: application/json" \ - -d '{ - "input_value": "Tell me about something interesting!", - "session_id": "chat-123", - "input_type": "chat", - "output_type": "chat", - "output_component": "", - "tweaks": null - }' -``` - - - - -```text -{ - "session_id": "chat-123", - "outputs": [{ - "inputs": { - "input_value": "Tell me about something interesting!" - }, - "outputs": [{ - "results": { - "message": { - "text": "Sure! Have you ever heard of the phenomenon known as \"bioluminescence\"? It's a fascinating natural occurrence where living organisms produce and emit light. This ability is found in various species, including certain types of jellyfish, fireflies, and deep-sea creatures like anglerfish.\n\nBioluminescence occurs through a chemical reaction in which a light-emitting molecule called luciferin reacts with oxygen, catalyzed by an enzyme called luciferase. The result is a beautiful glow that can serve various purposes, such as attracting mates, deterring predators, or luring prey.\n\nOne of the most stunning displays of bioluminescence can be seen in the ocean, where certain plankton emit light when disturbed, creating a mesmerizing blue glow in the water. This phenomenon is often referred to as \"sea sparkle\" and can be seen in coastal areas around the world.\n\nBioluminescence not only captivates our imagination but also has practical applications in science and medicine, including the development of biosensors and imaging techniques. It's a remarkable example of nature's creativity and complexity!", - "sender": "Machine", - "sender_name": "AI", - "session_id": "chat-123", - "timestamp": "2025-03-03T17:17:37+00:00", - "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201", - "properties": { - "source": { - "id": "OpenAIModel-d1wOZ", - "display_name": "OpenAI", - "source": "gpt-4o-mini" - }, - "icon": "OpenAI" - }, - "component_id": "ChatOutput-ylMzN" - } - } - }] - }] -} -``` - - - - -To stream LLM token responses, append the `?stream=true` query parameter to the request. LLM chat responses are streamed back as `token` events until the `end` event closes the connection. - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=true" \ - -H "accept: application/json" \ - -H "Content-Type: application/json" \ - -d '{ - "message": "Tell me something interesting!", - "session_id": "chat-123" - }' -``` - - - - -```text -{"event": "add_message", "data": {"timestamp": "2025-03-03T17:20:18", "sender": "User", "sender_name": "User", "session_id": "chat-123", "text": "Tell me about something interesting!", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "0103a21b-ebf7-4c02-9d72-017fb297f812", "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201"}} - -{"event": "add_message", "data": {"timestamp": "2025-03-03T17:20:18", "sender": "Machine", "sender_name": "AI", "session_id": "chat-123", "text": "", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": "OpenAIModel-d1wOZ", "display_name": "OpenAI", "source": "gpt-4o-mini"}, "icon": "OpenAI", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "27b66789-e673-4c65-9e81-021752925161", "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201"}} - -{"event": "token", "data": {"chunk": " Have", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} - -{"event": "token", "data": {"chunk": " you", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} - -{"event": "token", "data": {"chunk": " ever", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} - -{"event": "token", "data": {"chunk": " heard", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} - -{"event": "token", "data": {"chunk": " of", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} - -{"event": "token", "data": {"chunk": " the", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} - -{"event": "token", "data": {"chunk": " phenomenon", "id": "27b66789-e673-4c65-9e81-021752925161", "timestamp": "2025-03-03 17:20:18 UTC"}} - -{"event": "end", "data": {"result": {"session_id": "chat-123", "message": "Sure! Have you ever heard of the phenomenon known as \"bioluminescence\"?..."}}} -``` - - - - -This result is abbreviated, but illustrates where the `end` event completes the LLM's token streaming response. +## Configuration and metadata endpoints -#### Run endpoint headers and parameters - -Parameters can be passed to the `/run` endpoint in three ways: - -- URL path: `flow_id` as part of the endpoint path -- Query string: `stream` parameter in the URL -- Request body: JSON object containing the remaining parameters - -**Headers** -| Header | Info | Example | -|--------|------|---------| -| Content-Type | Required. Specifies the JSON format. | "application/json" | -| accept | Required. Specifies the response format. | "application/json" | -| x-api-key | Optional. Required only if authentication is enabled. | "sk-..." | - -**Parameters** -| Parameter | Type | Info | -|-----------|------|------| -| flow_id | UUID/string | Required. Part of URL: `/run/{flow_id}` | -| stream | boolean | Optional. Query parameter: `/run/{flow_id}?stream=true` | -| input_value | string | Optional. JSON body field. Main input text/prompt. Default: `null` | -| input_type | string | Optional. JSON body field. Input type ("chat" or "text"). Default: `"chat"` | -| output_type | string | Optional. JSON body field. Output type ("chat", "any", "debug"). Default: `"chat"` | -| output_component | string | Optional. JSON body field. Target component for output. Default: `""` | -| tweaks | object | Optional. JSON body field. Component adjustments. Default: `null` | -| session_id | string | Optional. JSON body field. Conversation context ID. Default: `null` | - -**Example request** - -```bash -curl -X POST \ - "http://$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=true" \ - -H "Content-Type: application/json" \ - -H "accept: application/json" \ - -H "x-api-key: sk-..." \ - -d '{ - "input_value": "Tell me a story", - "input_type": "chat", - "output_type": "chat", - "output_component": "chat_output", - "session_id": "chat-123", - "tweaks": { - "component_id": { - "parameter_name": "value" - } - } - }' -``` - -### Webhook run flow - -The webhook endpoint triggers flow execution with an HTTP POST request. - -When a **Webhook** component is added to the workspace, a new **Webhook cURL** tab becomes available in the **API** pane that contains an HTTP POST request for triggering the webhook component, similar to the call in this example. - -To test the **Webhook** component in your flow, see the [Webhook component](/components-data#webhook). - - - - -```bash -curl -X POST \ - "$LANGFLOW_URL/api/v1/webhook/$FLOW_ID" \ - -H "Content-Type: application/json" \ - -d '{"data": "example-data"}' -``` - - - - -```text -{ - {"message":"Task started in the background","status":"in progress"} -} -``` - - - - -### Process - -:::info -This endpoint is deprecated. Use the `/run` endpoint instead. -::: - -### Predict - -:::info -This endpoint is deprecated. Use the `/run` endpoint instead. -::: - -### Get task status - -Get the status of a task. - - - - -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/task/TASK_ID" \ - -H "accept: application/json" -``` - - - - -```text -{ - "status": "Task status", - "result": "Task result if completed" -} -``` - - - - -### Create upload file (Deprecated) - -:::info -This endpoint is deprecated. Use the `/file` endpoint instead. -::: +Use these endpoints to get Langflow configuration information. ### Get version @@ -380,7 +130,7 @@ curl -X GET \ -### Get config +### Get configuration Retrieve the Langflow configuration information. @@ -410,4 +160,21 @@ curl -X GET \ ``` - \ No newline at end of file + + +### Get all components + +This operation returns a dictionary of all Langflow components. + +```bash +curl -X GET \ + "$LANGFLOW_URL/api/v1/all" \ + -H "accept: application/json" +``` + +## Next steps + +- Use the Langflow API to [run a flow](/api-flows-run). +- Use the Langflow API to [upload files](/api-flows). +- Use the Langflow API to [get flow logs](/api-logs). +- Explore all endpoints in the [Langflow API specification](/api). \ No newline at end of file diff --git a/docs/docs/Develop/Clients/typescript-client.md b/docs/docs/Develop/Clients/typescript-client.md index 9fa37ddde236..21bf8d828df8 100644 --- a/docs/docs/Develop/Clients/typescript-client.md +++ b/docs/docs/Develop/Clients/typescript-client.md @@ -134,7 +134,7 @@ const session_id = "aa5a238b-02c0-4f03-bc5c-cc3a83335cdf"; ``` 3. Instead of calling `run` on the Flow object, call `stream` with the same arguments. The response is a [ReadableStream](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) of objects. -For more information on streaming Langflow responses, see the [/run endpoint](https://docs.langflow.org/api-flows#run-flow). +For more information on streaming Langflow responses, see the [/run endpoint](/api-flows-run#run-flow). ```tsx const response = await client.flow(flowId).stream(input); diff --git a/docs/docs/Develop/develop-application.md b/docs/docs/Develop/develop-application.md index ab7456878a7f..821cab5c8757 100644 --- a/docs/docs/Develop/develop-application.md +++ b/docs/docs/Develop/develop-application.md @@ -155,7 +155,7 @@ If the flow streams the result back to you, your flow is being served, and can b To trigger your application from an external event, see [Webhook](/webhook). :::note -The test application returns a large amount of text, so the example command used `?stream=true`. If you prefer, set `?stream=false` to use batching. For more information, see the [/run endpoint](/api-flows#run-flow). +The test application returns a large amount of text, so the example command used `?stream=true`. If you prefer, set `?stream=false` to use batching. For more information, see the [/run endpoint](/api-flows-run#run-flow). ::: ## Deploy to Docker Hub and Kubernetes diff --git a/docs/sidebars.js b/docs/sidebars.js index 7c251fbd738e..2758b9680360 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -207,17 +207,17 @@ module.exports = { { type: "doc", id: "API-Reference/api-reference-api-examples", - label: "API examples", + label: "Get started with the Langflow API", }, { type: "doc", - id: "API-Reference/api-base", - label: "Base endpoints", + id: "API-Reference/api-flows-run", + label: "Flow trigger endpoints", }, { type: "doc", - id: "API-Reference/api-build", - label: "Build endpoints", + id: "API-Reference/api-flows", + label: "Flow management endpoints", }, { type: "doc", @@ -226,8 +226,8 @@ module.exports = { }, { type: "doc", - id: "API-Reference/api-flows", - label: "Flows endpoints", + id: "API-Reference/api-projects", + label: "Projects endpoints", }, { type: "doc", @@ -241,8 +241,8 @@ module.exports = { }, { type: "doc", - id: "API-Reference/api-projects", - label: "Projects endpoints", + id: "API-Reference/api-build", + label: "Build endpoints", }, { type: "doc", @@ -251,7 +251,7 @@ module.exports = { }, { type: "link", - label: "API documentation", + label: "Langflow API specification", href: "/api", }, ], diff --git a/docs/yarn.lock b/docs/yarn.lock index 79185db8cbba..8790ee861122 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -54,11 +54,6 @@ resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.20.3.tgz" integrity sha512-IYRd/A/R3BXeaQVT2805lZEdWo54v39Lqa7ABOxIYnUvX2vvOMW1AyzCuT0U7Q+uPdD4UW48zksUKRixShcWxA== -"@algolia/client-common@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.25.0.tgz" - integrity sha512-il1zS/+Rc6la6RaCdSZ2YbJnkQC6W1wiBO8+SH+DE6CPMWBU6iDVzH0sCKSAtMWl9WBxoN6MhNjGBnCv9Yy2bA== - "@algolia/client-insights@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.20.3.tgz" @@ -89,16 +84,6 @@ "@algolia/requester-fetch" "5.20.3" "@algolia/requester-node-http" "5.20.3" -"@algolia/client-search@>= 4.9.1 < 6": - version "5.25.0" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.25.0.tgz" - integrity sha512-9rUYcMIBOrCtYiLX49djyzxqdK9Dya/6Z/8sebPn94BekT+KLOpaZCuc6s0Fpfq7nx5J6YY5LIVFQrtioK9u0g== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - "@algolia/client-search@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.20.3.tgz" @@ -151,13 +136,6 @@ dependencies: "@algolia/client-common" "5.20.3" -"@algolia/requester-browser-xhr@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.25.0.tgz" - integrity sha512-JLaF23p1SOPBmfEqozUAgKHQrGl3z/Z5RHbggBu6s07QqXXcazEsub5VLonCxGVqTv6a61AAPr8J1G5HgGGjEw== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-fetch@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.20.3.tgz" @@ -165,13 +143,6 @@ dependencies: "@algolia/client-common" "5.20.3" -"@algolia/requester-fetch@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.25.0.tgz" - integrity sha512-rtzXwqzFi1edkOF6sXxq+HhmRKDy7tz84u0o5t1fXwz0cwx+cjpmxu/6OQKTdOJFS92JUYHsG51Iunie7xbqfQ== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-node-http@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.20.3.tgz" @@ -179,13 +150,6 @@ dependencies: "@algolia/client-common" "5.20.3" -"@algolia/requester-node-http@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.25.0.tgz" - integrity sha512-ZO0UKvDyEFvyeJQX0gmZDQEvhLZ2X10K+ps6hViMo1HgE2V8em00SwNsQ+7E/52a+YiBkVWX61pJJJE44juDMQ== - dependencies: - "@algolia/client-common" "5.25.0" - "@alloc/quick-lru@^5.2.0": version "5.2.0" resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" @@ -222,7 +186,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.21.3", "@babel/core@^7.25.9", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": +"@babel/core@^7.21.3", "@babel/core@^7.25.9": version "7.26.9" resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz" integrity sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw== @@ -1515,7 +1479,7 @@ webpack "^5.95.0" webpackbar "^6.0.1" -"@docusaurus/core@^2.0.0-beta || ^3.0.0-alpha", "@docusaurus/core@3.7.0": +"@docusaurus/core@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.7.0.tgz" integrity sha512-b0fUmaL+JbzDIQaamzpAFpTviiaU4cX3Qz8cuo14+HGBCwa0evEK0UYCBFY3n4cLzL8Op1BueeroUD2LYAIHbQ== @@ -1581,7 +1545,7 @@ chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/mdx-loader@^3.6.0", "@docusaurus/mdx-loader@3.7.0": +"@docusaurus/mdx-loader@3.7.0", "@docusaurus/mdx-loader@^3.6.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.7.0.tgz" integrity sha512-OFBG6oMjZzc78/U3WNPSHs2W9ZJ723ewAcvVJaqS0VgyeUfmzUV8f1sv+iUHA0DtwiR5T5FjOxj6nzEE8LY6VA== @@ -1611,7 +1575,7 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@^3.7.0", "@docusaurus/module-type-aliases@3.7.0": +"@docusaurus/module-type-aliases@3.7.0", "@docusaurus/module-type-aliases@^3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.7.0.tgz" integrity sha512-g7WdPqDNaqA60CmBrr0cORTrsOit77hbsTj7xE2l71YhBn79sxdm7WMK7wfhcaafkbpIh7jv5ef5TOpf1Xv9Lg== @@ -1663,7 +1627,7 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@*", "@docusaurus/plugin-content-docs@^2 || ^3", "@docusaurus/plugin-content-docs@^3.5.0", "@docusaurus/plugin-content-docs@^3.6.0", "@docusaurus/plugin-content-docs@3.7.0": +"@docusaurus/plugin-content-docs@3.7.0", "@docusaurus/plugin-content-docs@^2 || ^3", "@docusaurus/plugin-content-docs@^3.6.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.7.0.tgz" integrity sha512-GXg5V7kC9FZE4FkUZA8oo/NrlRb06UwuICzI6tcbzj0+TVgjq/mpUXXzSgKzMS82YByi4dY2Q808njcBCyy6tQ== @@ -1733,7 +1697,7 @@ "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@^3.7.0", "@docusaurus/plugin-google-tag-manager@3.7.0": +"@docusaurus/plugin-google-tag-manager@3.7.0", "@docusaurus/plugin-google-tag-manager@^3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.7.0.tgz" integrity sha512-X8U78nb8eiMiPNg3jb9zDIVuuo/rE1LjGDGu+5m5CX4UBZzjMy+klOY2fNya6x8ACyE/L3K2erO1ErheP55W/w== @@ -1772,7 +1736,7 @@ tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/preset-classic@^3.6.0", "@docusaurus/preset-classic@3.7.0": +"@docusaurus/preset-classic@3.7.0", "@docusaurus/preset-classic@^3.6.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.7.0.tgz" integrity sha512-nPHj8AxDLAaQXs+O6+BwILFuhiWbjfQWrdw2tifOClQoNfuXDjfjogee6zfx6NGHWqshR23LrcN115DmkHC91Q== @@ -1792,7 +1756,7 @@ "@docusaurus/theme-search-algolia" "3.7.0" "@docusaurus/types" "3.7.0" -"@docusaurus/theme-classic@>=3.0.0", "@docusaurus/theme-classic@3.7.0": +"@docusaurus/theme-classic@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.7.0.tgz" integrity sha512-MnLxG39WcvLCl4eUzHr0gNcpHQfWoGqzADCly54aqCofQX6UozOS9Th4RK3ARbM9m7zIRv3qbhggI53dQtx/hQ== @@ -1824,7 +1788,7 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@^2 || ^3", "@docusaurus/theme-common@^3.5.0", "@docusaurus/theme-common@^3.6.0", "@docusaurus/theme-common@3.7.0": +"@docusaurus/theme-common@3.7.0", "@docusaurus/theme-common@^3.6.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.7.0.tgz" integrity sha512-8eJ5X0y+gWDsURZnBfH0WabdNm8XMCXHv8ENy/3Z/oQKwaB/EHt5lP9VsTDTf36lKEp0V6DjzjFyFIB+CetL0A== @@ -1864,7 +1828,7 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@^2 || ^3", "@docusaurus/theme-translations@3.7.0": +"@docusaurus/theme-translations@3.7.0", "@docusaurus/theme-translations@^2 || ^3": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.7.0.tgz" integrity sha512-Ewq3bEraWDmienM6eaNK7fx+/lHMtGDHQyd1O+4+3EsDxxUmrzPkV7Ct3nBWTuE0MsoZr3yNwQVKjllzCMuU3g== @@ -1887,7 +1851,7 @@ webpack "^5.95.0" webpack-merge "^5.9.0" -"@docusaurus/utils-common@^2 || ^3", "@docusaurus/utils-common@^3.6.0", "@docusaurus/utils-common@3.7.0": +"@docusaurus/utils-common@3.7.0", "@docusaurus/utils-common@^2 || ^3", "@docusaurus/utils-common@^3.6.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.7.0.tgz" integrity sha512-IZeyIfCfXy0Mevj6bWNg7DG7B8G+S6o6JVpddikZtWyxJguiQ7JYr0SIZ0qWd8pGNuMyVwriWmbWqMnK7Y5PwA== @@ -1895,7 +1859,7 @@ "@docusaurus/types" "3.7.0" tslib "^2.6.0" -"@docusaurus/utils-validation@^2 || ^3", "@docusaurus/utils-validation@^3.5.0", "@docusaurus/utils-validation@^3.6.0", "@docusaurus/utils-validation@3.7.0": +"@docusaurus/utils-validation@3.7.0", "@docusaurus/utils-validation@^2 || ^3", "@docusaurus/utils-validation@^3.6.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.7.0.tgz" integrity sha512-w8eiKk8mRdN+bNfeZqC4nyFoxNyI1/VExMKAzD9tqpJfLLbsa46Wfn5wcKH761g9WkKh36RtFV49iL9lh1DYBA== @@ -1909,7 +1873,7 @@ lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@^2 || ^3", "@docusaurus/utils@^3.5.0", "@docusaurus/utils@^3.6.0", "@docusaurus/utils@3.7.0": +"@docusaurus/utils@3.7.0", "@docusaurus/utils@^2 || ^3", "@docusaurus/utils@^3.6.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.7.0.tgz" integrity sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA== @@ -2077,14 +2041,6 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@jridgewell/trace-mapping@0.3.9": version "0.3.9" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" @@ -2093,6 +2049,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jsdevtools/ono@^7.1.3": version "7.1.3" resolved "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz" @@ -2271,7 +2235,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -2568,7 +2532,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" -"@svgr/core@*", "@svgr/core@8.1.0": +"@svgr/core@8.1.0": version "8.1.0" resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== @@ -3000,7 +2964,7 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16": +"@types/react@*": version "18.3.22" resolved "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz" integrity sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q== @@ -3092,7 +3056,7 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1": +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz" integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== @@ -3193,7 +3157,7 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1": +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz" integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== @@ -3250,7 +3214,7 @@ acorn-walk@^8.0.0, acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.2: +acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.2: version "8.14.1" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== @@ -3278,19 +3242,14 @@ ajv-draft-04@1.0.0: resolved "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz" integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== -ajv-formats@^2.1.1, ajv-formats@2.1.1: +ajv-formats@2.1.1, ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" -ajv-keywords@^3.4.1: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -3302,17 +3261,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.5.0, ajv@^8.8.2, ajv@^8.9.0, ajv@8.11.0: +ajv@8.11.0, ajv@^8.0.0, ajv@^8.9.0: version "8.11.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== @@ -3322,6 +3271,16 @@ ajv@^8.0.0, ajv@^8.5.0, ajv@^8.8.2, ajv@^8.9.0, ajv@8.11.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@^6.12.2, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + algoliasearch-helper@^3.22.6: version "3.24.1" resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.24.1.tgz" @@ -3329,7 +3288,7 @@ algoliasearch-helper@^3.22.6: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.17.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": +algoliasearch@^5.14.2, algoliasearch@^5.17.1: version "5.20.3" resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.20.3.tgz" integrity sha512-iNC6BGvipaalFfDfDnXUje8GUlW5asj0cTMsZJwO/0rhsyLx1L7GZFAY8wW+eQ6AM4Yge2p5GSE5hrBlfSD90Q== @@ -4276,17 +4235,7 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bn.js@^4.0.0: - version "4.12.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" - integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== - -bn.js@^4.1.0: - version "4.12.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" - integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== - -bn.js@^4.11.9: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.12.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== @@ -4445,7 +4394,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.3, browserslist@^4.24.4, "browserslist@>= 4.21.0": +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.3, browserslist@^4.24.4: version "4.24.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== @@ -4669,6 +4618,19 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" +cheerio@1.0.0-rc.12: + version "1.0.0-rc.12" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + cheerio@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz" @@ -4686,19 +4648,6 @@ cheerio@^1.0.0: undici "^6.19.5" whatwg-mimetype "^4.0.0" -cheerio@1.0.0-rc.12: - version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" - integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.0.1" - htmlparser2 "^8.0.1" - parse5 "^7.0.0" - parse5-htmlparser2-tree-adapter "^7.0.0" - chokidar@^3.4.2, chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" @@ -4849,17 +4798,17 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== +commander@2.20.3, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@^10.0.0: version "10.0.1" resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.0.0: +commander@^4.0.0, commander@~4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== @@ -4884,16 +4833,6 @@ commander@^9.2.0: resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== -commander@~4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@2.20.3: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" @@ -5058,12 +4997,7 @@ core-js-pure@^3.30.2: resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.40.0.tgz" integrity sha512-AtDzVIgRrmRKQai62yuSIN5vNiQjcJakJb4fbhVw3ehxx7Lohphvw9SGNWKhLFqSxC4ilD0g/L1huAYFQU3Q6A== -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-js@^2.5.0: +core-js@^2.4.0, core-js@^2.5.0: version "2.6.12" resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== @@ -5094,7 +5028,7 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^8.0.0, cosmiconfig@^8.1.3, cosmiconfig@^8.3.5, cosmiconfig@>=7: +cosmiconfig@^8.0.0, cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: version "8.3.6" resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== @@ -5149,16 +5083,7 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0: - version "7.0.6" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.3: version "7.0.6" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -5392,41 +5317,20 @@ debounce@^1.2.1: resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@^2.6.0: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^2.6.8: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^2.6.9: +debug@2.6.9, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.4, debug@4: +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.4: version "4.4.0" resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: ms "^2.1.3" -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - decode-named-character-reference@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" @@ -5505,16 +5409,16 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - depd@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + dequal@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -5648,7 +5552,7 @@ docusaurus-plugin-image-zoom@^2.0.0: medium-zoom "^1.0.8" validate-peer-dependencies "^2.2.0" -docusaurus-plugin-openapi-docs@^4.0.0, docusaurus-plugin-openapi-docs@^4.3.1: +docusaurus-plugin-openapi-docs@^4.3.1: version "4.3.4" resolved "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.3.4.tgz" integrity sha512-7/MqkdO2ivBDxgpVxFkxsWoehkZfPJ3nzOOgIu/XVNzTytQ2TYFlDoa6GDC5zvwrSDJR7bCpJzeAaVe2Oa+nkg== @@ -5694,13 +5598,6 @@ docusaurus-plugin-proxy@^0.7.6: resolved "https://registry.npmjs.org/docusaurus-plugin-proxy/-/docusaurus-plugin-proxy-0.7.6.tgz" integrity sha512-MgjzMEsQOHMljwQGglXXoGjQvs0v1DklhRgzqNLKFwpHB9xLWJZ0KQ3GgbPerW/2vy8tWGJeVhKHy5cPrmweUw== -docusaurus-plugin-sass@^0.2.3: - version "0.2.6" - resolved "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz" - integrity sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg== - dependencies: - sass-loader "^16.0.2" - docusaurus-preset-openapi@^0.7.6: version "0.7.6" resolved "https://registry.npmjs.org/docusaurus-preset-openapi/-/docusaurus-preset-openapi-0.7.6.tgz" @@ -5805,6 +5702,13 @@ domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== +domhandler@5.0.3, domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" @@ -5812,13 +5716,6 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -domhandler@^5.0.2, domhandler@^5.0.3, domhandler@5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" @@ -6041,12 +5938,7 @@ escape-html@^1.0.3, escape-html@~1.0.3: resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== -escape-string-regexp@^1.0.2: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -6338,7 +6230,7 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-loader@*, file-loader@^6.2.0: +file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== @@ -6520,16 +6412,7 @@ fresh@0.5.2: resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^10.1.0: +fs-extra@^10.0.0, fs-extra@^10.1.0: version "10.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -6547,17 +6430,7 @@ fs-extra@^11.1.1, fs-extra@^11.2.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.1: +fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -6638,12 +6511,7 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-stream@^6.0.1: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -6660,14 +6528,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-parent@^6.0.2: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -6808,17 +6669,17 @@ got@^12.1.0: p-cancelable "^3.0.0" responselike "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - graceful-fs@4.2.10: version "4.2.10" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graphlib@^2.1.8, graphlib@2.1.8: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphlib@2.1.8, graphlib@^2.1.8: version "2.1.8" resolved "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz" integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== @@ -7221,6 +7082,16 @@ html-webpack-plugin@^5.6.0: pretty-error "^4.0.0" tapable "^2.0.0" +htmlparser2@9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz" + integrity sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.1.0" + entities "^4.5.0" + htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" @@ -7251,16 +7122,6 @@ htmlparser2@^9.1.0: domutils "^3.1.0" entities "^4.5.0" -htmlparser2@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz" - integrity sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.1.0" - entities "^4.5.0" - http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" @@ -7271,16 +7132,6 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -7292,6 +7143,16 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-parser-js@>=0.5.1: version "0.5.9" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz" @@ -7361,13 +7222,6 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@^0.6.3, iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" @@ -7375,6 +7229,13 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" @@ -7448,7 +7309,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4, inherits@2, inherits@2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -7458,16 +7319,16 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - ini@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" @@ -7495,16 +7356,16 @@ invariant@^2.2.2, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ipaddr.js@^2.0.1: - version "2.2.0" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz" - integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== - ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +ipaddr.js@^2.0.1: + version "2.2.0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== + is-alphabetical@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" @@ -7726,16 +7587,16 @@ is-yarn-global@^0.4.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - isarray@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -7817,6 +7678,13 @@ js-tokens@^3.0.2: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" @@ -7825,13 +7693,6 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.1.0, js-yaml@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - jsesc@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz" @@ -7867,7 +7728,7 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-pointer@^0.6.2, json-pointer@0.6.2: +json-pointer@0.6.2, json-pointer@^0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz" integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== @@ -8078,7 +7939,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@^4.14.0, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@4.17.21: +lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9282,7 +9143,7 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -9299,13 +9160,6 @@ mime-format@2.0.1: dependencies: charset "^1.0.0" -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34, mime-types@2.1.35: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - mime-types@2.1.18: version "2.1.18" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" @@ -9313,6 +9167,13 @@ mime-types@2.1.18: dependencies: mime-db "~1.33.0" +mime-types@2.1.35, mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" @@ -9361,7 +9222,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@3.1.2: +minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -9399,12 +9260,7 @@ minipass@^4.2.4: resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz" integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.1.2" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - -minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: version "7.1.2" resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== @@ -9416,7 +9272,7 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.6" -monaco-editor@^0.31.1, "monaco-editor@>= 0.25.0 < 1": +monaco-editor@^0.31.1: version "0.31.1" resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.31.1.tgz" integrity sha512-FYPwxGZAeP6mRRyrr5XTGHD9gRXVjy7GUzF4IPChnyt3fS5WrNxIkS8DNujWf6EQy0Zlzpxw8oTVE+mWI2/D1Q== @@ -9431,16 +9287,16 @@ mrmime@^2.0.0: resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz" integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== -ms@^2.1.3, ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== +ms@2.1.3, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" @@ -9473,16 +9329,16 @@ native-promise-only@^0.8.1: resolved "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz" integrity sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg== -negotiator@~0.6.4: - version "0.6.4" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz" - integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== - negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" @@ -9523,7 +9379,7 @@ node-fetch-h2@^2.3.0: dependencies: http2-client "^1.2.5" -node-fetch@^2.0.0, node-fetch@^2.6.1, node-fetch@2: +node-fetch@2, node-fetch@^2.0.0, node-fetch@^2.6.1: version "2.7.0" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -9755,7 +9611,7 @@ object-assign@^4.0.1, object-assign@^4.1.1: resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-hash@^3.0.0, object-hash@3.0.0: +object-hash@3.0.0, object-hash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== @@ -10080,7 +9936,7 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-browserify@^1.0.1, path-browserify@1.0.1: +path-browserify@1.0.1, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== @@ -10148,13 +10004,6 @@ path-scurry@^1.11.1, path-scurry@^1.6.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" - integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== - dependencies: - isarray "0.0.1" - path-to-regexp@0.1.12: version "0.1.12" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz" @@ -10165,12 +10014,19 @@ path-to-regexp@3.3.0: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz" integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== +path-to-regexp@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== + dependencies: + isarray "0.0.1" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -path@^0.12.7, path@0.12.7: +path@0.12.7, path@^0.12.7: version "0.12.7" resolved "https://registry.npmjs.org/path/-/path-0.12.7.tgz" integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== @@ -10816,7 +10672,7 @@ postcss-zindex@^6.0.2: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -"postcss@^7.0.0 || ^8.0.1", postcss@^8, postcss@^8.0.0, postcss@^8.0.3, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.2.2, postcss@^8.4, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.33, postcss@^8.4.38, postcss@^8.4.47, postcss@^8.4.6, postcss@>=8.0.9: +postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38, postcss@^8.4.47: version "8.5.2" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz" integrity sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA== @@ -10894,23 +10750,7 @@ prism-react-renderer@^1.3.5: resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz" integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== -prism-react-renderer@^2.1.0: - version "2.4.1" - resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz" - integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== - dependencies: - "@types/prismjs" "^1.26.0" - clsx "^2.0.0" - -prism-react-renderer@^2.3.0: - version "2.4.1" - resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz" - integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== - dependencies: - "@types/prismjs" "^1.26.0" - clsx "^2.0.0" - -prism-react-renderer@^2.4.0: +prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0, prism-react-renderer@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz" integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== @@ -11015,13 +10855,6 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" -qs@^6.10.3, qs@^6.11.0, qs@^6.12.3: - version "6.14.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz" - integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== - dependencies: - side-channel "^1.1.0" - qs@6.13.0: version "6.13.0" resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz" @@ -11029,6 +10862,13 @@ qs@6.13.0: dependencies: side-channel "^1.0.6" +qs@^6.10.3, qs@^6.11.0, qs@^6.12.3: + version "6.14.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== + dependencies: + side-channel "^1.1.0" + querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" @@ -11066,21 +10906,16 @@ randomfill@^1.0.4: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - range-parser@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + raw-body@2.5.2: version "2.5.2" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" @@ -11131,7 +10966,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@*, "react-dom@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", "react-dom@^16.14.0 || 17 || ^18", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.x || ^18.x", react-dom@^18.0.0, "react-dom@^18.0.0 || ^19.0.0", react-dom@^18.2.0, "react-dom@>= 16.8.0 < 19.0.0", react-dom@>=16.8.0, react-dom@>=18.0.0: +react-dom@^18.2.0: version "18.3.1" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== @@ -11160,7 +10995,7 @@ react-fast-compare@^3.0.1, react-fast-compare@^3.2.0: react-fast-compare "^3.2.0" shallowequal "^1.1.0" -react-hook-form@^7.0.0, react-hook-form@^7.43.8: +react-hook-form@^7.43.8: version "7.54.2" resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.54.2.tgz" integrity sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg== @@ -11206,7 +11041,7 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" -react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": +"react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== @@ -11265,7 +11100,7 @@ react-property@2.0.2: resolved "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz" integrity sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug== -react-redux@^7.2.0, "react-redux@^7.2.1 || ^8.0.2": +react-redux@^7.2.0: version "7.2.9" resolved "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz" integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== @@ -11297,7 +11132,7 @@ react-router-dom@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@^5.3.4, react-router@>=5, react-router@5.3.4: +react-router@5.3.4, react-router@^5.3.4: version "5.3.4" resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -11312,7 +11147,7 @@ react-router@^5.3.4, react-router@>=5, react-router@5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react@*, "react@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.14.0 || ^17 || ^18", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17 || ^18 || ^19", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.3 || ^17 || ^18", "react@^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18", "react@^17.x || ^18.x", react@^18.0.0, "react@^18.0.0 || ^19.0.0", react@^18.2.0, react@^18.3.1, "react@>= 16.8.0", "react@>= 16.8.0 < 19.0.0", react@>=0.14.9, react@>=15, react@>=16, react@>=16.0.0, react@>=16.6.0, react@>=16.8.0, react@>=18.0.0, "react@0.14 || 15 || 16 || 17 || 18": +react@^18.2.0: version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -11326,20 +11161,7 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^2.3.8: +readable-stream@^2.0.1, readable-stream@^2.3.8: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -11361,18 +11183,7 @@ readable-stream@^3.0.6, readable-stream@^3.5.0, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^4.4.2: - version "4.7.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz" - integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - string_decoder "^1.3.0" - -readable-stream@^4.7.0: +readable-stream@^4.4.2, readable-stream@^4.7.0: version "4.7.0" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz" integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== @@ -11471,7 +11282,7 @@ redux-thunk@^2.4.2: resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz" integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== -"redux@^3.1.0 || ^4.0.0", redux@^4, redux@^4.0.0, redux@^4.2.1: +redux@^4.0.0, redux@^4.2.1: version "4.2.1" resolved "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz" integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== @@ -11653,6 +11464,16 @@ remark-frontmatter@^5.0.0: micromark-extension-frontmatter "^2.0.0" unified "^11.0.0" +remark-gfm@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" + integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-gfm "^2.0.0" + micromark-extension-gfm "^2.0.0" + unified "^10.0.0" + remark-gfm@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz" @@ -11665,16 +11486,6 @@ remark-gfm@^4.0.0: remark-stringify "^11.0.0" unified "^11.0.0" -remark-gfm@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" - integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-gfm "^2.0.0" - micromark-extension-gfm "^2.0.0" - unified "^10.0.0" - remark-mdx@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz" @@ -11881,7 +11692,7 @@ sade@^1.7.3: dependencies: mri "^1.1.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -11919,7 +11730,7 @@ sass-loader@^16.0.2: dependencies: neo-async "^2.6.2" -sass@^1.3.0, sass@^1.30.0, sass@^1.80.4: +sass@^1.80.4: version "1.89.0" resolved "https://registry.npmjs.org/sass/-/sass-1.89.0.tgz" integrity sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ== @@ -11942,6 +11753,15 @@ scheduler@^0.23.2: dependencies: loose-envify "^1.1.0" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + schema-utils@^3.0.0: version "3.3.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" @@ -11961,20 +11781,6 @@ schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0, schema-utils@^4.3 ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -"search-insights@>= 1 < 3": - version "2.17.3" - resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz" - integrity sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ== - section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -12003,6 +11809,11 @@ semver-diff@^4.0.0: dependencies: semver "^7.3.5" +semver@7.6.3: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + semver@^6.3.1: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" @@ -12013,11 +11824,6 @@ semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4: resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz" integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== -semver@7.6.3: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - send@0.19.0: version "0.19.0" resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz" @@ -12156,7 +11962,7 @@ shell-quote@^1.7.3, shell-quote@^1.8.1: resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz" integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== -shelljs@^0.8.5, shelljs@0.8.5: +shelljs@0.8.5, shelljs@^0.8.5: version "0.8.5" resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== @@ -12332,7 +12138,7 @@ sort-css-media-queries@2.2.0: resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== -source-map-js@^1.0.1, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0": +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -12352,17 +12158,12 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.5.7: +source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0: +source-map@^0.6.0, source-map@~0.6.0: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -12372,11 +12173,6 @@ source-map@^0.7.0: resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== -source-map@~0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" @@ -12420,16 +12216,16 @@ state-local@^1.0.6: resolved "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz" integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - statuses@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + std-env@^3.7.0: version "3.8.0" resolved "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz" @@ -12453,20 +12249,6 @@ stream-http@^3.2.0: readable-stream "^3.6.0" xtend "^4.0.2" -string_decoder@^1.1.1, string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -12476,16 +12258,7 @@ string_decoder@~1.1.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -12503,6 +12276,20 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string_decoder@^1.1.1, string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + stringify-entities@^4.0.0: version "4.0.4" resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" @@ -12588,6 +12375,13 @@ style-to-js@1.1.8: dependencies: style-to-object "1.0.3" +style-to-object@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.3.tgz" + integrity sha512-xOpx7S53E0V3DpVsvt7ySvoiumRpfXiC99PUXLqGB3wiAnN9ybEIpuzlZ8LAZg+h1sl9JkEUwtSQXxcCgFqbbg== + dependencies: + inline-style-parser "0.2.2" + style-to-object@^0.4.0: version "0.4.4" resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" @@ -12602,13 +12396,6 @@ style-to-object@^1.0.0: dependencies: inline-style-parser "0.2.4" -style-to-object@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.3.tgz" - integrity sha512-xOpx7S53E0V3DpVsvt7ySvoiumRpfXiC99PUXLqGB3wiAnN9ybEIpuzlZ8LAZg+h1sl9JkEUwtSQXxcCgFqbbg== - dependencies: - inline-style-parser "0.2.2" - stylehacks@^6.1.1: version "6.1.1" resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz" @@ -12689,7 +12476,7 @@ svgo@^3.0.2, svgo@^3.2.0: csso "^5.0.5" picocolors "^1.0.0" -swagger2openapi@^7.0.8, swagger2openapi@7.0.8: +swagger2openapi@7.0.8, swagger2openapi@^7.0.8: version "7.0.8" resolved "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz" integrity sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== @@ -12868,7 +12655,7 @@ ts-interface-checker@^0.1.9: resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -ts-node@^10.2.1, ts-node@>=10, ts-node@>=9.0.0: +ts-node@^10.2.1: version "10.9.2" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== @@ -12932,7 +12719,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^5.2.2, "typescript@>= 2.7", typescript@>=2.7, typescript@>=4, typescript@>=4.9.5: +typescript@^5.2.2: version "5.7.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz" integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== @@ -13101,7 +12888,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unpipe@~1.0.0, unpipe@1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -13211,7 +12998,7 @@ utils-merge@1.0.1: resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@^8.3.2, uuid@8.3.2: +uuid@8.3.2, uuid@^8.3.2: version "8.3.2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -13459,7 +13246,7 @@ webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.61.0, webpack@^5.88.1, webpack@^5.95.0, "webpack@>= 4", "webpack@>=4.41.1 || 5.x", webpack@>=5, "webpack@3 || 4 || 5": +webpack@^5.61.0, webpack@^5.88.1, webpack@^5.95.0: version "5.99.9" resolved "https://registry.npmjs.org/webpack/-/webpack-5.99.9.tgz" integrity sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg== @@ -13503,7 +13290,7 @@ webpackbar@^6.0.1: std-env "^3.7.0" wrap-ansi "^7.0.0" -websocket-driver@^0.7.4, websocket-driver@>=0.5.1: +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== @@ -13676,7 +13463,7 @@ yaml-ast-parser@0.0.43: resolved "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz" integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== -yaml@^1.10.0, yaml@^1.7.2, yaml@1.10.2: +yaml@1.10.2, yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000000..fb57ccd13afb --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + From d30ed055e4ac9a543010cf32353c11afebca20c6 Mon Sep 17 00:00:00 2001 From: April M Date: Fri, 20 Jun 2025 11:26:02 -0700 Subject: [PATCH 04/12] notes --- .../api-reference-api-examples.md | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index 45f2ed34f0eb..c1be1e8934b6 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -13,19 +13,25 @@ You can view and test the Langflow API's OpenAPI specification at your Langflow ::: - - -## Parameters +## Form requests + +Langflow API requests ... + +### Base URL + +### Authentication + +### Parameters Langflow endpoints use URL path parameters, query parameters, and request body parameters. The specific parameters and where you can declare them vary by endpoint and operation. -## Export values - +## Set environment variables + You might find it helpful to set the following environment variables in your terminal. The examples in this guide use environment variables for these values. @@ -99,9 +105,9 @@ Export the generated API key as an environment variable. export LANGFLOW_API_KEY="sk-..." ``` -## Configuration and metadata endpoints +## Send requests -Use these endpoints to get Langflow configuration information. +Try sending some minimal requests to get Langflow configuration information. ### Get version From e1adc79bcfef0632e5e0d9a9c27241580ffd398d Mon Sep 17 00:00:00 2001 From: April M Date: Fri, 20 Jun 2025 17:36:14 -0700 Subject: [PATCH 05/12] get started w api page --- docs/docs/API-Reference/api-build.md | 13 +- docs/docs/API-Reference/api-flows-run.md | 29 ++-- docs/docs/API-Reference/api-flows.md | 33 +--- docs/docs/API-Reference/api-monitor.md | 6 +- docs/docs/API-Reference/api-projects.md | 2 +- .../api-reference-api-examples.md | 163 +++++++----------- docs/docs/Components/components-helpers.md | 6 +- docs/docs/Components/components-io.md | 8 +- docs/docs/Components/components-memories.md | 6 +- .../Components/components-vector-stores.md | 2 +- docs/docs/Concepts/concepts-objects.md | 4 + docs/docs/Concepts/concepts-playground.md | 9 +- docs/docs/Concepts/concepts-publish.md | 2 +- .../docs/Develop/Clients/typescript-client.md | 2 +- docs/docs/Develop/webhook.md | 8 +- docs/docs/Sample-Flows/memory-chatbot.md | 5 +- 16 files changed, 138 insertions(+), 160 deletions(-) diff --git a/docs/docs/API-Reference/api-build.md b/docs/docs/API-Reference/api-build.md index 394d92ab76d6..f3d0dabd5666 100644 --- a/docs/docs/API-Reference/api-build.md +++ b/docs/docs/API-Reference/api-build.md @@ -20,7 +20,7 @@ To run a flow, use the [`/run` endpoint](/api-flows-run#run-flow). This endpoint builds and executes a flow, returning a job ID that can be used to stream execution events. -1. Send a POST request to the `/build/{flow_id}/flow` endpoint. +1. Send a POST request to the `/build/$FLOW_ID/flow` endpoint. @@ -49,7 +49,7 @@ curl -X POST \ -2. After receiving a job ID from the build endpoint, use the `/build/{job_id}/events` endpoint to stream the execution results: +2. After receiving a job ID from the build endpoint, use the `/build/$JOB_ID/events` endpoint to stream the execution results: @@ -93,7 +93,7 @@ curl -X GET \ | accept | Required. Specifies the response format. | "application/json" | | x-api-key | Optional. Required only if authentication is enabled. | "sk-..." | -The `/build/{flow_id}/flow` endpoint accepts the following parameters in its request body: +The `/build/$FLOW_ID/flow` endpoint accepts the following parameters in its request body: ## Build parameters @@ -102,8 +102,8 @@ The `/build/{flow_id}/flow` endpoint accepts the following parameters in its req | inputs | object | Optional. Input values for flow components. | | data | object | Optional. Flow data to override stored configuration. | | files | array[string] | Optional. List of file paths to use. | -| stop_component_id | string | Optional. ID of the component where the execution should stop. | -| start_component_id | string | Optional. ID of the component where the execution should start. | +| start_component_id | string | Optional. ID of the component where the execution should start. Component `id` values can be found in a [Langflow JSON files](/concepts-flows#langflow-json-file-contents) | +| stop_component_id | string | Optional. ID of the component where the execution should stop. Component `id` values can be found in a [Langflow JSON files](/concepts-flows#langflow-json-file-contents).| | log_builds | boolean | Optional. Control build logging. Default: `true`. | ### Set start and stop points @@ -159,4 +159,5 @@ curl -X POST \ ## See also - [Get Vertex builds](/api-monitor#get-vertex-builds) -- [Delete Vertex builds](/api-monitor#delete-vertex-builds) \ No newline at end of file +- [Delete Vertex builds](/api-monitor#delete-vertex-builds) +- [Session ID](/session-id) \ No newline at end of file diff --git a/docs/docs/API-Reference/api-flows-run.md b/docs/docs/API-Reference/api-flows-run.md index 5c1bbe689253..e09bd24219f2 100644 --- a/docs/docs/API-Reference/api-flows-run.md +++ b/docs/docs/API-Reference/api-flows-run.md @@ -15,7 +15,8 @@ To create, read, update, and delete flows, see [Flow management endpoints](/api- Execute a specified flow by ID or name. The flow is executed as a batch, but LLM responses can be streamed. -This example runs a [Basic Prompting](/starter-projects-basic-prompting) flow with a given `flow_id` and passes a JSON object as the input value. +This example runs a [Basic Prompting](/starter-projects-basic-prompting) flow with a given flow ID and passes a JSON object as the input value. +Flow IDs can be found on the [Publish pane](/concepts-publish) or in a flow's URL. The parameters are passed in the request body. In this example, the values are the default values. @@ -134,14 +135,14 @@ This result is abbreviated, but illustrates where the `end` event completes the | Parameter | Type | Info | |-----------|------|------| -| flow_id | UUID/string | Required. Part of URL: `/run/{flow_id}` | -| stream | boolean | Optional. Query parameter: `/run/{flow_id}?stream=true` | +| flow_id | UUID/string | Required. Part of URL: `/run/$FLOW_ID` | +| stream | boolean | Optional. Query parameter: `/run/$FLOW_ID?stream=true` | | input_value | string | Optional. JSON body field. Main input text/prompt. Default: `null` | | input_type | string | Optional. JSON body field. Input type ("chat" or "text"). Default: `"chat"` | | output_type | string | Optional. JSON body field. Output type ("chat", "any", "debug"). Default: `"chat"` | | output_component | string | Optional. JSON body field. Target component for output. Default: `""` | | tweaks | object | Optional. JSON body field. Component adjustments. Default: `null` | -| session_id | string | Optional. JSON body field. Conversation context ID. Default: `null` | +| session_id | string | Optional. JSON body field. Conversation context ID. See [Session ID](/session-id). Default: `null` | ### Request example with all headers and parameters @@ -167,14 +168,11 @@ curl -X POST \ ## Webhook run flow -The webhook endpoint triggers flow execution with an HTTP POST request. +Use the `/webhook` endpoint to start a flow by sending an HTTP `POST` request. -When a **Webhook** component is added to the workspace, a new **Webhook cURL** tab becomes available in the **API** pane that contains an HTTP POST request for triggering the webhook component, similar to the call in this example. - -To test the **Webhook** component in your flow, see the [Webhook component](/components-data#webhook). - - - +:::tip +After you add a **Webhook** component to a flow, open the [**API access** pane](/concepts-publish), and then click the **Webhook cURL** tab to get an automatically generated `POST /webhook` request for your flow. +::: ```bash curl -X POST \ @@ -183,17 +181,16 @@ curl -X POST \ -d '{"data": "example-data"}' ``` - - - +
+Result ```text { {"message":"Task started in the background","status":"in progress"} } ``` +
-
-
+For more information, see [Webhook component](/components-data#webhook) and [Trigger flows with webhooks](/webhook). ## Deprecated flow trigger endpoints diff --git a/docs/docs/API-Reference/api-flows.md b/docs/docs/API-Reference/api-flows.md index a1a900dc72bb..da0d37aa1bc2 100644 --- a/docs/docs/API-Reference/api-flows.md +++ b/docs/docs/API-Reference/api-flows.md @@ -14,7 +14,7 @@ See [Flow trigger endpoints](/api-flows-run). ## Create flow -Create a new flow. +Creates a new flow. @@ -69,10 +69,7 @@ curl -X POST \ ## Create flows -Create multiple new flows. - - - +Creates multiple new flows, returning an array of flow objects. ```bash curl -X POST \ @@ -123,23 +120,9 @@ curl -X POST \ }' ``` - - - -```json -[ - { - // FlowRead objects - } -] -``` - - - - ## Read flow -Retrieve a specific flow by its ID. +Retrieves a specific flow by its ID. @@ -194,7 +177,7 @@ curl -X GET \ ## Read sample flows -Retrieve a list of sample flows. +Retrieves a list of sample flows: ```bash curl -X GET \ @@ -204,7 +187,7 @@ curl -X GET \ ## Update flow -Update an existing flow by its ID. +Updates an existing flow by its ID. This example changes the value for `endpoint_name` from a random UUID to `my_new_endpoint_name`. @@ -256,7 +239,7 @@ curl -X PATCH \ ## Delete flow -Delete a specific flow by its ID. +Deletes a specific flow by its ID. @@ -282,7 +265,7 @@ curl -X DELETE \ ## Export flows -Export specified flows to a ZIP file. +Exports specified flows to a ZIP file. This endpoint downloads a ZIP file containing [Langflow JSON files](/concepts-flows#langflow-json-file-contents) for each flow ID listed in the request body. @@ -315,7 +298,7 @@ curl -X POST \ ## Import flows -Import flows by uploading a [Langflow-compatible JSON file](/concepts-flows#langflow-json-file-contents). +Imports flows by uploading a [Langflow-compatible JSON file](/concepts-flows#langflow-json-file-contents). To specify a target project for the flow, include the query parameter `project_id`. The target `project_id` must already exist before uploading a flow. Call the [/api/v1/projects/](/api-projects#read-projects) endpoint for a list of available projects. diff --git a/docs/docs/API-Reference/api-monitor.md b/docs/docs/API-Reference/api-monitor.md index 83876fdeed6e..f3349ffb0426 100644 --- a/docs/docs/API-Reference/api-monitor.md +++ b/docs/docs/API-Reference/api-monitor.md @@ -670,4 +670,8 @@ curl -X GET \ ``` - \ No newline at end of file + + +## See also + +- [Session ID](/session-id) \ No newline at end of file diff --git a/docs/docs/API-Reference/api-projects.md b/docs/docs/API-Reference/api-projects.md index 69ddc7af2dcf..0c007192f271 100644 --- a/docs/docs/API-Reference/api-projects.md +++ b/docs/docs/API-Reference/api-projects.md @@ -12,7 +12,7 @@ Projects store your flows and components. ## Read projects -Get a list of Langflow projects. +Get a list of Langflow projects, including project IDs, names, and descriptions. diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index c1be1e8934b6..deda0be2e1a5 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -6,115 +6,95 @@ slug: /api-reference-api-examples import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -You can use the Langflow API to manage your Langflow deployment, build flows, and develop applications that use your flows. +You can use the Langflow API for programmatic interaction with Langflow: -:::tip -You can view and test the Langflow API's OpenAPI specification at your Langflow deployment's `/docs` endpoint, such as `http://localhost:7860/docs`. -::: +* Create and edit flows, including file management for flows +* Develop applications that use your flows +* Develop custom components +* Build Langflow as a dependency of a larger project +* Contribute to the overall Langflow project + +To view and test all available endpoints, you can access the Langflow API's OpenAPI specification at your Langflow deployment's `/docs` endpoint, such as `http://localhost:7860/docs`. - - - +## Form Langflow API requests -## Form requests - -Langflow API requests ... +While individual parameters vary by endpoint, all Langflow API requests share some commonalities. ### Base URL -### Authentication +Local deployments serve the Langflow API at `http://localhost:LANGFLOW_PORT/api`. +The default port is 7868 or 7860: -### Parameters +* Local Langflow Desktop: `http://localhost:7868/api` +* Local Langflow OSS: `http://localhost:7860/api` +* Local Langflow Docker image: `http://localhost:7860/api` -Langflow endpoints use URL path parameters, query parameters, and request body parameters. +Remotely hosted Langflow deployments are available at the domain set by the hosting service. +For example: -The specific parameters and where you can declare them vary by endpoint and operation. +* `https://UUID.ngrok.app/api` +* `http://IP_OR_DNS/api` +* `http://IP_OR_DNS:LANGFLOW_PORT/api` -## Set environment variables - -You might find it helpful to set the following environment variables in your terminal. +:::tip +The Langflow port number is set in the `LANGFLOW_PORT` [environment variable](/environment-variables). +:::: -The examples in this guide use environment variables for these values. +### Authentication -- Export your Langflow URL in your terminal. - Langflow starts by default at `http://localhost:7860`. +Your [Langflow deployment's authentication settings](/configuration-authentication) determine whether Langflow API requests require explicit authentication with a Langflow API key. -```bash -export LANGFLOW_URL="http://localhost:7860" -``` +If explicit authentication is required, you must provide a valid Langflow API key in either an `x-api-key` header or query parameter. +For more information, see [API keys](/configuration-api-keys). -- Export the `flow-id` in your terminal. - The `flow-id` is found in the [Publish pane](/concepts-publish) or in the flow's URL. +Because authentication isn't always required, Langflow API examples in the Langflow documentation often omit authentication. -```text -export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da" -``` +### Methods, paths, and parameters -- Export the `project-id` in your terminal. -To find your project ID, call the Langflow [/api/v1/projects/](/api-projects#read-projects) endpoint for a list of projects. - +Langflow API requests use a variety of methods, paths, path parameters, query parameters, and body parameters. +The specific requirements and options depend on the endpoint that you want to call. - +For example, to create a flow, you pass a JSON-formatted flow definition to `POST /v1/flows`. +Then, to run your flow, you call `POST /v1/run/$FLOW_ID` with optional run parameters in the request body. -```bash -curl -X GET \ - "$LANGFLOW_URL/api/v1/projects/" \ - -H "accept: application/json" -``` +### Versions - - -```json -[ - { - "name": "My Projects", - "description": "Manage your own projects. Download and upload projects.", - "id": "1415de42-8f01-4f36-bf34-539f23e47466", - "parent_id": null - } -] -``` - - +The Langflow API serves `/v1` and `/v2` endpoints. -- Export the `project-id` as an environment variable. -```bash -export project_ID="1415de42-8f01-4f36-bf34-539f23e47466" -``` +Some endpoints exist only under `/v2`, and some endpoints have both `/v1` and `/v2` versions. -- Export the Langflow API key as an environment variable. - To create a Langflow API key, run the following command in the Langflow CLI. +If a request fails or has an unexpected result, make sure your endpoint path has the correct version. - - +## Set environment variables -```text -langflow api-key -``` +As a best practice with any API, store commonly used values in environment variables to facilitate reuse, simplify token rotation, and securely reference sensitive values. +You can use any method you prefer to set environment variables, such as `export`, `.env`, `zshrc`, or `.curlrc`. +Additionally, be sure to follow industry best practices when storing credentials and other sensitive values. - - -```text -API Key Created Successfully: -sk-... -``` - - -Export the generated API key as an environment variable. -```text -export LANGFLOW_API_KEY="sk-..." +You might find it helpful to set environment variables for values like your Langflow server URL, Langflow API keys, flow IDs, and project IDs. +For example: + +```bash +export LANGFLOW_URL="http://localhost:7860" +export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da" +export PROJECT_ID="1415de42-8f01-4f36-bf34-539f23e47466" +export API_KEY="sk-..." ``` -## Send requests +:::tip +- You can find flow IDs on the [Publish pane](/concepts-publish), in a flow's URL, and with [`GET /flows`](/api-flows#read-flows). +- You can retrieve project IDs with `GET /projects`(/api-projects#read-projects). +::: -Try sending some minimal requests to get Langflow configuration information. +## Try some Langflow API requests -### Get version +Once you have your Langflow server URL, try calling these endpoints that return Langflow metadata. -Get the version of the Langflow API. +If authentication is required, include an `x-api-key` header or query parameter with a valid [Langflow API key](/configuration-api-keys), such as `-H 'x-api-key: $API_KEY'`. + +### Get version - - +Returns the current Langflow API version: ```bash curl -X GET \ @@ -122,9 +102,8 @@ curl -X GET \ -H "accept: application/json" ``` - - - +
+Result ```text { "version": "1.1.1", @@ -132,16 +111,11 @@ curl -X GET \ "package": "Langflow" } ``` - - - +
### Get configuration -Retrieve the Langflow configuration information. - - - +Returns configuration details for your Langflow deployment: ```bash curl -X GET \ @@ -149,9 +123,8 @@ curl -X GET \ -H "accept: application/json" ``` - - - +
+Result ```json { "feature_flags": { @@ -164,13 +137,11 @@ curl -X GET \ "max_file_size_upload": 100 } ``` - - - +
### Get all components -This operation returns a dictionary of all Langflow components. +Returns a dictionary of all Langflow components: ```bash curl -X GET \ diff --git a/docs/docs/Components/components-helpers.md b/docs/docs/Components/components-helpers.md index 082229008a05..8cd3d07f49b8 100644 --- a/docs/docs/Components/components-helpers.md +++ b/docs/docs/Components/components-helpers.md @@ -297,4 +297,8 @@ Please list three fruits. | format_instructions | String | Pass to a prompt template to include formatting instructions for LLM responses. | | output_parser | Parser | The constructed output parser that can be used to parse LLM responses. | - \ No newline at end of file + + +## See also + +- [Session ID](/session-id) \ No newline at end of file diff --git a/docs/docs/Components/components-io.md b/docs/docs/Components/components-io.md index 62ceb777d7ca..37066983292a 100644 --- a/docs/docs/Components/components-io.md +++ b/docs/docs/Components/components-io.md @@ -34,7 +34,7 @@ It can optionally store the message in a chat history. |should_store_message|Store Messages|Store the message in the history.| |sender|Sender Type|The type of sender.| |sender_name|Sender Name|The name of the sender.| -|session_id|Session ID|The session ID of the chat. If empty, the current session ID parameter is used.| +|session_id|Session ID|The unique identifier for the chat session. If empty, the current session ID parameter is used.| |files|Files|The files to be sent with the message.| |background_color|Background Color|The background color of the icon.| |chat_icon|Icon|The icon of the message.| @@ -111,7 +111,7 @@ The component accepts the following input types. |should_store_message|Store Messages|The flag to store the message in the history.| |sender|Sender Type|The type of sender.| |sender_name|Sender Name|The name of the sender.| -|session_id|Session ID|The session ID of the chat. If empty, the current session ID parameter is used.| +|session_id|Session ID|The unique identifier for the chat session. If empty, the current session ID parameter is used.| |data_template|Data Template|The template to convert Data to Text. If the option is left empty, it is dynamically set to the Data's text key.| |background_color|Background Color|The background color of the icon.| |chat_icon|Icon|The icon of the message.| @@ -262,3 +262,7 @@ curl --request POST \ To confirm your command is using the tweak, navigate to the **Logs** pane and view the request from the **Chat Input** component. The value for `should_store_message` is `false`. + +## See also + +- [Session ID](/session-id) \ No newline at end of file diff --git a/docs/docs/Components/components-memories.md b/docs/docs/Components/components-memories.md index ade9d8a261c6..8a52b762a68c 100644 --- a/docs/docs/Components/components-memories.md +++ b/docs/docs/Components/components-memories.md @@ -5,7 +5,7 @@ slug: /components-memories # Memory components in Langflow -Memory components store and retrieve chat messages by `session_id`. +Memory components store and retrieve chat messages by [`session_id`](/session-id). They are distinct from vector store components, because they are built specifically for storing and retrieving chat messages from external databases. @@ -34,7 +34,7 @@ This component creates an `AstraDBChatMessageHistory` instance, which stores and | token | SecretString | The authentication token for Astra DB access. Required. | | api_endpoint | SecretString | The API endpoint URL for the Astra DB service. Required. | | namespace | String | The optional namespace within Astra DB for the collection. | -| session_id | MessageText | The chat session ID. Uses the current session ID if not provided. | +| session_id | MessageText | The unique identifier for the chat session. Uses the current session ID if not provided. | **Outputs** @@ -117,7 +117,7 @@ This component retrieves and stores chat messages from Redis. | username | Username | The Redis username. | | password | Password | The password for the username. | | key_prefix | Key prefix | The key prefix. | -| session_id | Session ID | The session ID for the message. | +| session_id | Session ID | The unique session identifier for the message. | **Outputs** diff --git a/docs/docs/Components/components-vector-stores.md b/docs/docs/Components/components-vector-stores.md index de9dbdf4b16f..09b2da23bdd7 100644 --- a/docs/docs/Components/components-vector-stores.md +++ b/docs/docs/Components/components-vector-stores.md @@ -399,7 +399,7 @@ For more information, see the [Chroma documentation](https://docs.trychroma.com/ | Name | Type | Description | |------|------|-------------| | collection_name | String | The name of the Chroma collection. Default: "langflow". | -| persist_directory | String | Custom base directory to save the vector store. Collections are stored under `{directory}/vector_stores/{collection_name}`. If not specified, it will use your system's cache folder. | +| persist_directory | String | Custom base directory to save the vector store. Collections are stored under `$DIRECTORY/vector_stores/$COLLECTION_NAME`. If not specified, it will use your system's cache folder. | | existing_collections | String | Select a previously created collection to search through its stored data. | | embedding | Embeddings | The embedding function to use for the vector store. | | allow_duplicates | Boolean | If false, will not add documents that are already in the Vector Store. | diff --git a/docs/docs/Concepts/concepts-objects.md b/docs/docs/Concepts/concepts-objects.md index ce602bea0d6a..d93a6cd29f27 100644 --- a/docs/docs/Concepts/concepts-objects.md +++ b/docs/docs/Concepts/concepts-objects.md @@ -204,3 +204,7 @@ DataFrameInput( name="dataframe_input", display_name="DataFrame Input", info="Input for DataFrame objects.", tool_mode=True ), ``` + +## See also + +- [Session ID](/session-id) \ No newline at end of file diff --git a/docs/docs/Concepts/concepts-playground.md b/docs/docs/Concepts/concepts-playground.md index 89238f4d0db0..c06e075d8b67 100644 --- a/docs/docs/Concepts/concepts-playground.md +++ b/docs/docs/Concepts/concepts-playground.md @@ -14,7 +14,7 @@ The Playground's window arrangement changes depending on what components are bei ## Run a flow in the playgound -When you run a flow in the **Playground**, Langflow calls the `/build/{flow_id}/flow` endpoint in [chat.py](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/api/v1/chat.py#L162). This call retrieves the flow data, builds a graph, and executes the graph. As each component (or node) is executed, the `build_vertex` function calls `build_and_run`, which may call the individual components' `def_build` method, if it exists. If a component doesn't have a `def_build` function, the build still returns a component. +When you run a flow in the **Playground**, Langflow calls the `/build/$FLOW_ID/flow` endpoint in [chat.py](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/api/v1/chat.py#L162). This call retrieves the flow data, builds a graph, and executes the graph. As each component (or node) is executed, the `build_vertex` function calls `build_and_run`, which may call the individual components' `def_build` method, if it exists. If a component doesn't have a `def_build` function, the build still returns a component. The `build` function allows components to execute logic at runtime. For example, the [Recursive character text splitter](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/components/langchain_utilities/recursive_character.py) is a child of the `LCTextSplitterComponent` class. When text needs to be processed, the parent class's `build` method is called, which creates a `RecursiveCharacterTextSplitter` object and uses it to split the text according to the defined parameters. The split text is then passed on to the next component. This all occurs when the component is built. @@ -29,7 +29,7 @@ To view messages by `session_id` within the Playground, click the Date: Fri, 20 Jun 2025 18:02:51 -0700 Subject: [PATCH 06/12] revert yarn --- docs/yarn.lock | 743 +++++++++++++++++++++++++++++++------------------ yarn.lock | 4 - 2 files changed, 478 insertions(+), 269 deletions(-) delete mode 100644 yarn.lock diff --git a/docs/yarn.lock b/docs/yarn.lock index 8790ee861122..148750a98f6f 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -54,6 +54,11 @@ resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.20.3.tgz" integrity sha512-IYRd/A/R3BXeaQVT2805lZEdWo54v39Lqa7ABOxIYnUvX2vvOMW1AyzCuT0U7Q+uPdD4UW48zksUKRixShcWxA== +"@algolia/client-common@5.25.0": + version "5.25.0" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.25.0.tgz" + integrity sha512-il1zS/+Rc6la6RaCdSZ2YbJnkQC6W1wiBO8+SH+DE6CPMWBU6iDVzH0sCKSAtMWl9WBxoN6MhNjGBnCv9Yy2bA== + "@algolia/client-insights@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.20.3.tgz" @@ -84,6 +89,16 @@ "@algolia/requester-fetch" "5.20.3" "@algolia/requester-node-http" "5.20.3" +"@algolia/client-search@>= 4.9.1 < 6": + version "5.25.0" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.25.0.tgz" + integrity sha512-9rUYcMIBOrCtYiLX49djyzxqdK9Dya/6Z/8sebPn94BekT+KLOpaZCuc6s0Fpfq7nx5J6YY5LIVFQrtioK9u0g== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + "@algolia/client-search@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.20.3.tgz" @@ -136,6 +151,13 @@ dependencies: "@algolia/client-common" "5.20.3" +"@algolia/requester-browser-xhr@5.25.0": + version "5.25.0" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.25.0.tgz" + integrity sha512-JLaF23p1SOPBmfEqozUAgKHQrGl3z/Z5RHbggBu6s07QqXXcazEsub5VLonCxGVqTv6a61AAPr8J1G5HgGGjEw== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-fetch@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.20.3.tgz" @@ -143,6 +165,13 @@ dependencies: "@algolia/client-common" "5.20.3" +"@algolia/requester-fetch@5.25.0": + version "5.25.0" + resolved "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.25.0.tgz" + integrity sha512-rtzXwqzFi1edkOF6sXxq+HhmRKDy7tz84u0o5t1fXwz0cwx+cjpmxu/6OQKTdOJFS92JUYHsG51Iunie7xbqfQ== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-node-http@5.20.3": version "5.20.3" resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.20.3.tgz" @@ -150,6 +179,13 @@ dependencies: "@algolia/client-common" "5.20.3" +"@algolia/requester-node-http@5.25.0": + version "5.25.0" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.25.0.tgz" + integrity sha512-ZO0UKvDyEFvyeJQX0gmZDQEvhLZ2X10K+ps6hViMo1HgE2V8em00SwNsQ+7E/52a+YiBkVWX61pJJJE44juDMQ== + dependencies: + "@algolia/client-common" "5.25.0" + "@alloc/quick-lru@^5.2.0": version "5.2.0" resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" @@ -186,7 +222,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== -"@babel/core@^7.21.3", "@babel/core@^7.25.9": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.21.3", "@babel/core@^7.25.9", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": version "7.26.9" resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz" integrity sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw== @@ -1479,7 +1515,7 @@ webpack "^5.95.0" webpackbar "^6.0.1" -"@docusaurus/core@3.7.0": +"@docusaurus/core@^2.0.0-beta || ^3.0.0-alpha", "@docusaurus/core@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.7.0.tgz" integrity sha512-b0fUmaL+JbzDIQaamzpAFpTviiaU4cX3Qz8cuo14+HGBCwa0evEK0UYCBFY3n4cLzL8Op1BueeroUD2LYAIHbQ== @@ -1545,7 +1581,7 @@ chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/mdx-loader@3.7.0", "@docusaurus/mdx-loader@^3.6.0": +"@docusaurus/mdx-loader@^3.6.0", "@docusaurus/mdx-loader@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.7.0.tgz" integrity sha512-OFBG6oMjZzc78/U3WNPSHs2W9ZJ723ewAcvVJaqS0VgyeUfmzUV8f1sv+iUHA0DtwiR5T5FjOxj6nzEE8LY6VA== @@ -1575,7 +1611,7 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.7.0", "@docusaurus/module-type-aliases@^3.7.0": +"@docusaurus/module-type-aliases@^3.7.0", "@docusaurus/module-type-aliases@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.7.0.tgz" integrity sha512-g7WdPqDNaqA60CmBrr0cORTrsOit77hbsTj7xE2l71YhBn79sxdm7WMK7wfhcaafkbpIh7jv5ef5TOpf1Xv9Lg== @@ -1627,7 +1663,7 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.7.0", "@docusaurus/plugin-content-docs@^2 || ^3", "@docusaurus/plugin-content-docs@^3.6.0": +"@docusaurus/plugin-content-docs@*", "@docusaurus/plugin-content-docs@^2 || ^3", "@docusaurus/plugin-content-docs@^3.5.0", "@docusaurus/plugin-content-docs@^3.6.0", "@docusaurus/plugin-content-docs@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.7.0.tgz" integrity sha512-GXg5V7kC9FZE4FkUZA8oo/NrlRb06UwuICzI6tcbzj0+TVgjq/mpUXXzSgKzMS82YByi4dY2Q808njcBCyy6tQ== @@ -1697,7 +1733,7 @@ "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@3.7.0", "@docusaurus/plugin-google-tag-manager@^3.7.0": +"@docusaurus/plugin-google-tag-manager@^3.7.0", "@docusaurus/plugin-google-tag-manager@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.7.0.tgz" integrity sha512-X8U78nb8eiMiPNg3jb9zDIVuuo/rE1LjGDGu+5m5CX4UBZzjMy+klOY2fNya6x8ACyE/L3K2erO1ErheP55W/w== @@ -1736,7 +1772,7 @@ tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/preset-classic@3.7.0", "@docusaurus/preset-classic@^3.6.0": +"@docusaurus/preset-classic@^3.6.0", "@docusaurus/preset-classic@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.7.0.tgz" integrity sha512-nPHj8AxDLAaQXs+O6+BwILFuhiWbjfQWrdw2tifOClQoNfuXDjfjogee6zfx6NGHWqshR23LrcN115DmkHC91Q== @@ -1756,7 +1792,7 @@ "@docusaurus/theme-search-algolia" "3.7.0" "@docusaurus/types" "3.7.0" -"@docusaurus/theme-classic@3.7.0": +"@docusaurus/theme-classic@>=3.0.0", "@docusaurus/theme-classic@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.7.0.tgz" integrity sha512-MnLxG39WcvLCl4eUzHr0gNcpHQfWoGqzADCly54aqCofQX6UozOS9Th4RK3ARbM9m7zIRv3qbhggI53dQtx/hQ== @@ -1788,7 +1824,7 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.7.0", "@docusaurus/theme-common@^3.6.0": +"@docusaurus/theme-common@^2 || ^3", "@docusaurus/theme-common@^3.5.0", "@docusaurus/theme-common@^3.6.0", "@docusaurus/theme-common@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.7.0.tgz" integrity sha512-8eJ5X0y+gWDsURZnBfH0WabdNm8XMCXHv8ENy/3Z/oQKwaB/EHt5lP9VsTDTf36lKEp0V6DjzjFyFIB+CetL0A== @@ -1828,7 +1864,7 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.7.0", "@docusaurus/theme-translations@^2 || ^3": +"@docusaurus/theme-translations@^2 || ^3", "@docusaurus/theme-translations@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.7.0.tgz" integrity sha512-Ewq3bEraWDmienM6eaNK7fx+/lHMtGDHQyd1O+4+3EsDxxUmrzPkV7Ct3nBWTuE0MsoZr3yNwQVKjllzCMuU3g== @@ -1851,7 +1887,7 @@ webpack "^5.95.0" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.7.0", "@docusaurus/utils-common@^2 || ^3", "@docusaurus/utils-common@^3.6.0": +"@docusaurus/utils-common@^2 || ^3", "@docusaurus/utils-common@^3.6.0", "@docusaurus/utils-common@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.7.0.tgz" integrity sha512-IZeyIfCfXy0Mevj6bWNg7DG7B8G+S6o6JVpddikZtWyxJguiQ7JYr0SIZ0qWd8pGNuMyVwriWmbWqMnK7Y5PwA== @@ -1859,7 +1895,7 @@ "@docusaurus/types" "3.7.0" tslib "^2.6.0" -"@docusaurus/utils-validation@3.7.0", "@docusaurus/utils-validation@^2 || ^3", "@docusaurus/utils-validation@^3.6.0": +"@docusaurus/utils-validation@^2 || ^3", "@docusaurus/utils-validation@^3.5.0", "@docusaurus/utils-validation@^3.6.0", "@docusaurus/utils-validation@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.7.0.tgz" integrity sha512-w8eiKk8mRdN+bNfeZqC4nyFoxNyI1/VExMKAzD9tqpJfLLbsa46Wfn5wcKH761g9WkKh36RtFV49iL9lh1DYBA== @@ -1873,7 +1909,7 @@ lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@3.7.0", "@docusaurus/utils@^2 || ^3", "@docusaurus/utils@^3.6.0": +"@docusaurus/utils@^2 || ^3", "@docusaurus/utils@^3.5.0", "@docusaurus/utils@^3.6.0", "@docusaurus/utils@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.7.0.tgz" integrity sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA== @@ -2041,14 +2077,6 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" @@ -2057,6 +2085,14 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jsdevtools/ono@^7.1.3": version "7.1.3" resolved "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz" @@ -2235,7 +2271,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -2532,7 +2568,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" -"@svgr/core@8.1.0": +"@svgr/core@*", "@svgr/core@8.1.0": version "8.1.0" resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== @@ -2964,7 +3000,7 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16": version "18.3.22" resolved "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz" integrity sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q== @@ -3056,7 +3092,7 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": +"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz" integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== @@ -3157,7 +3193,7 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": +"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz" integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== @@ -3214,7 +3250,7 @@ acorn-walk@^8.0.0, acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.2: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.2: version "8.14.1" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== @@ -3242,14 +3278,19 @@ ajv-draft-04@1.0.0: resolved "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz" integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== -ajv-formats@2.1.1, ajv-formats@^2.1.1: +ajv-formats@^2.1.1, ajv-formats@2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -3261,17 +3302,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.0, ajv@^8.0.0, ajv@^8.9.0: - version "8.11.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^6.12.2, ajv@^6.12.5: +ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3281,6 +3312,16 @@ ajv@^6.12.2, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.0, ajv@^8.5.0, ajv@^8.8.2, ajv@^8.9.0, ajv@8.11.0: + version "8.11.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + algoliasearch-helper@^3.22.6: version "3.24.1" resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.24.1.tgz" @@ -3288,7 +3329,7 @@ algoliasearch-helper@^3.22.6: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.17.1: +algoliasearch@^5.14.2, algoliasearch@^5.17.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": version "5.20.3" resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.20.3.tgz" integrity sha512-iNC6BGvipaalFfDfDnXUje8GUlW5asj0cTMsZJwO/0rhsyLx1L7GZFAY8wW+eQ6AM4Yge2p5GSE5hrBlfSD90Q== @@ -4235,7 +4276,17 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: +bn.js@^4.0.0: + version "4.12.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +bn.js@^4.1.0: + version "4.12.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +bn.js@^4.11.9: version "4.12.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== @@ -4394,7 +4445,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.3, browserslist@^4.24.4: +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.3, browserslist@^4.24.4, "browserslist@>= 4.21.0": version "4.24.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== @@ -4618,19 +4669,6 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@1.0.0-rc.12: - version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" - integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.0.1" - htmlparser2 "^8.0.1" - parse5 "^7.0.0" - parse5-htmlparser2-tree-adapter "^7.0.0" - cheerio@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz" @@ -4648,6 +4686,19 @@ cheerio@^1.0.0: undici "^6.19.5" whatwg-mimetype "^4.0.0" +cheerio@1.0.0-rc.12: + version "1.0.0-rc.12" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + chokidar@^3.4.2, chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" @@ -4798,17 +4849,17 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== -commander@2.20.3, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - commander@^10.0.0: version "10.0.1" resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -commander@^4.0.0, commander@~4.1.1: +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.0.0: version "4.1.1" resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== @@ -4833,6 +4884,16 @@ commander@^9.2.0: resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== +commander@~4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@2.20.3: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" @@ -4997,7 +5058,12 @@ core-js-pure@^3.30.2: resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.40.0.tgz" integrity sha512-AtDzVIgRrmRKQai62yuSIN5vNiQjcJakJb4fbhVw3ehxx7Lohphvw9SGNWKhLFqSxC4ilD0g/L1huAYFQU3Q6A== -core-js@^2.4.0, core-js@^2.5.0: +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^2.5.0: version "2.6.12" resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== @@ -5028,7 +5094,7 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^8.0.0, cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: +cosmiconfig@^8.0.0, cosmiconfig@^8.1.3, cosmiconfig@^8.3.5, cosmiconfig@>=7: version "8.3.6" resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== @@ -5083,7 +5149,16 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.3: +cross-spawn@^7.0.0: + version "7.0.6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^7.0.3: version "7.0.6" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -5317,20 +5392,41 @@ debounce@^1.2.1: resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: +debug@^2.6.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.6.8: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.4: +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.4, debug@4: version "4.4.0" resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: ms "^2.1.3" +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + decode-named-character-reference@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" @@ -5409,16 +5505,16 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - depd@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + dequal@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -5552,7 +5648,7 @@ docusaurus-plugin-image-zoom@^2.0.0: medium-zoom "^1.0.8" validate-peer-dependencies "^2.2.0" -docusaurus-plugin-openapi-docs@^4.3.1: +docusaurus-plugin-openapi-docs@^4.0.0, docusaurus-plugin-openapi-docs@^4.3.1: version "4.3.4" resolved "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.3.4.tgz" integrity sha512-7/MqkdO2ivBDxgpVxFkxsWoehkZfPJ3nzOOgIu/XVNzTytQ2TYFlDoa6GDC5zvwrSDJR7bCpJzeAaVe2Oa+nkg== @@ -5598,6 +5694,13 @@ docusaurus-plugin-proxy@^0.7.6: resolved "https://registry.npmjs.org/docusaurus-plugin-proxy/-/docusaurus-plugin-proxy-0.7.6.tgz" integrity sha512-MgjzMEsQOHMljwQGglXXoGjQvs0v1DklhRgzqNLKFwpHB9xLWJZ0KQ3GgbPerW/2vy8tWGJeVhKHy5cPrmweUw== +docusaurus-plugin-sass@^0.2.3: + version "0.2.6" + resolved "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz" + integrity sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg== + dependencies: + sass-loader "^16.0.2" + docusaurus-preset-openapi@^0.7.6: version "0.7.6" resolved "https://registry.npmjs.org/docusaurus-preset-openapi/-/docusaurus-preset-openapi-0.7.6.tgz" @@ -5702,13 +5805,6 @@ domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -domhandler@5.0.3, domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" @@ -5716,6 +5812,13 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" +domhandler@^5.0.2, domhandler@^5.0.3, domhandler@5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" @@ -5938,7 +6041,12 @@ escape-html@^1.0.3, escape-html@~1.0.3: resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -6230,7 +6338,7 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-loader@^6.2.0: +file-loader@*, file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== @@ -6412,7 +6520,16 @@ fresh@0.5.2: resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -fs-extra@^10.0.0, fs-extra@^10.1.0: +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.1.0: version "10.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -6430,7 +6547,17 @@ fs-extra@^11.1.1, fs-extra@^11.2.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^9.0.0, fs-extra@^9.0.1: +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -6511,7 +6638,12 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0, get-stream@^6.0.1: +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-stream@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -6528,7 +6660,14 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1, glob-parent@^6.0.2: +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -6669,17 +6808,17 @@ got@^12.1.0: p-cancelable "^3.0.0" responselike "^3.0.0" -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -graphlib@2.1.8, graphlib@^2.1.8: +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graphlib@^2.1.8, graphlib@2.1.8: version "2.1.8" resolved "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz" integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== @@ -7082,16 +7221,6 @@ html-webpack-plugin@^5.6.0: pretty-error "^4.0.0" tapable "^2.0.0" -htmlparser2@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz" - integrity sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.1.0" - entities "^4.5.0" - htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" @@ -7122,6 +7251,16 @@ htmlparser2@^9.1.0: domutils "^3.1.0" entities "^4.5.0" +htmlparser2@9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz" + integrity sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.1.0" + entities "^4.5.0" + http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" @@ -7132,6 +7271,16 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -7143,16 +7292,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-parser-js@>=0.5.1: version "0.5.9" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz" @@ -7222,6 +7361,13 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +iconv-lite@^0.6.3, iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" @@ -7229,13 +7375,6 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.6.3, iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" @@ -7309,7 +7448,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4, inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -7319,16 +7458,16 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" @@ -7356,16 +7495,16 @@ invariant@^2.2.2, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - ipaddr.js@^2.0.1: version "2.2.0" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz" integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + is-alphabetical@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" @@ -7587,16 +7726,16 @@ is-yarn-global@^0.4.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -7678,13 +7817,6 @@ js-tokens@^3.0.2: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" @@ -7693,6 +7825,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0, js-yaml@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz" @@ -7728,7 +7867,7 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-pointer@0.6.2, json-pointer@^0.6.2: +json-pointer@^0.6.2, json-pointer@0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz" integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== @@ -7939,7 +8078,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.14.0, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9143,7 +9282,7 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -9160,6 +9299,13 @@ mime-format@2.0.1: dependencies: charset "^1.0.0" +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34, mime-types@2.1.35: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime-types@2.1.18: version "2.1.18" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" @@ -9167,13 +9313,6 @@ mime-types@2.1.18: dependencies: mime-db "~1.33.0" -mime-types@2.1.35, mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" @@ -9222,7 +9361,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -9260,7 +9399,12 @@ minipass@^4.2.4: resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz" integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.1.2" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +minipass@^7.1.2: version "7.1.2" resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== @@ -9272,7 +9416,7 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.6" -monaco-editor@^0.31.1: +monaco-editor@^0.31.1, "monaco-editor@>= 0.25.0 < 1": version "0.31.1" resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.31.1.tgz" integrity sha512-FYPwxGZAeP6mRRyrr5XTGHD9gRXVjy7GUzF4IPChnyt3fS5WrNxIkS8DNujWf6EQy0Zlzpxw8oTVE+mWI2/D1Q== @@ -9287,16 +9431,16 @@ mrmime@^2.0.0: resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz" integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== +ms@^2.1.3, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.3, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" @@ -9329,16 +9473,16 @@ native-promise-only@^0.8.1: resolved "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz" integrity sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg== -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - negotiator@~0.6.4: version "0.6.4" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz" integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + neo-async@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" @@ -9379,7 +9523,7 @@ node-fetch-h2@^2.3.0: dependencies: http2-client "^1.2.5" -node-fetch@2, node-fetch@^2.0.0, node-fetch@^2.6.1: +node-fetch@^2.0.0, node-fetch@^2.6.1, node-fetch@2: version "2.7.0" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -9611,7 +9755,7 @@ object-assign@^4.0.1, object-assign@^4.1.1: resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-hash@3.0.0, object-hash@^3.0.0: +object-hash@^3.0.0, object-hash@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== @@ -9936,7 +10080,7 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-browserify@1.0.1, path-browserify@^1.0.1: +path-browserify@^1.0.1, path-browserify@1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== @@ -10004,6 +10148,13 @@ path-scurry@^1.11.1, path-scurry@^1.6.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-to-regexp@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== + dependencies: + isarray "0.0.1" + path-to-regexp@0.1.12: version "0.1.12" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz" @@ -10014,19 +10165,12 @@ path-to-regexp@3.3.0: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz" integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== -path-to-regexp@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" - integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== - dependencies: - isarray "0.0.1" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -path@0.12.7, path@^0.12.7: +path@^0.12.7, path@0.12.7: version "0.12.7" resolved "https://registry.npmjs.org/path/-/path-0.12.7.tgz" integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== @@ -10672,7 +10816,7 @@ postcss-zindex@^6.0.2: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38, postcss@^8.4.47: +"postcss@^7.0.0 || ^8.0.1", postcss@^8, postcss@^8.0.0, postcss@^8.0.3, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.2.2, postcss@^8.4, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.33, postcss@^8.4.38, postcss@^8.4.47, postcss@^8.4.6, postcss@>=8.0.9: version "8.5.2" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz" integrity sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA== @@ -10750,7 +10894,23 @@ prism-react-renderer@^1.3.5: resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz" integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== -prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0, prism-react-renderer@^2.4.0: +prism-react-renderer@^2.1.0: + version "2.4.1" + resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz" + integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== + dependencies: + "@types/prismjs" "^1.26.0" + clsx "^2.0.0" + +prism-react-renderer@^2.3.0: + version "2.4.1" + resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz" + integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== + dependencies: + "@types/prismjs" "^1.26.0" + clsx "^2.0.0" + +prism-react-renderer@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz" integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== @@ -10855,13 +11015,6 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" -qs@6.13.0: - version "6.13.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz" - integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== - dependencies: - side-channel "^1.0.6" - qs@^6.10.3, qs@^6.11.0, qs@^6.12.3: version "6.14.0" resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz" @@ -10869,6 +11022,13 @@ qs@^6.10.3, qs@^6.11.0, qs@^6.12.3: dependencies: side-channel "^1.1.0" +qs@6.13.0: + version "6.13.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" @@ -10906,16 +11066,21 @@ randomfill@^1.0.4: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== +range-parser@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -range-parser@^1.2.1, range-parser@~1.2.1: +range-parser@~1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + raw-body@2.5.2: version "2.5.2" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" @@ -10966,7 +11131,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^18.2.0: +react-dom@*, "react-dom@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", "react-dom@^16.14.0 || 17 || ^18", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.x || ^18.x", react-dom@^18.0.0, "react-dom@^18.0.0 || ^19.0.0", react-dom@^18.2.0, "react-dom@>= 16.8.0 < 19.0.0", react-dom@>=16.8.0, react-dom@>=18.0.0: version "18.3.1" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== @@ -10995,7 +11160,7 @@ react-fast-compare@^3.0.1, react-fast-compare@^3.2.0: react-fast-compare "^3.2.0" shallowequal "^1.1.0" -react-hook-form@^7.43.8: +react-hook-form@^7.0.0, react-hook-form@^7.43.8: version "7.54.2" resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.54.2.tgz" integrity sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg== @@ -11041,7 +11206,7 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" -"react-loadable@npm:@docusaurus/react-loadable@6.0.0": +react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== @@ -11100,7 +11265,7 @@ react-property@2.0.2: resolved "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz" integrity sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug== -react-redux@^7.2.0: +react-redux@^7.2.0, "react-redux@^7.2.1 || ^8.0.2": version "7.2.9" resolved "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz" integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== @@ -11132,7 +11297,7 @@ react-router-dom@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.3.4, react-router@^5.3.4: +react-router@^5.3.4, react-router@>=5, react-router@5.3.4: version "5.3.4" resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -11147,7 +11312,7 @@ react-router@5.3.4, react-router@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react@^18.2.0: +react@*, "react@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.14.0 || ^17 || ^18", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17 || ^18 || ^19", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.3 || ^17 || ^18", "react@^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18", "react@^17.x || ^18.x", react@^18.0.0, "react@^18.0.0 || ^19.0.0", react@^18.2.0, react@^18.3.1, "react@>= 16.8.0", "react@>= 16.8.0 < 19.0.0", react@>=0.14.9, react@>=15, react@>=16, react@>=16.0.0, react@>=16.6.0, react@>=16.8.0, react@>=18.0.0, "react@0.14 || 15 || 16 || 17 || 18": version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -11161,7 +11326,20 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -readable-stream@^2.0.1, readable-stream@^2.3.8: +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.3.8: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -11183,7 +11361,18 @@ readable-stream@^3.0.6, readable-stream@^3.5.0, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^4.4.2, readable-stream@^4.7.0: +readable-stream@^4.4.2: + version "4.7.0" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz" + integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + +readable-stream@^4.7.0: version "4.7.0" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz" integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== @@ -11282,7 +11471,7 @@ redux-thunk@^2.4.2: resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz" integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== -redux@^4.0.0, redux@^4.2.1: +"redux@^3.1.0 || ^4.0.0", redux@^4, redux@^4.0.0, redux@^4.2.1: version "4.2.1" resolved "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz" integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== @@ -11464,16 +11653,6 @@ remark-frontmatter@^5.0.0: micromark-extension-frontmatter "^2.0.0" unified "^11.0.0" -remark-gfm@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" - integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-gfm "^2.0.0" - micromark-extension-gfm "^2.0.0" - unified "^10.0.0" - remark-gfm@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz" @@ -11486,6 +11665,16 @@ remark-gfm@^4.0.0: remark-stringify "^11.0.0" unified "^11.0.0" +remark-gfm@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" + integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-gfm "^2.0.0" + micromark-extension-gfm "^2.0.0" + unified "^10.0.0" + remark-mdx@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz" @@ -11692,7 +11881,7 @@ sade@^1.7.3: dependencies: mri "^1.1.0" -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -11730,7 +11919,7 @@ sass-loader@^16.0.2: dependencies: neo-async "^2.6.2" -sass@^1.80.4: +sass@^1.3.0, sass@^1.30.0, sass@^1.80.4: version "1.89.0" resolved "https://registry.npmjs.org/sass/-/sass-1.89.0.tgz" integrity sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ== @@ -11753,15 +11942,6 @@ scheduler@^0.23.2: dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - schema-utils@^3.0.0: version "3.3.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" @@ -11781,6 +11961,20 @@ schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0, schema-utils@^4.3 ajv-formats "^2.1.1" ajv-keywords "^5.1.0" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +"search-insights@>= 1 < 3": + version "2.17.3" + resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz" + integrity sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ== + section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -11809,11 +12003,6 @@ semver-diff@^4.0.0: dependencies: semver "^7.3.5" -semver@7.6.3: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - semver@^6.3.1: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" @@ -11824,6 +12013,11 @@ semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4: resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz" integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== +semver@7.6.3: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + send@0.19.0: version "0.19.0" resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz" @@ -11962,7 +12156,7 @@ shell-quote@^1.7.3, shell-quote@^1.8.1: resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz" integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== -shelljs@0.8.5, shelljs@^0.8.5: +shelljs@^0.8.5, shelljs@0.8.5: version "0.8.5" resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== @@ -12138,7 +12332,7 @@ sort-css-media-queries@2.2.0: resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: +source-map-js@^1.0.1, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0": version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -12158,12 +12352,17 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.6, source-map@^0.5.7: +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@~0.6.0: +source-map@^0.6.0: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -12173,6 +12372,11 @@ source-map@^0.7.0: resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" @@ -12216,16 +12420,16 @@ state-local@^1.0.6: resolved "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz" integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + std-env@^3.7.0: version "3.8.0" resolved "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz" @@ -12249,6 +12453,20 @@ stream-http@^3.2.0: readable-stream "^3.6.0" xtend "^4.0.2" +string_decoder@^1.1.1, string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -12258,7 +12476,16 @@ stream-http@^3.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -12276,20 +12503,6 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string_decoder@^1.1.1, string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-entities@^4.0.0: version "4.0.4" resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" @@ -12375,13 +12588,6 @@ style-to-js@1.1.8: dependencies: style-to-object "1.0.3" -style-to-object@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.3.tgz" - integrity sha512-xOpx7S53E0V3DpVsvt7ySvoiumRpfXiC99PUXLqGB3wiAnN9ybEIpuzlZ8LAZg+h1sl9JkEUwtSQXxcCgFqbbg== - dependencies: - inline-style-parser "0.2.2" - style-to-object@^0.4.0: version "0.4.4" resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" @@ -12396,6 +12602,13 @@ style-to-object@^1.0.0: dependencies: inline-style-parser "0.2.4" +style-to-object@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.3.tgz" + integrity sha512-xOpx7S53E0V3DpVsvt7ySvoiumRpfXiC99PUXLqGB3wiAnN9ybEIpuzlZ8LAZg+h1sl9JkEUwtSQXxcCgFqbbg== + dependencies: + inline-style-parser "0.2.2" + stylehacks@^6.1.1: version "6.1.1" resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz" @@ -12476,7 +12689,7 @@ svgo@^3.0.2, svgo@^3.2.0: csso "^5.0.5" picocolors "^1.0.0" -swagger2openapi@7.0.8, swagger2openapi@^7.0.8: +swagger2openapi@^7.0.8, swagger2openapi@7.0.8: version "7.0.8" resolved "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz" integrity sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== @@ -12655,7 +12868,7 @@ ts-interface-checker@^0.1.9: resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -ts-node@^10.2.1: +ts-node@^10.2.1, ts-node@>=10, ts-node@>=9.0.0: version "10.9.2" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== @@ -12719,7 +12932,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^5.2.2: +typescript@^5.2.2, "typescript@>= 2.7", typescript@>=2.7, typescript@>=4, typescript@>=4.9.5: version "5.7.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz" integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== @@ -12888,7 +13101,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -12998,7 +13211,7 @@ utils-merge@1.0.1: resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@8.3.2, uuid@^8.3.2: +uuid@^8.3.2, uuid@8.3.2: version "8.3.2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -13246,7 +13459,7 @@ webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.61.0, webpack@^5.88.1, webpack@^5.95.0: +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.61.0, webpack@^5.88.1, webpack@^5.95.0, "webpack@>= 4", "webpack@>=4.41.1 || 5.x", webpack@>=5, "webpack@3 || 4 || 5": version "5.99.9" resolved "https://registry.npmjs.org/webpack/-/webpack-5.99.9.tgz" integrity sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg== @@ -13290,7 +13503,7 @@ webpackbar@^6.0.1: std-env "^3.7.0" wrap-ansi "^7.0.0" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== @@ -13463,7 +13676,7 @@ yaml-ast-parser@0.0.43: resolved "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz" integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== -yaml@1.10.2, yaml@^1.10.0, yaml@^1.7.2: +yaml@^1.10.0, yaml@^1.7.2, yaml@1.10.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== @@ -13509,4 +13722,4 @@ yocto-queue@^1.0.0: zwitch@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index fb57ccd13afb..000000000000 --- a/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - From 997dfe4ee1868571f4fe6005ec450d204f3aecce Mon Sep 17 00:00:00 2001 From: April M Date: Fri, 20 Jun 2025 18:08:57 -0700 Subject: [PATCH 07/12] mc --- docs/docs/API-Reference/api-flows-run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/API-Reference/api-flows-run.md b/docs/docs/API-Reference/api-flows-run.md index e09bd24219f2..1d84eccab99a 100644 --- a/docs/docs/API-Reference/api-flows-run.md +++ b/docs/docs/API-Reference/api-flows-run.md @@ -15,7 +15,7 @@ To create, read, update, and delete flows, see [Flow management endpoints](/api- Execute a specified flow by ID or name. The flow is executed as a batch, but LLM responses can be streamed. -This example runs a [Basic Prompting](/starter-projects-basic-prompting) flow with a given flow ID and passes a JSON object as the input value. +This example runs a [Basic Prompting](/basic-prompting) flow with a given flow ID and passes a JSON object as the input value. Flow IDs can be found on the [Publish pane](/concepts-publish) or in a flow's URL. The parameters are passed in the request body. In this example, the values are the default values. From dbec5e8181ae298a86c5eb4c6e92677f5679437f Mon Sep 17 00:00:00 2001 From: April M Date: Fri, 20 Jun 2025 18:29:23 -0700 Subject: [PATCH 08/12] coderabbit --- docs/docs/API-Reference/api-build.md | 4 +-- docs/docs/API-Reference/api-files.md | 31 ++++++++++--------- docs/docs/API-Reference/api-flows-run.md | 5 +-- docs/docs/API-Reference/api-flows.md | 4 --- docs/docs/API-Reference/api-projects.md | 2 +- .../api-reference-api-examples.md | 2 +- docs/docs/API-Reference/api-users.md | 2 +- docs/docs/Concepts/concepts-publish.md | 2 +- docs/docs/Develop/webhook.md | 11 ++++--- 9 files changed, 33 insertions(+), 30 deletions(-) diff --git a/docs/docs/API-Reference/api-build.md b/docs/docs/API-Reference/api-build.md index f3d0dabd5666..c5a13672f52f 100644 --- a/docs/docs/API-Reference/api-build.md +++ b/docs/docs/API-Reference/api-build.md @@ -102,8 +102,8 @@ The `/build/$FLOW_ID/flow` endpoint accepts the following parameters in its requ | inputs | object | Optional. Input values for flow components. | | data | object | Optional. Flow data to override stored configuration. | | files | array[string] | Optional. List of file paths to use. | -| start_component_id | string | Optional. ID of the component where the execution should start. Component `id` values can be found in a [Langflow JSON files](/concepts-flows#langflow-json-file-contents) | -| stop_component_id | string | Optional. ID of the component where the execution should stop. Component `id` values can be found in a [Langflow JSON files](/concepts-flows#langflow-json-file-contents).| +| start_component_id | string | Optional. ID of the component where the execution should start. Component `id` values can be found in [Langflow JSON files](/concepts-flows#langflow-json-file-contents) | +| stop_component_id | string | Optional. ID of the component where the execution should stop. Component `id` values can be found in [Langflow JSON files](/concepts-flows#langflow-json-file-contents).| | log_builds | boolean | Optional. Control build logging. Default: `true`. | ### Set start and stop points diff --git a/docs/docs/API-Reference/api-files.md b/docs/docs/API-Reference/api-files.md index 66426b9597a1..3c4deaf3af01 100644 --- a/docs/docs/API-Reference/api-files.md +++ b/docs/docs/API-Reference/api-files.md @@ -6,25 +6,28 @@ slug: /api-files import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Use the `/files` endpoint to add or delete files between your local machine and Langflow. +Use the `/files` endpoints to move files between your local machine and Langflow. -There are `/v1` and `/v2` versions of the `/files` endpoints. -The `v2/files` version offers several improvements over `/v1`: +## Differences between `/v1/files` and `/v2/files` -- In `v1`, files are organized by `flow_id`. In `v2`, files are organized by `user_id`. - This means files are accessed based on user ownership, and not tied to specific flows. +There are two versions of the `/files` endpoints. + +`/v2/files` offers several improvements over `/v1/files`: + +- `/v2` files are organized by `user_id` instead of `flow_id`. + This means files are owned by users, and they aren't attached to specific flows. You can upload a file to Langflow one time, and use it with multiple flows. -- In `v2`, files are tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. -- Responses from the `/v2` endpoint contain more descriptive metadata. -- The `v2` endpoints require authentication by an API key or JWT. -- The `/v2/files` endpoint does not support sending **image** files to flows through the API. To send **image** files to your flows through the API, follow the procedure in [Upload image files (v1)](#upload-image-files-v1). +- `/v2` files are tracked in the Langflow database. +- `/v2` supports bulk upload and delete. +- `/v2` responses contain more descriptive metadata. +- `/v2` endpoints have more strict security, requiring authentication by an API key or JWT. -## Files/V1 endpoints +However, `/v2/files` doesn't support image files. +To send image files to your flows through the API, use [Upload image files (v1)](#upload-image-files-v1). -Use the `/files` endpoint to add or delete files between your local machine and Langflow. +## Files/V1 endpoints -- In `v1`, files are organized by `flow_id`. -- In `v2`, files are organized by `user_id` and tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. +Use the `/files` endpoints to move files between your local machine and Langflow. ### Upload file (v1) @@ -84,7 +87,7 @@ The API returns the image file path in the format `"file_path":"/< 2. Post the image file to the **Chat Input** component of a **Basic prompting** flow. Pass the file path value as an input in the **Tweaks** section of the curl call to Langflow. - To find your Chat input component's ID, use the [](#) + Component `id` values can be found in [Langflow JSON files](/concepts-flows#langflow-json-file-contents). ```bash curl -X POST \ diff --git a/docs/docs/API-Reference/api-flows-run.md b/docs/docs/API-Reference/api-flows-run.md index 1d84eccab99a..463f3c3fb46d 100644 --- a/docs/docs/API-Reference/api-flows-run.md +++ b/docs/docs/API-Reference/api-flows-run.md @@ -183,9 +183,10 @@ curl -X POST \
Result -```text +```json { - {"message":"Task started in the background","status":"in progress"} + "message": "Task started in the background", + "status": "in progress" } ```
diff --git a/docs/docs/API-Reference/api-flows.md b/docs/docs/API-Reference/api-flows.md index da0d37aa1bc2..028fbd3f64b9 100644 --- a/docs/docs/API-Reference/api-flows.md +++ b/docs/docs/API-Reference/api-flows.md @@ -95,7 +95,6 @@ curl -X POST \ "locked": false, "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, { "name": "string", @@ -114,7 +113,6 @@ curl -X POST \ "locked": false, "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ] }' @@ -204,7 +202,6 @@ curl -X PATCH \ "description": "string", "data": {}, "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "endpoint_name": "my_new_endpoint_name", "locked": true }' @@ -230,7 +227,6 @@ curl -X PATCH \ "id": "01ce083d-748b-4b8d-97b6-33adbb6a528a", "user_id": "f58396d4-a387-4bb8-b749-f40825c3d9f3", "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - "project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ``` diff --git a/docs/docs/API-Reference/api-projects.md b/docs/docs/API-Reference/api-projects.md index 0c007192f271..7269322ff34f 100644 --- a/docs/docs/API-Reference/api-projects.md +++ b/docs/docs/API-Reference/api-projects.md @@ -74,7 +74,7 @@ curl -X POST \
-To add flows and components at project creation, retrieve the `components_list` and `flows_list` values from the [/api/v1/store/components](/api-reference-api-examples#get-all-components) and [/api/v1/flows/read](/api-flows#read-flows) endpoints and add them to the request body. +To add flows and components at project creation, retrieve the `components_list` and `flows_list` values from the [`/all`](/api-reference-api-examples#get-all-components) and [/flows/read](/api-flows#read-flows) endpoints and add them to the request body. Adding a flow to a project moves the flow from its previous location. The flow is not copied. diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index deda0be2e1a5..9dfc8a2abc92 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -152,6 +152,6 @@ curl -X GET \ ## Next steps - Use the Langflow API to [run a flow](/api-flows-run). -- Use the Langflow API to [upload files](/api-flows). +- Use the Langflow API to [upload files](/api-files). - Use the Langflow API to [get flow logs](/api-logs). - Explore all endpoints in the [Langflow API specification](/api). \ No newline at end of file diff --git a/docs/docs/API-Reference/api-users.md b/docs/docs/API-Reference/api-users.md index ada50cbe73a6..d35b8d7a3c7d 100644 --- a/docs/docs/API-Reference/api-users.md +++ b/docs/docs/API-Reference/api-users.md @@ -236,7 +236,7 @@ curl -X PATCH \ ```json { - "id": "07e5b864-e367-4f52-b647-a48035ae7e5e", + "id": "10c1c6a2-ab8a-4748-8700-0e4832fd5ce8", "username": "langflow", "profile_image": null, "store_api_key": null, diff --git a/docs/docs/Concepts/concepts-publish.md b/docs/docs/Concepts/concepts-publish.md index 3ecbdc7b67b3..6394e961a462 100644 --- a/docs/docs/Concepts/concepts-publish.md +++ b/docs/docs/Concepts/concepts-publish.md @@ -68,7 +68,7 @@ For information on sending files to the Langflow API, see [Files endpoint](/api- ## Shareable playground -The **Shareable playground** exposes your Langflow application's **Playground** at the `/public_flow/{$FLOW_ID` endpoint. +The **Shareable playground** exposes your Langflow application's **Playground** at the `/public_flow/$FLOW_ID` endpoint. You can share this endpoint publicly using a sharing platform like [Ngrok](https://ngrok.com/docs/getting-started/?os=macos) or [zrok](https://docs.zrok.io/docs/getting-started). diff --git a/docs/docs/Develop/webhook.md b/docs/docs/Develop/webhook.md index 1aabae69ed7b..7e0264ebd869 100644 --- a/docs/docs/Develop/webhook.md +++ b/docs/docs/Develop/webhook.md @@ -31,7 +31,7 @@ To connect the **Webhook** to a **Parser** component to view and parse your data 7. Send a POST request with any data to trigger your flow. This example uses `id`, `name`, and `email` strings. Replace **FLOW_ID** with your flow's ID, which can be found on the [Publish pane](/concepts-publish) or in the flow's URL. - ```text + ```bash curl -X POST "http://localhost:7860/api/v1/webhook/YOUR_FLOW_ID" \ -H 'Content-Type: application/json' \ -d '{"id": "12345", "name": "alex", "email": "alex@email.com"}' @@ -39,11 +39,14 @@ Replace **FLOW_ID** with your flow's ID, which can be found on the [Publish pane This response indicates Langflow received your request: - ```text - {"message":"Task started in the background","status":"in progress"} + ```json + { + "message": "Task started in the background", + "status": "in progress" + } ``` -8. To view the data received from your request, in the **Parser** component, click . +1. To view the data received from your request, in the **Parser** component, click . You should receive a string of parsed text, like `ID: 12345 - Name: alex - Email: alex@email.com`. From beb926481180ba41d31fb17da7c09782305ec128 Mon Sep 17 00:00:00 2001 From: April M Date: Fri, 20 Jun 2025 18:31:52 -0700 Subject: [PATCH 09/12] minor edit --- docs/docs/API-Reference/api-reference-api-examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index 9dfc8a2abc92..6cf5f7294b04 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -61,7 +61,7 @@ Then, to run your flow, you call `POST /v1/run/$FLOW_ID` with optional run param The Langflow API serves `/v1` and `/v2` endpoints. -Some endpoints exist only under `/v2`, and some endpoints have both `/v1` and `/v2` versions. +Some endpoints have only exist under a single version and some exist under both the `/v1` and `/v2` versions. If a request fails or has an unexpected result, make sure your endpoint path has the correct version. From 24614a3e6c3716981d51064f9bbc73154b9028bf Mon Sep 17 00:00:00 2001 From: April M Date: Fri, 20 Jun 2025 18:35:57 -0700 Subject: [PATCH 10/12] add quickstart link --- docs/docs/API-Reference/api-reference-api-examples.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index 6cf5f7294b04..6a52487124c5 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -16,6 +16,12 @@ You can use the Langflow API for programmatic interaction with Langflow: To view and test all available endpoints, you can access the Langflow API's OpenAPI specification at your Langflow deployment's `/docs` endpoint, such as `http://localhost:7860/docs`. +:::tip +For an example of the Langflow API in a script, see the [Langflow quickstart](/get-started-quickstart). + +The quickstart demonstrates how to get automatically generated code snippets for your flows, use a script to run a flow, and extract data from the Langfow API response. +::: + ## Form Langflow API requests While individual parameters vary by endpoint, all Langflow API requests share some commonalities. From 3b669bc0b4534a339b5caad2ac0173fef91354e9 Mon Sep 17 00:00:00 2001 From: April M Date: Mon, 23 Jun 2025 12:46:40 -0700 Subject: [PATCH 11/12] peer review --- docs/docs/API-Reference/api-build.md | 11 ++++++----- docs/docs/API-Reference/api-files.md | 5 +++-- docs/docs/API-Reference/api-flows.md | 4 +--- docs/docs/API-Reference/api-logs.md | 2 +- docs/docs/API-Reference/api-monitor.md | 2 +- .../API-Reference/api-reference-api-examples.md | 14 +++++++------- docs/docs/Components/components-vector-stores.md | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/docs/API-Reference/api-build.md b/docs/docs/API-Reference/api-build.md index c5a13672f52f..89c9a869761e 100644 --- a/docs/docs/API-Reference/api-build.md +++ b/docs/docs/API-Reference/api-build.md @@ -6,14 +6,15 @@ slug: /api-build import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Use the `/build` endpoint to build vertices and flows, and execute those flows with streaming event responses. +Use the `/build` endpoints to build vertices and flows, and execute those flows with streaming event responses. -The `/build` endpoint offers additional configuration for running flows. +The `/build` endpoints offers additional configuration for running flows, but they are for development against the Langflow codebase. :::important -This `/build` endpoints are meant to be used by the frontend, and they aren't optimized for external use. +This `/build` endpoints are meant to be used by Langflow's frontend code. +They aren't intended for running flows as apart of application development with Langflow. -To run a flow, use the [`/run` endpoint](/api-flows-run#run-flow). +To run flows in your apps, see [Flow trigger endpoints](/api-flows-run). ::: ## Build flow and stream events @@ -76,7 +77,7 @@ curl -X GET \
-The events endpoint accepts an optional `stream` query parameter which defaults to `true`. +The `/build/$FLOW_ID/events` endpoint accepts an optional `stream` query parameter that defaults to `true`. To disable streaming and get all events at once, set `stream` to `false`. ```text diff --git a/docs/docs/API-Reference/api-files.md b/docs/docs/API-Reference/api-files.md index 3c4deaf3af01..0b22a01e929a 100644 --- a/docs/docs/API-Reference/api-files.md +++ b/docs/docs/API-Reference/api-files.md @@ -12,7 +12,7 @@ Use the `/files` endpoints to move files between your local machine and Langflow There are two versions of the `/files` endpoints. -`/v2/files` offers several improvements over `/v1/files`: +`/v2/files` offers the following improvements over `/v1/files`: - `/v2` files are organized by `user_id` instead of `flow_id`. This means files are owned by users, and they aren't attached to specific flows. @@ -186,7 +186,8 @@ curl -X DELETE \ ## Files/V2 endpoints -In `v2`, files are organized by `user_id` and tracked in the Langflow database, and can be added or deleted in bulk, instead of one by one. +Use the `/files` endpoints to move files between your local machine and Langflow. + The `v2` endpoints require authentication by an API key or JWT. To create a Langflow API key and export it as an environment variable, see [Get started with the Langflow API](/api-reference-api-examples). diff --git a/docs/docs/API-Reference/api-flows.md b/docs/docs/API-Reference/api-flows.md index 028fbd3f64b9..15e99eea7839 100644 --- a/docs/docs/API-Reference/api-flows.md +++ b/docs/docs/API-Reference/api-flows.md @@ -8,9 +8,7 @@ import TabItem from '@theme/TabItem'; Use the `/flows` endpoint to create, read, update, and delete flows. -## Run flows - -See [Flow trigger endpoints](/api-flows-run). +If you want to use the Langflow API to run a flow, see [Flow trigger endpoints](/api-flows-run). ## Create flow diff --git a/docs/docs/API-Reference/api-logs.md b/docs/docs/API-Reference/api-logs.md index 31c517353a84..07fb960a687b 100644 --- a/docs/docs/API-Reference/api-logs.md +++ b/docs/docs/API-Reference/api-logs.md @@ -30,7 +30,7 @@ The `/logs` endpoint requires log retrieval to be enabled in your Langflow insta ## Stream logs -Stream logs in real-time using Server-Sent Events (SSE). +Stream logs in real-time using Server Sent Events (SSE). diff --git a/docs/docs/API-Reference/api-monitor.md b/docs/docs/API-Reference/api-monitor.md index f3349ffb0426..d7bc135b37ca 100644 --- a/docs/docs/API-Reference/api-monitor.md +++ b/docs/docs/API-Reference/api-monitor.md @@ -633,7 +633,7 @@ HTTP/1.1 204 No Content ## Get transactions -Retrieve all transactions (interactions between components) for a specific flow. +Retrieve all transactions, which are interactions between components, for a specific flow. diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md index 6a52487124c5..53180d424ee1 100644 --- a/docs/docs/API-Reference/api-reference-api-examples.md +++ b/docs/docs/API-Reference/api-reference-api-examples.md @@ -6,13 +6,13 @@ slug: /api-reference-api-examples import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -You can use the Langflow API for programmatic interaction with Langflow: +You can use the Langflow API for programmatic interactions with Langflow, such as the following: -* Create and edit flows, including file management for flows -* Develop applications that use your flows -* Develop custom components -* Build Langflow as a dependency of a larger project -* Contribute to the overall Langflow project +* Create and edit flows, including file management for flows. +* Develop applications that use your flows. +* Develop custom components. +* Build Langflow as a dependency of a larger project. +* Contribute to the overall Langflow project. To view and test all available endpoints, you can access the Langflow API's OpenAPI specification at your Langflow deployment's `/docs` endpoint, such as `http://localhost:7860/docs`. @@ -67,7 +67,7 @@ Then, to run your flow, you call `POST /v1/run/$FLOW_ID` with optional run param The Langflow API serves `/v1` and `/v2` endpoints. -Some endpoints have only exist under a single version and some exist under both the `/v1` and `/v2` versions. +Some endpoints only exist under a single version and some exist under both the `/v1` and `/v2` versions. If a request fails or has an unexpected result, make sure your endpoint path has the correct version. diff --git a/docs/docs/Components/components-vector-stores.md b/docs/docs/Components/components-vector-stores.md index 91bfc95d8c62..fc9d32e8961f 100644 --- a/docs/docs/Components/components-vector-stores.md +++ b/docs/docs/Components/components-vector-stores.md @@ -399,7 +399,7 @@ For more information, see the [Chroma documentation](https://docs.trychroma.com/ | Name | Type | Description | |------|------|-------------| | collection_name | String | The name of the Chroma collection. Default: "langflow". | -| persist_directory | String | Custom base directory to save the vector store. Collections are stored under `$DIRECTORY/vector_stores/$COLLECTION_NAME`. If not specified, it will use your system's cache folder. | +| persist_directory | String | Custom base directory to save the vector store. Collections are stored under `$DIRECTORY/vector_stores/$COLLECTION_NAME`. If not specified, it uses your system's cache folder. | | existing_collections | String | Select a previously created collection to search through its stored data. | | embedding | Embeddings | The embedding function to use for the vector store. | | allow_duplicates | Boolean | If false, will not add documents that are already in the Vector Store. | From 02b448d318147cecc1d91c392cf4d5d343776682 Mon Sep 17 00:00:00 2001 From: April M Date: Mon, 23 Jun 2025 13:38:08 -0700 Subject: [PATCH 12/12] rewrite build endpoints intro --- docs/docs/API-Reference/api-build.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/docs/API-Reference/api-build.md b/docs/docs/API-Reference/api-build.md index 89c9a869761e..f977348dce73 100644 --- a/docs/docs/API-Reference/api-build.md +++ b/docs/docs/API-Reference/api-build.md @@ -6,17 +6,18 @@ slug: /api-build import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Use the `/build` endpoints to build vertices and flows, and execute those flows with streaming event responses. - -The `/build` endpoints offers additional configuration for running flows, but they are for development against the Langflow codebase. - :::important -This `/build` endpoints are meant to be used by Langflow's frontend code. -They aren't intended for running flows as apart of application development with Langflow. +The `/build` endpoints are used by Langflow's frontend Workspace and Playground code. +These endpoints are part of the internal Langflow codebase. +Don't use these endpoints to run flows in applications that use your Langflow flows. To run flows in your apps, see [Flow trigger endpoints](/api-flows-run). ::: +The `/build` endpoints support Langflow's frontend code for building flows in the Langflow Workspace. +You can use these endpoints to build vertices and flows, as well as execute flows with streaming event responses. +You might need to use or understand these endpoints when contributing to the Langflow project's core codebase. + ## Build flow and stream events This endpoint builds and executes a flow, returning a job ID that can be used to stream execution events.