diff --git a/docs/docs/custom-workflows/01-overview.mdx b/docs/docs/custom-workflows/01-overview.mdx
new file mode 100644
index 0000000000..2ce9673a3d
--- /dev/null
+++ b/docs/docs/custom-workflows/01-overview.mdx
@@ -0,0 +1,60 @@
+---
+title: "Overview"
+description: "Learn about custom workflows with Agenta"
+---
+
+```mdx-code-block
+import Image from "@theme/IdealImage";
+
+```
+
+
+
+Custom workflows let you build a playground for any custom LLM workflow, such as RAG or agents. This playground replicates the logic of your real application, enabling subject matter experts to easily iterate on its parameters and evaluate it end-to-end from the web UI
+
+## The problem with traditional prompt playgrounds
+
+Traditional prompt playgrounds suffer from a major limitation: their output doesn't accurately represent the output of LLM applications. The reason is that LLM applications are more than single prompts—they involve workflows with multiple LLM calls, pre- and post-processing steps, and retrieval steps.
+
+As a result, subject matter experts find it hard to trust the outputs of the playground and make the collaboration with developers hard since they don't share the same context.
+
+## Custom workflows to the rescue
+
+Custom workflows solve this problem by allowing you to create custom playground for the workflow in your LLM application. This way you can accurately represent the output of the LLM applications and make the collaboration easy.
+
+With Agenta's Custom Workflows, you can:
+
+- **Collaborate with Subject Matter Experts**: Allow product teams to experiment with the real production workflow using the same codebase and logic as the live application.
+- **Evaluate the Entire Workflow**: Evaluate your workflow end-to-end directly from the web UI.
+- **Simplify Debugging**: View detailed traces of your calls directly in the playground, making debugging easier.
+- **Track Versions**: Keep version control of the entire application configuration, not just individual prompts.
+
+## How to get started
+
+You can get started quickly using our code templates—often in just a few minutes—or in under an hour when integrating with your existing codebase.
+
+To create a custom workflow, add a few lines to your existing codebase to define the workflow configuration and expose the entry points to Agenta.
+
+Refer to our quick start guide to begin.
+
+## How custom workflows work
+
+Custom workflows create an API endpoint between your code and Agenta, allowing Agenta to run the workflow.
+
+Agenta provides an SDK that makes creating the API endpoint as simple as adding a decorator to your existing code. The CLI takes care of serving the codebase and integrating it with Agenta.
+
+## FAQ
+
+- **How long does it take to set up?**
+ You can usually get started in about an hour by integrating your existing code—less if you are starting from scratch or using a template.
+
+- **Do I need to host production application in Agenta?**
+ No, you can keep your production application hosted on your premises and use Agenta for prompt engineering and evaluation. Your application will integrate with Agenta to fetch the latest configuration.
+
+- **Can I use Agenta with my existing framework / model?**
+ Yes, Agenta works with any framework (e.g., Langchain, Llama Index, Haystack) and any model. The only current requirement is that the code for the workflow needs to be written in Python.
diff --git a/docs/docs/custom-workflows/02-quick-start.mdx b/docs/docs/custom-workflows/02-quick-start.mdx
new file mode 100644
index 0000000000..d1ee38c7f6
--- /dev/null
+++ b/docs/docs/custom-workflows/02-quick-start.mdx
@@ -0,0 +1,237 @@
+---
+title: "Quick Start"
+description: "How to build a workflow with a chain of prompts using Agenta"
+---
+
+```mdx-code-block
+import Image from "@theme/IdealImage";
+
+```
+
+
+
+In this tutorial, you'll learn how to create a custom workflow with two prompts. By the end, you'll have a playground where you can edit and run the chain of prompts and evaluate the overall output.
+
+:::tip
+You can find the complete code for this tutorial [here](https://github.com/Agenta-AI/agenta/tree/main/examples/custom_workflows/chain_of_prompts/).
+:::
+
+## Custom workflows in Agenta
+
+Custom workflows are Python programs you can add to Agenta. Once added, you can use Agenta's playground to interact with them, run evaluations, deploy them, and monitor their performance, all through the Agenta webUI.
+
+You can create custom workflows by writing Python code and deploying them using the Agenta Command Line Interface (CLI).
+
+## 1. Writing the application
+
+We are creating a chain of prompt application. The application will take a blog post, the first prompt will summarize it, and the second prompt will write a tweet based on the summary. The highlighted lines are the ones related to Agenta.
+
+```python
+from openai import OpenAI
+from pydantic import BaseModel, Field
+# highlight-start
+import agenta as ag
+
+ag.init()
+# highlight-end
+
+client = OpenAI()
+prompt1 = "Summarize the following blog post: {blog_post}"
+prompt2 = "Write a tweet based on this: {output_1}"
+
+# highlight-start
+class CoPConfig(BaseModel):
+ prompt1: str = Field(default=prompt1)
+ prompt2: str = Field(default=prompt2)
+# highlight-end
+
+# highlight-next-line
+@ag.route("/", schema=CoPConfig)
+def generate(blog_post: str):
+ # highlight-next-line
+ config = ag.ConfigManager.get_from_route(schema=CoPConfig)
+ formatted_prompt1 = config.prompt1.format(blog_post=blog_post)
+ completion = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": formatted_prompt1}])
+ output_1 = completion.choices[0].message.content
+ formatted_prompt2 = config.prompt2.format(output_1=output_1)
+ completion = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": formatted_prompt2}])
+ return completion.choices[0].message.content
+```
+
+Let's take a look at the different parts of the code:
+
+### Initialization
+
+```python
+import agenta as ag
+
+ag.init()
+```
+
+Here, we initialize the Agenta SDK. `ag.init()` takes the environment variables `AGENTA_API_KEY` and `AGENTA_HOST` as arguments, which Agenta provides automatically when serving the application.
+
+### Workflow configuration
+
+```python
+class CoPConfig(BaseModel):
+ prompt1: str = Field(default=prompt1)
+ prompt2: str = Field(default=prompt2)
+```
+
+Each workflow has a configuration, which you can iterate on in the playground and version. In this case, the configuration includes the two prompts.
+
+Configurations are defined using [Pydantic](https://docs.pydantic.dev/) models. Each field in the model requires a default value. String fields are shown as text areas in the playground. You can also add other field types, such as integers, floats and booleans (which are shown in the playground as sliders and checkboxes).
+
+:::note
+For simplicity, we're using a simple Pydantic model with two prompts. In practice, you can use a more complex model that includes other parameters (model, temperature, top-k, etc.).
+:::
+
+### Specifying entry points
+
+```python
+@ag.route("/", config_schema=CoPConfig)
+def generate(blog_post: str):
+```
+
+Agenta uses the concept of entry points. Entry points are the functions Agenta uses to communicate with the code. Agenta creates an HTTP API for each entry point, which the playground and evaluation use to communicate with the code.
+
+The `schema` argument to the `@ag.route` decorator specifies the configuration the entry point expects. In this case, it expects a configuration with two prompts.
+
+### Using the configuration in the code
+
+```python
+config = ag.ConfigManager.get_from_route(schema=CoPConfig)
+```
+
+Finally, we modify the function to use the configuration provided by the endpoint. `ag.ConfigManager.get_from_route(schema=CoPConfig)` returns the configuration passed to the endpoint, which is provided by the playground or an evaluation.
+
+## 2. Deploying the Application
+
+### Setting up the folder structure
+
+Before serving the application in Agenta using the CLI, set up the folder structure.
+
+Create a `requirement.txt` file containing all the requirements. In this case, we need to add the Agenta and OpenAI SDKs.
+
+```python requirements.txt
+agenta
+openai
+```
+
+Add a `.env` file with any required environment variables. In this case, add the OpenAI API key.
+
+:::info
+We don't need to set the `AGENTA_API_KEY` environment variable since it's provided by Agenta automatically when serving the application.
+:::
+:::info
+We don't need to explicitly load the environment variables from the `.env` file. The Agenta SDK automatically loads the contents of the `.env` file.
+:::
+
+```bash .env
+OPENAI_API_KEY=sk-...
+```
+
+Both these files need to be in the same folder as the application code.
+
+### Serving the application
+
+To serve the application, initialize the project in Agenta. Run the following command in the folder containing the application code and necessary files.
+
+```bash
+agenta init
+```
+
+This command prompts for the application name, Agenta host (Agenta Cloud), and whether to start from a blank project (select "yes" since we wrote the code) or populate the folder with a template application (select "no" in this case).
+
+After running this command, a new `config.toml` file containing the application's configuration is created in the folder. Additionally, a new empty application is created in the Agenta web UI.
+
+Serve the application by running:
+
+```bash
+agenta variant serve myapp.py
+```
+
+This command serves the application in Agenta. The application is now added to the Agenta web interface and can be used from there.
+
+:::info
+Under the hood, this command builds an image for the application, deploys a container with the image, and exposes a REST API that Agenta uses to communicate.
+:::
+
+:::note
+When serving an application, all the files within the folder will be compressed and sent to the backend. You can create an `.agentaignore` file to ignore files and folders from being sent to the backend.
+:::
+
+## Using the application in Agenta
+
+The application should now be visible in Agenta. A new application variant is always created under the name `.default`. Variants are always named in the format `.`, allowing you to determine which source code was used to create the application (``). When first created, we always generate a 'default' configuration.
+
+
+
+## Adding observability (optional)
+
+If you've started using the application, you may have noticed that it's not automatically traced. We might want to add observability so that we can debug the application.
+
+Adding observability in custom workflows follows the same process as for applications running outside of Agenta. For more details, please refer to the [observability documentation](/observability/overview).
+
+As we'll be instrumenting the OpenAI client, we need to add the `opentelemetry.instrumentation.openai` package to the `requirements.txt` file.
+
+Here's how the updated code would look:
+
+```python cop.py
+from openai import OpenAI
+import agenta as ag
+from pydantic import BaseModel, Field
+# highlight-start
+from opentelemetry.instrumentation.openai import OpenAIInstrumentor
+# highlight-end
+
+ag.init()
+
+client = OpenAI()
+prompt1 = "Summarize the following blog post: {blog_post}"
+prompt2 = "Write a tweet based on this: {output_1}"
+
+# highlight-start
+OpenAIInstrumentor().instrument()
+# highlight-end
+
+class CoPConfig(BaseModel):
+ prompt1: str = Field(default=prompt1)
+ prompt2: str = Field(default=prompt2)
+
+@ag.route("/", config_schema=CoPConfig)
+# highlight-start
+@ag.instrument()
+# highlight-end
+def generate(blog_post: str):
+ config = ag.ConfigManager.get_from_route(schema=CoPConfig)
+ formatted_prompt1 = config.prompt1.format(blog_post=blog_post)
+ completion = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": formatted_prompt1}])
+ output_1 = completion.choices[0].message.content
+ formatted_prompt2 = config.prompt2.format(output_1=output_1)
+ completion = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": formatted_prompt2}])
+ return completion.choices[0].message.content
+```
+
+:::warning
+The `@ag.instrument()` decorator must be placed after the `@ag.route` decorator (called first).
+:::
+
+With these changes, we can now view the traces directly in the playground and debug the application.
+
+
diff --git a/docs/docs/getting-started/01-introduction.mdx b/docs/docs/getting-started/01-introduction.mdx
index 8baf25fb13..e34919118b 100644
--- a/docs/docs/getting-started/01-introduction.mdx
+++ b/docs/docs/getting-started/01-introduction.mdx
@@ -20,7 +20,7 @@ management and evaluation**.
### With Agenta, you can:
-1. Rapidly [**experiment** and **compare** prompts](/prompt-management/overview) on [any LLM workflow](/prompt-management/creating-a-custom-template) (chain-of-prompts, Retrieval Augmented Generation (RAG), LLM agents...)
+1. Rapidly [**experiment** and **compare** prompts](/prompt-management/overview) on [any LLM workflow](/custom-workflows/overview) (chain-of-prompts, Retrieval Augmented Generation (RAG), LLM agents...)
2. Rapidly [**create test sets**](/evaluation/create-test-sets) and **golden datasets** for evaluation
3. **Evaluate** your application with pre-existing or **custom evaluators**
4. **Annotate** and **A/B test** your applications with **human feedback**
@@ -35,7 +35,7 @@ Agenta focuses on increasing the speed of the development cycle of LLM applicati
Agenta enables prompt engineering and evaluation on any LLM app architecture, such as **Chain of Prompts**, **RAG**, or **LLM agents**. It is compatible with any framework like **Langchain** or **LlamaIndex**, and works with any model provider, such as **OpenAI**, **Cohere**, or **local models**.
-[Jump here](/prompt-management/creating-a-custom-template) to see how to use your own custom application with Agenta and [here](/concepts/architecture) to understand more how Agenta works.
+[Jump here](/custom-workflows/overview) to see how to use your own custom application with Agenta and [here](/concepts/architecture) to understand more how Agenta works.
### Enable collaboration between developers and product teams
diff --git a/docs/docs/getting-started/02-quick-start.mdx b/docs/docs/getting-started/02-quick-start.mdx
index 009ae27d23..3cce6c7735 100644
--- a/docs/docs/getting-started/02-quick-start.mdx
+++ b/docs/docs/getting-started/02-quick-start.mdx
@@ -7,7 +7,7 @@ import Image from "@theme/IdealImage";
:::note
This tutorial helps users create LLM apps using templates within the UI. For more complex applications involving code
-in Agenta, please refer to Using code in Agenta [Using code in agenta](/prompt-management/creating-a-custom-template){" "}
+in Agenta, please refer to Using code in Agenta [Using code in agenta](//custom-workflows/overview){" "}
:::
Want a video tutorial instead? We have a 3-minute video for you. [Watch it here](https://youtu.be/N3B_ZOYzjLg).
@@ -49,7 +49,9 @@ Your OpenAI API keys are saved locally on your browser and are sent to the Agent
1. Click on the "Create New App" button.
2. Select "Create from Template" and choose the "Single Prompt Template"; then name the application "get_capital."
-
+
:::info
{" "}
@@ -66,7 +68,9 @@ The provided application template already includes a prompt that states the capi
- Click the "Run" button.
- The result should read, "The capital of France is Paris." If you only want to return "Paris," we'll adjust this with prompt engineering in the next step.
-
+
## Step 3: Deploy the application
@@ -74,10 +78,11 @@ To deploy the application as an API. You need to click on the button "Publish" i
You can now find the API endpoint in the "Endpoints" menu. Copy and paste the code from the "Endpoints" menu to use it in your software.
-
+
:::info
Congratulations! You've created your first LLM application. Feel free to modify it, explore its parameters, and discover
-Agenta's features. Your next steps could include [building an application using your own code](/prompt-management/creating-a-custom-template),
-or following one of our UI-based tutorials.
+Agenta's features. Your next steps could include [fetching prompts from Agenta](/prompt-management/quick-start), [building a custom workflow](/custom-workflows/quick-start), or [running an evaluation](/evaluation/overview).
:::
diff --git a/docs/docs/prompt-management/02-quick-start.mdx b/docs/docs/prompt-management/02-quick-start.mdx
index 6e62c3bf1f..11edd36084 100644
--- a/docs/docs/prompt-management/02-quick-start.mdx
+++ b/docs/docs/prompt-management/02-quick-start.mdx
@@ -165,4 +165,4 @@ If you need to revert to a previously published commit, click on the deployment
## Next Steps
-Now that you've created and published your first prompt, you can learn how to do [prompt engineering in the playground](/prompt-management/using-the-playground) or dive deeper into [the capabilities of the prompt management SDK](/prompt-management/creating-a-custom-template).
+Now that you've created and published your first prompt, you can learn how to do [prompt engineering in the playground](/prompt-management/using-the-playground).
diff --git a/docs/docs/prompt-management/03-creating-a-custom-template.mdx b/docs/docs/prompt-management/03-creating-a-custom-template.mdx
deleted file mode 100644
index 5f988528f5..0000000000
--- a/docs/docs/prompt-management/03-creating-a-custom-template.mdx
+++ /dev/null
@@ -1,185 +0,0 @@
----
-title: "Create a Custom Template"
-description: "Learn how to use your custom application with Agenta"
----
-
-Agenta comes with several pre-built template LLM applications for common use cases, such as single prompt and chatbot. However, you can also create your own custom application with Agenta. This could be a **RAG application**, a custom agent, a chain of prompts, or any custom logic.
-
-This guide will show you how to create a custom application and use it with Agenta.
-
-:::tip
-We recommend reading ["How does Agenta work"](/concepts/architecture) beforehand to familiarize yourself with the main concepts of Agenta.
-:::
-
-## How to create a custom application in Agenta?
-
-To add your custom application in Agenta, you need to write the application code using the Agenta SDK, then add the application to Agenta using the CLI.
-
-The [Agenta SDK](/reference/sdk/quick_start) takes care of specifying the configuration of your application (prompts, model parameters, chunk size, etc.), and integrates it with Agenta. The [Agenta CLI](/reference/cli/quick-usage) takes care of building the application image, deploying it, and exposing it to Agenta.
-
-## Converting an existing application to Agenta
-
-Writing an application for Agenta involves adding a few lines of code to your existing application.
-
-Let's consider the code of a simple application that calls OpenAI to generate a text for a blog post.
-
-```python myapp.py before adding agenta
-
-from openai import OpenAI
-
-client = OpenAI()
-
-def generate(subject: str):
- prompt = "Write an blog post about {subject}"
- formatted_prompt = prompt.format(subject=subject)
- chat_completion = client.chat.completions.create(
- model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}]
- )
- return chat_completion.choices[0].message.content
-```
-
-As you can see, the application is a simple function that takes a blog post subject as input, format the prompt using f-strings, then calls gpt-3.5-turbo with the formatted prompt and return its output.
-
-To use the application in Agenta, we need to add a few lines of code. Here is the end result. We will go over each change in detail in the next sections.
-
-```python myapp.py after adding agenta
-import agenta as ag
-from openai import OpenAI
-
-ag.init()
-ag.config.register_default(prompt=ag.TextParam("Write an blog post about {subject}"))
-client = OpenAI()
-
-@ag.entrypoint
-def generate(subject: str):
- formatted_prompt = ag.config.prompt.format(subject=subject)
- chat_completion = client.chat.completions.create(
- model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}]
- )
- return chat_completion.choices[0].message.content
-```
-
-Below are the modifications we made to the code:
-
-### Importing and initializing the agenta SDK
-
-```python
-import agenta as ag
-ag.init()
-```
-
-1. We added the `ag.init()` call to initialize the application. Note that this call is always needed before using any other agenta function.
-
-### Specifying the default configuration
-
-```python
-ag.config.register_default(prompt=TextParam("Write an blog post about {subject}"))
-```
-
-Here, we informed Agenta that the configuration for this application is a single parameter of type text, and its default value is `"Write a blog post about {subject}"`.
-
-This tells Agenta how to render the playground for this application. In this case, the playground will have a single text input with the default value `"Write a blog post about {subject}"`.
-
-### Specifying the entrypoint of the application
-
-```python
-@ag.entrypoint
-def generate(subject: str):
-```
-
-We added the `@ag.entrypoint` decorator to the main function of the application. This decorator informs Agenta that this function is the entry point to the application. It converts it (using FastAPI) into an API endpoint, allowing it to be used from the web interface.
-
-### Using the configuration in the application
-
-```python
-formatted_prompt = ag.config.prompt.format(subject=subject)
-```
-
-Instead of using the variable `prompt` directly, we are now using `ag.config.prompt`. This line tells the application to use the value set in the Agenta Here Agenta acts as a management system for the app configuration (a prompt management system). This allows you to change the application's configuration from the web interface without modifying the code.
-
-When you call `ag.config.`, the Agenta SDK calls the backend and retrieves the value of the variable for the requested variant.
-
-## Adding the requirements and environment variables
-
-Before serving the application in Agenta using the CLI, we need to add the application's requirements to the requirements.txt file.
-
-```python requirements.txt
-agenta
-openai
-```
-
-Additionally, we need to add the .env file with any required environment variables. In this case, we need to add the OpenAI API key.
-
-```bash .env
-OPENAI_API_KEY=sk-...
-```
-
-The Agenta SDK will automatically load the environment variables from the .env file.
-
-Both these files need to be in the same folder as the application code.
-
-## Serving the application
-
-To serve the application, we first need to initialize the project in Agenta. We run the following command in the folder containing the application code and the rest of the files.
-
-```bash
-agenta init
-```
-
-This command will prompt you to provide the name of the application, the host for Agenta (Agenta cloud), and whether to start from a blank project (yes in this case since we wrote the code) or to populate the folder with a template application (no in this case).
-
-After running this command, you should see a new config.toml file containing the application's configuration in the folder. Additionally, you should see a new empty project in the Agenta web UI.
-
-Now, we can serve the application by running the following command.
-
-```bash
-agenta variant serve myapp.py
-```
-
-This command will serve the application in Agenta. The application is now added to the Agenta web interface and can be used from there.
-
-:::info
-Under the hood, this command will build an image for the application, deploy a container with the image, and expose a REST API to the application which is used by Agenta to communicate with the application.
-:::
-
-## Using the application in agenta
-
-The application should now be visible in Agenta. A new application variant is always created under the name `.default`. Variants are always named in this format `.`. This allows you to determine which source code was used to create the application (``). When first created, we always create a 'default' configuration. This is the configuration specified in the code (when using `register_default`).
-
-## Adding other parameters
-
-We are not limited to one configuration parameter in the playground. We can add as many as we'd like. These parameters can be prompts (TextParam), numbers (FloatParam, IntParam), or dropdowns (MultipleChoiceParam). You can read more about the types of parameters in the [parameters](/reference/sdk/core_functions/config_datatypes) section.
-
-Here is a modified version of the application that adds a new parameter `temperature` to the playground.
-
-```python
-import agenta as ag
-from openai import OpenAI
-
-ag.init()
-ag.config.register_default(prompt=TextParam("Write a blog post about {subject}"),
- temperature=FloatParam(0.2))
-client = OpenAI()
-
-@ag.entrypoint
-def generate(subject: str):
- formatted_prompt = ag.config.prompt.format(subject=subject)
- chat_completion = client.chat.completions.create(
- model="gpt-3.5-turbo",
- temperature=ag.config.temperature,
- messages=[{"role": "user", "content": prompt}]
- )
- return chat_completion.choices[0].message.content
-
-```
-
-## Where to go from here?
-
-Agenta provides the flexibility to add any LLM application to the platform, so that you collaborate on the prompt engineering, evaluation, and the management of the application's entire lifecycle all from one place.
-
-We've merely touched on what Agenta can do. You're not limited to apps that consist of a single file or function. You can create chains of prompts, or even agents. You can use the SDK allows you to track costs and log traces of your application.
-
-More information about the SDK can be found in the [SDK section in the developer guide](/reference/sdk/quick_start). You can also explore a growing list of templates and tutorials in the [tutorials section](/tutorials/sdk/evaluate-with-SDK).
-
-Finally, our team is always ready to assist you with any custom application. Simply reach out to us on Slack, or book a call to discuss your use case in detail.
-You can read more about the SDK in the . You can also check the growing list of templates and tutorials in the . Last please note, that our team is always available to help you with any custom applicatoin, just reach out to use on [Slack](https://join.slack.com/t/agenta-hq/shared_invite/zt-1zsafop5i-Y7~ZySbhRZvKVPV5DO_7IA) Or [book a call](https://cal.com/mahmoud-mabrouk-ogzgey/demo) to discuss your use case in details.
diff --git a/docs/docs/reference/cli/install.mdx b/docs/docs/reference/cli/01-install.mdx
similarity index 100%
rename from docs/docs/reference/cli/install.mdx
rename to docs/docs/reference/cli/01-install.mdx
diff --git a/docs/docs/reference/cli/02-cli-reference.mdx b/docs/docs/reference/cli/02-cli-reference.mdx
new file mode 100644
index 0000000000..fc60139da0
--- /dev/null
+++ b/docs/docs/reference/cli/02-cli-reference.mdx
@@ -0,0 +1,187 @@
+---
+title: "CLI Reference"
+description: "Reference to the Agenta CLI used to create LLM applications and deploy them to the Agenta platform"
+---
+
+This reference provides detailed information about the Agenta Command Line Interface (CLI), including commands, options, and usage.
+
+## `agenta init`
+
+Initializes a new Agenta project.
+
+### Synopsis
+
+```bash
+agenta init [OPTIONS]
+```
+
+### Description
+
+The `agenta init` command initializes a new Agenta project. It prompts the user for the application name and allows selection of the Agenta platform host (local, cloud, or remote). This command creates a blank project in the backend and generates a `project.toml` configuration file in the current directory.
+
+### Options
+
+- `--app-name NAME`
+ Specifies the application name directly, bypassing the prompt.
+
+- `--backend-host URL`
+ Specifies the Agenta backend host URL.
+
+- `--help`
+ Displays help information for the command.
+
+### Behavior
+
+- Creates a `project.toml` file containing project configuration.
+- If options are not provided, prompts the user for necessary information.
+
+### Prompts
+
+1. **Project Name**
+
+ ```
+ ? Please enter the app name:
+ ```
+
+2. **Agenta Host Selection**
+
+ ```
+ ? Where are you running Agenta? (Use arrow keys)
+ ▸ On Agenta Cloud
+ On my local machine
+ On a remote machine
+ ```
+
+ Depending on the selection:
+
+ - **On Agenta Cloud**: Prompts for API key (retrievable from [Agenta Cloud Settings](https://cloud.agenta.ai/settings?tab=apiKeys)).
+ - **On a remote machine**: Prompts for the remote machine URL.
+
+### Example
+
+Initialize a new app named `test-app` for Agenta Cloud:
+
+```bash
+agenta init --app-name test-app --backend-host https://cloud.agenta.ai/
+```
+
+---
+
+## `agenta variant list`
+
+Lists all variants of an application.
+
+### Synopsis
+
+```bash
+agenta variant list
+```
+
+### Description
+
+Displays all the variants associated with your application currently available in the backend.
+
+### Requirements
+
+- Must be executed in a directory containing the `project.toml` file generated by `agenta init`.
+
+### Behavior
+
+- Reads project configuration from `project.toml`.
+- Retrieves and lists all variants for the application.
+
+### Example
+
+List all variants:
+
+```bash
+agenta variant list
+```
+
+---
+
+## `agenta variant remove`
+
+Removes a variant from an application.
+
+### Synopsis
+
+```bash
+agenta variant remove
+```
+
+### Description
+
+Removes a specified variant from your application or project. The command lists all existing variants and prompts you to select one for removal.
+
+### Requirements
+
+- Must be executed in a directory containing the `project.toml` file generated by `agenta init`.
+
+### Behavior
+
+- Lists all variants associated with the application.
+- Prompts the user to select a variant to remove.
+- Deletes the selected variant from the backend.
+
+### Example
+
+Remove a variant:
+
+```bash
+agenta variant remove
+```
+
+Follow the on-screen prompts to select the variant to remove.
+
+---
+
+## `agenta variant serve`
+
+Deploys an application variant to the Agenta platform.
+
+### Synopsis
+
+```bash
+agenta variant serve [OPTIONS] FILE_NAME
+```
+
+### Description
+
+The `agenta variant serve` command packages and deploys your application code to the Agenta platform. It processes the specified Python file along with any additional files in the same directory. Once deployed, the variant becomes accessible in the web UI and can be further deployed to staging or production environments as an API endpoint.
+
+### Options
+
+- `--file_name FILE_NAME`
+ Specifies the Python file containing the variant code.
+
+- `--overwrite`
+ Overwrites the existing variant if it already exists.
+
+- `--help`
+ Displays help information for the command.
+
+### Requirements
+
+- Must be executed in a directory containing the `project.toml` file generated by `agenta init`.
+
+### Behavior
+
+- Builds a Docker image from the specified Python file.
+- Deploys the variant to the Agenta backend.
+- The variant is initially named `app_name.default`, where `app_name` is derived from the Python file name.
+- Additional configurations can create new variants named `app_name.someconfig`.
+
+### Examples
+
+Deploy a variant from `myapp.py`:
+
+```bash
+agenta variant serve myapp.py
+```
+
+Overwrite an existing variant:
+
+```bash
+agenta variant serve --file_name myapp.py --overwrite
+```
diff --git a/docs/docs/reference/cli/core_commands/_category_.json b/docs/docs/reference/cli/core_commands/_category_.json
deleted file mode 100644
index 3431f57720..0000000000
--- a/docs/docs/reference/cli/core_commands/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "position": 3,
- "label": "Core Commands"
-}
diff --git a/docs/docs/reference/cli/core_commands/init.mdx b/docs/docs/reference/cli/core_commands/init.mdx
deleted file mode 100644
index 2001c40178..0000000000
--- a/docs/docs/reference/cli/core_commands/init.mdx
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: "agenta init"
-description: "Initialize a new project"
----
-
-# Description
-
-```bash
-agenta init
-```
-
-The init command initializes a new agenta project. Users can define the application's name and select the agenta platform host (either local or cloud).
-
-This command creates a blank project in the backend and generates a config.toml file for configuration settings.
-
-:::info
-This command creates a `project.toml` file containing all the information about your Project
-:::
-
-# Usage
-
-When running `agenta init` you will prompted the following questions:
-
-### Project name
-
-```bash
-? Please enter the app name
-```
-
-Enter the app/project name
-
-### Agenta host
-
-```bash
-? Where are you running agenta? (Use arrow keys)
- » On agenta cloud
- On my local machine
- On a remote machine
-```
-
-Here you can select where the agenta platform is hosted.
-
-- Select cloud, in case you are using agenta cloud ([https://cloud.agenta.ai](https://cloud.agenta.ai)). In that case you will prompted to enter your API key. You can get these from the [agenta cloud configuration](https://cloud.agenta.ai/settings?tab=apiKeys).
-- Select local machine if you are running the OSS version of agenta on your local machine ([http://localhost](http://localhost))
-- Select remote machine, in case you are running the OSS version of agenta on a remote machine. In that case you will prompted to enter the remote machine URL.
-
-:::note
- You can skip the questions and initialize a new app in one line: `agenta init --app-name test --backend-host
- https://cloud.agenta.ai/`
-:::
-
-:::info
-In case you are running agenta enterprise, please refer to the enterprise documentation on how to set up your agenta Project
-:::
-
-### Start from scratch or from a template
-
-```bash
-? How do you want to initialize your app? (Use arrow keys)
- » Blank App
- Start from template
-```
-
-Chose blank app to start from scratch (write your own code) or start from template to use one of the agenta templates.
diff --git a/docs/docs/reference/cli/core_commands/variant_list.mdx b/docs/docs/reference/cli/core_commands/variant_list.mdx
deleted file mode 100644
index b659335e63..0000000000
--- a/docs/docs/reference/cli/core_commands/variant_list.mdx
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "agenta variant list"
-description: "List the variants for an application"
----
-
-# Description
-
-```bash
-agenta variant list
-```
-
-The `list` command displays all the variants of your app that are currently available in the backend.
-
-:::caution
-The `variant list` command can only be run in a directory where the `config.toml` generated by `agenta init` is present.
-:::
diff --git a/docs/docs/reference/cli/core_commands/variant_remove.mdx b/docs/docs/reference/cli/core_commands/variant_remove.mdx
deleted file mode 100644
index 85ca49ed81..0000000000
--- a/docs/docs/reference/cli/core_commands/variant_remove.mdx
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "agenta variant remove"
-description: "Removes a variant from an app/project"
----
-
-# Description
-
-```bash
-agenta variant remove
-```
-
-`variant remove` removes a variant from an app/project. It is called without any argument. The list of variants in the app/project is displayed and the user is prompted to select one of them to remove.
-
-:::caution
-The `variant remove` command can only be run in a directory where the `config.toml` generated by `agenta init` is present.
-:::
diff --git a/docs/docs/reference/cli/core_commands/variant_serve.mdx b/docs/docs/reference/cli/core_commands/variant_serve.mdx
deleted file mode 100644
index d3b2e3aa8f..0000000000
--- a/docs/docs/reference/cli/core_commands/variant_serve.mdx
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: "agenta variant serve"
-description: "Serve an application to the agenta platform"
----
-
-# Description
-
-```bash
-agenta variant serve app_name.py
-```
-
-The `serve` command deploys the code of an app to the agenta platform. The command packages the code in the .py file along with any additional files in the same directory and deploy them on the agenta platform. Once deployed, the variant becomes accessible the web UI. It can ehtn be further deployed to a staging or production environment as an API endpoint.
-
-In the agenta UI, the deployed variant is initially named `app_name.default` where `app_name` is the name of the python file deployed and `default` the default configuration. Creating a new configuration `someconfig` (either from the UI or from CLI), will result in the creation of corresponding new variant, named `app_name.someconfig`.
-
-:::caution
-The code in `app_name.py` needs to include an entrypoint function. This function should be marked with the `@agenta.entrypoint` decorator.
-:::
-
-Below is a brief example of a valid `app_name.py` file:
-
-```python
-
-import agenta as ag
-
-ag.config.register_default(prompt="Translate {sentence} to {language})
-
-@ag.entrypoint
-def translate(sentence:str, language:str):
- ### add here openai call logic
-```
-
-:::caution
-The `variant serve` command can only be run in a directory where the `config.toml` generated by `agenta init` is present.
-:::
diff --git a/docs/docs/reference/cli/quick-usage.mdx b/docs/docs/reference/cli/quick-usage.mdx
deleted file mode 100644
index fcc752002a..0000000000
--- a/docs/docs/reference/cli/quick-usage.mdx
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: "Quick usage"
-description: "Deploy and test LLM apps using agenta CLI"
-sidebar_position: 2
----
-
-
-The Agenta CLI is a tool used to manage LLM app variants used in Agenta. It allows you to create new apps and deploy variants to the Agenta platform.
-
-## Create an application / project
-
-To use the agenta CLI, first create a new folder for each project / application.
-
-```bash
-mkdir my_app
-```
-
-Next, initialize the project in agenta by running
-
-```bash
-agenta init
-```
-
-agenta init creates an empty project in the agenta platform (or populates it on one of the templates).
-
-## Write the code [optional]
-Depending whether you initialized the project with a template or not, you may need to write the code for your variant.
-The code for your new variant in a .py file. The file should contain a function marked with the `@ag.entrypoint` decorator.
-
-Here is an example
-```python
-
-import agenta as ag
-
-ag.config.register_default(prompt="Translate {sentence} to {language})
-
-@ag.entrypoint
-def translate(sentence:str, language:str):
- ### add here openai call logic
-```
-## Serve the application
-
-```bash
-agenta variant serve myapp.py
-```
-
-This command deploys a new variant to the Agenta platform. It processes the code in the specified folder, with `myapp.py` as the entrypoint. This command builds a Docker image and deploys a container based on it. As a result, the variant becomes accessible in the web UI, allowing for prediction generation and API calls. The variant is named as `myapp.default` in the UI.
-
-
-## Overwrite an application
-
-```bash
-agenta variant serve --file_name myapp.py --overwrite
-```
\ No newline at end of file
diff --git a/docs/docs/reference/sdk/01-configuration-management.mdx b/docs/docs/reference/sdk/01-configuration-management.mdx
new file mode 100644
index 0000000000..6ecfcdb855
--- /dev/null
+++ b/docs/docs/reference/sdk/01-configuration-management.mdx
@@ -0,0 +1,352 @@
+---
+title: "Configuration Management SDK"
+description: "Reference to the configuration and prompt management SDK in Agenta"
+sidebar_position: 1
+---
+
+This document provides a detailed reference for the Configuration Management SDK, which allows users to manage application configurations, variants, versions, and deployments using custom Pydantic models.
+
+## ConfigManager
+
+The `ConfigManager` class provides methods to retrieve and load configuration parameters for applications and variants.
+
+### `get_from_registry`
+
+`get_from_registry(schema=None, *, app_id=None, app_slug=None, variant_id=None, variant_slug=None, variant_version=None, environment_id=None, environment_slug=None, environment_version=None)`
+
+Pulls configuration parameters from the server registry.
+
+- **Parameters:**
+
+ - `schema` (Optional[Type[T]]): A Pydantic model class defining the configuration structure.
+ - `app_id` (Optional[str]): The unique identifier of the application.
+ - `app_slug` (Optional[str]): The slug of the application.
+ - `variant_id` (Optional[str]): The unique identifier of the variant.
+ - `variant_slug` (Optional[str]): The slug of the variant.
+ - `variant_version` (Optional[int]): The version number of the variant.
+ - `environment_id` (Optional[str]): The unique identifier of the environment.
+ - `environment_slug` (Optional[str]): The slug of the environment.
+ - `environment_version` (Optional[int]): The version number of the environment.
+
+- **Returns:** An instance of the specified `schema` populated with configuration data, or a dictionary if no schema is provided.
+
+### `get_from_route`
+
+`get_from_route(schema=None)`
+Retrieves configuration from the route context.
+
+- **Parameters:**
+
+ - `schema` (Optional[Type[T]]): A Pydantic model class defining the configuration structure.
+
+- **Returns:** An instance of the specified `schema` populated with configuration data, or a dictionary if no schema is provided.
+
+### `get_from_yaml`
+
+`get_from_yaml(filename, schema=None)`
+
+Loads configuration from a YAML file.
+
+- **Parameters:**
+
+ - `filename` (str): The path to the YAML file.
+ - `schema` (Optional[Type[T]]): A Pydantic model class defining the configuration structure.
+
+- **Returns:** An instance of the specified `schema` populated with configuration data, or a dictionary if no schema is provided.
+
+### `get_from_json`
+
+`get_from_json(filename, schema=None)`
+
+Loads configuration from a JSON file.
+
+- **Parameters:**
+
+ - `filename` (str): The path to the JSON file.
+ - `schema` (Optional[Type[T]]): A Pydantic model class defining the configuration structure.
+
+- **Returns:** An instance of the specified `schema` populated with configuration data, or a dictionary if no schema is provided.
+
+### `aget_from_registry`
+
+`aget_from_registry(schema=None, *, app_id=None, app_slug=None, variant_id=None, variant_slug=None, variant_version=None, environment_id=None, environment_slug=None, environment_version=None)`
+
+Asynchronously pulls configuration parameters from the server registry.
+
+- **Parameters:** Same as `get_from_registry()`.
+
+- **Returns:** An instance of the specified `schema` populated with configuration data, or a dictionary if no schema is provided.
+
+### `aget_from_route`
+
+`aget_from_route(schema=None)`
+
+Asynchronously retrieves configuration from the route context.
+
+- **Parameters:** Same as `get_from_route()`.
+
+- **Returns:** An instance of the specified `schema` populated with configuration data, or a dictionary if no schema is provided.
+
+## VariantManager
+
+The `VariantManager` class provides methods to manage application variants, including creation, committing changes, deletion, and listing.
+
+### `create`
+
+`create(*, parameters, variant_slug, app_id=None, app_slug=None)`
+
+Creates a new variant and commits the initial parameters.
+
+- **Parameters:**
+
+ - `parameters` (dict): A dictionary containing the initial configuration parameters.
+ - `variant_slug` (str): The slug of the new variant.
+ - `app_id` (Optional[str]): The unique identifier of the application.
+ - `app_slug` (Optional[str]): The slug of the application.
+
+- **Returns:** A variant object containing details of the created variant.
+
+### `commit`
+
+`commit(*, parameters, variant_slug, app_id=None, app_slug=None)`
+
+Commits changes to an existing variant, creating a new version.
+
+- **Parameters:**
+
+ - `parameters` (dict): A dictionary containing the configuration parameters to commit.
+ - `variant_slug` (str): The slug of the variant.
+ - `app_id` (Optional[str]): The unique identifier of the application.
+ - `app_slug` (Optional[str]): The slug of the application.
+
+- **Returns:** A variant object containing details of the committed version.
+
+### `delete`
+
+`delete(*, variant_slug, app_id=None, app_slug=None)`
+
+Deletes a variant and all its versions.
+
+- **Parameters:**
+
+ - `variant_slug` (str): The slug of the variant to delete.
+ - `app_id` (Optional[str]): The unique identifier of the application.
+ - `app_slug` (Optional[str]): The slug of the application.
+
+- **Returns:** A message confirming deletion.
+
+- **Note:** Deletion is irreversible and will fail if the variant is deployed to an environment.
+
+### `list`
+
+`list(*, app_id=None, app_slug=None)`
+
+Lists all variants of an application.
+
+- **Parameters:**
+
+ - `app_id` (Optional[str]): The unique identifier of the application.
+ - `app_slug` (Optional[str]): The slug of the application.
+
+- **Returns:** A list of variant objects.
+
+### `history`
+
+`history(*, variant_slug, app_id=None, app_slug=None)`
+
+Retrieves the version history of a variant.
+
+- **Parameters:**
+
+ - `variant_slug` (str): The slug of the variant.
+ - `app_id` (Optional[str]): The unique identifier of the application.
+ - `app_slug` (Optional[str]): The slug of the application.
+
+- **Returns:** A list of variant version objects.
+
+### `acreate`
+
+`acreate(*, parameters, variant_slug, app_id=None, app_slug=None)`
+
+Asynchronously creates a new variant and commits the initial parameters.
+
+- **Parameters:** Same as `create()`.
+
+- **Returns:** A variant object containing details of the created variant.
+
+### `acommit`
+
+`acommit(*, parameters, variant_slug, app_id=None, app_slug=None)`
+
+Asynchronously commits changes to an existing variant.
+
+- **Parameters:** Same as `commit()`.
+
+- **Returns:** A variant object containing details of the committed version.
+
+### `adelete`
+
+`adelete(*, variant_slug, app_id=None, app_slug=None)`
+
+Asynchronously deletes a variant.
+
+- **Parameters:** Same as `delete()`.
+
+- **Returns:** A message confirming deletion.
+
+### `alist`
+
+`alist(*, app_id=None, app_slug=None)`
+
+Asynchronously lists all variants of an application.
+
+- **Parameters:** Same as `list()`.
+
+- **Returns:** A list of variant objects.
+
+### `ahistory`
+
+`ahistory(*, variant_slug, app_id=None, app_slug=None)`
+
+Asynchronously retrieves the version history of a variant.
+
+- **Parameters:** Same as `history()`.
+
+- **Returns:** A list of variant version objects.
+
+## DeploymentManager
+
+The `DeploymentManager` class provides methods to deploy variants to environments.
+
+### `deploy`
+
+`deploy(*, variant_slug, environment_slug, app_id=None, app_slug=None, variant_version=None)`
+
+Deploys a variant to a specified environment.
+
+- **Parameters:**
+
+ - `variant_slug` (str): The slug of the variant to deploy.
+ - `environment_slug` (str): The slug of the environment (`development`, `staging`, or `production`).
+ - `app_id` (Optional[str]): The unique identifier of the application.
+ - `app_slug` (Optional[str]): The slug of the application.
+ - `variant_version` (Optional[int]): The version number of the variant to deploy; if not provided, deploys the latest version.
+
+- **Returns:** A deployment object containing details of the deployment.
+
+- **Note:** Only predefined environments (`development`, `staging`, `production`) are supported.
+
+### `adeploy`
+
+`adeploy(*, variant_slug, environment_slug, app_id=None, app_slug=None, variant_version=None)`
+
+Asynchronously deploys a variant to a specified environment.
+
+- **Parameters:** Same as `deploy()`.
+
+- **Returns:** A deployment object containing details of the deployment.
+
+## Available Environments
+
+A list of available environment slugs.
+
+```python
+AVAILABLE_ENVIRONMENTS = ["development", "production", "staging"]
+```
+
+## Notes
+
+- **Variant Immutability:** Each commit to a variant creates a new, immutable version.
+- **Error Handling:** Methods may raise exceptions if resources are not found or if operations fail.
+- **Asynchronous Methods:** Asynchronous versions of methods are provided (prefixed with `a`) for integration with async applications.
+- **Identifiers:** Either `app_id` or `app_slug` must be provided where required; similarly for `variant_id` and `variant_slug`.
+- **Environment Restrictions:** Deployment is limited to the predefined environments.
+
+## Examples
+
+### Creating a Variant
+
+```python
+from pydantic import BaseModel
+import agenta as ag
+
+class MyConfig(BaseModel):
+ temperature: float
+ model: str
+ max_tokens: int
+
+config = MyConfig(
+ temperature=0.7,
+ model="gpt-3.5-turbo",
+ max_tokens=150
+)
+
+variant = ag.VariantManager.create(
+ parameters=config.dict(),
+ app_slug="my-app",
+ variant_slug="my-variant"
+)
+```
+
+### Committing Changes to a Variant
+
+```python
+updated_config = MyConfig(
+ temperature=1.0,
+ model="gpt-4",
+ max_tokens=200
+)
+
+variant = ag.VariantManager.commit(
+ parameters=updated_config.dict(),
+ app_slug="my-app",
+ variant_slug="my-variant"
+)
+```
+
+### Deploying a Variant
+
+```python
+deployment = ag.DeploymentManager.deploy(
+ app_slug="my-app",
+ variant_slug="my-variant",
+ environment_slug="staging"
+)
+```
+
+### Fetching Configuration
+
+```python
+config = ag.ConfigManager.get_from_registry(
+ schema=MyConfig,
+ app_slug="my-app",
+ variant_slug="my-variant",
+ variant_version=2
+)
+```
+
+### Deleting a Variant
+
+```python
+ag.VariantManager.delete(
+ app_slug="my-app",
+ variant_slug="obsolete-variant"
+)
+```
+
+### Listing Variants
+
+```python
+variants = ag.VariantManager.list(
+ app_slug="my-app"
+)
+```
+
+### Retrieving Variant History
+
+```python
+history = ag.VariantManager.history(
+ app_slug="my-app",
+ variant_slug="my-variant"
+)
+```
diff --git a/docs/docs/reference/sdk/02-observability.mdx b/docs/docs/reference/sdk/02-observability.mdx
new file mode 100644
index 0000000000..c42e23f4a4
--- /dev/null
+++ b/docs/docs/reference/sdk/02-observability.mdx
@@ -0,0 +1,325 @@
+---
+title: Observability SDK
+description: This document provides a detailed reference for the Agenta Observability SDK, which allows you to instrument your application's workflows for monitoring and debugging purposes.
+---
+
+## Tracing Class
+
+The `Tracing` class provides methods for interacting with the current span in a trace. It allows you to store additional data such as internals, references, metadata, and metrics.
+
+### `get_current_span`
+
+`get_current_span()`
+
+Returns the current active span.
+
+```python
+current_span = ag.tracing.get_current_span()
+```
+
+- **Returns:** `CustomSpan` instance representing the current span.
+- **Behavior:** If a span is active and recording, it returns a `CustomSpan` object; otherwise, it returns `None`.
+
+### `store_internals`
+
+`store_internals(attributes, span=None)`
+
+Stores internal data within the current span.
+
+```python
+ag.tracing.store_internals(attributes, span=None)
+```
+
+- **Parameters:**
+ - `attributes` (Dict[str, Any]): Dictionary of internal data to store.
+ - `span` (Optional[Span]): Specific span to store the data in; defaults to the current span.
+- **Behavior:** Adds the provided attributes under the `"internals"` namespace within the span's data. Internals are shown as a collapsible section in the overview section of the tracing drawer.
+
+### `store_refs`
+
+`store_refs(refs, span=None)`
+
+Stores references to Agenta resources in the current span.
+
+```python
+ag.tracing.store_refs(refs, span=None)
+```
+
+- **Parameters:**
+ - `refs` (Dict[str, str]): Dictionary of reference keys and their corresponding values.
+ - `span` (Optional[Span]): Specific span to store the references in; defaults to the current span.
+- **Behavior:** Sets reference attributes in the span and updates the tracer's reference context.
+
+- **Valid Reference Keys:**
+ - `"application.id"`
+ - `"application.slug"`
+ - `"application.version"`
+ - `"variant.id"`
+ - `"variant.slug"`
+ - `"variant.version"`
+ - `"environment.id"`
+ - `"environment.slug"`
+ - `"environment.version"`
+
+### `store_meta`
+
+`store_meta(meta, span=None)`
+
+Stores metadata in the current span.
+
+```python
+ag.tracing.store_meta(meta, span=None)
+```
+
+- **Parameters:**
+ - `meta` (Dict[str, Any]): Dictionary of metadata to store.
+ - `span` (Optional[Span]): Specific span to store the metadata in; defaults to the current span.
+- **Behavior:** Adds the provided metadata under the `"meta"` namespace within the span's attributes.
+
+### `store_metrics`
+
+`store_metrics(metrics, span=None)`
+
+Stores custom metrics in the current span.
+
+```python
+ag.tracing.store_metrics(metrics, span=None)
+```
+
+- **Parameters:**
+ - `metrics` (Dict[str, Any]): Dictionary of metrics to store.
+ - `span` (Optional[Span]): Specific span to store the metrics in; defaults to the current span.
+- **Behavior:** Adds the provided metrics under the `"metrics"` namespace within the span's attributes.
+
+## CustomSpan Class
+
+The `CustomSpan` class extends the functionality of the standard `Span` class in the OpenTelemetry SDK, providing additional methods for setting attributes and recording events.
+
+### `set_status`
+
+`set_status(status, description=None)`
+
+Sets the status of the span.
+
+```python
+span.set_status(status, description=None)
+```
+
+- **Parameters:**
+ - `status` (Union[Status, StatusCode]): Status code or `Status` object.
+ - `description` (Optional[str]): Description of the status.
+- **Behavior:** Updates the span's status with the provided code and description.
+
+### `set_attributes`
+
+`set_attributes(attributes, namespace=None, max_depth=None)`
+
+Sets multiple attributes on the span.
+
+```python
+span.set_attributes(attributes, namespace=None, max_depth=None)
+```
+
+- **Parameters:**
+ - `attributes` (Dict[str, Any]): Dictionary of attributes to set.
+ - `namespace` (Optional[str]): Namespace for the attributes.
+ - `max_depth` (Optional[int]): Maximum depth for nested attributes.
+- **Behavior:** Adds serialized attributes to the span, optionally under a namespace.
+
+### `set_attribute`
+
+`set_attribute(key, value, namespace=None)`
+
+Sets a single attribute on the span.
+
+```python
+span.set_attribute(key, value, namespace=None)
+```
+
+- **Parameters:**
+ - `key` (str): Attribute key.
+ - `value` (Any): Attribute value.
+ - `namespace` (Optional[str]): Namespace for the attribute.
+- **Behavior:** Adds the attribute to the span, optionally under a namespace.
+
+### `add_event`
+
+`add_event(name, attributes=None, timestamp=None, namespace=None)`
+
+Adds an event to the span.
+
+```python
+span.add_event(name, attributes=None, timestamp=None, namespace=None)
+```
+
+- **Parameters:**
+ - `name` (str): Event name.
+ - `attributes` (Optional[Dict[str, Any]]): Event attributes.
+ - `timestamp` (Optional[int]): Event timestamp.
+ - `namespace` (Optional[str]): Namespace for the attributes.
+- **Behavior:** Records an event with the specified name and attributes.
+
+### `add_link`
+
+`add_link(context, attributes=None, namespace=None)`
+
+Adds a link to another span context.
+
+```python
+span.add_link(context, attributes=None, namespace=None)
+```
+
+- **Parameters:**
+ - `context` (SpanContext): The span context to link to.
+ - `attributes` (Optional[Dict[str, Any]]): Link attributes.
+ - `namespace` (Optional[str]): Namespace for the attributes.
+- **Behavior:** Creates a link to another span, useful for associating related traces.
+
+### `record_exception`
+
+`record_exception(exception, attributes=None, timestamp=None, escaped=False, namespace=None)`
+
+Records an exception in the span.
+
+```python
+span.record_exception(exception, attributes=None, timestamp=None, escaped=False, namespace=None)
+```
+
+- **Parameters:**
+ - `exception` (BaseException): The exception to record.
+ - `attributes` (Optional[Dict[str, Any]]): Exception attributes.
+ - `timestamp` (Optional[int]): Timestamp of the exception.
+ - `escaped` (bool): Whether the exception escaped.
+ - `namespace` (Optional[str]): Namespace for the attributes.
+- **Behavior:** Captures exception details in the span for error tracking.
+
+## Reference Enum
+
+The `Reference` enumeration defines valid keys for referencing Agenta resources in spans.
+
+```python
+from enum import Enum
+
+class Reference(str, Enum):
+ VARIANT_ID = "variant.id"
+ VARIANT_SLUG = "variant.slug"
+ VARIANT_VERSION = "variant.version"
+ ENVIRONMENT_ID = "environment.id"
+ ENVIRONMENT_SLUG = "environment.slug"
+ ENVIRONMENT_VERSION = "environment.version"
+ APPLICATION_ID = "application.id"
+ APPLICATION_SLUG = "application.slug"
+```
+
+- **Usage:** Use these keys with `ag.tracing.store_refs()` to link spans to specific resources.
+
+## Utility Functions
+
+### `is_valid_attribute_key`
+
+`is_valid_attribute_key(string)`
+
+Validates whether a string is a valid attribute key.
+
+```python
+from agenta.tracing.utils import is_valid_attribute_key
+
+is_valid = is_valid_attribute_key("attribute_key")
+```
+
+- **Parameters:**
+ - `string` (str): The attribute key to validate.
+- **Returns:** `True` if valid; `False` otherwise.
+- **Behavior:** Checks if the string matches the pattern `[A-Za-z0-9._-]+`.
+
+### `parse_span_kind`
+
+`parse_span_kind(type)`
+
+Parses a string to determine the corresponding `SpanKind`.
+
+```python
+from agenta.tracing.utils import parse_span_kind
+
+span_kind = parse_span_kind("client")
+```
+
+- **Parameters:**
+ - `type` (str): The span kind as a string.
+- **Returns:** `SpanKind` corresponding to the input string.
+- **Valid Inputs:**
+ - `"agent"`, `"chain"`, `"workflow"`: Returns `SpanKind.SERVER`.
+ - `"tool"`, `"embedding"`, `"query"`, `"completion"`, `"chat"`, `"rerank"`: Returns `SpanKind.CLIENT`.
+ - Others: Returns `SpanKind.INTERNAL`.
+
+## Notes
+
+- **Decorator Usage:** The `@ag.instrument()` decorator should be applied directly above the function definition to ensure proper instrumentation.
+- **Span Context:** The `ag.tracing` methods operate on the current span within the execution context.
+- **Error Handling:** The methods are designed to suppress exceptions silently to avoid disrupting the application's flow.
+- **Namespace Usage:** Namespaces in attributes help organize data within spans, preventing key collisions.
+
+## Example Usage
+
+### Instrumenting a Function
+
+```python
+import agenta as ag
+
+@ag.instrument(spankind="workflow")
+def process_data(input_data):
+ # Function implementation
+ result = compute_result(input_data)
+ return result
+```
+
+### Storing Metadata and Internals
+
+```python
+@ag.instrument()
+def compute_result(data):
+ ag.tracing.store_meta({"data_size": len(data)})
+ intermediate = data_processing_step(data)
+ ag.tracing.store_internals({"intermediate_result": intermediate})
+ final_result = finalize(intermediate)
+ return final_result
+```
+
+### Linking to Agenta Resources
+
+```python
+@ag.instrument()
+def execute_task():
+ ag.tracing.store_refs({
+ Reference.APPLICATION_SLUG.value: "my-app",
+ Reference.VARIANT_SLUG.value: "v1",
+ Reference.ENVIRONMENT_SLUG.value: "production",
+ })
+ # Function implementation
+```
+
+### Recording Metrics
+
+```python
+import time
+
+@ag.instrument()
+def perform_operation():
+ start_time = time.time()
+ # Operation logic
+ end_time = time.time()
+ ag.tracing.store_metrics({"execution_time_ms": (end_time - start_time) * 1000})
+```
+
+### Handling Exceptions
+
+```python
+@ag.instrument()
+def risky_function():
+ try:
+ # Risky operation
+ pass
+ except Exception as e:
+ ag.tracing.get_current_span().record_exception(e)
+ raise
+```
diff --git a/docs/docs/reference/sdk/03-custom-workflow.mdx b/docs/docs/reference/sdk/03-custom-workflow.mdx
new file mode 100644
index 0000000000..e13b5727ac
--- /dev/null
+++ b/docs/docs/reference/sdk/03-custom-workflow.mdx
@@ -0,0 +1,357 @@
+---
+title: "Custom Workflows SDK"
+description: "Reference for custom workflows SDK in Agenta which allows you to build custom workflows in the playground"
+---
+
+## Overview
+
+The Custom Workflows SDK allows you to define and expose specific stages of your LLM workflows as API endpoints. By decorating your functions with `@ag.route` and `@ag.entrypoint`, you can create custom routes that integrate with the Agenta for playground interactions, evaluations, and deployments.
+
+Workflows can be deployed to Agenta using the [CLI](/reference/cli/cli-reference#agenta-variant-serve).
+
+---
+
+## Decorators
+
+### `@ag.route` Decorator
+
+The `@ag.route` decorator is used to expose specific stages of a workflow (e.g., embedding, retrieval, summarization) as independent API endpoints.
+
+#### Syntax
+
+```python
+@ag.route(path, config_schema)
+def function_name(parameters):
+ # Function implementation
+```
+
+#### Parameters
+
+- `path` (str): The URL path for the route. Must be a valid HTTP path.
+- `config_schema` (Type[BaseModel]): A Pydantic model defining the configuration schema for the route.
+
+:::warning
+Configuration schemas are defined using Pydantic models. Each field must have a default value.
+:::
+
+#### Example
+
+```python
+from pydantic import BaseModel
+import agenta as ag
+
+class MyConfig(BaseModel):
+ prompt: str
+
+@ag.route("/", config_schema=MyConfig)
+def generate_text(input_text: str):
+ config = ag.ConfigManager.get_from_route(schema=MyConfig)
+ # Function implementation
+ return output_text
+```
+
+#### Endpoints Created
+
+When you use the `@ag.route` decorator, the following endpoints are created:
+
+- **Playground Endpoints:**
+
+ - `POST /playground/run/{route}`
+
+ - This endpoint is intended for use within the Agenta playground. It takes as input the configuration parameters.
+
+- **Deployed Endpoints:**
+
+ - `POST /run/{route}`
+
+ - This endpoint is intended for production or deployed environments. It takes as input the deployment slug.
+
+---
+
+### `@ag.entrypoint` Decorator
+
+The `@ag.entrypoint` decorator has the same inputs and outputs as `@ag.route("/", config_schema)`.
+However it creates the following endpoints:
+
+- **Playground Endpoints:**
+
+ - `POST /generate`
+
+ - `POST /playground/run`
+
+- **Deployed Endpoints:**
+
+ - `POST /generate_deployed`
+
+ - `POST /run`
+
+---
+
+## Configuration Schema
+
+When using `@ag.route` or `@ag.entrypoint`, you define a configuration schema using a Pydantic `BaseModel`. This schema specifies the configuration parameters that your function accepts and how they are represented in the Agenta playground.
+
+### Accepted Types
+
+The following types are accepted in the configuration schema:
+
+- **String (`str`)**
+- **Integer (`int`)**
+- **Float (`float`)**
+- **Boolean (`bool`)**
+- **Enumerations (using `Annotated` with choices)**
+- **Grouped Enumerations**
+
+### Defining Fields with Constraints and Defaults
+
+Each field in the configuration schema **must** have a default value. This default value is specified using `Field(default=...)` from Pydantic. The default value will be shown in the playground when the application is first run.
+
+You can specify constraints such as minimum and maximum values using `Field` parameters like `ge` (greater than or equal to), `le` (less than or equal to), `gt` (greater than), and `lt` (less than).
+
+#### Example with Constraints and Defaults
+
+```python
+from pydantic import BaseModel, Field
+import agenta as ag
+
+class MyConfig(BaseModel):
+ temperature: float = Field(default=1.0, ge=0.0, le=2.0)
+ max_tokens: int = Field(default=500, ge=1, le=1000)
+ use_cache: bool = Field(default=False)
+```
+
+In this example:
+
+- `temperature` is a float field with a default value of `1.0`, and must be between `0.0` and `2.0` inclusive.
+- `max_tokens` is an integer field with a default value of `500`, and must be between `1` and `1000` inclusive.
+- `use_cache` is a boolean field with a default value of `False`.
+
+### Defining Choices for Enumerations
+
+For fields that should present a set of choices (like a dropdown menu), use `Annotated` along with `ag.MultipleChoice` or `ag.GroupedMultipleChoice` to specify the choices. The default value is still specified using `Field(default=...)`.
+
+#### Example with `ag.MultipleChoice`
+
+```python
+from pydantic import BaseModel, Field
+from typing import Annotated
+import agenta as ag
+
+class MyConfig(BaseModel):
+ language: Annotated[str, ag.MultipleChoice(choices=["English", "Spanish", "French"])] = Field(default="English")
+```
+
+In this example:
+
+- `language` is a string field that allows selection among "English", "Spanish", or "French".
+- The default value is set to "English" via `Field(default="English")`.
+
+#### Example with `ag.GroupedMultipleChoice`
+
+```python
+from pydantic import BaseModel, Field
+from typing import Annotated
+import agenta as ag
+
+supported_models = {
+ "OpenAI Models": ["gpt-3.5-turbo", "gpt-4"],
+ "Other Models": ["bloom", "gpt-j"]
+}
+
+class MyConfig(BaseModel):
+ model: Annotated[str, ag.GroupedMultipleChoice(choices=supported_models)] = Field(default="gpt-3.5-turbo")
+```
+
+In this example:
+
+- `model` is a string field with grouped choices specified in `supported_models`.
+- The default value is set to "gpt-3.5-turbo".
+
+### UI Representation
+
+The fields in the configuration schema are represented in the Agenta playground as follows:
+
+- **String (`str`)**:
+ - Shown as **text areas** where users can input text.
+- **Integer (`int`)** and **Float (`float`)**:
+ - Shown as **sliders**.
+ - The `minimum` and `maximum` values for the sliders are determined by the `ge`, `le`, `gt`, and `lt` constraints specified in `Field`.
+- **Boolean (`bool`)**:
+ - Shown as **checkboxes**.
+- **Enumerations**:
+ - Shown as **dropdown menus**.
+ - Choices are defined using `Annotated` with `ag.MultipleChoice` or `ag.GroupedMultipleChoice`, and the default is specified via `Field`.
+
+### Complete Example
+
+```python
+from pydantic import BaseModel, Field
+from typing import Annotated
+import agenta as ag
+
+supported_llm_models = {
+ "Mistral AI": [
+ "mistral/mistral-tiny",
+ "mistral/mistral-small",
+ "mistral/mistral-medium",
+ "mistral/mistral-large-latest",
+ ],
+ "OpenAI": [
+ "gpt-3.5-turbo-1106",
+ "gpt-3.5-turbo",
+ "gpt-4",
+ "gpt-4o",
+ "gpt-4o-mini",
+ "gpt-4-1106-preview",
+ ],
+}
+
+class MyConfig(BaseModel):
+ temperature: float = Field(default=1.0, ge=0.0, le=2.0)
+ model: Annotated[str, ag.GroupedMultipleChoice(choices=supported_llm_models)] = Field(default="gpt-3.5-turbo")
+ max_tokens: int = Field(default=-1, ge=-1, le=4000)
+ prompt_system: str = Field(default="System prompt text")
+ prompt_user: str = Field(default="User prompt text")
+ top_p: float = Field(default=1.0)
+ frequence_penalty: float = Field(default=0.0, ge=-2.0, le=2.0)
+ presence_penalty: float = Field(default=0.0, ge=-2.0, le=2.0)
+ force_json: bool = Field(default=False)
+```
+
+In this example:
+
+- Various field types are used, including strings, floats, integers, and booleans.
+- Constraints are specified using `Field` parameters like `ge` and `le`.
+- The `model` field uses `Annotated` with `ag.GroupedMultipleChoice` to define grouped choices.
+- Default values are specified using `Field(default=...)`.
+
+### Importing Supported Models
+
+You can import predefined supported models from Agenta's assets:
+
+```python
+from agenta.sdk.assets import supported_llm_models
+```
+
+## Configuration Management
+
+### `ag.ConfigManager.get_from_route()`
+
+Retrieves the configuration from the route context and returns a configuration object.
+
+#### Syntax
+
+```python
+config = ag.ConfigManager.get_from_route(schema=MyConfig)
+```
+
+#### Parameters
+
+- `schema` (Type[BaseModel], optional): A Pydantic model class that defines the structure of the configuration.
+
+#### Returns
+
+- An instance of the specified `schema` populated with the configuration data.
+- If no `schema` is provided, returns a dictionary of configuration parameters.
+
+#### Description
+
+- Checks the route context for configuration information.
+- If configuration is present in the context, it uses that; otherwise, it attempts to fetch the configuration from the registry based on the provided application, variant, or environment identifiers.
+
+#### Example
+
+```python
+from pydantic import BaseModel
+import agenta as ag
+
+class MyConfig(BaseModel):
+ prompt: str
+
+@ag.route("/", config_schema=MyConfig)
+def generate_text(input_text: str):
+ config = ag.ConfigManager.get_from_route(schema=MyConfig)
+ # Use config.prompt in your function
+ return output_text
+```
+
+---
+
+## Context Managers
+
+### `routing_context_manager`
+
+Manages the routing context for a request, allowing configuration, application, variant, and environment information to be set and accessed within the context.
+
+#### Syntax
+
+```python
+with routing_context_manager(config=config_dict):
+ # Code block
+```
+
+#### Parameters
+
+- `config` (Optional[Dict[str, Any]]): Configuration parameters.
+- `application` (Optional[Dict[str, Any]]): Application information.
+- `variant` (Optional[Dict[str, Any]]): Variant information.
+- `environment` (Optional[Dict[str, Any]]): Environment information.
+
+#### Description
+
+- Sets the routing context for the duration of the `with` block.
+- Allows functions and methods within the block to access the routing context via `routing_context.get()`.
+
+#### Example
+
+```python
+from agenta.sdk.context.routing import routing_context_manager
+
+with routing_context_manager(config={"prompt": "Hello, {name}!"}):
+ # Call functions that rely on the routing context
+ output = generate_text("World")
+```
+
+---
+
+## Classes
+
+### `AgentaSingleton` Class
+
+A singleton class that maintains global state for the Agenta SDK, including configuration and tracing.
+
+#### Description
+
+- Holds instances of the configuration manager and tracing system.
+- Provides an `init` method to initialize the SDK with host, API key, and other settings.
+
+#### Methods
+
+##### `init(host=None, api_key=None, config_fname=None, redact=None, redact_on_error=True)`
+
+Initializes the Agenta SDK singleton instance.
+
+###### Parameters
+
+- `host` (Optional[str]): The backend server's host URL. Defaults to `"https://cloud.agenta.ai"`.
+- `api_key` (Optional[str]): API key for authentication.
+- `config_fname` (Optional[str]): Path to a configuration file.
+- `redact` (Optional[Callable[..., Any]]): Custom redaction function for tracing.
+- `redact_on_error` (Optional[bool]): Determines behavior if redaction fails.
+
+###### Description
+
+- Sets up the tracing configuration with the provided parameters.
+- Initializes the API client for communication with the Agenta backend.
+- Loads configuration from a file if `config_fname` is provided.
+
+###### Example
+
+```python
+import agenta as ag
+
+ag.init(
+ host="https://cloud.agenta.ai",
+ api_key="YOUR_API_KEY"
+)
+```
diff --git a/docs/docs/reference/sdk/04-deprecated-v2/_category_.json b/docs/docs/reference/sdk/04-deprecated-v2/_category_.json
new file mode 100644
index 0000000000..33fd86a2ea
--- /dev/null
+++ b/docs/docs/reference/sdk/04-deprecated-v2/_category_.json
@@ -0,0 +1,4 @@
+{
+ "position": 4,
+ "label": "(Deprecated) SDK v2"
+}
diff --git a/docs/docs/reference/sdk/core_functions/_category_.json b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/_category_.json
similarity index 100%
rename from docs/docs/reference/sdk/core_functions/_category_.json
rename to docs/docs/reference/sdk/04-deprecated-v2/core_functions/_category_.json
diff --git a/docs/docs/reference/sdk/core_functions/config_datatypes.mdx b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_datatypes.mdx
similarity index 92%
rename from docs/docs/reference/sdk/core_functions/config_datatypes.mdx
rename to docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_datatypes.mdx
index 90bf61f8b0..8c340e6f77 100644
--- a/docs/docs/reference/sdk/core_functions/config_datatypes.mdx
+++ b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_datatypes.mdx
@@ -3,6 +3,10 @@ title: "Config Data Types"
description: "Data types allow you to configure the playground"
---
+:::warning
+This page is for the deprecated SDK v2.
+:::
+
## Data types for parameters
There are multiple data types that can be used for the parameters in the configuration. Each data type translates into an element in the playground.
@@ -53,9 +57,10 @@ agenta.config.register_default(temperature = ag.IntParam(default=0.5, minval=0,
```
:::note
- {" "}
- For now the binary parameter is always initialized with `False` and can only be changed from the playground{" "}
+{" "}
+For now the binary parameter is always initialized with `False` and can only be changed from the playground{" "}
:::
+
## Data types for inputs
Inputs in contrast to parameters are given as argument to the function decorated with `@agenta.entrypoint`. They are not part of the configuration but instead are the input in the call to the LLM app.
diff --git a/docs/docs/reference/sdk/core_functions/config_default.mdx b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_default.mdx
similarity index 94%
rename from docs/docs/reference/sdk/core_functions/config_default.mdx
rename to docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_default.mdx
index 00d0823226..10695bf01f 100644
--- a/docs/docs/reference/sdk/core_functions/config_default.mdx
+++ b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_default.mdx
@@ -3,18 +3,23 @@ title: "config.register_default()"
description: "Register the default configuration for your application"
---
+:::warning
+This page is for the deprecated SDK v2.
+:::
+
```python
agenta.config.register_default(**kwargs)
#alias
agenta.config.default(**kwargs)
```
-```
-Set the default configuration for your variant. For instance if you set
+````
+
+Set the default configuration for your variant. For instance if you set
```python
agenta.config.register_default(prompt = ag.TextParam("Hello world"))
-```
+````
This will set the default value of the prompt to "Hello World". This means that the default configuration (the configuration in the variant variant_name.default) will have the value "Hello World".
@@ -33,7 +38,7 @@ Using this configuration will result in:
2. An API endpoint /generate wich takes the parameters prompt1, prompt2 and temperature as input
You can later use the last parameters from the configuration (from the backend) the following way:
-
+
```python
agenta.config.prompt1
```
diff --git a/docs/docs/reference/sdk/core_functions/config_object.mdx b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_object.mdx
similarity index 93%
rename from docs/docs/reference/sdk/core_functions/config_object.mdx
rename to docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_object.mdx
index 892e8fb7c8..a4b86a547f 100644
--- a/docs/docs/reference/sdk/core_functions/config_object.mdx
+++ b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_object.mdx
@@ -3,6 +3,10 @@ title: "The Config Object"
description: "Use the Config Object to Access the Configuration Parameters of your Variant"
---
+:::warning
+This page is for the deprecated SDK v2.
+:::
+
## `agenta.config`
`config` is an object that contains the parameters for your variant and methods that enable you to pull and push these parameters to the backend. Use the config to save the usual parameters for an LLM variant, such as the prompt, temperature, LLM model, chunk size (for RAG), etc. Everything that you plan to experiment with in the playground should be saved in the config.
diff --git a/docs/docs/reference/sdk/core_functions/config_pull.mdx b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_pull.mdx
similarity index 91%
rename from docs/docs/reference/sdk/core_functions/config_pull.mdx
rename to docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_pull.mdx
index 1c5c3b04ae..186d1ff427 100644
--- a/docs/docs/reference/sdk/core_functions/config_pull.mdx
+++ b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_pull.mdx
@@ -3,11 +3,16 @@ title: "config.pull()"
description: "Pull a configuration from the backend"
---
+:::warning
+This page is for the deprecated SDK v2.
+:::
+
`agenta.config.pull(config_name: str = "default", environment_name: str = None)`
-This function pulls the configuration from the backend and save them in the config object. The configuration contains all the parameters for the variant.
+This function pulls the configuration from the backend and save them in the config object. The configuration contains all the parameters for the variant.
The configuration can be pulled by name. For instance
+
```python
agenta.config.pull("my_config")
```
diff --git a/docs/docs/reference/sdk/core_functions/config_push.mdx b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_push.mdx
similarity index 74%
rename from docs/docs/reference/sdk/core_functions/config_push.mdx
rename to docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_push.mdx
index 4f98f72a28..6c84bc05fa 100644
--- a/docs/docs/reference/sdk/core_functions/config_push.mdx
+++ b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/config_push.mdx
@@ -3,11 +3,14 @@ title: "config.push()"
description: "Pushes a configuration to the backend"
---
-`agenta.config.push(self, config_name: str, overwrite=True, **kwargs)``
+:::warning
+This page is for the deprecated SDK v2.
+:::
+
+`agenta.config.push(self, config_name: str, overwrite=True, \*\*kwargs)``
This function pushes the configuration to the backend. The configuration contains all the parameters for the variant.
-The configuration is pushed to config_name for the code base being run. Basically if you are running `variant_name.py`, the configuration will be pushed to `variant_name.config_name`.
+The configuration is pushed to config_name for the code base being run. Basically if you are running `variant_name.py`, the configuration will be pushed to `variant_name.config_name`.
If overwrite is set to True, the configuration will overwrite the existing configuration. If overwrite is set to False, the configuration will be pushed only if the configuration does not exist yet.
-
diff --git a/docs/docs/reference/sdk/core_functions/init.mdx b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/init.mdx
similarity index 67%
rename from docs/docs/reference/sdk/core_functions/init.mdx
rename to docs/docs/reference/sdk/04-deprecated-v2/core_functions/init.mdx
index 962ed7cee5..aaa6ee1730 100644
--- a/docs/docs/reference/sdk/core_functions/init.mdx
+++ b/docs/docs/reference/sdk/04-deprecated-v2/core_functions/init.mdx
@@ -3,8 +3,11 @@ title: "init()"
description: "Call at the start of your code to initialize your variant"
---
+:::warning
+This page is for the deprecated SDK v2.
+:::
`agenta.init()`
-Initialize your variant.
-You need to call this function once at the entry point of your code.
+Initialize your variant.
+You need to call this function once at the entry point of your code.
diff --git a/docs/docs/reference/sdk/quick_start.mdx b/docs/docs/reference/sdk/04-deprecated-v2/quick_start.mdx
similarity index 87%
rename from docs/docs/reference/sdk/quick_start.mdx
rename to docs/docs/reference/sdk/04-deprecated-v2/quick_start.mdx
index 7010558361..a7a785420c 100644
--- a/docs/docs/reference/sdk/quick_start.mdx
+++ b/docs/docs/reference/sdk/04-deprecated-v2/quick_start.mdx
@@ -4,12 +4,13 @@ description: "You can use our SDK to build your own applications"
sidebar_position: 1
---
+:::warning
+This page is for the deprecated SDK v2.
+:::
+
The agenta SDK allows you to experiment with AI applications with LLMs (and in the future any Foundational Model) in a simple way.
The most commenly used functions are:
- `agenta.init` - initialize your variant
- `agenta.config.register_default` - set the default configuration
-
-
-
diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts
index 1a7070f5d6..fad46436c6 100644
--- a/docs/docusaurus.config.ts
+++ b/docs/docusaurus.config.ts
@@ -233,7 +233,6 @@ const config: Config = {
},
},
},
-
plugins: [
async function myPlugin(context, options) {
return {
@@ -273,6 +272,31 @@ const config: Config = {
api_host: "https://app.posthog.com",
},
],
+ [
+ "@docusaurus/plugin-client-redirects",
+ {
+ redirects: [
+ {
+ from: "/prompt-management/creating-a-custom-template",
+ to: "/custom-workflows/quick-start",
+ },
+ {
+ from: "/reference/sdk/quick_start",
+ to: "/reference/sdk/deprecated-v2/quick_start",
+ },
+ ],
+ createRedirects(existingPath) {
+ if (existingPath.includes('/reference/sdk/core_functions')) {
+ return [
+ existingPath.replace('reference/sdk/core_functions', 'reference/sdk/deprecated-v2/core_functions'),
+ ];
+ }
+ return undefined;
+ },
+
+ },
+ ],
+
[
"@docusaurus/plugin-ideal-image",
{
diff --git a/docs/docs/tutorials/custom-workflows/a-more-complicated-tutorial-draft.mdx b/docs/drafts/custom-workflows/a-more-complicated-tutorial-draft.mdx
similarity index 100%
rename from docs/docs/tutorials/custom-workflows/a-more-complicated-tutorial-draft.mdx
rename to docs/drafts/custom-workflows/a-more-complicated-tutorial-draft.mdx
diff --git a/docs/docs/tutorials/custom-workflows/build-rag-application.mdx b/docs/drafts/custom-workflows/build-rag-application.mdx
similarity index 100%
rename from docs/docs/tutorials/custom-workflows/build-rag-application.mdx
rename to docs/drafts/custom-workflows/build-rag-application.mdx
diff --git a/docs/docs/tutorials/custom-workflows/deploy-mistral-model.mdx b/docs/drafts/custom-workflows/deploy-mistral-model.mdx
similarity index 100%
rename from docs/docs/tutorials/custom-workflows/deploy-mistral-model.mdx
rename to docs/drafts/custom-workflows/deploy-mistral-model.mdx
diff --git a/docs/docs/tutorials/custom-workflows/extract_job_information.mdx b/docs/drafts/custom-workflows/extract_job_information.mdx
similarity index 100%
rename from docs/docs/tutorials/custom-workflows/extract_job_information.mdx
rename to docs/drafts/custom-workflows/extract_job_information.mdx
diff --git a/docs/docs/tutorials/custom-workflows/first-app-with-langchain.mdx b/docs/drafts/custom-workflows/first-app-with-langchain.mdx
similarity index 100%
rename from docs/docs/tutorials/custom-workflows/first-app-with-langchain.mdx
rename to docs/drafts/custom-workflows/first-app-with-langchain.mdx
diff --git a/docs/docs/tutorials/custom-workflows/list_templates.mdx b/docs/drafts/custom-workflows/list_templates.mdx
similarity index 100%
rename from docs/docs/tutorials/custom-workflows/list_templates.mdx
rename to docs/drafts/custom-workflows/list_templates.mdx
diff --git a/docs/package-lock.json b/docs/package-lock.json
index a39ada4901..796c634d7c 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -10,6 +10,7 @@
"dependencies": {
"@cloudflare/stream-react": "1.9.1",
"@docusaurus/core": "3.4.0",
+ "@docusaurus/plugin-client-redirects": "^3.4.0",
"@docusaurus/plugin-content-docs": "^3.5.2",
"@docusaurus/plugin-ideal-image": "^3.4.0",
"@docusaurus/preset-classic": "3.4.0",
@@ -350,11 +351,12 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
"dependencies": {
- "@babel/highlight": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
},
"engines": {
@@ -362,28 +364,28 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz",
- "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz",
+ "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
- "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
+ "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.0",
- "@babel/helper-compilation-targets": "^7.25.2",
- "@babel/helper-module-transforms": "^7.25.2",
- "@babel/helpers": "^7.25.0",
- "@babel/parser": "^7.25.0",
- "@babel/template": "^7.25.0",
- "@babel/traverse": "^7.25.2",
- "@babel/types": "^7.25.2",
+ "@babel/code-frame": "^7.26.0",
+ "@babel/generator": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.0",
+ "@babel/parser": "^7.26.0",
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -407,50 +409,51 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz",
- "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz",
+ "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==",
"dependencies": {
- "@babel/types": "^7.25.0",
+ "@babel/parser": "^7.26.2",
+ "@babel/types": "^7.26.0",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
- "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
+ "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
"dependencies": {
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
- "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz",
+ "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
- "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
+ "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
"dependencies": {
- "@babel/compat-data": "^7.25.2",
- "@babel/helper-validator-option": "^7.24.8",
- "browserslist": "^4.23.1",
+ "@babel/compat-data": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
@@ -467,16 +470,16 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz",
- "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.8",
- "@babel/helper-optimise-call-expression": "^7.24.7",
- "@babel/helper-replace-supers": "^7.25.0",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/traverse": "^7.25.0",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz",
+ "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
"semver": "^6.3.1"
},
"engines": {
@@ -495,12 +498,12 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz",
- "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz",
+ "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "regexpu-core": "^5.3.1",
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "regexpu-core": "^6.1.1",
"semver": "^6.3.1"
},
"engines": {
@@ -534,38 +537,37 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz",
- "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
+ "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
"dependencies": {
- "@babel/traverse": "^7.24.8",
- "@babel/types": "^7.24.8"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
- "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7",
- "@babel/traverse": "^7.25.2"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -575,32 +577,32 @@
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
- "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
+ "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
"dependencies": {
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz",
- "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz",
+ "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz",
- "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz",
+ "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-wrap-function": "^7.25.0",
- "@babel/traverse": "^7.25.0"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-wrap-function": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -610,13 +612,13 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz",
- "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz",
+ "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==",
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.24.8",
- "@babel/helper-optimise-call-expression": "^7.24.7",
- "@babel/traverse": "^7.25.0"
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -626,162 +628,84 @@
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
- "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz",
+ "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
- "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
+ "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
- "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
- "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz",
- "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz",
+ "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==",
"dependencies": {
- "@babel/template": "^7.25.0",
- "@babel/traverse": "^7.25.0",
- "@babel/types": "^7.25.0"
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz",
- "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==",
- "dependencies": {
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
+ "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.0"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/parser": {
- "version": "7.25.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz",
- "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz",
+ "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
"dependencies": {
- "@babel/types": "^7.25.2"
+ "@babel/types": "^7.26.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -791,12 +715,12 @@
}
},
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.25.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz",
- "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz",
+ "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/traverse": "^7.25.3"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -806,11 +730,11 @@
}
},
"node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz",
- "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz",
+ "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -820,11 +744,11 @@
}
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz",
- "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz",
+ "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -834,13 +758,13 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
- "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz",
+ "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/plugin-transform-optional-chaining": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -850,12 +774,12 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz",
- "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz",
+ "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/traverse": "^7.25.0"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -875,42 +799,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-static-block": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-syntax-dynamic-import": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
@@ -922,23 +810,12 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz",
- "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz",
+ "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -948,11 +825,11 @@
}
},
"node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
- "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz",
+ "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -961,128 +838,12 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz",
- "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz",
+ "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1092,11 +853,11 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz",
- "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz",
+ "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1121,11 +882,11 @@
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
- "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz",
+ "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1135,14 +896,13 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz",
- "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz",
+ "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-remap-async-to-generator": "^7.25.0",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/traverse": "^7.25.0"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-remap-async-to-generator": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1152,13 +912,13 @@
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
- "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz",
+ "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==",
"dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-remap-async-to-generator": "^7.24.7"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-remap-async-to-generator": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1168,11 +928,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
- "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz",
+ "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1182,11 +942,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz",
- "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz",
+ "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1196,12 +956,12 @@
}
},
"node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz",
- "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz",
+ "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1211,13 +971,12 @@
}
},
"node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
- "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz",
+ "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1227,15 +986,15 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz",
- "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.24.8",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-replace-supers": "^7.25.0",
- "@babel/traverse": "^7.25.0",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz",
+ "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
"globals": "^11.1.0"
},
"engines": {
@@ -1246,12 +1005,12 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
- "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz",
+ "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/template": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/template": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1261,11 +1020,11 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz",
- "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz",
+ "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1275,12 +1034,12 @@
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
- "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz",
+ "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1290,11 +1049,11 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
- "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz",
+ "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1304,12 +1063,12 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz",
- "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz",
+ "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.25.0",
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1319,12 +1078,11 @@
}
},
"node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
- "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz",
+ "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1334,12 +1092,12 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
- "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz",
+ "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==",
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1349,12 +1107,11 @@
}
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
- "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz",
+ "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1364,12 +1121,12 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
- "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz",
+ "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1379,13 +1136,13 @@
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.25.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz",
- "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz",
+ "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.24.8",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/traverse": "^7.25.1"
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1395,12 +1152,11 @@
}
},
"node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
- "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz",
+ "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1410,11 +1166,11 @@
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz",
- "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz",
+ "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1424,12 +1180,11 @@
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
- "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz",
+ "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1439,11 +1194,11 @@
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
- "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz",
+ "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1453,12 +1208,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
- "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz",
+ "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1468,13 +1223,13 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz",
- "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz",
+ "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.24.8",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-simple-access": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-simple-access": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1484,14 +1239,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz",
- "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz",
+ "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.25.0",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-validator-identifier": "^7.24.7",
- "@babel/traverse": "^7.25.0"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1501,12 +1256,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
- "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz",
+ "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1516,12 +1271,12 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
- "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz",
+ "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1531,11 +1286,11 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
- "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz",
+ "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1545,12 +1300,11 @@
}
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
- "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz",
+ "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1560,12 +1314,11 @@
}
},
"node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
- "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz",
+ "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1575,14 +1328,13 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
- "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz",
+ "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.24.7"
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/plugin-transform-parameters": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1592,12 +1344,12 @@
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
- "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz",
+ "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1607,12 +1359,11 @@
}
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
- "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz",
+ "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1622,13 +1373,12 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz",
- "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz",
+ "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1638,11 +1388,11 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
- "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz",
+ "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1652,12 +1402,12 @@
}
},
"node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz",
- "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz",
+ "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1667,14 +1417,13 @@
}
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
- "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz",
+ "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1684,11 +1433,11 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
- "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz",
+ "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1712,11 +1461,11 @@
}
},
"node_modules/@babel/plugin-transform-react-display-name": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz",
- "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz",
+ "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1726,15 +1475,15 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz",
- "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz",
+ "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/plugin-syntax-jsx": "^7.24.7",
- "@babel/types": "^7.25.2"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/plugin-syntax-jsx": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1744,11 +1493,11 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx-development": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz",
- "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz",
+ "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==",
"dependencies": {
- "@babel/plugin-transform-react-jsx": "^7.24.7"
+ "@babel/plugin-transform-react-jsx": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1758,12 +1507,12 @@
}
},
"node_modules/@babel/plugin-transform-react-pure-annotations": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz",
- "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz",
+ "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1773,11 +1522,11 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
- "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz",
+ "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.25.9",
"regenerator-transform": "^0.15.2"
},
"engines": {
@@ -1787,12 +1536,27 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-regexp-modifiers": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz",
+ "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
- "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz",
+ "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1802,14 +1566,14 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz",
- "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz",
+ "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==",
"dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
"babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.1",
+ "babel-plugin-polyfill-corejs3": "^0.10.6",
"babel-plugin-polyfill-regenerator": "^0.6.1",
"semver": "^6.3.1"
},
@@ -1829,11 +1593,11 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
- "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz",
+ "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1843,12 +1607,12 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
- "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz",
+ "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1858,11 +1622,11 @@
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
- "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz",
+ "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1872,11 +1636,11 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
- "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz",
+ "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1886,11 +1650,11 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz",
- "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz",
+ "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1900,15 +1664,15 @@
}
},
"node_modules/@babel/plugin-transform-typescript": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz",
- "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz",
+ "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-create-class-features-plugin": "^7.25.0",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-syntax-typescript": "^7.24.7"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/plugin-syntax-typescript": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1918,11 +1682,11 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
- "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz",
+ "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1932,12 +1696,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
- "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz",
+ "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1947,12 +1711,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
- "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz",
+ "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1962,12 +1726,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz",
- "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz",
+ "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1977,92 +1741,78 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.25.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz",
- "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==",
- "dependencies": {
- "@babel/compat-data": "^7.25.2",
- "@babel/helper-compilation-targets": "^7.25.2",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-validator-option": "^7.24.8",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3",
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz",
+ "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==",
+ "dependencies": {
+ "@babel/compat-data": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9",
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9",
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-import-assertions": "^7.24.7",
- "@babel/plugin-syntax-import-attributes": "^7.24.7",
- "@babel/plugin-syntax-import-meta": "^7.10.4",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-syntax-import-assertions": "^7.26.0",
+ "@babel/plugin-syntax-import-attributes": "^7.26.0",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.24.7",
- "@babel/plugin-transform-async-generator-functions": "^7.25.0",
- "@babel/plugin-transform-async-to-generator": "^7.24.7",
- "@babel/plugin-transform-block-scoped-functions": "^7.24.7",
- "@babel/plugin-transform-block-scoping": "^7.25.0",
- "@babel/plugin-transform-class-properties": "^7.24.7",
- "@babel/plugin-transform-class-static-block": "^7.24.7",
- "@babel/plugin-transform-classes": "^7.25.0",
- "@babel/plugin-transform-computed-properties": "^7.24.7",
- "@babel/plugin-transform-destructuring": "^7.24.8",
- "@babel/plugin-transform-dotall-regex": "^7.24.7",
- "@babel/plugin-transform-duplicate-keys": "^7.24.7",
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0",
- "@babel/plugin-transform-dynamic-import": "^7.24.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.24.7",
- "@babel/plugin-transform-export-namespace-from": "^7.24.7",
- "@babel/plugin-transform-for-of": "^7.24.7",
- "@babel/plugin-transform-function-name": "^7.25.1",
- "@babel/plugin-transform-json-strings": "^7.24.7",
- "@babel/plugin-transform-literals": "^7.25.2",
- "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
- "@babel/plugin-transform-member-expression-literals": "^7.24.7",
- "@babel/plugin-transform-modules-amd": "^7.24.7",
- "@babel/plugin-transform-modules-commonjs": "^7.24.8",
- "@babel/plugin-transform-modules-systemjs": "^7.25.0",
- "@babel/plugin-transform-modules-umd": "^7.24.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
- "@babel/plugin-transform-new-target": "^7.24.7",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
- "@babel/plugin-transform-numeric-separator": "^7.24.7",
- "@babel/plugin-transform-object-rest-spread": "^7.24.7",
- "@babel/plugin-transform-object-super": "^7.24.7",
- "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.8",
- "@babel/plugin-transform-parameters": "^7.24.7",
- "@babel/plugin-transform-private-methods": "^7.24.7",
- "@babel/plugin-transform-private-property-in-object": "^7.24.7",
- "@babel/plugin-transform-property-literals": "^7.24.7",
- "@babel/plugin-transform-regenerator": "^7.24.7",
- "@babel/plugin-transform-reserved-words": "^7.24.7",
- "@babel/plugin-transform-shorthand-properties": "^7.24.7",
- "@babel/plugin-transform-spread": "^7.24.7",
- "@babel/plugin-transform-sticky-regex": "^7.24.7",
- "@babel/plugin-transform-template-literals": "^7.24.7",
- "@babel/plugin-transform-typeof-symbol": "^7.24.8",
- "@babel/plugin-transform-unicode-escapes": "^7.24.7",
- "@babel/plugin-transform-unicode-property-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-sets-regex": "^7.24.7",
+ "@babel/plugin-transform-arrow-functions": "^7.25.9",
+ "@babel/plugin-transform-async-generator-functions": "^7.25.9",
+ "@babel/plugin-transform-async-to-generator": "^7.25.9",
+ "@babel/plugin-transform-block-scoped-functions": "^7.25.9",
+ "@babel/plugin-transform-block-scoping": "^7.25.9",
+ "@babel/plugin-transform-class-properties": "^7.25.9",
+ "@babel/plugin-transform-class-static-block": "^7.26.0",
+ "@babel/plugin-transform-classes": "^7.25.9",
+ "@babel/plugin-transform-computed-properties": "^7.25.9",
+ "@babel/plugin-transform-destructuring": "^7.25.9",
+ "@babel/plugin-transform-dotall-regex": "^7.25.9",
+ "@babel/plugin-transform-duplicate-keys": "^7.25.9",
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9",
+ "@babel/plugin-transform-dynamic-import": "^7.25.9",
+ "@babel/plugin-transform-exponentiation-operator": "^7.25.9",
+ "@babel/plugin-transform-export-namespace-from": "^7.25.9",
+ "@babel/plugin-transform-for-of": "^7.25.9",
+ "@babel/plugin-transform-function-name": "^7.25.9",
+ "@babel/plugin-transform-json-strings": "^7.25.9",
+ "@babel/plugin-transform-literals": "^7.25.9",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.25.9",
+ "@babel/plugin-transform-member-expression-literals": "^7.25.9",
+ "@babel/plugin-transform-modules-amd": "^7.25.9",
+ "@babel/plugin-transform-modules-commonjs": "^7.25.9",
+ "@babel/plugin-transform-modules-systemjs": "^7.25.9",
+ "@babel/plugin-transform-modules-umd": "^7.25.9",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9",
+ "@babel/plugin-transform-new-target": "^7.25.9",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9",
+ "@babel/plugin-transform-numeric-separator": "^7.25.9",
+ "@babel/plugin-transform-object-rest-spread": "^7.25.9",
+ "@babel/plugin-transform-object-super": "^7.25.9",
+ "@babel/plugin-transform-optional-catch-binding": "^7.25.9",
+ "@babel/plugin-transform-optional-chaining": "^7.25.9",
+ "@babel/plugin-transform-parameters": "^7.25.9",
+ "@babel/plugin-transform-private-methods": "^7.25.9",
+ "@babel/plugin-transform-private-property-in-object": "^7.25.9",
+ "@babel/plugin-transform-property-literals": "^7.25.9",
+ "@babel/plugin-transform-regenerator": "^7.25.9",
+ "@babel/plugin-transform-regexp-modifiers": "^7.26.0",
+ "@babel/plugin-transform-reserved-words": "^7.25.9",
+ "@babel/plugin-transform-shorthand-properties": "^7.25.9",
+ "@babel/plugin-transform-spread": "^7.25.9",
+ "@babel/plugin-transform-sticky-regex": "^7.25.9",
+ "@babel/plugin-transform-template-literals": "^7.25.9",
+ "@babel/plugin-transform-typeof-symbol": "^7.25.9",
+ "@babel/plugin-transform-unicode-escapes": "^7.25.9",
+ "@babel/plugin-transform-unicode-property-regex": "^7.25.9",
+ "@babel/plugin-transform-unicode-regex": "^7.25.9",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
"@babel/preset-modules": "0.1.6-no-external-plugins",
"babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.4",
+ "babel-plugin-polyfill-corejs3": "^0.10.6",
"babel-plugin-polyfill-regenerator": "^0.6.1",
- "core-js-compat": "^3.37.1",
+ "core-js-compat": "^3.38.1",
"semver": "^6.3.1"
},
"engines": {
@@ -2094,16 +1844,16 @@
}
},
"node_modules/@babel/preset-react": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz",
- "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz",
+ "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-validator-option": "^7.24.7",
- "@babel/plugin-transform-react-display-name": "^7.24.7",
- "@babel/plugin-transform-react-jsx": "^7.24.7",
- "@babel/plugin-transform-react-jsx-development": "^7.24.7",
- "@babel/plugin-transform-react-pure-annotations": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "@babel/plugin-transform-react-display-name": "^7.25.9",
+ "@babel/plugin-transform-react-jsx": "^7.25.9",
+ "@babel/plugin-transform-react-jsx-development": "^7.25.9",
+ "@babel/plugin-transform-react-pure-annotations": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -2113,15 +1863,15 @@
}
},
"node_modules/@babel/preset-typescript": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz",
- "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz",
+ "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-validator-option": "^7.24.7",
- "@babel/plugin-syntax-jsx": "^7.24.7",
- "@babel/plugin-transform-modules-commonjs": "^7.24.7",
- "@babel/plugin-transform-typescript": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "@babel/plugin-syntax-jsx": "^7.25.9",
+ "@babel/plugin-transform-modules-commonjs": "^7.25.9",
+ "@babel/plugin-transform-typescript": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -2130,15 +1880,10 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/regjsgen": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
- },
"node_modules/@babel/runtime": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz",
- "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
+ "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -2147,9 +1892,9 @@
}
},
"node_modules/@babel/runtime-corejs3": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.25.0.tgz",
- "integrity": "sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz",
+ "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==",
"dependencies": {
"core-js-pure": "^3.30.2",
"regenerator-runtime": "^0.14.0"
@@ -2159,28 +1904,28 @@
}
},
"node_modules/@babel/template": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
- "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
+ "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.25.0",
- "@babel/types": "^7.25.0"
+ "@babel/code-frame": "^7.25.9",
+ "@babel/parser": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.25.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz",
- "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==",
- "dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.0",
- "@babel/parser": "^7.25.3",
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.2",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz",
+ "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.25.9",
+ "@babel/generator": "^7.25.9",
+ "@babel/parser": "^7.25.9",
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.25.9",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -2189,13 +1934,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz",
- "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
+ "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
"dependencies": {
- "@babel/helper-string-parser": "^7.24.8",
- "@babel/helper-validator-identifier": "^7.24.7",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -2447,6 +2191,29 @@
"react-dom": "*"
}
},
+ "node_modules/@docusaurus/plugin-client-redirects": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz",
+ "integrity": "sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==",
+ "dependencies": {
+ "@docusaurus/core": "3.4.0",
+ "@docusaurus/logger": "3.4.0",
+ "@docusaurus/utils": "3.4.0",
+ "@docusaurus/utils-common": "3.4.0",
+ "@docusaurus/utils-validation": "3.4.0",
+ "eta": "^2.2.0",
+ "fs-extra": "^11.1.1",
+ "lodash": "^4.17.21",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=18.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ }
+ },
"node_modules/@docusaurus/plugin-content-blog": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz",
@@ -5439,9 +5206,9 @@
"integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg=="
},
"node_modules/babel-loader": {
- "version": "9.1.3",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz",
- "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==",
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz",
+ "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==",
"dependencies": {
"find-cache-dir": "^4.0.0",
"schema-utils": "^4.0.0"
@@ -6715,11 +6482,11 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.38.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz",
- "integrity": "sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==",
+ "version": "3.39.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz",
+ "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==",
"dependencies": {
- "browserslist": "^4.23.3"
+ "browserslist": "^4.24.2"
},
"funding": {
"type": "opencollective",
@@ -8581,19 +8348,6 @@
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
},
- "node_modules/fast-url-parser": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
- "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==",
- "dependencies": {
- "punycode": "^1.3.2"
- }
- },
- "node_modules/fast-url-parser/node_modules/punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
- },
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
@@ -10676,14 +10430,14 @@
}
},
"node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
"node_modules/json-buffer": {
@@ -13236,9 +12990,9 @@
}
},
"node_modules/mini-css-extract-plugin": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz",
- "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==",
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz",
+ "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==",
"dependencies": {
"schema-utils": "^4.0.0",
"tapable": "^2.2.1"
@@ -16538,9 +16292,9 @@
"integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
- "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
+ "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
"dependencies": {
"regenerate": "^1.4.2"
},
@@ -16562,14 +16316,14 @@
}
},
"node_modules/regexpu-core": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
- "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz",
+ "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==",
"dependencies": {
- "@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.1.0",
- "regjsparser": "^0.9.1",
+ "regenerate-unicode-properties": "^10.2.0",
+ "regjsgen": "^0.8.0",
+ "regjsparser": "^0.11.0",
"unicode-match-property-ecmascript": "^2.0.0",
"unicode-match-property-value-ecmascript": "^2.1.0"
},
@@ -16602,25 +16356,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/regjsgen": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
+ "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q=="
+ },
"node_modules/regjsparser": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
- "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz",
+ "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==",
"dependencies": {
- "jsesc": "~0.5.0"
+ "jsesc": "~3.0.2"
},
"bin": {
"regjsparser": "bin/parser"
}
},
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
- "bin": {
- "jsesc": "bin/jsesc"
- }
- },
"node_modules/rehype-raw": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
@@ -17278,17 +17029,16 @@
}
},
"node_modules/serve-handler": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz",
- "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==",
+ "version": "6.1.6",
+ "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz",
+ "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==",
"dependencies": {
"bytes": "3.0.0",
"content-disposition": "0.5.2",
- "fast-url-parser": "1.1.3",
"mime-types": "2.1.18",
"minimatch": "3.1.2",
"path-is-inside": "1.0.2",
- "path-to-regexp": "2.2.1",
+ "path-to-regexp": "3.3.0",
"range-parser": "1.2.0"
}
},
@@ -18520,14 +18270,6 @@
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -18661,9 +18403,9 @@
"integrity": "sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org=="
},
"node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
- "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+ "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
"engines": {
"node": ">=4"
}
@@ -18689,9 +18431,9 @@
}
},
"node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
- "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
+ "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
"engines": {
"node": ">=4"
}
diff --git a/docs/package.json b/docs/package.json
index 1128f11296..3076eb2e20 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -20,6 +20,7 @@
"dependencies": {
"@cloudflare/stream-react": "1.9.1",
"@docusaurus/core": "3.4.0",
+ "@docusaurus/plugin-client-redirects": "^3.4.0",
"@docusaurus/plugin-content-docs": "^3.5.2",
"@docusaurus/plugin-ideal-image": "^3.4.0",
"@docusaurus/preset-classic": "3.4.0",
@@ -60,4 +61,4 @@
"engines": {
"node": ">=18.0"
}
-}
\ No newline at end of file
+}
diff --git a/docs/sidebars.ts b/docs/sidebars.ts
index 242e2e4712..b0142d4fc5 100644
--- a/docs/sidebars.ts
+++ b/docs/sidebars.ts
@@ -25,6 +25,13 @@ const sidebars: SidebarsConfig = {
label: "Tutorials",
items: [ "tutorials/sdk/manage-prompts-with-SDK"]}],
},
+ ,
+ {
+ label: "Custom Workflows",
+ ...CATEGORY_UTILITIES,
+ items: [{ type: "autogenerated", dirName: "custom-workflows" }
+ ],
+ },
{
label: "Evaluation",
...CATEGORY_UTILITIES,
@@ -63,11 +70,6 @@ const sidebars: SidebarsConfig = {
...CATEGORY_UTILITIES,
items: [{ type: "autogenerated", dirName: "tutorials/cookbooks" }],
},
- {
- label: "Custom Workflows",
- ...CATEGORY_UTILITIES,
- items: [{ type: "autogenerated", dirName: "tutorials/custom-workflows" }],
- },
{
label: "SDK",
...CATEGORY_UTILITIES,
diff --git a/docs/static/images/custom-workflows/custom-workflow-illustration.png b/docs/static/images/custom-workflows/custom-workflow-illustration.png
new file mode 100644
index 0000000000..28c4a82c31
Binary files /dev/null and b/docs/static/images/custom-workflows/custom-workflow-illustration.png differ
diff --git a/docs/static/images/custom-workflows/custom-workflows-draft.png b/docs/static/images/custom-workflows/custom-workflows-draft.png
new file mode 100644
index 0000000000..5ac6e0e0c3
Binary files /dev/null and b/docs/static/images/custom-workflows/custom-workflows-draft.png differ
diff --git a/docs/static/images/custom-workflows/playground-cop.png b/docs/static/images/custom-workflows/playground-cop.png
new file mode 100644
index 0000000000..b87e605ea4
Binary files /dev/null and b/docs/static/images/custom-workflows/playground-cop.png differ
diff --git a/docs/static/images/custom-workflows/trace-cop.png b/docs/static/images/custom-workflows/trace-cop.png
new file mode 100644
index 0000000000..6139ceb1ce
Binary files /dev/null and b/docs/static/images/custom-workflows/trace-cop.png differ
diff --git a/docs/static/images/custom-workflows/workflow-cop.png b/docs/static/images/custom-workflows/workflow-cop.png
new file mode 100644
index 0000000000..f58b1d6709
Binary files /dev/null and b/docs/static/images/custom-workflows/workflow-cop.png differ
diff --git a/examples/Readme.md b/examples/Readme.md
index 61f1f96cf5..8bd4aae54e 100644
--- a/examples/Readme.md
+++ b/examples/Readme.md
@@ -1,14 +1,7 @@
-# List of examples
+# Agenta Examples
-- baby_name_generator
-Simple baby name generator using one prompt, jinja2 and openai
-- Job info extractor
-Extracts job info from a job description using langchain and openai function calls
-- noteGPT
-Simple app that takes a transcript and creates notes using langchain and davinci
-- recipes_and_ingredients
-Simple app with one prompt that takes a receipe and finds the most dominant ingredient using langchain
-- sales_call_qa_llama
-App using llama_index to answer questions on a sales call based on embeddings
-- sales_call_summarizer
-App using langchain to summarize a sales call
+## Custom workflows
+
+| Example | Description |
+| :-------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [Chain of prompt workflow](https://github.com/Agenta-AI/agenta/tree/main/examples/custom_workflows/chain_of_prompts/) | A custom workflow with a chain of two prompts ([tutorial](https://docs.agenta.ai/custom-workflows/quick-start?utm_source=github&utm_medium=referral&utm_campaign=examples)). |
diff --git a/examples/custom_workflows/chain_of_prompts/.env.example b/examples/custom_workflows/chain_of_prompts/.env.example
new file mode 100644
index 0000000000..9fe6ea8734
--- /dev/null
+++ b/examples/custom_workflows/chain_of_prompts/.env.example
@@ -0,0 +1 @@
+OPENAI_API_KEY=
\ No newline at end of file
diff --git a/examples/custom_workflows/chain_of_prompts/Readme.md b/examples/custom_workflows/chain_of_prompts/Readme.md
new file mode 100644
index 0000000000..6ef183cdeb
--- /dev/null
+++ b/examples/custom_workflows/chain_of_prompts/Readme.md
@@ -0,0 +1,32 @@
+# Workflow with a chain of prompts
+
+This is the code for the workflow with a chain of prompts. You can find the tutorial [here](https://docs.agenta.ai/docs/custom-workflows/quick-start).
+
+To get started:
+
+1. Install Agenta:
+
+```bash
+pip install -U agenta
+```
+
+2. Add the environment variables:
+
+```bash
+export OPENAI_API_KEY=
+```
+
+3. Create the application:
+
+```bash
+
+agenta init
+```
+
+3. Serve the workflow:
+
+```bash
+agenta variant serve cop.py
+```
+
+You can now navigate to the playground to run the workflow, run evaluations, and monitor the performance.
diff --git a/examples/custom_workflows/chain_of_prompts/cop.py b/examples/custom_workflows/chain_of_prompts/cop.py
new file mode 100644
index 0000000000..9905de9207
--- /dev/null
+++ b/examples/custom_workflows/chain_of_prompts/cop.py
@@ -0,0 +1,33 @@
+from openai import OpenAI
+import agenta as ag
+from pydantic import BaseModel, Field
+from opentelemetry.instrumentation.openai import OpenAIInstrumentor
+
+ag.init()
+
+client = OpenAI()
+prompt1 = "Summarize the following blog post: {blog_post}"
+prompt2 = "Write a tweet based on this: {output_1}"
+
+OpenAIInstrumentor().instrument()
+
+
+class CoPConfig(BaseModel):
+ prompt1: str = Field(default=prompt1)
+ prompt2: str = Field(default=prompt2)
+
+
+@ag.route("/", config_schema=CoPConfig)
+@ag.instrument()
+def generate(blog_post: str):
+ config = ag.ConfigManager.get_from_route(schema=CoPConfig)
+ formatted_prompt1 = config.prompt1.format(blog_post=blog_post)
+ completion = client.chat.completions.create(
+ model="gpt-3.5-turbo", messages=[{"role": "user", "content": formatted_prompt1}]
+ )
+ output_1 = completion.choices[0].message.content
+ formatted_prompt2 = config.prompt2.format(output_1=output_1)
+ completion = client.chat.completions.create(
+ model="gpt-3.5-turbo", messages=[{"role": "user", "content": formatted_prompt2}]
+ )
+ return completion.choices[0].message.content
diff --git a/examples/custom_workflows/chain_of_prompts/requirements.txt b/examples/custom_workflows/chain_of_prompts/requirements.txt
new file mode 100644
index 0000000000..7c184d8aee
--- /dev/null
+++ b/examples/custom_workflows/chain_of_prompts/requirements.txt
@@ -0,0 +1,3 @@
+openai
+agenta
+opentelemetry.instrumentation.openai
\ No newline at end of file
diff --git a/examples/app_with_observability/app_async.py b/examples/deprecated_sdk_v2/app_with_observability/app_async.py
similarity index 100%
rename from examples/app_with_observability/app_async.py
rename to examples/deprecated_sdk_v2/app_with_observability/app_async.py
diff --git a/examples/app_with_observability/app_nested_async.py b/examples/deprecated_sdk_v2/app_with_observability/app_nested_async.py
similarity index 100%
rename from examples/app_with_observability/app_nested_async.py
rename to examples/deprecated_sdk_v2/app_with_observability/app_nested_async.py
diff --git a/examples/app_with_observability/dict_app_async.py b/examples/deprecated_sdk_v2/app_with_observability/dict_app_async.py
similarity index 100%
rename from examples/app_with_observability/dict_app_async.py
rename to examples/deprecated_sdk_v2/app_with_observability/dict_app_async.py
diff --git a/examples/app_with_observability/litellm_integration.py b/examples/deprecated_sdk_v2/app_with_observability/litellm_integration.py
similarity index 100%
rename from examples/app_with_observability/litellm_integration.py
rename to examples/deprecated_sdk_v2/app_with_observability/litellm_integration.py
diff --git a/examples/app_with_observability/requirements.txt b/examples/deprecated_sdk_v2/app_with_observability/requirements.txt
similarity index 100%
rename from examples/app_with_observability/requirements.txt
rename to examples/deprecated_sdk_v2/app_with_observability/requirements.txt
diff --git a/examples/app_with_observability/workflows/tracing_from_bash.py b/examples/deprecated_sdk_v2/app_with_observability/workflows/tracing_from_bash.py
similarity index 100%
rename from examples/app_with_observability/workflows/tracing_from_bash.py
rename to examples/deprecated_sdk_v2/app_with_observability/workflows/tracing_from_bash.py
diff --git a/examples/app_with_observability/workflows/tracing_from_hosted.py b/examples/deprecated_sdk_v2/app_with_observability/workflows/tracing_from_hosted.py
similarity index 100%
rename from examples/app_with_observability/workflows/tracing_from_hosted.py
rename to examples/deprecated_sdk_v2/app_with_observability/workflows/tracing_from_hosted.py
diff --git a/examples/app_with_observability/workflows/tracing_plus_entrypoint.py b/examples/deprecated_sdk_v2/app_with_observability/workflows/tracing_plus_entrypoint.py
similarity index 100%
rename from examples/app_with_observability/workflows/tracing_plus_entrypoint.py
rename to examples/deprecated_sdk_v2/app_with_observability/workflows/tracing_plus_entrypoint.py
diff --git a/examples/async_chat_sdk_output_format/app.py b/examples/deprecated_sdk_v2/async_chat_sdk_output_format/app.py
similarity index 100%
rename from examples/async_chat_sdk_output_format/app.py
rename to examples/deprecated_sdk_v2/async_chat_sdk_output_format/app.py
diff --git a/examples/async_chat_sdk_output_format/requirements.txt b/examples/deprecated_sdk_v2/async_chat_sdk_output_format/requirements.txt
similarity index 100%
rename from examples/async_chat_sdk_output_format/requirements.txt
rename to examples/deprecated_sdk_v2/async_chat_sdk_output_format/requirements.txt
diff --git a/examples/async_startup_technical_ideas/app.py b/examples/deprecated_sdk_v2/async_startup_technical_ideas/app.py
similarity index 100%
rename from examples/async_startup_technical_ideas/app.py
rename to examples/deprecated_sdk_v2/async_startup_technical_ideas/app.py
diff --git a/examples/async_startup_technical_ideas/requirements.txt b/examples/deprecated_sdk_v2/async_startup_technical_ideas/requirements.txt
similarity index 100%
rename from examples/async_startup_technical_ideas/requirements.txt
rename to examples/deprecated_sdk_v2/async_startup_technical_ideas/requirements.txt
diff --git a/examples/baby_name_generator/.gitignore b/examples/deprecated_sdk_v2/baby_name_generator/.agentaignore
similarity index 100%
rename from examples/baby_name_generator/.gitignore
rename to examples/deprecated_sdk_v2/baby_name_generator/.agentaignore
diff --git a/examples/chat_models/.gitignore b/examples/deprecated_sdk_v2/baby_name_generator/.gitignore
similarity index 100%
rename from examples/chat_models/.gitignore
rename to examples/deprecated_sdk_v2/baby_name_generator/.gitignore
diff --git a/examples/baby_name_generator/README.md b/examples/deprecated_sdk_v2/baby_name_generator/README.md
similarity index 100%
rename from examples/baby_name_generator/README.md
rename to examples/deprecated_sdk_v2/baby_name_generator/README.md
diff --git a/examples/baby_name_generator/app.py b/examples/deprecated_sdk_v2/baby_name_generator/app.py
similarity index 100%
rename from examples/baby_name_generator/app.py
rename to examples/deprecated_sdk_v2/baby_name_generator/app.py
diff --git a/examples/baby_name_generator/requirements.txt b/examples/deprecated_sdk_v2/baby_name_generator/requirements.txt
similarity index 100%
rename from examples/baby_name_generator/requirements.txt
rename to examples/deprecated_sdk_v2/baby_name_generator/requirements.txt
diff --git a/examples/chat_json_format/app.py b/examples/deprecated_sdk_v2/chat_json_format/app.py
similarity index 100%
rename from examples/chat_json_format/app.py
rename to examples/deprecated_sdk_v2/chat_json_format/app.py
diff --git a/examples/chat_json_format/requirements.txt b/examples/deprecated_sdk_v2/chat_json_format/requirements.txt
similarity index 100%
rename from examples/chat_json_format/requirements.txt
rename to examples/deprecated_sdk_v2/chat_json_format/requirements.txt
diff --git a/examples/chat_models/.env.example b/examples/deprecated_sdk_v2/chat_models/.env.example
similarity index 100%
rename from examples/chat_models/.env.example
rename to examples/deprecated_sdk_v2/chat_models/.env.example
diff --git a/examples/qa_generator_chain_of_prompts/.gitignore b/examples/deprecated_sdk_v2/chat_models/.gitignore
similarity index 100%
rename from examples/qa_generator_chain_of_prompts/.gitignore
rename to examples/deprecated_sdk_v2/chat_models/.gitignore
diff --git a/examples/chat_models/README.md b/examples/deprecated_sdk_v2/chat_models/README.md
similarity index 100%
rename from examples/chat_models/README.md
rename to examples/deprecated_sdk_v2/chat_models/README.md
diff --git a/examples/chat_models/app.py b/examples/deprecated_sdk_v2/chat_models/app.py
similarity index 100%
rename from examples/chat_models/app.py
rename to examples/deprecated_sdk_v2/chat_models/app.py
diff --git a/examples/chat_models/requirements.txt b/examples/deprecated_sdk_v2/chat_models/requirements.txt
similarity index 100%
rename from examples/chat_models/requirements.txt
rename to examples/deprecated_sdk_v2/chat_models/requirements.txt
diff --git a/examples/completion_models/.env.example b/examples/deprecated_sdk_v2/completion_models/.env.example
similarity index 100%
rename from examples/completion_models/.env.example
rename to examples/deprecated_sdk_v2/completion_models/.env.example
diff --git a/examples/completion_models/.gitignore b/examples/deprecated_sdk_v2/completion_models/.gitignore
similarity index 100%
rename from examples/completion_models/.gitignore
rename to examples/deprecated_sdk_v2/completion_models/.gitignore
diff --git a/examples/completion_models/README.md b/examples/deprecated_sdk_v2/completion_models/README.md
similarity index 100%
rename from examples/completion_models/README.md
rename to examples/deprecated_sdk_v2/completion_models/README.md
diff --git a/examples/completion_models/app.py b/examples/deprecated_sdk_v2/completion_models/app.py
similarity index 100%
rename from examples/completion_models/app.py
rename to examples/deprecated_sdk_v2/completion_models/app.py
diff --git a/examples/completion_models/requirements.txt b/examples/deprecated_sdk_v2/completion_models/requirements.txt
similarity index 100%
rename from examples/completion_models/requirements.txt
rename to examples/deprecated_sdk_v2/completion_models/requirements.txt
diff --git a/examples/compose_email/app.py b/examples/deprecated_sdk_v2/compose_email/app.py
similarity index 100%
rename from examples/compose_email/app.py
rename to examples/deprecated_sdk_v2/compose_email/app.py
diff --git a/examples/compose_email/requirements.txt b/examples/deprecated_sdk_v2/compose_email/requirements.txt
similarity index 100%
rename from examples/compose_email/requirements.txt
rename to examples/deprecated_sdk_v2/compose_email/requirements.txt
diff --git a/examples/experimental/earning_call_analyzer/app.py b/examples/deprecated_sdk_v2/experimental/earning_call_analyzer/app.py
similarity index 100%
rename from examples/experimental/earning_call_analyzer/app.py
rename to examples/deprecated_sdk_v2/experimental/earning_call_analyzer/app.py
diff --git a/examples/experimental/earning_call_analyzer/data/2020-May-21-NVDA.txt b/examples/deprecated_sdk_v2/experimental/earning_call_analyzer/data/2020-May-21-NVDA.txt
similarity index 100%
rename from examples/experimental/earning_call_analyzer/data/2020-May-21-NVDA.txt
rename to examples/deprecated_sdk_v2/experimental/earning_call_analyzer/data/2020-May-21-NVDA.txt
diff --git a/examples/experimental/earning_call_analyzer/requirements.txt b/examples/deprecated_sdk_v2/experimental/earning_call_analyzer/requirements.txt
similarity index 100%
rename from examples/experimental/earning_call_analyzer/requirements.txt
rename to examples/deprecated_sdk_v2/experimental/earning_call_analyzer/requirements.txt
diff --git a/examples/experimental/ingestion_v0/app.py b/examples/deprecated_sdk_v2/experimental/ingestion_v0/app.py
similarity index 100%
rename from examples/experimental/ingestion_v0/app.py
rename to examples/deprecated_sdk_v2/experimental/ingestion_v0/app.py
diff --git a/examples/experimental/ingestion_v0/context.py b/examples/deprecated_sdk_v2/experimental/ingestion_v0/context.py
similarity index 100%
rename from examples/experimental/ingestion_v0/context.py
rename to examples/deprecated_sdk_v2/experimental/ingestion_v0/context.py
diff --git a/examples/experimental/ingestion_v0/data/2020-May-21-NVDA.txt b/examples/deprecated_sdk_v2/experimental/ingestion_v0/data/2020-May-21-NVDA.txt
similarity index 100%
rename from examples/experimental/ingestion_v0/data/2020-May-21-NVDA.txt
rename to examples/deprecated_sdk_v2/experimental/ingestion_v0/data/2020-May-21-NVDA.txt
diff --git a/examples/experimental/ingestion_v0/ingest.py b/examples/deprecated_sdk_v2/experimental/ingestion_v0/ingest.py
similarity index 100%
rename from examples/experimental/ingestion_v0/ingest.py
rename to examples/deprecated_sdk_v2/experimental/ingestion_v0/ingest.py
diff --git a/examples/experimental/ingestion_v0/requirements.txt b/examples/deprecated_sdk_v2/experimental/ingestion_v0/requirements.txt
similarity index 100%
rename from examples/experimental/ingestion_v0/requirements.txt
rename to examples/deprecated_sdk_v2/experimental/ingestion_v0/requirements.txt
diff --git a/examples/experimental/ingestion_v1/README.md b/examples/deprecated_sdk_v2/experimental/ingestion_v1/README.md
similarity index 100%
rename from examples/experimental/ingestion_v1/README.md
rename to examples/deprecated_sdk_v2/experimental/ingestion_v1/README.md
diff --git a/examples/experimental/ingestion_v1/app.py b/examples/deprecated_sdk_v2/experimental/ingestion_v1/app.py
similarity index 100%
rename from examples/experimental/ingestion_v1/app.py
rename to examples/deprecated_sdk_v2/experimental/ingestion_v1/app.py
diff --git a/examples/experimental/ingestion_v1/env.example b/examples/deprecated_sdk_v2/experimental/ingestion_v1/env.example
similarity index 100%
rename from examples/experimental/ingestion_v1/env.example
rename to examples/deprecated_sdk_v2/experimental/ingestion_v1/env.example
diff --git a/examples/experimental/ingestion_v1/requirements.txt b/examples/deprecated_sdk_v2/experimental/ingestion_v1/requirements.txt
similarity index 100%
rename from examples/experimental/ingestion_v1/requirements.txt
rename to examples/deprecated_sdk_v2/experimental/ingestion_v1/requirements.txt
diff --git a/examples/experimental/sales_call_qa_embedding/app.py b/examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/app.py
similarity index 100%
rename from examples/experimental/sales_call_qa_embedding/app.py
rename to examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/app.py
diff --git a/examples/experimental/sales_call_qa_embedding/bookingkit/app.py b/examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/bookingkit/app.py
similarity index 100%
rename from examples/experimental/sales_call_qa_embedding/bookingkit/app.py
rename to examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/bookingkit/app.py
diff --git a/examples/experimental/sales_call_qa_embedding/bookingkit/requirements.txt b/examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/bookingkit/requirements.txt
similarity index 100%
rename from examples/experimental/sales_call_qa_embedding/bookingkit/requirements.txt
rename to examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/bookingkit/requirements.txt
diff --git a/examples/experimental/sales_call_qa_embedding/requirements.txt b/examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/requirements.txt
similarity index 100%
rename from examples/experimental/sales_call_qa_embedding/requirements.txt
rename to examples/deprecated_sdk_v2/experimental/sales_call_qa_embedding/requirements.txt
diff --git a/examples/extract_data_to_json/README.md b/examples/deprecated_sdk_v2/extract_data_to_json/README.md
similarity index 100%
rename from examples/extract_data_to_json/README.md
rename to examples/deprecated_sdk_v2/extract_data_to_json/README.md
diff --git a/examples/extract_data_to_json/app.py b/examples/deprecated_sdk_v2/extract_data_to_json/app.py
similarity index 100%
rename from examples/extract_data_to_json/app.py
rename to examples/deprecated_sdk_v2/extract_data_to_json/app.py
diff --git a/examples/extract_data_to_json/env.example b/examples/deprecated_sdk_v2/extract_data_to_json/env.example
similarity index 100%
rename from examples/extract_data_to_json/env.example
rename to examples/deprecated_sdk_v2/extract_data_to_json/env.example
diff --git a/examples/extract_data_to_json/requirements.txt b/examples/deprecated_sdk_v2/extract_data_to_json/requirements.txt
similarity index 100%
rename from examples/extract_data_to_json/requirements.txt
rename to examples/deprecated_sdk_v2/extract_data_to_json/requirements.txt
diff --git a/examples/extract_data_to_json/template.toml b/examples/deprecated_sdk_v2/extract_data_to_json/template.toml
similarity index 100%
rename from examples/extract_data_to_json/template.toml
rename to examples/deprecated_sdk_v2/extract_data_to_json/template.toml
diff --git a/examples/job_info_extractor/.gitignore b/examples/deprecated_sdk_v2/job_info_extractor/.gitignore
similarity index 100%
rename from examples/job_info_extractor/.gitignore
rename to examples/deprecated_sdk_v2/job_info_extractor/.gitignore
diff --git a/examples/job_info_extractor/README.md b/examples/deprecated_sdk_v2/job_info_extractor/README.md
similarity index 100%
rename from examples/job_info_extractor/README.md
rename to examples/deprecated_sdk_v2/job_info_extractor/README.md
diff --git a/examples/job_info_extractor/app.py b/examples/deprecated_sdk_v2/job_info_extractor/app.py
similarity index 100%
rename from examples/job_info_extractor/app.py
rename to examples/deprecated_sdk_v2/job_info_extractor/app.py
diff --git a/examples/job_info_extractor/env.example b/examples/deprecated_sdk_v2/job_info_extractor/env.example
similarity index 100%
rename from examples/job_info_extractor/env.example
rename to examples/deprecated_sdk_v2/job_info_extractor/env.example
diff --git a/examples/job_info_extractor/requirements.txt b/examples/deprecated_sdk_v2/job_info_extractor/requirements.txt
similarity index 100%
rename from examples/job_info_extractor/requirements.txt
rename to examples/deprecated_sdk_v2/job_info_extractor/requirements.txt
diff --git a/examples/noteGPT/app.py b/examples/deprecated_sdk_v2/noteGPT/app.py
similarity index 100%
rename from examples/noteGPT/app.py
rename to examples/deprecated_sdk_v2/noteGPT/app.py
diff --git a/examples/noteGPT/requirements.txt b/examples/deprecated_sdk_v2/noteGPT/requirements.txt
similarity index 100%
rename from examples/noteGPT/requirements.txt
rename to examples/deprecated_sdk_v2/noteGPT/requirements.txt
diff --git a/examples/vision_gpt_explain_image/.gitignore b/examples/deprecated_sdk_v2/qa_generator_chain_of_prompts/.gitignore
similarity index 100%
rename from examples/vision_gpt_explain_image/.gitignore
rename to examples/deprecated_sdk_v2/qa_generator_chain_of_prompts/.gitignore
diff --git a/examples/qa_generator_chain_of_prompts/app.py b/examples/deprecated_sdk_v2/qa_generator_chain_of_prompts/app.py
similarity index 100%
rename from examples/qa_generator_chain_of_prompts/app.py
rename to examples/deprecated_sdk_v2/qa_generator_chain_of_prompts/app.py
diff --git a/examples/qa_generator_chain_of_prompts/requirements.txt b/examples/deprecated_sdk_v2/qa_generator_chain_of_prompts/requirements.txt
similarity index 100%
rename from examples/qa_generator_chain_of_prompts/requirements.txt
rename to examples/deprecated_sdk_v2/qa_generator_chain_of_prompts/requirements.txt
diff --git a/examples/rag_applications/mflix/app.py b/examples/deprecated_sdk_v2/rag_applications/mflix/app.py
similarity index 100%
rename from examples/rag_applications/mflix/app.py
rename to examples/deprecated_sdk_v2/rag_applications/mflix/app.py
diff --git a/examples/rag_applications/mflix/env.example b/examples/deprecated_sdk_v2/rag_applications/mflix/env.example
similarity index 100%
rename from examples/rag_applications/mflix/env.example
rename to examples/deprecated_sdk_v2/rag_applications/mflix/env.example
diff --git a/examples/rag_applications/mflix/readme.md b/examples/deprecated_sdk_v2/rag_applications/mflix/readme.md
similarity index 100%
rename from examples/rag_applications/mflix/readme.md
rename to examples/deprecated_sdk_v2/rag_applications/mflix/readme.md
diff --git a/examples/rag_applications/mflix/requirements.txt b/examples/deprecated_sdk_v2/rag_applications/mflix/requirements.txt
similarity index 100%
rename from examples/rag_applications/mflix/requirements.txt
rename to examples/deprecated_sdk_v2/rag_applications/mflix/requirements.txt
diff --git a/examples/rag_applications/mflix/testset.csv b/examples/deprecated_sdk_v2/rag_applications/mflix/testset.csv
similarity index 100%
rename from examples/rag_applications/mflix/testset.csv
rename to examples/deprecated_sdk_v2/rag_applications/mflix/testset.csv
diff --git a/examples/rag_applications/mflix_with_otel_instrumentation/app.py b/examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/app.py
similarity index 100%
rename from examples/rag_applications/mflix_with_otel_instrumentation/app.py
rename to examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/app.py
diff --git a/examples/rag_applications/mflix_with_otel_instrumentation/env.example b/examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/env.example
similarity index 100%
rename from examples/rag_applications/mflix_with_otel_instrumentation/env.example
rename to examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/env.example
diff --git a/examples/rag_applications/mflix_with_otel_instrumentation/readme.md b/examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/readme.md
similarity index 100%
rename from examples/rag_applications/mflix_with_otel_instrumentation/readme.md
rename to examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/readme.md
diff --git a/examples/rag_applications/mflix_with_otel_instrumentation/requirements.txt b/examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/requirements.txt
similarity index 100%
rename from examples/rag_applications/mflix_with_otel_instrumentation/requirements.txt
rename to examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/requirements.txt
diff --git a/examples/rag_applications/mflix_with_otel_instrumentation/testset.csv b/examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/testset.csv
similarity index 100%
rename from examples/rag_applications/mflix_with_otel_instrumentation/testset.csv
rename to examples/deprecated_sdk_v2/rag_applications/mflix_with_otel_instrumentation/testset.csv
diff --git a/examples/recipes_and_ingredients/app.py b/examples/deprecated_sdk_v2/recipes_and_ingredients/app.py
similarity index 100%
rename from examples/recipes_and_ingredients/app.py
rename to examples/deprecated_sdk_v2/recipes_and_ingredients/app.py
diff --git a/examples/recipes_and_ingredients/requirements.txt b/examples/deprecated_sdk_v2/recipes_and_ingredients/requirements.txt
similarity index 100%
rename from examples/recipes_and_ingredients/requirements.txt
rename to examples/deprecated_sdk_v2/recipes_and_ingredients/requirements.txt
diff --git a/examples/sales_call_summarizer/.gitignore b/examples/deprecated_sdk_v2/sales_call_summarizer/.gitignore
similarity index 100%
rename from examples/sales_call_summarizer/.gitignore
rename to examples/deprecated_sdk_v2/sales_call_summarizer/.gitignore
diff --git a/examples/sales_call_summarizer/README.md b/examples/deprecated_sdk_v2/sales_call_summarizer/README.md
similarity index 100%
rename from examples/sales_call_summarizer/README.md
rename to examples/deprecated_sdk_v2/sales_call_summarizer/README.md
diff --git a/examples/sales_call_summarizer/app.py b/examples/deprecated_sdk_v2/sales_call_summarizer/app.py
similarity index 100%
rename from examples/sales_call_summarizer/app.py
rename to examples/deprecated_sdk_v2/sales_call_summarizer/app.py
diff --git a/examples/sales_call_summarizer/env.example b/examples/deprecated_sdk_v2/sales_call_summarizer/env.example
similarity index 100%
rename from examples/sales_call_summarizer/env.example
rename to examples/deprecated_sdk_v2/sales_call_summarizer/env.example
diff --git a/examples/sales_call_summarizer/requirements.txt b/examples/deprecated_sdk_v2/sales_call_summarizer/requirements.txt
similarity index 100%
rename from examples/sales_call_summarizer/requirements.txt
rename to examples/deprecated_sdk_v2/sales_call_summarizer/requirements.txt
diff --git a/examples/sales_call_summarizer/sales_call.txt b/examples/deprecated_sdk_v2/sales_call_summarizer/sales_call.txt
similarity index 100%
rename from examples/sales_call_summarizer/sales_call.txt
rename to examples/deprecated_sdk_v2/sales_call_summarizer/sales_call.txt
diff --git a/examples/sales_transcript_summarizer/.gitignore b/examples/deprecated_sdk_v2/sales_transcript_summarizer/.gitignore
similarity index 100%
rename from examples/sales_transcript_summarizer/.gitignore
rename to examples/deprecated_sdk_v2/sales_transcript_summarizer/.gitignore
diff --git a/examples/sales_transcript_summarizer/README.md b/examples/deprecated_sdk_v2/sales_transcript_summarizer/README.md
similarity index 100%
rename from examples/sales_transcript_summarizer/README.md
rename to examples/deprecated_sdk_v2/sales_transcript_summarizer/README.md
diff --git a/examples/sales_transcript_summarizer/app.py b/examples/deprecated_sdk_v2/sales_transcript_summarizer/app.py
similarity index 100%
rename from examples/sales_transcript_summarizer/app.py
rename to examples/deprecated_sdk_v2/sales_transcript_summarizer/app.py
diff --git a/examples/sales_transcript_summarizer/requirements.txt b/examples/deprecated_sdk_v2/sales_transcript_summarizer/requirements.txt
similarity index 100%
rename from examples/sales_transcript_summarizer/requirements.txt
rename to examples/deprecated_sdk_v2/sales_transcript_summarizer/requirements.txt
diff --git a/examples/sentiment_analysis/app.py b/examples/deprecated_sdk_v2/sentiment_analysis/app.py
similarity index 100%
rename from examples/sentiment_analysis/app.py
rename to examples/deprecated_sdk_v2/sentiment_analysis/app.py
diff --git a/examples/sentiment_analysis/requirements.txt b/examples/deprecated_sdk_v2/sentiment_analysis/requirements.txt
similarity index 100%
rename from examples/sentiment_analysis/requirements.txt
rename to examples/deprecated_sdk_v2/sentiment_analysis/requirements.txt
diff --git a/examples/startup_technical_ideas/app.py b/examples/deprecated_sdk_v2/startup_technical_ideas/app.py
similarity index 100%
rename from examples/startup_technical_ideas/app.py
rename to examples/deprecated_sdk_v2/startup_technical_ideas/app.py
diff --git a/examples/startup_technical_ideas/requirements.txt b/examples/deprecated_sdk_v2/startup_technical_ideas/requirements.txt
similarity index 100%
rename from examples/startup_technical_ideas/requirements.txt
rename to examples/deprecated_sdk_v2/startup_technical_ideas/requirements.txt
diff --git a/examples/test_apps/DictInputTestApp/.gitignore b/examples/deprecated_sdk_v2/test_apps/DictInputTestApp/.gitignore
similarity index 100%
rename from examples/test_apps/DictInputTestApp/.gitignore
rename to examples/deprecated_sdk_v2/test_apps/DictInputTestApp/.gitignore
diff --git a/examples/test_apps/DictInputTestApp/README.md b/examples/deprecated_sdk_v2/test_apps/DictInputTestApp/README.md
similarity index 100%
rename from examples/test_apps/DictInputTestApp/README.md
rename to examples/deprecated_sdk_v2/test_apps/DictInputTestApp/README.md
diff --git a/examples/test_apps/DictInputTestApp/_app.py b/examples/deprecated_sdk_v2/test_apps/DictInputTestApp/_app.py
similarity index 100%
rename from examples/test_apps/DictInputTestApp/_app.py
rename to examples/deprecated_sdk_v2/test_apps/DictInputTestApp/_app.py
diff --git a/examples/test_apps/DictInputTestApp/app.py b/examples/deprecated_sdk_v2/test_apps/DictInputTestApp/app.py
similarity index 100%
rename from examples/test_apps/DictInputTestApp/app.py
rename to examples/deprecated_sdk_v2/test_apps/DictInputTestApp/app.py
diff --git a/examples/test_apps/DictInputTestApp/env.example b/examples/deprecated_sdk_v2/test_apps/DictInputTestApp/env.example
similarity index 100%
rename from examples/test_apps/DictInputTestApp/env.example
rename to examples/deprecated_sdk_v2/test_apps/DictInputTestApp/env.example
diff --git a/examples/test_apps/DictInputTestApp/requirements.txt b/examples/deprecated_sdk_v2/test_apps/DictInputTestApp/requirements.txt
similarity index 100%
rename from examples/test_apps/DictInputTestApp/requirements.txt
rename to examples/deprecated_sdk_v2/test_apps/DictInputTestApp/requirements.txt
diff --git a/examples/test_apps/MultiChoiceParamTestApp/mytest.py b/examples/deprecated_sdk_v2/test_apps/MultiChoiceParamTestApp/mytest.py
similarity index 100%
rename from examples/test_apps/MultiChoiceParamTestApp/mytest.py
rename to examples/deprecated_sdk_v2/test_apps/MultiChoiceParamTestApp/mytest.py
diff --git a/examples/test_apps/MultiChoiceParamTestApp/requirements.txt b/examples/deprecated_sdk_v2/test_apps/MultiChoiceParamTestApp/requirements.txt
similarity index 100%
rename from examples/test_apps/MultiChoiceParamTestApp/requirements.txt
rename to examples/deprecated_sdk_v2/test_apps/MultiChoiceParamTestApp/requirements.txt
diff --git a/examples/transcript_qa_llama/.gitignore b/examples/deprecated_sdk_v2/transcript_qa_llama/.gitignore
similarity index 100%
rename from examples/transcript_qa_llama/.gitignore
rename to examples/deprecated_sdk_v2/transcript_qa_llama/.gitignore
diff --git a/examples/transcript_qa_llama/app.py b/examples/deprecated_sdk_v2/transcript_qa_llama/app.py
similarity index 100%
rename from examples/transcript_qa_llama/app.py
rename to examples/deprecated_sdk_v2/transcript_qa_llama/app.py
diff --git a/examples/transcript_qa_llama/requirements.txt b/examples/deprecated_sdk_v2/transcript_qa_llama/requirements.txt
similarity index 100%
rename from examples/transcript_qa_llama/requirements.txt
rename to examples/deprecated_sdk_v2/transcript_qa_llama/requirements.txt
diff --git a/examples/translator/.gitignore b/examples/deprecated_sdk_v2/translator/.gitignore
similarity index 100%
rename from examples/translator/.gitignore
rename to examples/deprecated_sdk_v2/translator/.gitignore
diff --git a/examples/translator/app.py b/examples/deprecated_sdk_v2/translator/app.py
similarity index 100%
rename from examples/translator/app.py
rename to examples/deprecated_sdk_v2/translator/app.py
diff --git a/examples/translator/requirements.txt b/examples/deprecated_sdk_v2/translator/requirements.txt
similarity index 100%
rename from examples/translator/requirements.txt
rename to examples/deprecated_sdk_v2/translator/requirements.txt
diff --git a/examples/deprecated_sdk_v2/vision_gpt_explain_image/.gitignore b/examples/deprecated_sdk_v2/vision_gpt_explain_image/.gitignore
new file mode 100644
index 0000000000..003430f461
--- /dev/null
+++ b/examples/deprecated_sdk_v2/vision_gpt_explain_image/.gitignore
@@ -0,0 +1,7 @@
+# Environments
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+myenv/
diff --git a/examples/vision_gpt_explain_image/Readme.md b/examples/deprecated_sdk_v2/vision_gpt_explain_image/Readme.md
similarity index 100%
rename from examples/vision_gpt_explain_image/Readme.md
rename to examples/deprecated_sdk_v2/vision_gpt_explain_image/Readme.md
diff --git a/examples/vision_gpt_explain_image/app.py b/examples/deprecated_sdk_v2/vision_gpt_explain_image/app.py
similarity index 100%
rename from examples/vision_gpt_explain_image/app.py
rename to examples/deprecated_sdk_v2/vision_gpt_explain_image/app.py
diff --git a/examples/vision_gpt_explain_image/requirements.txt b/examples/deprecated_sdk_v2/vision_gpt_explain_image/requirements.txt
similarity index 100%
rename from examples/vision_gpt_explain_image/requirements.txt
rename to examples/deprecated_sdk_v2/vision_gpt_explain_image/requirements.txt
diff --git a/examples/what_to_do_today/app.py b/examples/deprecated_sdk_v2/what_to_do_today/app.py
similarity index 100%
rename from examples/what_to_do_today/app.py
rename to examples/deprecated_sdk_v2/what_to_do_today/app.py
diff --git a/examples/what_to_do_today/requirements.txt b/examples/deprecated_sdk_v2/what_to_do_today/requirements.txt
similarity index 100%
rename from examples/what_to_do_today/requirements.txt
rename to examples/deprecated_sdk_v2/what_to_do_today/requirements.txt