-## Integration with GitHub, GitLab and Azure DevOps
+## Core features
-> **CodeRabbit** integrates with GitHub, GitLab and Azure DevOps repositories to deliver continuous and incremental reviews for each commit in a pull request (PR) or merge request (MR). Review feedback is automatically sent back to the PR/MR and can be committed directly.
+Core CodeRabbit features include the following:
-It works via a webhook, monitoring Pull Request (PR) and Merge Request (MR) events. A comprehensive review is performed when a PR or MR is created, and for
-incremental commits and comments addressed to the bot. The feedback is then sent directly back to the Pull Request or Merge Request.
+- Integrates rapidly with popular Git platforms and workflows.
+- Applies dozens of open-source, industry-standard code analyzers to every commit.
+- Implements code reviews as familiar pull-request comments.
+- Works with contributors through natural-language conversation in comments.
+- Learns and adapts to your team's code style and review preferences.
+- Provides an observability dashboard of code-contribution activity.
+- Practices strong privacy and security, with no retention of analyzed code.
+- Offers free use for public repositories, and flexible pricing for private codebases.
-
+## Seamless workflow integration
-## Data Privacy and Security
+CodeRabbit shares its reviews as comments attached to pull requests, using the same Git platform that your team already uses. Further commits in the same pull review prompt CodeRabbit to make further reviews, using the earlier reviews as context.
-> **CodeRabbit** does not use data collected from code reviews to train or influence its models. All queries to Large Language Models (LLMs) are ephemeral, with zero retention. No data is shared with third parties.
+Each time that it performs a code review, CodeRabbit runs the relevant code changes through [an array of industry-standard code linters, security analyzers, and other tools](/tools/). CodeRabbit synthesizes the output of these tools into its reviews, offering a high-level analysis that can suggest areas for further focus and improvement.
-- **Temporary Storage**: Code is temporarily stored in memory during the review process and deleted afterward.
-- **Stored Embeddings**: While the code itself isn’t stored, **CodeRabbit** stores embeddings based on chat conversations and workflow systems (Linear, Jira, GitHub/GitLab issues) to improve future reviews.
-- **Compliance**: All data is kept confidential, isolated by organization, and complies with **SOC2 Type II** and **GDPR** standards.
+Your team can have conversations with CodeRabbit about its reviews by replying to it with follow-up comments on pull requests, asking it questions or making observations about the review using natural language. CodeRabbit continues the conversation appropriately, offering further insights about the code changes, or adjusting its own review style based on feedback.
-### Opting Out
+### Customizable review preferences
-You can opt out of data storage at any time without affecting your access to **CodeRabbit**.
-:::warning
-However, opting out may reduce the level of personalized review feedback.
-:::
+As you interact with CodeRabbit through chat, it learns the review preferences of your team, and applies them to all future reviews on a given repository.
-## Try CodeRabbit Now
+For example, if CodeRabbit uses a linter to suggest that your pull request use four-space indentations, but your team uses a two-space indentation style, then you can reply to CodeRabbit's pull-request comment to tell it exactly that. CodeRabbit acknowledges your feedback and adjusts all of its subsequent reviews with that repository appropriately.
-> Ready to experience **CodeRabbit** in action?
+For a video introduction to this feature, see [CodeRabbit Learnings](https://www.youtube.com/watch?v=Yu0cmmOYA-U).
-:::tip
-For open source projects CodeRabbit Pro is **_FREE_**, forever.
+If you need to fine-tune CodeRabbit's behavior beyond this, then you can [add a CodeRabbit-specific configuration file](/getting-started/configure-coderabbit) to your repository, or use the CodeRabbit web UI to set further preferences. This file can include [path-based instructions](/guides/review-instructions) for how CodeRabbit should review different files within your codebase.
-- No credit card required
-- Unlimited public repositories
+No matter how you tune and customize CodeRabbit, its default settings make it useful out of the box, able to meaningfully review pull requests within minutes of its introduction to a repository.
-:::
+### Git platform integration
-
+CodeRabbit integrates in just a few clicks with many popular Git platforms:
+
+- GitHub, GitHub Enterprise Cloud, GitHub Enterprise Server,
+- GitLab, GitLab Self-Managed
+- Azure DevOps
+- Bitbucket Cloud
+
+For more information, see [Supported Git Platforms](/platforms/).
+
+### Issue-management integration
+
+You can integrate CodeRabbit with issue-management platforms. This lets you ask CodeRabbit to create tickets during code reviews, or chat with CodeRabbit about your code from within issue comments. Compatible platforms include the following:
+
+- GitHub Issues
+- GitLab Issues
+- Jira
+- Linear
+
+For more information, see [Issue Creation](/guides/issue-creation) and [Issue Chat](/guides/issue-chat).
+
+## Data privacy and security
+
+CodeRabbit collects only the minimum amount of information needed to provide you with our code review services. Our privacy and security posture centers around protecting your data through ephemerality:
+
+- All queries to large language models (LLMs) exist in-memory only, with zero retention after each query completes.
+- We don't use your code, code reviews, or other collected data to train LLMs.
+- CodeRabbit doesn't share any collected customer data with third parties.
+- We keep all customer data confidential, and isolated by organization.
+- Our data collection and storage practices comply with SOC 2 and GDPR standards.
+
+For more information about how we protect your data, see [the CodeRabbit Trust Center](https://trust.coderabbit.ai).
+
+## Flexible pricing, free for public repositories
+
+Public repositories can use the Pro tier of CodeRabbit at no charge, including all of the code-review features described on this page. Rate limits might apply.
+
+For private repositories, a number of pricing tiers are available. These range from a Free tier that offers unlimited code-change summaries, to an Enterprise tier with access to advanced features and SLA support. For more information, see [Pricing](https://www.coderabbit.ai/pricing).
+
+## Review local changes from within VSCode
+
+As a separate, free product, CodeRabbit offers a VSCode extension that brings a subset of core CodeRabbit features to VSCode. This lets you use the power of CodeRabbit to tune and tidy your code changes locally before pushing your changes into a formal pull request for more thorough reviews.
+
+For more information, see [Review local changes](/code-editors).
+
+## What's next
+
+- [Quickstart](/getting-started/quickstart/) lets you experience your first CodeRabbit code review first-hand.
+
+- [Review local changes](/code-editors) guides you through installing and using a subset of CodeRabbit features directly from your code editor.
+
+- [Why CodeRabbit?](/overview/why-coderabbit) dives further into the philosophies and technologies that drive CodeRabbit.
diff --git a/docs/overview/why-coderabbit.md b/docs/overview/why-coderabbit.md
index 66053f72..f04e347d 100644
--- a/docs/overview/why-coderabbit.md
+++ b/docs/overview/why-coderabbit.md
@@ -41,7 +41,7 @@ Features such as:
- CodeRabbit Commands
- PR summary on the fly
- Visual diagrams
-- Docstrings (Beta)
+- Docstrings generation
- Custom review rules
> All these features improve the developer experience by reducing review time, maintaining consistency, and sharing knowledge effectively across teams.
@@ -57,7 +57,7 @@ Your intelligent code review companion that understands context.
> From its foundation as a Generative AI-first platform, CodeRabbit has evolved to become the preferred code review tool among developers because of its speed, intelligence, adaptability, and support for features like contextual analysis, security scanning, and architectural insights. CodeRabbit supports all major programming languages and integrates with popular development [tools](/tools).
:::info Get Started
-If your team needs intelligent code reviews, CodeRabbit delivers. If you're new to AI-powered reviews, [sign up for a Free account](https://app.coderabbit.ai/login), join the [Discord server](https://discord.gg/coderabbit), and start the journey with us.
+If your team needs intelligent code reviews, CodeRabbit delivers. If you're new to AI-powered reviews, [sign up for a Free account](https://app.coderabbit.ai/login?free-trial), join the [Discord server](https://discord.gg/coderabbit), and start the journey with us.
:::
## CodeRabbit is Context-Aware
@@ -432,9 +432,9 @@ Try CodeRabbit on your next pull request. Experience how AI-powered code review
> Start reading more about the custom [code review instructions](/guides/review-instructions) or how CodeRabbit verify issues using [knowledge bases](/integrations/knowledge-base) like Linear and Jira.
-Transform your code reviews now, [Start your free trial today](https://app.coderabbit.ai/login) and join the Discord server and chat with CodeRabbit users and team.
+Transform your code reviews now, [Start your free trial today](https://app.coderabbit.ai/login?free-trial) and join the Discord server and chat with CodeRabbit users and team.
diff --git a/docs/platforms/azure-devops.md b/docs/platforms/azure-devops.md
index 8e5608c1..12b70765 100644
--- a/docs/platforms/azure-devops.md
+++ b/docs/platforms/azure-devops.md
@@ -70,7 +70,7 @@ you will need to add the Personal Access Token.
management.
- **Use the CodeRabbit logo as the profile picture** - This further ensures easy
recognition. You can download our logo from
- [here](/img/integrations/logo.svg "download").
+ [here](/img/integrations/logo.png "download").
### Key Points to Remember
diff --git a/docs/platforms/bitbucket-cloud.md b/docs/platforms/bitbucket-cloud.md
index 96719ae7..286321d5 100644
--- a/docs/platforms/bitbucket-cloud.md
+++ b/docs/platforms/bitbucket-cloud.md
@@ -1,7 +1,7 @@
---
-title: "[Beta] Bitbucket Cloud"
+title: "Bitbucket Cloud"
description: "Learn how to integrate CodeRabbit with Bitbucket Cloud."
-sidebar_label: "[Beta] Bitbucket Cloud"
+sidebar_label: "Bitbucket Cloud"
sidebar_position: 6
---
@@ -19,7 +19,8 @@ To enable CodeRabbit to interact with your Bitbucket repositories, an app passwo
1. Create a new Bitbucket account specifically for CodeRabbit and treat it as a service account.
2. Name the account "CodeRabbit".
-3. Generate an App Password to enable seamless integration between CodeRabbit and your Bitbucket repositories.
+3. If your Bitbucket workspace requires two-step verification, then you must also enable two-step verification on this new account.
+4. Generate an App Password to enable seamless integration between CodeRabbit and your Bitbucket repositories.
We recommend creating a new user as a service account, associating this user to the workspace you'd like to install CodeRabbit on, and providing CodeRabbit with the app password to allow access. During the installation process, CodeRabbit will automatically configure the required webhook for seamless integration.
@@ -73,9 +74,14 @@ Bitbucket provides an option to generate an app password for a new user. Follow
+
+
+
diff --git a/docs/platforms/github-com.md b/docs/platforms/github-com.md
index 4866fd00..60d919d7 100644
--- a/docs/platforms/github-com.md
+++ b/docs/platforms/github-com.md
@@ -53,7 +53,7 @@ If you opt to authorize all repositories during setup, CodeRabbit will automatic
### 5. CodeRabbit Configuration
-You can configure CodeRabbit through a YAML file or using the [App's UI](https://app.coderabbit.ai/login).
+You can configure CodeRabbit through a YAML file or using the [App's UI](https://app.coderabbit.ai/login?free-trial).
You can tailor CodeRabbit's functionality using the `.coderabbit.yaml` file, which you place directly in your GitHub repository. This file mirrors the options available in the CodeRabbit user interface, with each setting in the YAML corresponding to a specific toggle in the UI. Configure CodeRabbit either through the coderabbit.yaml file or the interface, depending on your preference.
@@ -109,7 +109,7 @@ CodeRabbit generates detailed statistics and test plans for each pull request.

-> CodeRabbit also allows you to configure **custom review instructions** based on your organization's needs, in case you want it to follow specific guidelines beyond the standard review, to learn more on [adding custom review instructions](https://docs.coderabbit.ai/guides/review-instructions/)
+> CodeRabbit also allows you to configure **custom review instructions** based on your organization's needs, in case you want it to follow specific guidelines beyond the standard review, to learn more on [adding custom review instructions](/guides/review-instructions)
Whether you manage a popular repository or are working on a smaller project, whether it's hosted on **GitLab, GitHub, or self-hosted GitHub or GitLab**, CodeRabbit can help streamline your development process. This AI Code Review assistant is designed to save you time by automating code reviews and offering insightful feedback.
diff --git a/docs/platforms/github-enterprise-server.md b/docs/platforms/github-enterprise-server.md
index cb0e8084..733607cb 100644
--- a/docs/platforms/github-enterprise-server.md
+++ b/docs/platforms/github-enterprise-server.md
@@ -75,8 +75,7 @@ steps below to
[create a GitHub App](https://docs.github.com/en/enterprise-server@latest/apps/creating-github-apps/registering-a-github-app/registering-a-github-app):
1. Sign in to your GitHub Enterprise account.
-2. In the upper-right corner of any page, click your profile photo, then click
- **Settings**.
+2. In the upper-right corner of any page, click your profile photo, then click **Settings**.
3. In the left sidebar, click **Developer settings** > **GitHub Apps**
4. Click **New GitHub App**.
5. Set the following fields:
@@ -90,8 +89,10 @@ steps below to
- **Webhook secret**: Use a secure string and keep it handy.
- **Permissions**:
- **Repository permissions**:
+ - **Actions**: Read-only
- **Checks**: Read-only
- **Contents**: Read and write
+ - **Commit statuses**: Read and write
- **Discussions**: Read-only
- **Issues**: Read and write
- **Metadata**: Read-only
@@ -110,6 +111,7 @@ steps below to
- Pull request review thread
- Push
- Release
+ - **Where can this GitHub App be installed?**: Select `Any account`
6. Click **Create GitHub App**.
Once the GitHub App has been created, click on **Generate a new client secret**
@@ -129,6 +131,8 @@ Keep the following details handy:

+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
### **Step 4: CodeRabbit UI Onboarding**
Submit the details that were accumulated in previous steps:
@@ -166,4 +170,20 @@ Use this CodeRabbit IP if your instance requires IP whitelisting
`35.222.179.152/32` and `34.170.211.100/32`.
VPN tunneling is available as an add-on package. Please reach out to us at
-[contact@coderabbit.ai](mailto:contact@coderabbit.ai) if you are interested.
+[support@coderabbit.ai](mailto:support@coderabbit.ai) if you are interested.
+
+### **FAQ**
+
+#### Who should create the OAuth App and GitHub App?
+
+The OAuth App and GitHub App should be created by a user with administrative
+privileges on the GitHub Enterprise Server instance. This user will be responsible for managing the integration with CodeRabbit.
+
+#### I see an error when trying to log in to CodeRabbit. What should I do?
+
+If you encounter an error during the login process, please ensure that:
+
+- The OAuth App and GitHub App are correctly configured with the right URLs and permissions.
+- The browser local storage and cookies related to CodeRabbit are cleared.
+
+If the issue persists, contact our support team.
diff --git a/docs/platforms/gitlab-com.mdx b/docs/platforms/gitlab-com.mdx
index 61a10ca8..c276cd35 100644
--- a/docs/platforms/gitlab-com.mdx
+++ b/docs/platforms/gitlab-com.mdx
@@ -53,7 +53,7 @@ choice"
- **Use "CodeRabbit" as the username** - This makes the user easily recognizable for future reference.
- **Use a dedicated email address** - This helps in easy identification and management.
- **Use the CodeRabbit logo as the profile picture** - This further ensures easy recognition. You can download our logo from [here](/img/integrations/logo.svg "download").
-- **Developer Access** Ensure the service account user has developer access to the group or projects that you wish to install CodeRabbit on.
+- **Ensure Developer Access** - Ensure the dedicated user has (at least) **Developer** access to the group or projects that you wish to install CodeRabbit on.
#### Key Points to Remember
diff --git a/docs/platforms/platforms.md b/docs/platforms/platforms.md
index a0ed92b6..d4cb1748 100644
--- a/docs/platforms/platforms.md
+++ b/docs/platforms/platforms.md
@@ -1,8 +1,6 @@
---
-title: Supported Git Platforms
-sidebar_label: Supported Git Platforms
+title: Integrate with Git platforms
description: Overview of CodeRabbit's supported Git platforms.
-sidebar_position: 1
---
CodeRabbit supports various Git platforms to provide code review for your repositories. For the cloud-hosted Git platforms, you can [login][login] to CodeRabbit and add your repositories. The following platforms are supported:
@@ -32,6 +30,6 @@ CodeRabbit supports various Git platforms to provide code review for your reposi
| Host | Support |
| -------------------- | ---------------------------------------- |
| Bitbucket Datacenter | [Supported](../self-hosted/bitbucket.md) |
-| Bitbucket Cloud | Coming soon |
+| Bitbucket Cloud | [Supported](./bitbucket-cloud.md) |
-[login]: https://app.coderabbit.ai/login
+[login]: https://app.coderabbit.ai/login?free-trial
diff --git a/docs/platforms/self-hosted-gitlab.md b/docs/platforms/self-hosted-gitlab.md
index 4ef7623c..3fa18a71 100644
--- a/docs/platforms/self-hosted-gitlab.md
+++ b/docs/platforms/self-hosted-gitlab.md
@@ -71,6 +71,8 @@ After the user is created, you can retrieve the **User ID** from that user's
profile and generate an [**access token**](#generating-personal-access-token).
The access token is used to post reviews on merge requests.
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
#### **Creating OAuth2 application**
For self-managed GitLab, we recommend creating an instance-wide application
@@ -120,4 +122,4 @@ Use this CodeRabbit IP if your instance requires IP whitelisting
`35.222.179.152/32` and `34.170.211.100/32`.
VPN tunneling is available as an add-on package. Please reach out to us at
-[contact@coderabbit.ai](mailto:contact@coderabbit.ai) if you are interested.
+[support@coderabbit.ai](mailto:support@coderabbit.ai) if you are interested.
diff --git a/docs/reference/caching.md b/docs/reference/caching.md
new file mode 100644
index 00000000..cea907c0
--- /dev/null
+++ b/docs/reference/caching.md
@@ -0,0 +1,20 @@
+# Caching
+
+CodeRabbit provides caching capabilities for code and dependencies to accelerate the review process. This feature enhances your development workflow by delivering faster feedback.
+
+## Security and Privacy
+
+- Cached data is encrypted (except for OSS projects)
+- Cache expires after a maximum of one week
+- Cached data is used exclusively for speeding up reviews
+
+## Configuration
+
+You can opt out of caching in two ways:
+
+1. **Disable Cache**: Configure `Review - Disable Cache` at either:
+
+ - Organization level
+ - Repository level
+
+2. **Disable Data Retention**: Turn off the `Data Retention` setting in your Organization Settings to disable all data retention across your organization.
diff --git a/docs/reference/review-commands.md b/docs/reference/review-commands.md
new file mode 100644
index 00000000..011bf9d5
--- /dev/null
+++ b/docs/reference/review-commands.md
@@ -0,0 +1,47 @@
+---
+title: Code review commands
+description: A list of commands that you can issue to CodeRabbit during code reviews.
+---
+
+This page lists the various commands that you can issue to CodeRabbit through
+its chat interface during code reviews. For more information about working with
+CodeRabbit through chat, see [Interact with CodeRabbit reviews](/guides/code-review-overview#interact).
+
+| Command | Description | Use Case |
+| --------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------- |
+| `@coderabbitai review` | Triggers an incremental review of new changes | When automatic reviews are disabled or you want to manually trigger a review |
+| `@coderabbitai full review` | Performs a complete review of all files from scratch | When you want to get fresh insights on the entire PR |
+| `@coderabbitai summary` | Regenerates the PR summary | When you want an updated overview after making changes |
+
+## Code review flow control
+
+| Command | Description | Use Case |
+| ---------------------- | ---------------------------------------- | --------------------------------------------------- |
+| `@coderabbitai pause` | Temporarily stops reviews on the PR | When you're making multiple rapid changes |
+| `@coderabbitai resume` | Restarts reviews after a pause | When you're ready for CodeRabbit to review again |
+| `@coderabbitai ignore` | Permanently disables reviews for this PR | When you want to handle the review process manually |
+
+## Comment management
+
+| Command | Description | Use Case |
+| ----------------------- | --------------------------------------- | ------------------------------------------------------- |
+| `@coderabbitai resolve` | Resolves all CodeRabbit review comments | When you've addressed all feedback and want to clean up |
+
+## Documentation commands
+
+| Command | Description | Use Case |
+| ----------------------------------- | -------------------------------------------- | --------------------------------------------------- |
+| `@coderabbitai generate docstrings` | Generates docstrings for functions in the PR | When you need automatic documentation for your code |
+| `@coderabbitai configuration` | Shows current CodeRabbit settings | When you need to check or export your configuration |
+
+## Agentic chat commands
+
+| Command | Description | Use Case |
+| -------------------- | ---------------------------------------------------------- | ---------------------------------------------------- |
+| `@coderabbitai plan` | Get the agentic chat to plan an edit for previous comments | When you want CodeRabbit to change your code for you |
+
+## Help and support
+
+| Command | Description | Use Case |
+| -------------------- | ------------------------------------------ | ------------------------------------------ |
+| `@coderabbitai help` | Displays available commands and usage info | When you need guidance on using CodeRabbit |
diff --git a/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md
index 858dd3b5..a843e1a7 100644
--- a/docs/self-hosted/azure-devops.md
+++ b/docs/self-hosted/azure-devops.md
@@ -16,6 +16,8 @@ The self-hosted option is only available for CodeRabbit Enterprise customers wit
- **Username**: Set the username to "CodeRabbit" for easier identification (optional).
- **Profile Image**: Use the CodeRabbitAI logo for the user image (optional).
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Add User to Projects
Add the CodeRabbit user to each project where you want CodeRabbit to post reviews, with rights to post reviews & open PRs.
@@ -62,20 +64,40 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally).
+AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME=
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# This will use client_credentials flow to get an access token,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
OAUTH2_ENDPOINT=[]
OAUTH2_CLIENT_ID=[]
OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+HTTPS_PROXY=[]
+NO_PROXY=[]
# if using AWS Bedrock
+# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4.
LLM_PROVIDER=bedrock-anthropic
LLM_TIMEOUT=360000
AWS_ACCESS_KEY_ID=
@@ -92,13 +114,19 @@ AZURE_DEVOPS_BOT_USERNAME=
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md
index 746727a8..7e7faf2b 100644
--- a/docs/self-hosted/bitbucket.md
+++ b/docs/self-hosted/bitbucket.md
@@ -16,6 +16,8 @@ The self-hosted option is only available for CodeRabbit Enterprise customers wit
- **Username**: Set the username to "CodeRabbit" for easier identification (optional).
- **Profile Image**: Use the CodeRabbitAI logo for the user image (optional).
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Add User to Projects
Add the CodeRabbit user to each project where you want CodeRabbit to post reviews, with permissions to:
@@ -54,20 +56,40 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally).
+AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME=
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# This will use client_credentials flow to get an access token,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
OAUTH2_ENDPOINT=[]
OAUTH2_CLIENT_ID=[]
OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+HTTPS_PROXY=[]
+NO_PROXY=[]
# if using AWS Bedrock
+# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4.
LLM_PROVIDER=bedrock-anthropic
LLM_TIMEOUT=360000
AWS_ACCESS_KEY_ID=
@@ -87,13 +109,19 @@ BITBUCKET_SERVER_BOT_USERNAME=
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md
index 821f951f..3031e45c 100644
--- a/docs/self-hosted/github.md
+++ b/docs/self-hosted/github.md
@@ -42,6 +42,8 @@ Set the following events:
- Push
- Release
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Gather information from the GitHub App
- App ID
@@ -65,20 +67,40 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally).
+AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME=
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# This will use client_credentials flow to get an access token,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
OAUTH2_ENDPOINT=[]
OAUTH2_CLIENT_ID=[]
OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+HTTPS_PROXY=[]
+NO_PROXY=[]
# if using AWS Bedrock
+# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4.
LLM_PROVIDER=bedrock-anthropic
LLM_TIMEOUT=360000
AWS_ACCESS_KEY_ID=
@@ -105,13 +127,19 @@ GITHUB_APP_PEM_FILE=
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md
index eabe410e..cd35c19f 100644
--- a/docs/self-hosted/gitlab.md
+++ b/docs/self-hosted/gitlab.md
@@ -16,6 +16,8 @@ The self-hosted option is only available for CodeRabbit Enterprise customers wit
- **Username**: Set the username to "CodeRabbit" for easier identification (optional).
- **Profile Image**: Use the CodeRabbitAI logo for the user image (optional).
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Add User to Projects
Add the CodeRabbit user to each project where you want CodeRabbit to post reviews, with at least `Developer` access.
@@ -60,20 +62,40 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally).
+AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME=
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# This will use client_credentials flow to get an access token,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
OAUTH2_ENDPOINT=[]
OAUTH2_CLIENT_ID=[]
OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+HTTPS_PROXY=[]
+NO_PROXY=[]
# if using AWS Bedrock
+# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4.
LLM_PROVIDER=bedrock-anthropic
LLM_TIMEOUT=360000
AWS_ACCESS_KEY_ID=
@@ -92,17 +114,26 @@ SELF_HOSTED=gitlab
GITLAB_BOT_TOKEN=
GITLAB_WEBHOOK_SECRET=
+# if seeing '500 Internal Server Error' in CodeRabbit logs when trying to post review comments,
+# make sure to set the following environment variable to 1500 (1.5 seconds).
+GITLAB_PUBLISH_DELAY=[]
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/tools/brakeman.md b/docs/tools/brakeman.md
new file mode 100644
index 00000000..d9fac002
--- /dev/null
+++ b/docs/tools/brakeman.md
@@ -0,0 +1,40 @@
+---
+title: Brakeman
+sidebar_label: Brakeman
+description: CodeRabbit's guide to Brakeman.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Brakeman](https://brakemanscanner.org/) is a static analysis tool which checks Ruby on Rails applications for security vulnerabilities. It scans your application's code for potential security issues and provides detailed reports about any vulnerabilities it finds.
+
+## Supported Files
+
+Brakeman will run on files with the following extensions:
+
+- `Gemfile`
+- `*.rb`
+- `*.erb`
+
+## Features
+
+Brakeman can detect many critical vulnerabilities such as:
+
+- SQL injection
+- Cross-site scripting (XSS)
+- Mass assignment
+- Remote code execution
+- And many more security vulnerabilities
+- Out of date package versions
+- Etc
+
+## Links
+
+- [Brakeman Official Website](https://brakemanscanner.org/)
+- [Brakeman GitHub Repository](https://github.com/presidentbeef/brakeman)
+- [Brakeman Documentation](https://brakemanscanner.org/docs/)
+- [Warning Types](https://brakemanscanner.org/docs/warning_types/)
diff --git a/docs/tools/clippy.md b/docs/tools/clippy.md
new file mode 100644
index 00000000..257af0e3
--- /dev/null
+++ b/docs/tools/clippy.md
@@ -0,0 +1,50 @@
+---
+title: Clippy
+sidebar_label: Clippy
+description: CodeRabbit's guide to Clippy.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Clippy](https://github.com/rust-lang/rust-clippy) is a collection of lints to catch common mistakes and improve your Rust code. It is the official linter for the Rust programming language.
+
+## Supported Files
+
+Clippy will run on files with the following extensions:
+
+- `*.rs`
+
+## Configuration
+
+Clippy supports the following configuration files:
+
+- `clippy.toml`
+- `.clippy.toml`
+
+:::note
+
+Clippy does not require configuration to run. If no configuration file is found, it will use default settings.
+
+A Cargo.toml is required.
+
+:::
+
+## Features
+
+Clippy can detect many code quality issues such as:
+
+- Style violations
+- Common mistakes
+- Performance issues
+- Deprecated code patterns
+- And many more Rust-specific issues
+
+## Links
+
+- [Clippy GitHub Repository](https://github.com/rust-lang/rust-clippy)
+- [Clippy Documentation](https://rust-lang.github.io/rust-clippy/master/)
+- [Available Lints](https://rust-lang.github.io/rust-clippy/master/index.html)
diff --git a/docs/tools/dotenv.md b/docs/tools/dotenv.md
new file mode 100644
index 00000000..cac2613f
--- /dev/null
+++ b/docs/tools/dotenv.md
@@ -0,0 +1,33 @@
+---
+title: Dotenv Linter
+sidebar_label: Dotenv Linter
+description: CodeRabbit's guide to Dotenv Linter.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Dotenv Linter](https://github.com/dotenv-linter/dotenv-linter) is a lightning-fast linter for `.env` files. It helps ensure your environment files are consistent, typo-free, and follow best practices.
+
+:::note
+
+Dotenv Linter does not require configuration to run and automatically anlysises `.env` files. If no configuration file is found, it will use default settings.
+
+:::
+
+## Features
+
+Dotenv Linter can detect:
+
+- Key duplication
+- Missing values
+- Incorrect formatting
+- Invalid characters
+- And many more issues
+
+## Links
+
+- [Dotenv Linter GitHub Repository](https://github.com/dotenv-linter/dotenv-linter)
diff --git a/docs/tools/list.md b/docs/tools/list.md
new file mode 100644
index 00000000..7a106a78
--- /dev/null
+++ b/docs/tools/list.md
@@ -0,0 +1,82 @@
+---
+title: List of supported tools
+description: Overview of CodeRabbit's supported linters and security analysis tools
+---
+
+This is a list of the third-party open-source linters and security analysis tools that CodeRabbit uses to generate code reviews.
+
+For more information about fine-tuning the CodeRabbit configuration of a tool, click that tool's name in the following list.
+
+For an overview of how CodeRabbit uses these tools when generating code reviews, as well as general information about controlling their use, see [Configure third-party tools](/tools/).
+
+| Technology | Tools | Category |
+| :-------------------------- | :--------------------------------------------------------- | :-------------------------------------------------- |
+| All | [Gitleaks][Gitleaks], [Pipeline Remediation][Pipeline] | Code Security, CI/CD |
+| Azure DevOps Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation |
+| CircleCI | [CircleCI][CircleCI], [Pipeline Remediation][Pipeline] | Configuration Validation, CI/CD Failure Remediation |
+| CloudFormation | [Checkov][Checkov] | Code Security |
+| Cppcheck | [Cppcheck][Cppcheck] | Code Quality |
+| CSS | [Biome][Biome] | Code Quality |
+| Docker | [Hadolint][Hadolint], [Checkov][Checkov] | Code Quality, Code Security |
+| Environment Files (.env) | [Dotenv Linter][DotenvLinter] | Code Quality |
+| GitHub Actions | [actionlint][actionlint], [Pipeline Remediation][Pipeline] | Code Quality, CI/CD Failure Remediation |
+| GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation |
+| Go | [golangci-lint][golangci-lint] | Code Quality |
+| Helm | [Checkov][Checkov] | Code Security |
+| Javascript | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| JSON, JSONC | [Biome][Biome] | Code Quality |
+| JSX | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| Kotlin | [detekt][detekt] | Code Quality |
+| Kubernetes | [Checkov][Checkov] | Code Security |
+| Lua | [Luacheck][Luacheck] | Code Quality |
+| Markdown | [markdownlint][markdownlint], [LanguageTool][LanguageTool] | Code Quality, Grammar Checking |
+| PHP | [PHPStan][PHPStan] | Code Quality |
+| Plaintext | [LanguageTool][LanguageTool] | Grammar and Spell Checking |
+| Java | [PMD][PMD] | Code Quality |
+| Protobuf | [Buf][Buf] | Code Quality |
+| Python | [Ruff][Ruff], [Pylint][Pylint] | Code Quality |
+| Regal | [Regal][Regal] | Code Quality |
+| Ruby | [RuboCop][RuboCop], [Brakeman][Brakeman] | Code Quality, Code Security |
+| Rust | [Clippy][Clippy] | Code Quality |
+| Semgrep | [Semgrep][Semgrep] | Code Security |
+| Shell (sh, bash, ksh, dash) | [ShellCheck][ShellCheck] | Code Quality |
+| Shopify | [Shopify CLI][ShopifyCLI] | Code Quality |
+| SQL | [SQLFluff][SQLFluff] | Code Quality |
+| Swift | [SwiftLint][SwiftLint] | Code Quality |
+| Terraform | [Checkov][Checkov] | Code Security |
+| TSX | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| Typescript | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| YAML | [YAMLlint][YAMLlint] | Code Quality |
+| Prisma | [Prisma Lint][PrismaLint] | Code Quality |
+
+[ShellCheck]: /tools/shellcheck.md
+[SQLFluff]: /tools/sqlfluff.md
+[Ruff]: /tools/ruff.md
+[markdownlint]: /tools/markdownlint.md
+[LanguageTool]: /tools/languagetool.md
+[Biome]: /tools/biome.md
+[Hadolint]: /tools/hadolint.md
+[SwiftLint]: /tools/swiftlint.md
+[PHPStan]: /tools/phpstan.md
+[golangci-lint]: /tools/golangci-lint.md
+[YAMLlint]: /tools/yamllint.md
+[Gitleaks]: /tools/gitleaks.md
+[Checkov]: /tools/checkov.md
+[detekt]: /tools/detekt.md
+[RuboCop]: /tools/rubocop.md
+[Buf]: /tools/buf.md
+[actionlint]: /tools/actionlint.md
+[Regal]: /tools/regal.md
+[PMD]: /tools/pmd.md
+[Cppcheck]: /tools/cppcheck.md
+[CircleCI]: /tools/circleci.md
+[Semgrep]: /tools/semgrep.md
+[Pipeline]: /tools/pipeline-remediation.md
+[PrismaLint]: /tools/prisma-lint.md
+[oxlint]: /tools/oxlint.md
+[ShopifyCLI]: /tools/shopify-cli.md
+[Luacheck]: /tools/luacheck.md
+[Brakeman]: /tools/brakeman.md
+[Clippy]: /tools/clippy.md
+[Pylint]: /tools/pylint.md
+[DotenvLinter]: /tools/dotenv.md
diff --git a/docs/tools/luacheck.md b/docs/tools/luacheck.md
new file mode 100644
index 00000000..3a8414b6
--- /dev/null
+++ b/docs/tools/luacheck.md
@@ -0,0 +1,49 @@
+---
+title: Luacheck
+sidebar_label: Luacheck
+description: CodeRabbit's guide to Luacheck.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Luacheck](https://github.com/mpeterv/luacheck) is a static analyzer and linter for Lua code that detects various issues such as undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code, and more.
+
+## Supported Files
+
+Luacheck will run on files with the following extensions:
+
+- `.lua`
+
+## Configuration
+
+Luacheck supports the following configuration files:
+
+- `.luacheckrc`
+- `luacheckrc`
+- `.luacheckrc.lua`
+- `luacheckrc.lua`
+
+:::note
+
+Luacheck does not require configuration to run. If no configuration file is found, it will use default settings.
+
+:::
+
+## Features
+
+Luacheck can detect:
+
+- Usage of undefined global variables
+- Unused variables and values
+- Accessing uninitialized variables
+- Unreachable code
+- And many more issues
+
+## Links
+
+- [Luacheck GitHub Repository](https://github.com/mpeterv/luacheck)
+- [Luacheck Documentation](https://luacheck.readthedocs.io/)
diff --git a/docs/tools/oxlint.md b/docs/tools/oxlint.md
new file mode 100644
index 00000000..fd5e7e2c
--- /dev/null
+++ b/docs/tools/oxlint.md
@@ -0,0 +1,50 @@
+---
+title: Oxlint
+sidebar_label: Oxlint
+description: CodeRabbit's guide to Oxlint.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Oxlint](https://oxc.rs/docs/guide/usage/linter) is a blazingly fast JavaScript/TypeScript linter written in Rust that is 50-100x faster than ESLint.
+
+## Supported Files
+
+Oxlint will run on files with the following extensions:
+
+- `.js`
+- `.mjs`
+- `.cjs`
+- `.jsx`
+- `.ts`
+- `.mts`
+- `.cts`
+- `.tsx`
+- `.vue`
+- `.astro`
+- `.svelte`
+
+## Configuration
+
+Oxlint supports the following configuration file:
+
+- `.oxlintrc.json`
+
+:::note
+
+If no Oxlint config file is found and Biome is enabled, CodeRabbit will use Biome instead as Oxlint functionality is included within Biome.
+
+If Biome is not enabled or an Oxlint config file is found, CodeRabbit will use the `.oxlintrc.json` Oxlint config to run.
+
+Oxlint does not require configuration to run if Biome is disabled and Oxlint is enabled.
+
+:::
+
+## Links
+
+- [Oxlint GitHub Repository](https://github.com/oxc-project/oxc/releases/)
+- [Oxlint Website](https://oxc.rs/docs/guide/usage/linter)
diff --git a/docs/tools/pipeline-remediation.md b/docs/tools/pipeline-remediation.md
index 98fd14b0..2beb0213 100644
--- a/docs/tools/pipeline-remediation.md
+++ b/docs/tools/pipeline-remediation.md
@@ -94,7 +94,7 @@ With CodeRabbit CI/CD Pipeline Remediation, you have coderabbit automatically re
### GitLab CI/CD
-- Pipeline failure analysis
+- GitLab CI/CD Pipeline failure analysis
- Integration with GitLab Advanced Security
- Support for DAST (Dynamic Application Security Testing) findings
- Remediation for SAST (Static Application Security Testing) issues
@@ -105,13 +105,22 @@ With CodeRabbit CI/CD Pipeline Remediation, you have coderabbit automatically re
### CircleCI
-- Workflow failure detection
+- CircleCI Pipeline failure analysis
- Job-level error analysis
- Configuration validation
- Dependency resolution
+### Azure DevOps Pipelines
+
+- Azure DevOps CI/CD Pipeline failure analysis
+- Integration with Azure DevOps Checks
+- Support for custom tasks and pipelines
+- Remediation for build issues
+
+
+
## Common Use Cases
Our tool handles a wide range of pipeline failures including:
@@ -165,3 +174,4 @@ Our tool handles a wide range of pipeline failures including:
- [GitHub Actions Configuration](https://docs.github.com/en/actions)
- [GitLab CI/CD Documentation](https://docs.gitlab.com/ee/ci/)
- [CircleCI Documentation](https://circleci.com/docs/)
+- [Azure DevOps Pipeline Documentation](https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-get-started?view=azure-devops)
diff --git a/docs/tools/prisma-lint.md b/docs/tools/prisma-lint.md
new file mode 100644
index 00000000..33a36904
--- /dev/null
+++ b/docs/tools/prisma-lint.md
@@ -0,0 +1,46 @@
+---
+title: Prisma Lint
+sidebar_label: Prisma Lint
+description: CodeRabbit's guide to Prisma Lint.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Prisma Lint](https://github.com/loop-payments/prisma-lint) is a linter for Prisma schema files that helps enforce consistent conventions and best practices in your Prisma schemas.
+
+## Files
+
+Prisma Lint will run on files with the following extensions:
+
+- `.prisma`
+
+## Configuration
+
+Prisma Lint supports the following config files:
+
+- `.prismalintrc.json`
+- `.prismalintrc`
+- `.prismalintrc.js`
+- `.prismalintrc.yaml`
+- `.prismalintrc.yml`
+- `prismalint.config.js`
+- User-defined config file set at `reviews.tools.prismalint.config_file` in your project's `.coderabbit.yaml` file or setting the "Review → Tools → Prisma Lint → Config File" field in CodeRabbit's settings page.
+
+:::note
+
+By default, Prisma Lint looks for schema files at `prisma/schema.prisma`. If you have a custom schema path specified in the `prisma.schema` field within `package.json`, that will be used instead.
+
+:::
+
+## Rule Configuration
+
+Rules can be configured in your `.prismalintrc.json` file. See the [Prisma Lint Rules Documentation](https://github.com/loop-payments/prisma-lint/blob/main/RULES.md) for more information on the available rules and their configuration options.
+
+## Links
+
+- [Prisma Lint GitHub Repository](https://github.com/loop-payments/prisma-lint)
+- [Prisma Lint Rules Documentation](https://github.com/loop-payments/prisma-lint/blob/main/RULES.md)
diff --git a/docs/tools/pylint.md b/docs/tools/pylint.md
new file mode 100644
index 00000000..f6793106
--- /dev/null
+++ b/docs/tools/pylint.md
@@ -0,0 +1,37 @@
+---
+title: Pylint
+sidebar_label: Pylint
+description: CodeRabbit's guide to Pylint.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Pylint](https://pylint.pycqa.org/) is a static code analysis tool for Python. It checks your Python code for errors, enforces a coding standard, and looks for code smells.
+
+## Supported Files
+
+Pylint will run on files with the following extensions:
+
+- `*.py`
+
+## Features
+
+Pylint can detect many issues such as:
+
+- Coding standard violations (PEP8)
+- Unused variables and imports
+- Undefined variables
+- Code smells and refactoring suggestions
+- Error-prone constructs
+- And many more
+
+## Links
+
+- [Pylint Official Website](https://pylint.pycqa.org/)
+- [Pylint GitHub Repository](https://github.com/pylint-dev/pylint)
+- [Pylint Documentation](https://pylint.pycqa.org/en/latest/)
+- [Message Control](https://pylint.pycqa.org/en/latest/user_guide/message-control.html)
diff --git a/docs/tools/shopify-cli.md b/docs/tools/shopify-cli.md
new file mode 100644
index 00000000..934a6345
--- /dev/null
+++ b/docs/tools/shopify-cli.md
@@ -0,0 +1,56 @@
+---
+title: Shopify CLI
+sidebar_label: Shopify CLI
+description: CodeRabbit's guide to Shopify CLI.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Shopify CLI](https://github.com/Shopify/cli) is a command-line tool that helps you build Shopify apps, themes, and custom storefronts. It provides functionality for initializing, building, developing, and deploying Shopify projects.
+
+## Validation Rules
+
+The tool checks for:
+
+### Theme Validation
+
+- Liquid syntax errors
+- Theme requirements compliance
+- Asset organization
+- Performance best practices
+- Accessibility standards
+
+### App Validation
+
+- App extension configuration
+- Function implementation
+- API version compatibility
+- Security best practices
+
+## Common Issues
+
+The tool helps identify and fix:
+
+1. Theme Issues:
+
+ - Invalid Liquid syntax
+ - Missing required templates
+ - Performance bottlenecks
+ - Accessibility violations
+
+2. App Issues:
+ - Invalid API usage
+ - Missing dependencies
+ - Configuration errors
+ - Security vulnerabilities
+
+## Links
+
+- [Shopify CLI GitHub Repository](https://github.com/Shopify/cli)
+- [Shopify CLI Theme Documentation](https://shopify.dev/docs/api/shopify-cli/theme)
+- [Shopify CLI App Documentation](https://shopify.dev/docs/apps/tools/cli)
+- [Theme Development Requirements](https://shopify.dev/docs/themes/store/requirements)
diff --git a/docs/tools/sqlfluff.md b/docs/tools/sqlfluff.md
new file mode 100644
index 00000000..9eb959f7
--- /dev/null
+++ b/docs/tools/sqlfluff.md
@@ -0,0 +1,41 @@
+---
+title: SQLFluff
+sidebar_label: SQLFluff
+description: CodeRabbit's guide to SQLFluff.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[SQLFluff](https://github.com/sqlfluff/sqlfluff) is a SQL linter and auto-formatter for standardizing SQL code.
+
+## Files
+
+SQLFluff will run on files with the following extensions:
+
+- `.sql`
+
+## Configuration
+
+SQLFluff supports the following config files:
+
+- User-defined config file set at `reviews.tools.sqlfluff.config_file` in your project's `.coderabbit.yaml` file or setting the "Review → Tools → SQLFluff → Config File" field in CodeRabbit's settings page.
+- `setup.cfg`
+- `tox.ini`
+- `pep8.ini`
+- `.sqlfluff`
+- `pyproject.toml`
+
+:::note
+
+CodeRabbit will only run SQLFluff if your repository contains a SQLFluff config file. This config must use one of the default file names listed above, or you must define the path to this file in the `.coderabbit.yaml` or config UI.
+
+:::
+
+## Links
+
+- [SQLFluff Configuration](https://docs.sqlfluff.com/en/stable/configuration.html)
+- [SQLFluff Rules Reference](https://docs.sqlfluff.com/en/stable/rules.html)
diff --git a/docs/tools/tools.md b/docs/tools/tools.md
index e13cda31..45b376c5 100644
--- a/docs/tools/tools.md
+++ b/docs/tools/tools.md
@@ -1,10 +1,10 @@
---
-title: Supported Tools
-sidebar_label: Supported Tools
+title: Configure third-party tool use
description: Overview of CodeRabbit's supported linters and security analysis tools.
-sidebar_position: 1
---
+This page provides an overview of how CodeRabbit uses third-party open-source tools to deliver its multifaceted code reviews. For a complete list of supported tools, see [Supported tools](/tools/list).
+
```mdx-code-block
import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
@@ -13,6 +13,8 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
CodeRabbit supports various linters and security analysis tools to improve the code review process. The output of these tools is used to enhance the feedback provided by CodeRabbit, making it possible to provide 1-click fixes for common issues.
+All tool runs are done in a secure sandboxed execution environment.
+
## Enabling/Disabling Tools
You can enable or disable tools by setting `reviews.tools..enabled` in your project's `.coderabbit.yaml` file or setting the "Review → Tools → Tool → Enabled" field in CodeRabbit's settings page.
@@ -40,60 +42,6 @@ Remove extraneous f prefix
(F541)
```
-## Supported Tools
-
-| Technology | Tools | Category |
-| :-------------------------- | :--------------------------------------------------------- | :-------------------------------------------------- |
-| All | [Gitleaks][Gitleaks], [Pipeline Remediation][Pipeline] | Code Security, CI/CD |
-| CircleCI | [CircleCI][CircleCI], [Pipeline Remediation][Pipeline] | Configuration Validation, CI/CD Failure Remediation |
-| CloudFormation | [Checkov][Checkov] | Code Security |
-| Cppcheck | [Cppcheck][Cppcheck] | Code Quality |
-| CSS | [Biome][Biome] | Code Quality |
-| Docker | [Hadolint][Hadolint], [Checkov][Checkov] | Code Quality, Code Security |
-| GitHub Actions | [actionlint][actionlint], [Pipeline Remediation][Pipeline] | Code Quality, CI/CD Failure Remediation |
-| GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation |
-| Go | [golangci-lint][golangci-lint] | Code Quality |
-| Helm | [Checkov][Checkov] | Code Security |
-| Javascript | [Biome][Biome] | Code Quality |
-| JSON, JSONC | [Biome][Biome] | Code Quality |
-| JSX | [Biome][Biome] | Code Quality |
-| Kotlin | [detekt][detekt] | Code Quality |
-| Kubernetes | [Checkov][Checkov] | Code Security |
-| Markdown | [markdownlint][markdownlint], [LanguageTool][LanguageTool] | Code Quality, Grammar Checking |
-| PHP | [PHPStan][PHPStan] | Code Quality |
-| Plaintext | [LanguageTool][LanguageTool] | Grammar and Spell Checking |
-| Java | [PMD][PMD] | Code Quality |
-| Protobuf | [Buf][Buf] | Code Quality |
-| Python | [Ruff][Ruff] | Code Quality |
-| Regal | [Regal][Regal] | Code Quality |
-| Ruby | [RuboCop][RuboCop] | Code Quality |
-| Semgrep | [Semgrep][Semgrep] | Code Security |
-| Shell (sh, bash, ksh, dash) | [ShellCheck][ShellCheck] | Code Quality |
-| Swift | [SwiftLint][SwiftLint] | Code Quality |
-| Terraform | [Checkov][Checkov] | Code Security |
-| TSX | [Biome][Biome] | Code Quality |
-| Typescript | [Biome][Biome] | Code Quality |
-| YAML | [YAMLlint][YAMLlint] | Code Quality |
-
-[ShellCheck]: ./shellcheck.md
-[Ruff]: ./ruff.md
-[markdownlint]: ./markdownlint.md
-[LanguageTool]: ./languagetool.md
-[Biome]: ./biome.md
-[Hadolint]: ./hadolint.md
-[SwiftLint]: ./swiftlint.md
-[PHPStan]: ./phpstan.md
-[golangci-lint]: ./golangci-lint.md
-[YAMLlint]: ./yamllint.md
-[Gitleaks]: ./gitleaks.md
-[Checkov]: ./checkov.md
-[detekt]: ./detekt.md
-[RuboCop]: ./rubocop.md
-[Buf]: ./buf.md
-[actionlint]: ./actionlint.md
-[Regal]: ./regal.md
-[PMD]: ./pmd.md
-[Cppcheck]: ./cppcheck.md
-[CircleCI]: ./circleci.md
-[Semgrep]: ./semgrep.md
-[Pipeline]: ./pipeline-remediation.md
+## What's next
+
+- For a complete list of tools that CodeRabbit supports, see [Supported tools](/tools/list).
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 738de2d3..f4cd07ca 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -126,6 +126,48 @@ const config: Config = {
},
}
},
+ [
+ "@inkeep/cxkit-docusaurus",
+ {
+ SearchBar: {
+ baseSettings: {
+ apiKey: process.env.INKEEP_API_KEY,
+ primaryBrandColor: "#FF570A",
+ },
+ aiChatSettings: {
+ chatSubjectName: "CodeRabbit",
+ aiAssistantAvatar: "https://www.coderabbit.ai/favicon.ico",
+ getHelpOptions: [
+ {
+ name: "Discord",
+ icon: {
+ builtIn: "FaDiscord",
+ },
+ action: {
+ type: "open_link",
+ url: "https://discord.gg/coderabbit",
+ },
+ },
+ {
+ name: "Contact Us",
+ icon: {
+ builtIn: "IoChatbubblesOutline",
+ },
+ action: {
+ type: "open_link",
+ url: "https://www.coderabbit.ai/contact-us",
+ },
+ },
+ ],
+ exampleQuestions: [
+ "What is CodeRabbit?",
+ "How to integrate CodeRabbit with GitHub?",
+ "How to set up a AI Code Review?",
+ ],
+ },
+ },
+ },
+ ],
],
presets: [
diff --git a/package.json b/package.json
index 1a3689fe..7c53d492 100644
--- a/package.json
+++ b/package.json
@@ -23,6 +23,7 @@
"@docusaurus/plugin-client-redirects": "^3.6.1",
"@docusaurus/plugin-content-blog": "^3.6.1",
"@docusaurus/preset-classic": "^3.6.1",
+ "@inkeep/cxkit-docusaurus": "^0.5.52",
"@mdx-js/react": "^3.1.0",
"autoprefixer": "^10.4.20",
"clsx": "^2.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3539e2b0..75704ea5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -20,6 +20,9 @@ importers:
'@docusaurus/preset-classic':
specifier: ^3.6.1
version: 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3)
+ '@inkeep/cxkit-docusaurus':
+ specifier: ^0.5.52
+ version: 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mdx-js/react':
specifier: ^3.1.0
version: 3.1.0(@types/react@18.3.12)(react@18.3.1)
@@ -989,12 +992,54 @@ packages:
resolution: {integrity: sha512-nS3WCvepwrnBEgSG5vQu40XG95lC9Jeh/odV5u5IhU1eQFEGDst9xBi6IK5yZdsGvbuaXBZLZtOqWYtuuFa/rQ==}
engines: {node: '>=18.0'}
+ '@floating-ui/core@1.6.9':
+ resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
+
+ '@floating-ui/dom@1.6.13':
+ resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
+
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.9':
+ resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
+
'@hapi/hoek@9.3.0':
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
'@hapi/topo@5.1.0':
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ '@inkeep/cxkit-color-mode@0.5.52':
+ resolution: {integrity: sha512-Mm9ax+2yP+T4F9ICP2eQqqpnm1BaiVUbmuhOF3oNOEQVR8X9sENeSU6X6JIJnFKtVSXYb/AMRe1U4/c5wJzvww==}
+
+ '@inkeep/cxkit-docusaurus@0.5.52':
+ resolution: {integrity: sha512-Mv89214Gt0qe2djAHKpzCu1SQlpQ+dj4tqSFKNO4w5f54qRdLgaQ4Av1LFC2d3PRV1rp4KA6XNjiNC/z2PrP2w==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@inkeep/cxkit-primitives@0.5.52':
+ resolution: {integrity: sha512-xq5ZGC8RX9qhelIbAvRM3EN7cFuwjYUERsoH6cwgyjtk5PnN3HoChlxuA18x1v9mqp8Bv3/lu4Bz0TDNUdiSxQ==}
+ peerDependencies:
+ react: '>=17.0.0'
+ react-dom: '>=17.0.0'
+
+ '@inkeep/cxkit-react@0.5.52':
+ resolution: {integrity: sha512-kNa+cvjH/JrWHVTh9DcYTgX/J6J4h2tyOh7FvK41zvbdKuAOarzQGWJMLvmAsDm4Z4tmPe104Yvm3nrmsrfTOA==}
+
+ '@inkeep/cxkit-styled@0.5.52':
+ resolution: {integrity: sha512-QLtJJ+/ufNG3PqrSMfwHSKWwOhnB4i0qOhsrNiAyNcOtQ5fMZdaAlShAjHDH2ye68sfw2tsyEBxXgZuxHji9dw==}
+
+ '@inkeep/cxkit-theme@0.5.52':
+ resolution: {integrity: sha512-2MWJc+J2n1d4gWkB3A+g4ZSmWxvi/nqxAgEOquiDDWWTrTWCEI8uk8MsWubtCBa73aEOa/tMTKiGYGjbdSCpgw==}
+
+ '@inkeep/cxkit-types@0.5.52':
+ resolution: {integrity: sha512-2AwsCpeB37wU8I+uhMsP2wFu/8goodgTvqL/V/QIaTGDBw62E1qsA6kjt+5V7rzkLzR658aSUOtL9D1G9zc31Q==}
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -1071,6 +1116,466 @@ packages:
'@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+ '@radix-ui/number@1.1.0':
+ resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
+
+ '@radix-ui/primitive@1.1.1':
+ resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
+
+ '@radix-ui/react-arrow@1.1.1':
+ resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-arrow@1.1.2':
+ resolution: {integrity: sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-avatar@1.1.2':
+ resolution: {integrity: sha512-GaC7bXQZ5VgZvVvsJ5mu/AEbjYLnhhkoidOboC50Z6FFlLA03wG2ianUoH+zgDQ31/9gCF59bE4+2bBgTyMiig==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-checkbox@1.1.3':
+ resolution: {integrity: sha512-HD7/ocp8f1B3e6OHygH0n7ZKjONkhciy1Nh0yuBgObqThc3oyx+vuMfFHKAknXRHHWVE9XvXStxJFyjUmB8PIw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.1':
+ resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.2':
+ resolution: {integrity: sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-compose-refs@1.1.1':
+ resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-context@1.1.1':
+ resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-direction@1.1.0':
+ resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.3':
+ resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.5':
+ resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-focus-guards@1.1.1':
+ resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-focus-scope@1.1.2':
+ resolution: {integrity: sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-hover-card@1.1.6':
+ resolution: {integrity: sha512-E4ozl35jq0VRlrdc4dhHrNSV0JqBb4Jy73WAhBEK7JoYnQ83ED5r0Rb/XdVKw89ReAJN38N492BAPBZQ57VmqQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-id@1.1.0':
+ resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-popover@1.1.6':
+ resolution: {integrity: sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.1':
+ resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.2':
+ resolution: {integrity: sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.3':
+ resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.4':
+ resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-presence@1.1.2':
+ resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.0.1':
+ resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.0.2':
+ resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-roving-focus@1.1.1':
+ resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-scroll-area@1.2.2':
+ resolution: {integrity: sha512-EFI1N/S3YxZEW/lJ/H1jY3njlvTd8tBmgKEn4GHi51+aMm94i6NmAJstsm5cu3yJwYqYc93gpCPm21FeAbFk6g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-select@2.1.6':
+ resolution: {integrity: sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slot@1.1.1':
+ resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-slot@1.1.2':
+ resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.2':
+ resolution: {integrity: sha512-9u/tQJMcC2aGq7KXpGivMm1mgq7oRJKXphDwdypPd/j21j/2znamPU8WkXgnhUaTrSFNIt8XhOyCAupg8/GbwQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-tooltip@1.1.6':
+ resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.0':
+ resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.1.0':
+ resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.0':
+ resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.0':
+ resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-previous@1.1.0':
+ resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.0':
+ resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.0':
+ resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.1.1':
+ resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.1.2':
+ resolution: {integrity: sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.0':
+ resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
+
'@sideway/address@4.1.5':
resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
@@ -1200,6 +1705,9 @@ packages:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'}
+ '@tanem/svg-injector@10.1.68':
+ resolution: {integrity: sha512-UkJajeR44u73ujtr5GVSbIlELDWD/mzjqWe54YMK61ljKxFcJoPd9RBSaO7xj02ISCWUqJW99GjrS+sVF0UnrA==}
+
'@trysound/sax@0.2.0':
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
@@ -1291,12 +1799,18 @@ packages:
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ '@types/node-fetch@2.6.12':
+ resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==}
+
'@types/node-forge@1.3.11':
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
'@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+ '@types/node@18.19.86':
+ resolution: {integrity: sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ==}
+
'@types/node@22.9.0':
resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==}
@@ -1309,6 +1823,9 @@ packages:
'@types/prop-types@15.7.13':
resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
+ '@types/prop-types@15.7.14':
+ resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
+
'@types/qs@6.9.17':
resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==}
@@ -1417,6 +1934,19 @@ packages:
'@xtuc/long@4.2.2':
resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+ '@zag-js/dom-query@1.8.2':
+ resolution: {integrity: sha512-bn6Pxga19PJzpDb+Oh326kn1sgVfO97mxRzRFqzrKz9NuANGlCblmv2NTYmhfppqE1nt9QyLLhyQ2BLbzwouLg==}
+
+ '@zag-js/focus-trap@1.8.2':
+ resolution: {integrity: sha512-GzKdicdiVjlOOsNzmmRAZVccs902PXnoyO+qkzXlIsr8+RPRgtPlZthIp6wtr4CJ2vLOMByvrEt7wCNSIoDzxA==}
+
+ '@zag-js/types@1.8.2':
+ resolution: {integrity: sha512-J+94HhFAPOBchNdGcmvqjB8nbQFgKHcqGoPl5vNTKlcoibN0yFjn4XFZoQU6uCf8sPhNg6NUNTkluR5YjybyJA==}
+
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+
accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
@@ -1442,6 +1972,10 @@ packages:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
engines: {node: '>= 10.0.0'}
+ agentkeepalive@4.6.0:
+ resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
+ engines: {node: '>= 8.0.0'}
+
aggregate-error@3.1.0:
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
engines: {node: '>=8'}
@@ -1482,6 +2016,9 @@ packages:
resolution: {integrity: sha512-aYjI4WLamMxbhdJ2QAA99VbDCJOGzMOdT2agh57bi40n86ufkhZSIAf6mkocr7NmtBLtwCnSHvD5NJ+Ky5elWw==}
engines: {node: '>= 14.0.0'}
+ altcha-lib@1.2.0:
+ resolution: {integrity: sha512-S5WF8QLNRaM1hvK24XPhOLfu9is2EBCvH7+nv50sM5CaIdUCqQCd0WV/qm/ZZFGTdSoKLuDp+IapZxBLvC+SNg==}
+
ansi-align@3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
@@ -1526,6 +2063,10 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ aria-hidden@1.2.4:
+ resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
+ engines: {node: '>=10'}
+
array-flatten@1.1.1:
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
@@ -1537,6 +2078,9 @@ packages:
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
hasBin: true
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
at-least-node@1.0.0:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
engines: {node: '>= 4.0.0'}
@@ -1641,6 +2185,10 @@ packages:
resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
engines: {node: '>=14.16'}
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
@@ -1716,6 +2264,9 @@ packages:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+
clean-css@5.3.3:
resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
engines: {node: '>= 10.0'}
@@ -1756,10 +2307,17 @@ packages:
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ colorjs.io@0.5.2:
+ resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==}
+
combine-promises@1.2.0:
resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==}
engines: {node: '>=10'}
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
@@ -2036,6 +2594,10 @@ packages:
resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==}
engines: {node: '>=10'}
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
depd@1.1.2:
resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
engines: {node: '>= 0.6'}
@@ -2056,6 +2618,9 @@ packages:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
detect-node@2.1.0:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
@@ -2135,6 +2700,10 @@ packages:
resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
engines: {node: '>=10'}
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
@@ -2189,6 +2758,10 @@ packages:
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
engines: {node: '>= 0.4'}
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
@@ -2196,6 +2769,14 @@ packages:
es-module-lexer@1.5.4:
resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
esast-util-from-estree@2.0.0:
resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
@@ -2286,6 +2867,10 @@ packages:
resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
engines: {node: '>= 0.8'}
+ event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+
eventemitter3@4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
@@ -2407,14 +2992,25 @@ packages:
vue-template-compiler:
optional: true
+ form-data-encoder@1.7.2:
+ resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
+
form-data-encoder@2.1.4:
resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
engines: {node: '>= 14.17'}
+ form-data@4.0.2:
+ resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
+ engines: {node: '>= 6'}
+
format@0.2.2:
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
engines: {node: '>=0.4.x'}
+ formdata-node@4.4.1:
+ resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
+ engines: {node: '>= 12.20'}
+
forwarded@0.2.0:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
@@ -2456,9 +3052,21 @@ packages:
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
engines: {node: '>= 0.4'}
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
get-own-enumerable-property-symbols@3.0.2:
resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -2516,6 +3124,10 @@ packages:
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
got@12.6.1:
resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
engines: {node: '>=14.16'}
@@ -2552,6 +3164,14 @@ packages:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
has-yarn@3.0.0:
resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -2617,6 +3237,9 @@ packages:
resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
engines: {node: '>=8'}
+ html-url-attributes@3.0.1:
+ resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
+
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
@@ -2676,6 +3299,12 @@ packages:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
+ humanize-ms@1.2.1:
+ resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+
+ humps@2.0.1:
+ resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==}
+
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -2859,6 +3488,10 @@ packages:
is-typedarray@1.0.0:
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+
is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
@@ -3074,6 +3707,10 @@ packages:
resolution: {integrity: sha512-s73fU2CQN7WCgjhaQUQ8wYESQNzGRNOKDd+3xgVqu8kuTEhmwepd/mxOv1LR2oV046ONrTLBFsM7IoKWNvmy5g==}
engines: {node: '>=18'}
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
mdast-util-directive@3.0.0:
resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==}
@@ -3145,6 +3782,10 @@ packages:
resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
engines: {node: '>= 4.0.0'}
+ merge-anything@5.1.7:
+ resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==}
+ engines: {node: '>=12.13'}
+
merge-descriptors@1.0.3:
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
@@ -3391,10 +4032,23 @@ packages:
no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ node-domexception@1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+
node-emoji@2.1.3:
resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==}
engines: {node: '>=18'}
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
node-forge@1.3.1:
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
engines: {node: '>= 6.13.0'}
@@ -3472,6 +4126,15 @@ packages:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
+ openai@4.78.1:
+ resolution: {integrity: sha512-drt0lHZBd2lMyORckOXFPQTmnGLWSLt8VK0W9BhOKWpMFBEoHMoz5gxMPmVq5icp+sOrsbMnsmZTVHUlKvD1Ow==}
+ hasBin: true
+ peerDependencies:
+ zod: ^3.23.8
+ peerDependenciesMeta:
+ zod:
+ optional: true
+
opener@1.5.2:
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
hasBin: true
@@ -3600,6 +4263,9 @@ packages:
resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
engines: {node: '>=12'}
+ path@0.12.7:
+ resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -3908,6 +4574,11 @@ packages:
peerDependencies:
react: '>=16.0.0'
+ prism-react-renderer@2.4.1:
+ resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==}
+ peerDependencies:
+ react: '>=16.0.0'
+
prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
@@ -3915,6 +4586,10 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -4015,6 +4690,17 @@ packages:
peerDependencies:
react: ^16.6.0 || ^17.0.0 || ^18.0.0
+ react-hook-form@7.54.2:
+ resolution: {integrity: sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18 || ^19
+
+ react-icons@5.4.0:
+ resolution: {integrity: sha512-7eltJxgVt7X64oHh6wSWNwwbKTCtMfK35hcjvJS0yxEAhPM8oUKdS3+kqaW1vicIltw+kR2unHaa12S9pPALoQ==}
+ peerDependencies:
+ react: '*'
+
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
@@ -4031,6 +4717,12 @@ packages:
react-loadable: '*'
webpack: '>=4.41.1 || 5.x'
+ react-markdown@9.0.3:
+ resolution: {integrity: sha512-Yk7Z94dbgYTOrdk41Z74GoKA7rThnsbbqBTRYuxoe08qvfQ9tJVhmAKw6BJS/ZORG7kTy/s1QvYzSuaoBA1qfw==}
+ peerDependencies:
+ '@types/react': '>=18'
+ react: '>=18'
+
react-monaco-editor@0.55.0:
resolution: {integrity: sha512-GdEP0Q3Rn1dczfKEEyY08Nes5plWwIYU4sWRBQO0+jsQWQsKMHKCC6+hPRwR7G/4aA3V/iU9jSmWPzVJYMVFSQ==}
peerDependencies:
@@ -4038,6 +4730,26 @@ packages:
monaco-editor: ^0.44.0
react: '>=16 <= 18'
+ react-remove-scroll-bar@2.3.8:
+ resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll@2.6.3:
+ resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-router-config@5.1.1:
resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
peerDependencies:
@@ -4054,6 +4766,28 @@ packages:
peerDependencies:
react: '>=15'
+ react-style-singleton@2.2.3:
+ resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-svg@16.3.0:
+ resolution: {integrity: sha512-MvoQbITgkmpPJYwDTNdiUyoncJFfoa0D86WzoZuMQ9c/ORJURPR6rPMnXDsLOWDCAyXuV9nKZhQhGyP0HZ0MVQ==}
+ peerDependencies:
+ react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ react-textarea-autosize@8.5.7:
+ resolution: {integrity: sha512-2MqJ3p0Jh69yt9ktFIaZmORHXw4c4bxSIhCeWiFwmJ9EYKgLmuNII3e9c9b2UO+ijl4StnpZdqpxNIhTdHvqtQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
react@18.3.1:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
@@ -4150,6 +4884,9 @@ packages:
remark-gfm@4.0.0:
resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
remark-mdx@3.1.0:
resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
@@ -4508,6 +5245,9 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
+ tailwind-merge@2.6.0:
+ resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
+
tailwindcss@3.4.15:
resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==}
engines: {node: '>=14.0.0'}
@@ -4573,6 +5313,9 @@ packages:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
@@ -4612,6 +5355,9 @@ packages:
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+ undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
undici-types@6.19.8:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
@@ -4685,22 +5431,77 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- urijs@1.19.11:
- resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
+ urijs@1.19.11:
+ resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
+
+ url-loader@4.1.1:
+ resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ file-loader: '*'
+ webpack: ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ file-loader:
+ optional: true
+
+ use-callback-ref@1.3.3:
+ resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-composed-ref@1.4.0:
+ resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-isomorphic-layout-effect@1.2.0:
+ resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-latest@1.3.0:
+ resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- url-loader@4.1.1:
- resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
- engines: {node: '>= 10.13.0'}
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
+ engines: {node: '>=10'}
peerDependencies:
- file-loader: '*'
- webpack: ^4.0.0 || ^5.0.0
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
peerDependenciesMeta:
- file-loader:
+ '@types/react':
optional: true
+ use-sync-external-store@1.5.0:
+ resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ util@0.10.4:
+ resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
+
utila@0.4.0:
resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
@@ -4742,6 +5543,13 @@ packages:
web-namespaces@2.0.1:
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+ web-streams-polyfill@4.0.0-beta.3:
+ resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
+ engines: {node: '>= 14'}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
webpack-bundle-analyzer@4.10.2:
resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==}
engines: {node: '>= 10.13.0'}
@@ -4802,6 +5610,9 @@ packages:
resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
engines: {node: '>=0.8.0'}
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
which@1.3.1:
resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
hasBin: true
@@ -6636,12 +7447,133 @@ snapshots:
- uglify-js
- webpack-cli
+ '@floating-ui/core@1.6.9':
+ dependencies:
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/dom@1.6.13':
+ dependencies:
+ '@floating-ui/core': 1.6.9
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.6.13
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/utils@0.2.9': {}
+
'@hapi/hoek@9.3.0': {}
'@hapi/topo@5.1.0':
dependencies:
'@hapi/hoek': 9.3.0
+ '@inkeep/cxkit-color-mode@0.5.52': {}
+
+ '@inkeep/cxkit-docusaurus@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-react': 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ merge-anything: 5.1.7
+ path: 0.12.7
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-primitives@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-color-mode': 0.5.52
+ '@inkeep/cxkit-theme': 0.5.52
+ '@inkeep/cxkit-types': 0.5.52
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-avatar': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-checkbox': 1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-hover-card': 1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popover': 1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-scroll-area': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-select': 2.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-tabs': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-tooltip': 1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@zag-js/focus-trap': 1.8.2
+ altcha-lib: 1.2.0
+ aria-hidden: 1.2.4
+ dequal: 2.0.3
+ humps: 2.0.1
+ merge-anything: 5.1.7
+ openai: 4.78.1
+ prism-react-renderer: 2.4.1(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-hook-form: 7.54.2(react@18.3.1)
+ react-icons: 5.4.0(react@18.3.1)
+ react-markdown: 9.0.3(@types/react@18.3.12)(react@18.3.1)
+ react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@18.3.1)
+ react-svg: 16.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-textarea-autosize: 8.5.7(@types/react@18.3.12)(react@18.3.1)
+ rehype-raw: 7.0.0
+ remark-gfm: 4.0.1
+ unist-util-visit: 5.0.0
+ use-sync-external-store: 1.5.0(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-react@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-styled': 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - react
+ - react-dom
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-styled@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-primitives': 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ class-variance-authority: 0.7.1
+ clsx: 2.1.1
+ merge-anything: 5.1.7
+ tailwind-merge: 2.6.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - react
+ - react-dom
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-theme@0.5.52':
+ dependencies:
+ colorjs.io: 0.5.2
+
+ '@inkeep/cxkit-types@0.5.52': {}
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -6718,40 +7650,460 @@ snapshots:
- acorn
- supports-color
- '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@types/mdx': 2.0.13
+ '@types/react': 18.3.12
+ react: 18.3.1
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@pnpm/config.env-replace@1.1.0': {}
+
+ '@pnpm/network.ca-file@1.0.2':
+ dependencies:
+ graceful-fs: 4.2.10
+
+ '@pnpm/npm-conf@2.3.1':
+ dependencies:
+ '@pnpm/config.env-replace': 1.1.0
+ '@pnpm/network.ca-file': 1.0.2
+ config-chain: 1.1.13
+
+ '@polka/url@1.0.0-next.28': {}
+
+ '@radix-ui/number@1.1.0': {}
+
+ '@radix-ui/primitive@1.1.1': {}
+
+ '@radix-ui/react-arrow@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-arrow@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-avatar@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-checkbox@1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-collection@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-collection@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-dismissable-layer@1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-dismissable-layer@1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-focus-scope@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-hover-card@1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-popover@1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-popper@1.2.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-popper@1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-portal@1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-portal@1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-presence@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-primitive@2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-primitive@2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-roving-focus@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-scroll-area@1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-select@2.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-slot@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-slot@1.1.2(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-tabs@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@types/mdx': 2.0.13
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
'@types/react': 18.3.12
+
+ '@radix-ui/react-tooltip@1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@nodelib/fs.scandir@2.1.5':
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@nodelib/fs.stat@2.0.5': {}
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@nodelib/fs.walk@1.2.8':
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pkgjs/parseargs@0.11.0':
- optional: true
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pnpm/config.env-replace@1.1.0': {}
+ '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pnpm/network.ca-file@1.0.2':
+ '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- graceful-fs: 4.2.10
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pnpm/npm-conf@2.3.1':
+ '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@pnpm/config.env-replace': 1.1.0
- '@pnpm/network.ca-file': 1.0.2
- config-chain: 1.1.13
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@polka/url@1.0.0-next.28': {}
+ '@radix-ui/react-visually-hidden@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-visually-hidden@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/rect@1.1.0': {}
'@sideway/address@4.1.5':
dependencies:
@@ -6903,6 +8255,12 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
+ '@tanem/svg-injector@10.1.68':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ content-type: 1.0.5
+ tslib: 2.8.1
+
'@trysound/sax@0.2.0': {}
'@types/acorn@4.0.6':
@@ -7010,12 +8368,21 @@ snapshots:
'@types/ms@0.7.34': {}
+ '@types/node-fetch@2.6.12':
+ dependencies:
+ '@types/node': 22.9.0
+ form-data: 4.0.2
+
'@types/node-forge@1.3.11':
dependencies:
'@types/node': 22.9.0
'@types/node@17.0.45': {}
+ '@types/node@18.19.86':
+ dependencies:
+ undici-types: 5.26.5
+
'@types/node@22.9.0':
dependencies:
undici-types: 6.19.8
@@ -7026,6 +8393,8 @@ snapshots:
'@types/prop-types@15.7.13': {}
+ '@types/prop-types@15.7.14': {}
+
'@types/qs@6.9.17': {}
'@types/range-parser@1.2.7': {}
@@ -7175,6 +8544,22 @@ snapshots:
'@xtuc/long@4.2.2': {}
+ '@zag-js/dom-query@1.8.2':
+ dependencies:
+ '@zag-js/types': 1.8.2
+
+ '@zag-js/focus-trap@1.8.2':
+ dependencies:
+ '@zag-js/dom-query': 1.8.2
+
+ '@zag-js/types@1.8.2':
+ dependencies:
+ csstype: 3.1.3
+
+ abort-controller@3.0.0:
+ dependencies:
+ event-target-shim: 5.0.1
+
accepts@1.3.8:
dependencies:
mime-types: 2.1.35
@@ -7194,6 +8579,10 @@ snapshots:
address@1.2.2: {}
+ agentkeepalive@4.6.0:
+ dependencies:
+ humanize-ms: 1.2.1
+
aggregate-error@3.1.0:
dependencies:
clean-stack: 2.2.0
@@ -7265,6 +8654,8 @@ snapshots:
'@algolia/requester-fetch': 5.14.2
'@algolia/requester-node-http': 5.14.2
+ altcha-lib@1.2.0: {}
+
ansi-align@3.0.1:
dependencies:
string-width: 4.2.3
@@ -7300,12 +8691,18 @@ snapshots:
argparse@2.0.1: {}
+ aria-hidden@1.2.4:
+ dependencies:
+ tslib: 2.8.1
+
array-flatten@1.1.1: {}
array-union@2.1.0: {}
astring@1.9.0: {}
+ asynckit@0.4.0: {}
+
at-least-node@1.0.0: {}
autoprefixer@10.4.20(postcss@8.4.49):
@@ -7447,6 +8844,11 @@ snapshots:
normalize-url: 8.0.1
responselike: 3.0.0
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+
call-bind@1.0.7:
dependencies:
es-define-property: 1.0.0
@@ -7531,6 +8933,10 @@ snapshots:
ci-info@3.9.0: {}
+ class-variance-authority@0.7.1:
+ dependencies:
+ clsx: 2.1.1
+
clean-css@5.3.3:
dependencies:
source-map: 0.6.1
@@ -7565,8 +8971,14 @@ snapshots:
colorette@2.0.20: {}
+ colorjs.io@0.5.2: {}
+
combine-promises@1.2.0: {}
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
comma-separated-tokens@2.0.3: {}
commander@10.0.1: {}
@@ -7854,6 +9266,8 @@ snapshots:
rimraf: 3.0.2
slash: 3.0.0
+ delayed-stream@1.0.0: {}
+
depd@1.1.2: {}
depd@2.0.0: {}
@@ -7864,6 +9278,8 @@ snapshots:
destroy@1.2.0: {}
+ detect-node-es@1.1.0: {}
+
detect-node@2.1.0: {}
detect-port-alt@1.1.6:
@@ -7963,6 +9379,12 @@ snapshots:
dependencies:
is-obj: 2.0.0
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
duplexer@0.1.2: {}
eastasianwidth@0.2.0: {}
@@ -8002,10 +9424,23 @@ snapshots:
dependencies:
get-intrinsic: 1.2.4
+ es-define-property@1.0.1: {}
+
es-errors@1.3.0: {}
es-module-lexer@1.5.4: {}
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
esast-util-from-estree@2.0.0:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -8095,6 +9530,8 @@ snapshots:
'@types/node': 22.9.0
require-like: 0.1.2
+ event-target-shim@5.0.1: {}
+
eventemitter3@4.0.7: {}
events@3.3.0: {}
@@ -8259,10 +9696,24 @@ snapshots:
typescript: 5.6.3
webpack: 5.96.1
+ form-data-encoder@1.7.2: {}
+
form-data-encoder@2.1.4: {}
+ form-data@4.0.2:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ mime-types: 2.1.35
+
format@0.2.2: {}
+ formdata-node@4.4.1:
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 4.0.0-beta.3
+
forwarded@0.2.0: {}
fraction.js@4.3.7: {}
@@ -8301,8 +9752,28 @@ snapshots:
has-symbols: 1.0.3
hasown: 2.0.2
+ get-intrinsic@1.3.0:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ function-bind: 1.1.2
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.2
+ math-intrinsics: 1.1.0
+
+ get-nonce@1.0.1: {}
+
get-own-enumerable-property-symbols@3.0.2: {}
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
+
get-stream@6.0.1: {}
github-slugger@1.5.0: {}
@@ -8381,6 +9852,8 @@ snapshots:
dependencies:
get-intrinsic: 1.2.4
+ gopd@1.2.0: {}
+
got@12.6.1:
dependencies:
'@sindresorhus/is': 5.6.0
@@ -8422,6 +9895,12 @@ snapshots:
has-symbols@1.0.3: {}
+ has-symbols@1.1.0: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.0.3
+
has-yarn@3.0.0: {}
hasown@2.0.2:
@@ -8570,6 +10049,8 @@ snapshots:
html-tags@3.3.1: {}
+ html-url-attributes@3.0.1: {}
+
html-void-elements@3.0.0: {}
html-webpack-plugin@5.6.3(webpack@5.96.1):
@@ -8644,6 +10125,12 @@ snapshots:
human-signals@2.1.0: {}
+ humanize-ms@1.2.1:
+ dependencies:
+ ms: 2.1.3
+
+ humps@2.0.1: {}
+
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
@@ -8770,6 +10257,8 @@ snapshots:
is-typedarray@1.0.0: {}
+ is-what@4.1.16: {}
+
is-wsl@2.2.0:
dependencies:
is-docker: 2.2.1
@@ -8974,6 +10463,8 @@ snapshots:
markdown-it: 14.1.0
markdownlint-micromark: 0.1.12
+ math-intrinsics@1.1.0: {}
+
mdast-util-directive@3.0.0:
dependencies:
'@types/mdast': 4.0.4
@@ -9173,6 +10664,10 @@ snapshots:
dependencies:
fs-monkey: 1.0.6
+ merge-anything@5.1.7:
+ dependencies:
+ is-what: 4.1.16
+
merge-descriptors@1.0.3: {}
merge-stream@2.0.0: {}
@@ -9563,6 +11058,8 @@ snapshots:
lower-case: 2.0.2
tslib: 2.8.1
+ node-domexception@1.0.0: {}
+
node-emoji@2.1.3:
dependencies:
'@sindresorhus/is': 4.6.0
@@ -9570,6 +11067,10 @@ snapshots:
emojilib: 2.4.0
skin-tone: 2.0.0
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
node-forge@1.3.1: {}
node-releases@2.0.18: {}
@@ -9633,6 +11134,18 @@ snapshots:
is-docker: 2.2.1
is-wsl: 2.2.0
+ openai@4.78.1:
+ dependencies:
+ '@types/node': 18.19.86
+ '@types/node-fetch': 2.6.12
+ abort-controller: 3.0.0
+ agentkeepalive: 4.6.0
+ form-data-encoder: 1.7.2
+ formdata-node: 4.4.1
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+
opener@1.5.2: {}
p-cancelable@3.0.0: {}
@@ -9757,6 +11270,11 @@ snapshots:
path-type@5.0.0: {}
+ path@0.12.7:
+ dependencies:
+ process: 0.11.10
+ util: 0.10.4
+
picocolors@1.1.1: {}
picomatch@2.3.1: {}
@@ -10033,10 +11551,18 @@ snapshots:
clsx: 2.1.1
react: 18.3.1
+ prism-react-renderer@2.4.1(react@18.3.1):
+ dependencies:
+ '@types/prismjs': 1.26.5
+ clsx: 2.1.1
+ react: 18.3.1
+
prismjs@1.29.0: {}
process-nextick-args@2.0.1: {}
+ process@0.11.10: {}
+
prompts@2.4.2:
dependencies:
kleur: 3.0.3
@@ -10170,6 +11696,14 @@ snapshots:
react-fast-compare: 3.2.2
shallowequal: 1.1.0
+ react-hook-form@7.54.2(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
+ react-icons@5.4.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
react-is@16.13.1: {}
react-json-view-lite@1.5.0(react@18.3.1):
@@ -10182,6 +11716,23 @@ snapshots:
react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
webpack: 5.96.1
+ react-markdown@9.0.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/react': 18.3.12
+ devlop: 1.1.0
+ hast-util-to-jsx-runtime: 2.3.2
+ html-url-attributes: 3.0.1
+ mdast-util-to-hast: 13.2.0
+ react: 18.3.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.1
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
react-monaco-editor@0.55.0(@types/react@18.3.12)(monaco-editor@0.44.0)(react@18.3.1):
dependencies:
'@types/react': 18.3.12
@@ -10189,6 +11740,25 @@ snapshots:
prop-types: 15.8.1
react: 18.3.1
+ react-remove-scroll-bar@2.3.8(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-style-singleton: 2.2.3(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ react-remove-scroll@2.6.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-remove-scroll-bar: 2.3.8(@types/react@18.3.12)(react@18.3.1)
+ react-style-singleton: 2.2.3(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@18.3.12)(react@18.3.1)
+ use-sidecar: 1.1.3(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.26.0
@@ -10219,6 +11789,32 @@ snapshots:
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
+ react-style-singleton@2.2.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ get-nonce: 1.0.1
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ react-svg@16.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@tanem/svg-injector': 10.1.68
+ '@types/prop-types': 15.7.14
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ react-textarea-autosize@8.5.7(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ react: 18.3.1
+ use-composed-ref: 1.4.0(@types/react@18.3.12)(react@18.3.1)
+ use-latest: 1.3.0(@types/react@18.3.12)(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+
react@18.3.1:
dependencies:
loose-envify: 1.4.0
@@ -10375,6 +11971,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.0.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
remark-mdx@3.1.0:
dependencies:
mdast-util-mdx: 3.0.0
@@ -10792,6 +12399,8 @@ snapshots:
csso: 5.0.5
picocolors: 1.1.1
+ tailwind-merge@2.6.0: {}
+
tailwindcss@3.4.15:
dependencies:
'@alloc/quick-lru': 5.2.0
@@ -10863,6 +12472,8 @@ snapshots:
totalist@3.0.1: {}
+ tr46@0.0.3: {}
+
trim-lines@3.0.1: {}
trough@2.2.0: {}
@@ -10890,6 +12501,8 @@ snapshots:
uc.micro@2.1.0: {}
+ undici-types@5.26.5: {}
+
undici-types@6.19.8: {}
unicode-canonical-property-names-ecmascript@2.0.1: {}
@@ -10990,8 +12603,50 @@ snapshots:
optionalDependencies:
file-loader: 6.2.0(webpack@5.96.1)
+ use-callback-ref@1.3.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-composed-ref@1.4.0(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-isomorphic-layout-effect@1.2.0(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-latest@1.3.0(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-sidecar@1.1.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-sync-external-store@1.5.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
util-deprecate@1.0.2: {}
+ util@0.10.4:
+ dependencies:
+ inherits: 2.0.3
+
utila@0.4.0: {}
utility-types@3.11.0: {}
@@ -11030,6 +12685,10 @@ snapshots:
web-namespaces@2.0.1: {}
+ web-streams-polyfill@4.0.0-beta.3: {}
+
+ webidl-conversions@3.0.1: {}
+
webpack-bundle-analyzer@4.10.2:
dependencies:
'@discoveryjs/json-ext': 0.5.7
@@ -11161,6 +12820,11 @@ snapshots:
websocket-extensions@0.1.4: {}
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
which@1.3.1:
dependencies:
isexe: 2.0.0
diff --git a/sidebars.ts b/sidebars.ts
index 5f41290e..3deb1cb8 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -29,13 +29,182 @@ import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"
const sidebars: SidebarsConfig = {
docsSidebar: [
{
- type: "autogenerated",
- dirName: ".",
+ type: "category",
+ collapsed: true,
+ label: "Get started with CodeRabbit",
+ items: ["overview/introduction", "getting-started/quickstart"],
},
{
- type: "link",
- label: "API Reference",
- href: "https://api.coderabbit.ai/api/swagger/",
+ type: "category",
+ collapsed: true,
+ label: "Add CodeRabbit to your repository",
+ items: [
+ "platforms/platforms",
+ {
+ type: "category",
+ collapsed: true,
+ label: "Supported Git platforms",
+ items: [
+ "platforms/github-com",
+ "platforms/github-enterprise-server",
+ "platforms/gitlab-com",
+ "platforms/self-hosted-gitlab",
+ "platforms/azure-devops",
+ "platforms/bitbucket-cloud",
+ ],
+ },
+ "getting-started/adding-organizations",
+ "getting-started/upgrading-permissions",
+ {
+ type: "category",
+ collapsed: true,
+ label: "Self-host CodeRabbit",
+ items: [
+ "self-hosted/github",
+ "self-hosted/gitlab",
+ "self-hosted/azure-devops",
+ "self-hosted/bitbucket",
+ ],
+ },
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Configure CodeRabbit",
+ items: [
+ "getting-started/configure-coderabbit",
+ "integrations/knowledge-base",
+ "guides/review-instructions",
+ "tools/tools",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Review pull requests",
+ items: [
+ "guides/code-review-overview",
+ "guides/commands",
+ "guides/generate-improvements",
+ "guides/code-review-troubleshooting",
+ "guides/agent_chat",
+ {
+ type: "category",
+ collapsed: true,
+ label: "Analyze and improve your code",
+ items: [
+ "integrations/code-graph-analysis",
+ "finishing-touches/docstrings",
+ ],
+ },
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Create and resolve issues",
+ items: [
+ "integrations/issue-integrations",
+ "guides/issue-chat",
+ "guides/issue-creation",
+ "guides/linked-issues",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Review local changes",
+ items: [
+ "guides/about-vscode",
+ "guides/install-vscode",
+ "guides/use-vscode",
+ "guides/config-vscode",
+ "guides/uninstall-vscode",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Generate reports",
+ items: [
+ "guides/reports-overview",
+ "guides/scheduled-reports",
+ "guides/ondemand-reports",
+ "guides/custom-reports",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Best practices",
+ items: [
+ "guides/setup-best-practices",
+ "guides/code-review-best-practices",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Reference",
+ items: [
+ {
+ type: "link",
+ label: "CodeRabbit API",
+ href: "https://api.coderabbit.ai/api/swagger/",
+ },
+ "reference/review-commands",
+ {
+ type: "category",
+ label: "Supported tools",
+ collapsed: true,
+ items: [
+ "tools/list",
+ "tools/actionlint",
+ "tools/biome",
+ "tools/buf",
+ "tools/checkov",
+ "tools/circleci",
+ "tools/cppcheck",
+ "tools/detekt",
+ "tools/eslint",
+ "tools/gitleaks",
+ "tools/golangci-lint",
+ "tools/hadolint",
+ "tools/languagetool",
+ "tools/luacheck",
+ "tools/markdownlint",
+ "tools/oxlint",
+ "tools/phpstan",
+ "tools/pipeline-remediation",
+ "tools/pmd",
+ "tools/prisma-lint",
+ "tools/regal",
+ "tools/rubocop",
+ "tools/ruff",
+ "tools/semgrep",
+ "tools/shellcheck",
+ "tools/sqlfluff",
+ "tools/swiftlint",
+ "tools/yamllint",
+ ],
+ },
+ "reference/caching",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Resources",
+ items: [
+ "getting-started/support",
+ "getting-started/subscription-management",
+ "overview/why-coderabbit",
+ "faq",
+ "early-access",
+ "future-development",
+ "changelog",
+ ],
},
],
}
diff --git a/src/css/custom.css b/src/css/custom.css
index 4a77db0a..933d51d0 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -293,3 +293,8 @@ a[docid="docs"] > svg {
display: none;
}
}
+
+/* Disable automatic next/previous pagination links */
+.pagination-nav {
+ display: none;
+}
diff --git a/static/img/faq/add-repository.png b/static/img/faq/add-repository.png
new file mode 100644
index 00000000..e69c4a7c
Binary files /dev/null and b/static/img/faq/add-repository.png differ
diff --git a/static/img/faq/coderabbit-github-menu.png b/static/img/faq/coderabbit-github-menu.png
new file mode 100644
index 00000000..c599ca95
Binary files /dev/null and b/static/img/faq/coderabbit-github-menu.png differ
diff --git a/static/img/faq/github-app-settings.png b/static/img/faq/github-app-settings.png
new file mode 100644
index 00000000..ff120953
Binary files /dev/null and b/static/img/faq/github-app-settings.png differ
diff --git a/static/img/faq/gitlab-webhook.png b/static/img/faq/gitlab-webhook.png
new file mode 100644
index 00000000..a233f902
Binary files /dev/null and b/static/img/faq/gitlab-webhook.png differ
diff --git a/static/img/faq/seat-assignment.png b/static/img/faq/seat-assignment.png
new file mode 100644
index 00000000..073194be
Binary files /dev/null and b/static/img/faq/seat-assignment.png differ
diff --git a/static/img/faq/select-repos.png b/static/img/faq/select-repos.png
new file mode 100644
index 00000000..1c1222ff
Binary files /dev/null and b/static/img/faq/select-repos.png differ
diff --git a/static/img/getting-started/billing-history.png b/static/img/getting-started/billing-history.png
new file mode 100644
index 00000000..8fd36af6
Binary files /dev/null and b/static/img/getting-started/billing-history.png differ
diff --git a/static/img/getting-started/change-plan.png b/static/img/getting-started/change-plan.png
new file mode 100644
index 00000000..e41f00ce
Binary files /dev/null and b/static/img/getting-started/change-plan.png differ
diff --git a/static/img/getting-started/change-seats.png b/static/img/getting-started/change-seats.png
new file mode 100644
index 00000000..cc736ac5
Binary files /dev/null and b/static/img/getting-started/change-seats.png differ
diff --git a/static/img/getting-started/download-invoice.png b/static/img/getting-started/download-invoice.png
new file mode 100644
index 00000000..5451693d
Binary files /dev/null and b/static/img/getting-started/download-invoice.png differ
diff --git a/static/img/getting-started/edit-subscription.png b/static/img/getting-started/edit-subscription.png
new file mode 100644
index 00000000..065d0cc2
Binary files /dev/null and b/static/img/getting-started/edit-subscription.png differ
diff --git a/static/img/getting-started/manage-subscription.png b/static/img/getting-started/manage-subscription.png
new file mode 100644
index 00000000..1234acf9
Binary files /dev/null and b/static/img/getting-started/manage-subscription.png differ
diff --git a/static/img/getting-started/quickstart-comment.png b/static/img/getting-started/quickstart-comment.png
new file mode 100644
index 00000000..9813172b
Binary files /dev/null and b/static/img/getting-started/quickstart-comment.png differ
diff --git a/static/img/getting-started/subscription-page.png b/static/img/getting-started/subscription-page.png
new file mode 100644
index 00000000..8fb90f96
Binary files /dev/null and b/static/img/getting-started/subscription-page.png differ
diff --git a/static/img/getting-started/updated-permissions.png b/static/img/getting-started/updated-permissions.png
new file mode 100644
index 00000000..37ef9038
Binary files /dev/null and b/static/img/getting-started/updated-permissions.png differ
diff --git a/static/img/guides/agentic-thought-chain.png b/static/img/guides/agentic-thought-chain.png
new file mode 100644
index 00000000..1fd49a55
Binary files /dev/null and b/static/img/guides/agentic-thought-chain.png differ
diff --git a/static/img/guides/chat-example.png b/static/img/guides/chat-example.png
new file mode 100644
index 00000000..3acb40e1
Binary files /dev/null and b/static/img/guides/chat-example.png differ
diff --git a/static/img/guides/chat-learnings-use.png b/static/img/guides/chat-learnings-use.png
new file mode 100644
index 00000000..f1b3a2f1
Binary files /dev/null and b/static/img/guides/chat-learnings-use.png differ
diff --git a/static/img/guides/chat-script-execution.png b/static/img/guides/chat-script-execution.png
new file mode 100644
index 00000000..4cd29f97
Binary files /dev/null and b/static/img/guides/chat-script-execution.png differ
diff --git a/static/img/guides/create-issue-agentic.png b/static/img/guides/create-issue-agentic.png
new file mode 100644
index 00000000..a7ad04ae
Binary files /dev/null and b/static/img/guides/create-issue-agentic.png differ
diff --git a/static/img/guides/create-issue-inline.png b/static/img/guides/create-issue-inline.png
new file mode 100644
index 00000000..873df82f
Binary files /dev/null and b/static/img/guides/create-issue-inline.png differ
diff --git a/static/img/guides/feature-planning.png b/static/img/guides/feature-planning.png
new file mode 100644
index 00000000..017d3e4b
Binary files /dev/null and b/static/img/guides/feature-planning.png differ
diff --git a/static/img/guides/gitlab-issue-chat.png b/static/img/guides/gitlab-issue-chat.png
new file mode 100644
index 00000000..0b6a1f69
Binary files /dev/null and b/static/img/guides/gitlab-issue-chat.png differ
diff --git a/static/img/guides/high-level-docs.png b/static/img/guides/high-level-docs.png
new file mode 100644
index 00000000..702c5dee
Binary files /dev/null and b/static/img/guides/high-level-docs.png differ
diff --git a/static/img/guides/linked-issue.png b/static/img/guides/linked-issue.png
new file mode 100644
index 00000000..ba585890
Binary files /dev/null and b/static/img/guides/linked-issue.png differ
diff --git a/static/img/guides/marketing-posts.png b/static/img/guides/marketing-posts.png
new file mode 100644
index 00000000..ce607fd4
Binary files /dev/null and b/static/img/guides/marketing-posts.png differ
diff --git a/static/img/guides/open-source-support.png b/static/img/guides/open-source-support.png
new file mode 100644
index 00000000..14c35530
Binary files /dev/null and b/static/img/guides/open-source-support.png differ
diff --git a/static/img/integrations/bitbucket-app-password-page.png b/static/img/integrations/bitbucket-app-password-page.png
new file mode 100644
index 00000000..c9e25cbe
Binary files /dev/null and b/static/img/integrations/bitbucket-app-password-page.png differ
diff --git a/static/img/integrations/bitbucket-app-password-permissions.png b/static/img/integrations/bitbucket-app-password-permissions.png
new file mode 100644
index 00000000..7e27e6af
Binary files /dev/null and b/static/img/integrations/bitbucket-app-password-permissions.png differ
diff --git a/static/img/integrations/bitbucket-app-password.png b/static/img/integrations/bitbucket-app-password.png
deleted file mode 100644
index 259235e9..00000000
Binary files a/static/img/integrations/bitbucket-app-password.png and /dev/null differ
diff --git a/static/img/integrations/login-self-hosted-github.png b/static/img/integrations/login-self-hosted-github.png
index 99f511c6..35e76ed1 100644
Binary files a/static/img/integrations/login-self-hosted-github.png and b/static/img/integrations/login-self-hosted-github.png differ
diff --git a/static/img/integrations/logo.png b/static/img/integrations/logo.png
new file mode 100644
index 00000000..18eb4911
Binary files /dev/null and b/static/img/integrations/logo.png differ
diff --git a/static/img/integrations/self-hosted-github-host-url.png b/static/img/integrations/self-hosted-github-host-url.png
index b8224720..2cb6d671 100644
Binary files a/static/img/integrations/self-hosted-github-host-url.png and b/static/img/integrations/self-hosted-github-host-url.png differ
diff --git a/static/img/tools/az-devops-pipeline.png b/static/img/tools/az-devops-pipeline.png
new file mode 100644
index 00000000..b06dafab
Binary files /dev/null and b/static/img/tools/az-devops-pipeline.png differ
diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json
index efb65f11..afee77cb 100644
--- a/static/schema/schema.v2.json
+++ b/static/schema/schema.v2.json
@@ -82,6 +82,8 @@
"zh",
"crh-UA",
"crh",
+ "cs-CZ",
+ "cs",
"nb",
"no",
"nl-NL",
@@ -91,7 +93,9 @@
"fa-IR",
"sv-SE",
"de-LU",
- "fr-FR"
+ "fr-FR",
+ "bg-BG",
+ "bg"
],
"default": "en-US",
"description": "Set the language for reviews by using the corresponding ISO language code."
@@ -211,6 +215,11 @@
"default": true,
"description": "Suggest reviewers based on the changes in the pull request in the walkthrough."
},
+ "auto_assign_reviewers": {
+ "type": "boolean",
+ "default": false,
+ "description": "Automatically assign suggested reviewers to the pull request"
+ },
"poem": {
"type": "boolean",
"default": true,
@@ -243,7 +252,7 @@
"type": "string"
},
"default": [],
- "description": "Specify file patterns to exclude or include for a review. Accepts glob patterns. Example: !dist/**, src/**"
+ "description": "Specify file patterns to include or exclude in a review using glob patterns (e.g., !dist/**, src/**). These patterns also apply to 'git sparse-checkout', including specified patterns and ignoring excluded ones (starting with '!') when cloning the repository."
},
"path_instructions": {
"type": "array",
@@ -256,7 +265,7 @@
},
"instructions": {
"type": "string",
- "maxLength": 3000,
+ "maxLength": 20000,
"description": "Provides specific additional guidelines for code review based on file paths."
}
},
@@ -271,6 +280,11 @@
"default": true,
"description": "Abort the in-progress review if the pull request is closed or merged."
},
+ "disable_cache": {
+ "type": "boolean",
+ "default": false,
+ "description": "Disable caching of code and dependencies. This will force CodeRabbit to download the code and dependencies fresh from the repository each time."
+ },
"auto_review": {
"type": "object",
"properties": {
@@ -332,6 +346,19 @@
"additionalProperties": false,
"default": {},
"description": "Docstrings | Options for generating Docstrings for your PRs/MRs."
+ },
+ "unit_tests": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Unit Tests | Allow CodeRabbit to generate unit tests for PRs/MRs."
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Unit Tests | Options for generating unit tests for your PRs/MRs."
}
},
"additionalProperties": false,
@@ -348,6 +375,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "List of rules directories."
},
"util_dirs": {
@@ -355,6 +383,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "List of utils directories."
},
"essential_rules": {
@@ -372,7 +401,8 @@
}
},
"additionalProperties": false,
- "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.31.1"
+ "default": {},
+ "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.38.1"
},
"shellcheck": {
"type": "object",
@@ -393,7 +423,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.8.2"
+ "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.11.9"
}
},
"additionalProperties": false,
@@ -423,7 +453,7 @@
},
"timeout_ms": {
"type": "number",
- "maximum": 300000,
+ "maximum": 900000,
"minimum": 0,
"default": 90000,
"description": "Time in milliseconds to wait for all GitHub Checks to conclude."
@@ -446,6 +476,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of rules to be enabled. The rule won't run unless 'level' is set to a level that activates the rule."
},
"disabled_rules": {
@@ -453,6 +484,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled."
},
"enabled_categories": {
@@ -460,6 +492,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of categories to be enabled."
},
"disabled_categories": {
@@ -467,6 +500,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled."
},
"enabled_only": {
@@ -534,7 +568,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.0.3"
+ "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.1.15"
},
"level": {
"type": "string",
@@ -566,7 +600,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v1.62.2"
+ "description": "Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v1.64.8"
},
"config_file": {
"type": "string",
@@ -583,7 +617,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.35.1"
+ "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1"
}
},
"additionalProperties": false,
@@ -596,7 +630,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.21.2"
+ "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.26.0"
}
},
"additionalProperties": false,
@@ -622,7 +656,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.7"
+ "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8"
},
"config_file": {
"type": "string",
@@ -652,7 +686,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.69.1"
+ "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.75.5"
}
},
"additionalProperties": false,
@@ -665,7 +699,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.47.2"
+ "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.54.0"
}
},
"additionalProperties": false,
@@ -678,7 +712,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.29.2"
+ "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.33.1"
}
},
"additionalProperties": false,
@@ -691,7 +725,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.4"
+ "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.7"
}
},
"additionalProperties": false,
@@ -704,7 +738,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.8.0"
+ "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.13.0"
},
"config_file": {
"type": "string",
@@ -721,7 +755,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.10-2"
+ "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.17.1"
}
},
"additionalProperties": false,
@@ -734,7 +768,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.99.0"
+ "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.122.0"
},
"config_file": {
"type": "string",
@@ -751,12 +785,129 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31151"
+ "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31687"
}
},
"additionalProperties": false,
"default": {},
"description": "CircleCI tool is a static checker for CircleCI config files."
+ },
+ "clippy": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration."
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Clippy is a collection of lints to catch common mistakes and improve your Rust code."
+ },
+ "sqlfluff": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.4.0"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "SQLFluff is an open source, dialect-flexible and configurable SQL linter."
+ },
+ "prismaLint": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.1"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Configuration for Prisma Schema linting to ensure schema file quality"
+ },
+ "pylint": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Pylint | Pylint is a Python static code analysis tool. | v3.3.7"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Pylint is a Python static code analysis tool."
+ },
+ "oxc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.10"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "OXC is a JavaScript/TypeScript linter written in Rust."
+ },
+ "shopifyThemeCheck": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Shopify Theme Check | A linter for Shopify themes that helps you follow Shopify theme & Liquid best practices | cli 3.77.1 | theme 3.58.2"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Configuration for Shopify Theme Check to ensure theme quality and best practices"
+ },
+ "luacheck": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Lua code linting | Luacheck helps maintain consistent and error-free Lua code | v1.2.0"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Configuration for Lua code linting to ensure code quality"
+ },
+ "brakeman": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Brakeman | Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2"
+ },
+ "dotenvLint": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable dotenv-linter | dotenv-linter is a tool for checking and fixing .env files for problems and best practices | v3.3.0"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices"
}
},
"additionalProperties": false,
@@ -819,7 +970,7 @@
"opt_out": {
"type": "boolean",
"default": false,
- "description": "Opt out | Opt out of all knowledge base features that require data retention."
+ "description": "Opt Out | Disable all knowledge base features that require data retention. If you opt out after opting in, all of your existing knowledge base data will be removed from the system."
},
"web_search": {
"type": "object",
@@ -917,9 +1068,174 @@
},
"additionalProperties": false,
"default": {}
+ },
+ "code_generation": {
+ "type": "object",
+ "properties": {
+ "docstrings": {
+ "type": "object",
+ "properties": {
+ "language": {
+ "type": "string",
+ "enum": [
+ "de",
+ "de-DE",
+ "de-AT",
+ "de-CH",
+ "en",
+ "en-US",
+ "en-AU",
+ "en-GB",
+ "en-CA",
+ "en-NZ",
+ "en-ZA",
+ "es",
+ "es-AR",
+ "fr",
+ "fr-CA",
+ "fr-CH",
+ "fr-BE",
+ "nl",
+ "nl-BE",
+ "pt-AO",
+ "pt",
+ "pt-BR",
+ "pt-MZ",
+ "pt-PT",
+ "ar",
+ "ast-ES",
+ "ast",
+ "be-BY",
+ "be",
+ "br-FR",
+ "br",
+ "ca-ES",
+ "ca",
+ "ca-ES-valencia",
+ "ca-ES-balear",
+ "da-DK",
+ "da",
+ "de-DE-x-simple-language",
+ "el-GR",
+ "el",
+ "eo",
+ "fa",
+ "ga-IE",
+ "ga",
+ "gl-ES",
+ "gl",
+ "it",
+ "ja-JP",
+ "ja",
+ "km-KH",
+ "km",
+ "ko-KR",
+ "ko",
+ "pl-PL",
+ "pl",
+ "ro-RO",
+ "ro",
+ "ru-RU",
+ "ru",
+ "sk-SK",
+ "sk",
+ "sl-SI",
+ "sl",
+ "sv",
+ "ta-IN",
+ "ta",
+ "tl-PH",
+ "tl",
+ "tr",
+ "uk-UA",
+ "uk",
+ "zh-CN",
+ "zh",
+ "crh-UA",
+ "crh",
+ "cs-CZ",
+ "cs",
+ "nb",
+ "no",
+ "nl-NL",
+ "de-DE-x-simple-language-DE",
+ "es-ES",
+ "it-IT",
+ "fa-IR",
+ "sv-SE",
+ "de-LU",
+ "fr-FR",
+ "bg-BG",
+ "bg"
+ ],
+ "default": "en-US",
+ "description": "Set the language for docstrings by using the corresponding ISO language code."
+ },
+ "path_instructions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "File path glob pattern. Example: **/*.js"
+ },
+ "instructions": {
+ "type": "string",
+ "maxLength": 20000,
+ "description": "Provides additional guidelines for docstring generation based on file paths."
+ }
+ },
+ "required": ["path", "instructions"],
+ "additionalProperties": false
+ },
+ "default": [],
+ "description": "Path Instructions | Provide additional guidelines for docstring generation based on file paths."
+ }
+ },
+ "additionalProperties": false,
+ "default": {
+ "path_instructions": []
+ },
+ "description": "Settings related to the generation of docstrings."
+ },
+ "unit_tests": {
+ "type": "object",
+ "properties": {
+ "path_instructions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "File path glob pattern. Example: **/*.js"
+ },
+ "instructions": {
+ "type": "string",
+ "maxLength": 20000,
+ "description": "Provides additional guidelines for unit test generation based on file paths."
+ }
+ },
+ "required": ["path", "instructions"],
+ "additionalProperties": false
+ },
+ "default": [],
+ "description": "Unit Test Generation | Provide additional guidelines for unit test generation based on file paths."
+ }
+ },
+ "additionalProperties": false,
+ "default": {
+ "path_instructions": []
+ },
+ "description": "Settings related to the generation of unit tests."
+ }
+ },
+ "additionalProperties": false,
+ "default": {}
}
},
- "additionalProperties": false
+ "additionalProperties": true
}
},
"$schema": "http://json-schema.org/draft-07/schema#"