diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..80ac685 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 80 diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index bffb357..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/.github/instructions/docs.instructions.md b/.github/instructions/docs.instructions.md new file mode 100644 index 0000000..77a2b73 --- /dev/null +++ b/.github/instructions/docs.instructions.md @@ -0,0 +1,11 @@ +--- +applyTo: "docs/**/*.mdx, !docs/api/**/*.mdx" +--- + +Focus on documentation clarity and accuracy, ensuring that instructions are easy +to follow and understand by a technical audience. Avoid suggesting changes that +involve deleting existing content unless it is outdated or incorrect. + +When making changes to the documentation, be sure to honor the settings in .editorconfig. +When editing markdown or .MDX files, ignore the line length limit in bullet points, tables, +code blocks and front-matter. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3fbeb4e..2d72a42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,22 +16,30 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - name: Checkout code + - name: 📥 Checkout repository uses: actions/checkout@v4 with: fetch-depth: 2 - - name: Set up Node.js + - name: 📦 Setup pnpm package manager + uses: pnpm/action-setup@v4 + with: + run_install: false + + - name: 🟢 Setup Node.js runtime uses: actions/setup-node@v4 with: - node-version: "22" - - - name: Check for broken links - run: | - set -e - output=$(npx mint broken-links) - echo "$output" - if ! echo "$output" | grep -q '^success '; then - echo "Error: Broken links found! Fix the broken links listed above before merging." - exit 1 - fi + node-version-file: ".nvmrc" + cache: "pnpm" + + - name: Enable Corepack + run: corepack enable + + - name: 📚 Install project dependencies + run: pnpm install --frozen-lockfile + + - name: ✅ Check types + run: pnpm check:type + + - name: 🏗️ Build + run: pnpm build diff --git a/.github/workflows/docs-to-vector.yml b/.github/workflows/docs-to-vector.yml index 0abe358..b615bf4 100644 --- a/.github/workflows/docs-to-vector.yml +++ b/.github/workflows/docs-to-vector.yml @@ -24,20 +24,20 @@ jobs: }') echo "$payload" > /tmp/payload.json - + - name: Connect to company network uses: tailscale/github-action@v3 with: oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }} oauth-secret: ${{ secrets.TS_OAUTH_SECRET }} tags: tag:ci - + - name: Call Webhook (Preview) run: | payload=$(cat /tmp/payload.json) sig=$(printf '%s' "$payload" | \ openssl dgst -sha256 -hmac "${{ secrets.VECTOR_WEBHOOK_SECRET_PREVIEW }}" -binary | xxd -p -c 256) - + curl -X POST \ -H "Content-Type: application/json" \ -H "X-Hub-Signature-256: sha256=$sig" \ @@ -50,7 +50,7 @@ jobs: payload=$(cat /tmp/payload.json) sig=$(printf '%s' "$payload" | \ openssl dgst -sha256 -hmac "${{ secrets.VECTOR_WEBHOOK_SECRET }}" -binary | xxd -p -c 256) - + if [ "${{ secrets.VECTOR_WEBHOOK_URL }}" != "none" ]; then curl -X POST \ -H "Content-Type: application/json" \ diff --git a/.gitignore b/.gitignore index b9cc78f..5463d40 100644 --- a/.gitignore +++ b/.gitignore @@ -28,8 +28,9 @@ yarn-error.log* # local env files .env*.local .env + # vercel .vercel -# lock files -package-lock.json +# docusaurus +/.docusaurus diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..deed13c --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/jod diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..89c3a6d --- /dev/null +++ b/.prettierignore @@ -0,0 +1,8 @@ +docs/api/ +api-spec/ +build/ +.docusaurus/ +node_modules/ +pnpm-lock.yaml +static/**/*.webmanifest +old/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..87d988f --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "printWidth": 120, + "tabWidth": 2, + "trailingComma": "es5" +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 51e6954..103dd95 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,52 +1,118 @@ -# Contribution Guide for Plane Docs +# Contribution Guide -Thank you for considering contributing to Plane docs! Your contributions help improve the quality and accessibility of our documentation for all users. Please follow the guidelines outlined below to ensure a smooth contribution process. +Thank you for considering contributing to the Plane developer documentation! +Your contributions help improve the quality and accessibility of our +documentation for all users. Please follow the guidelines outlined below to +ensure a smooth contribution process. -### 1. Create a New Issue (if it doesn't exist) -If you encounter a problem or wish to suggest an improvement in the documentation that hasn't been addressed yet, please create a new issue. Be sure to check existing issues to avoid duplication. Include a clear description of the problem or enhancement you're suggesting. +## 1. Create a new issue -### 2. Create a New Branch from Master -Before making any changes, create a new branch from the `master` branch. This branch will contain your proposed changes and keep the `master` branch clean for stable releases. +If you encounter a problem or wish to suggest an improvement in the +documentation that hasn't been addressed yet, please create a [new issue](https://github.com/makeplane/developer-docs/issues/new). Be sure +to check existing [issues](https://github.com/makeplane/developer-docs/issues) to avoid duplication. Include a clear description of +the problem or enhancement you're suggesting. + +## 2. Contributing + +To contribute your changes, you have two options: + +1. Edit the files directly on Github + - Perfect for small, single-file changes. This is the easiest option but you + won't be able quickly iterate on your changes with a running server. +1. Run this site locally + - Excellent for any size of change. + +## Option 1 - Edit on Github + +1. While viewing our docs on [developers.plane.so](https://developers.plane.so), navigate to the page you want to change. Scroll to the bottom and click the 'Edit this page' link. +2. If prompted, click the 'Fork this repository' button +3. Make your edits +4. Click the 'Commit changes' button +5. Fill out the form, making sure the 'Commit message' is short and meaningful. + In the 'Extended description' field, be sure to reference the related issue + using GitHub's syntax (`#123`). This links your Pull Request to the + issue and helps us understand your reason for the changes. +6. Click 'Propose changes' +7. Click the 'Create pull request' button + +## Option 2 - Edit locally + +Follow these steps to run this site and make your changes locally. + +### 1. Clone this repository ```bash -git checkout master -git pull origin master +git clone git@github.com:makeplane/developer-docs.git && cd developer-docs +``` + +### 2. Create a new branch + +Before making any changes, create a new branch from the `main` branch. This +branch will contain your proposed changes and keep the `main` branch clean for +stable releases. + +```bash +git checkout main +git pull origin main git checkout -b ``` -### 3. Make Changes in the Appropriate Page -Navigate to the relevant documentation page in the repository and make your changes. Ensure that your changes align with our style guide and maintain consistency across the documentation. +Next, install the dependencies. + +```bash +corepack enable pnpm +pnpm install +``` + +### 3. Run the site locally + +Start up a local development server so you can preview your changes before submitting them for review. + +```bash +pnpm dev +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +#### About this site -### 4. Preview your changes -Make sure you are visually happy with your changes. +This site is built using [Docusaurus](https://docusaurus.io/), an open source +static website generator along with +[docusaurus-openapi-docs](https://github.com/PaloAltoNetworks/docusaurus-openapi-docs). -1. Run `npx mint dev` -1. A url will be printed to your console. Open it in your browser. -1. Visit your pages and confirm they look correct. +To find out which directories are served at which routes, [read this](https://docusaurus.io/docs/next/advanced/routing). -### 5. Fix broken links +### 4. Make changes -1. Run `npx mint broken-links` -2. Fix all reported broken links +Open the relevant documentation file and make your changes. Using your local +browser, review that your changes look as you expect and they align with our +current styles and tone across the documentation. -### 6. Raise a Pull Request (PR) -Once your changes are ready, raise a pull request (PR) to merge your branch into the `master` branch. Please provide a descriptive title and detailed description of your changes. +**Warning**: All files in `docs/api/*` are auto-generated. Do not edit by hand. -### 7. Leave a Clear Commit Message -When committing your changes, leave a clear and concise message that links to the corresponding issue (if applicable) and explains the fix or enhancement you've made. +### 5. Commit your changes + +When committing your changes, leave a clear and concise message that links to +the corresponding issue (if applicable) and explains the fix or enhancement +you've made. ```bash git add . git commit -m "Fixes #: Description of the fix or enhancement" ``` -### 8. Link the Issue to the Pull Request +### 6. Link the Issue to the Pull Request + In your pull request description, be sure to reference the related issue using GitHub's syntax (`#`). This links the PR to the issue and helps maintain context. -### 9. Sign the Contributor License Agreement (CLA) +### 7. Sign the Contributor License Agreement (CLA) + Before we can merge your contribution, you must sign our contributor license agreement (CLA). This agreement ensures that your contributions comply with our licensing terms. -### 10. Assign a Reviewer from Our Team -Once your PR is submitted, a member of our team will be assigned to review your changes. They will provide feedback and may request revisions if necessary. Please respond promptly to any review comments to expedite the merging process. +### 8. Reviews + +Once your Pull Request is submitted, a member of our team will be assigned to review your changes. They will provide feedback and may request revisions if necessary. Please respond promptly to any review comments to expedite the review and acceptance process. + +## Thank you! -Thank you for contributing to our documentation! We appreciate your efforts in making our product documentation more comprehensive and user-friendly. If you have any questions or need assistance, feel free to reach out to our team. Happy contributing! +Thank you for contributing to our documentation! We greatly appreciate your efforts to help improve the Plane community. diff --git a/README.md b/README.md index 0cdf7eb..5a5e862 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,19 @@ # Plane developer documentation -This repository hosts comprehensive developer documentation for Plane, accessible at [developers.plane.so](https://developers.plane.so). If you are looking for the product documentation, see [Plane documentation](https://github.com/makeplane/docs) +This repository hosts comprehensive developer documentation for Plane, accessible at [developers.plane.so](https://developers.plane.so). If you are looking for the product documentation, see [Plane documentation](https://github.com/makeplane/docs). -## Overview - -The Plane documentation provides detailed information on the following topics: - -- Setting up and managing a self-hosted instance of Plane. -- API Reference -- Webhooks - -## Raising Issues +## Raising issues If you encounter any issues with our documentation or have suggestions for improvements, we encourage you to follow these steps: -1. **Check Existing Issues**: Before raising a new issue, please verify if a similar issue already exists. -2. **Raise an Issue**: If you don't find an existing issue that matches your concern, feel free to create a new one. Provide as much detail as possible to clearly explain the problem or enhancement you're proposing. +1. **Check existing issues**: Before raising a new issue, please verify if a [similar issue](https://github.com/makeplane/developer-docs/issues) already exists. +2. **Raise an issue**: If you don't find an existing issue that matches your concern, feel free to [create a new one](https://github.com/makeplane/developer-docs/issues/new). Provide as much detail as possible to clearly explain the problem or enhancement you're proposing. ## Contributing Are you interested in contributing to our documentation? We welcome contributions from the community! You can contribute by: -- Fixing bugs in the existing documentation. -- Adding new guides or tutorials. +- Fixing bugs in the existing documentation +- Adding new guides or tutorials To get started with contributing, please refer to our [Contribution Guide](/CONTRIBUTING.md). We appreciate contributions related to self-hosting, core product functionality, and integrations with other applications. - -Thank you for considering contributing to Plane documentation. Your contributions help improve the overall user experience and make information more accessible to all users. Let's work together to make Plane documentation even better! \ No newline at end of file diff --git a/_category_.json b/_category_.json new file mode 100644 index 0000000..acc52bf --- /dev/null +++ b/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Overview", + "position": 1, + "collapsible": false, + "collapsed": false, + "link": { + "type": "generated-index" + } +} diff --git a/api-reference/byoa/build-plane-app.mdx b/api-reference/byoa/build-plane-app.mdx deleted file mode 100644 index d0dc1dc..0000000 --- a/api-reference/byoa/build-plane-app.mdx +++ /dev/null @@ -1,732 +0,0 @@ ---- -title: Build a Plane App (Beta) -sidebarTitle: Build a Plane App (Beta) -description: Step-by-step development guide to build and integrate an app with Plane using OAuth-based authentication and authorization workflow. ---- - -Plane apps are currently in **Beta**. Please send any feedback to support@plane.so. - -## Introduction -Plane apps seamlessly integrate tools and services with Plane so you can -use them without ever leaving your Workspace. Apps are conveniently available -from our [marketplace](https://plane.so/marketplace/integrations), helping you -stay focused and productive. - -## Why Build a Plane App? - -**Stop doing manual work.** -Plane integrations eliminate repetitive tasks like copying updates between -tools, creating work items from support tickets, and generating status reports. -Instead of spending hours on administrative work, let your app handle it -automatically. - -**Connect everything you already use.** -Your team probably uses dozens of different tools. Plane apps create a unified -workflow by connecting your favorite CRM, time tracking app, CI/CD pipelines, -communication tools, and more, together into Plane. One change in Plane can -trigger updates across your entire tech stack. - -**Build exactly what you need.** -Unlike rigid SaaS platforms, Plane's open core nature means you can create -integrations that fit your specific workflow. - -## Prerequisites - -- A [Plane](https://app.plane.so) workspace -- Admin access to your workspace settings -- Familiarity with OAuth 2.0 concepts (authorization code flow) -- A backend server to handle OAuth token exchange - -## High-Level Workflow - -1. [Register your app on Plane developer portal](/api-reference/byoa/build-plane-app/#registering-your-app) -2. [Implement OAuth flow](/api-reference/byoa/build-plane-app#implement-oauth-flow) -3. [Obtain and store access tokens securely](/api-reference/byoa/build-plane-app#obtain-and-store-access-tokens-securely) -4. [Make authenticated API requests to Plane](/api-reference/byoa/build-plane-app#make-authenticated-api-requests-to-plane) -5. [Handle token refresh](/api-reference/byoa/build-plane-app#handle-token-refresh) - -## Registering Your App - -To build an OAuth application with Plane: - -1. Navigate to `https://app.plane.so//settings/integrations/`. -2. Click on the **Build your own** button. -3. Fill out the form with the required details: - - - **Setup URL**: Provide the URL that users will be redirected to when they click "Install" from the marketplace or from the app listing. This URL should initiate the OAuth flow for your application. - - **Redirect URIs**: Provide the URIs where Plane will send the authorization code after the user consents to the app. - - **Webhook URL Endpoint(Optional)**: Your service's webhook endpoint. Plane will send an HTTP `POST` request to this endpoint upon every change to the workspace in which your app was installed. - - **Contact Details**: Add your email or other contact information. - - **Organization Details(Optional)**: Optionally include your contact email, privacy policy URL, terms of service URL, and any other relevant information. This helps Plane validate and approve your application should you choose to [list in the marketplace](#listing-your-app-on-plane-marketplace). - -4. If you're building an agent (with or without using Plane's ADK) capable of performing operations when assigned or mentioned, enable the **Enable App Mentions** checkbox during app creation. -5. Once the app is created, securely store the generated **Client ID** and **Client Secret**. You will need these credentials to interact with Plane's API during the OAuth flow and for making authenticated API requests. - -## Implement OAuth Flow - -### Generating Consent URL (Optional) - -This step is optional. This is needed only if the app should be installed from outside Plane's environment, the developer needs to generate the consent URL using the client ID generated during their app creation flow. - -If this flow needs to be triggered from Plane marketplace as well, then provide the URL in "Setup URL" field on application create screen to redirect the user from marketplace on clicking "Install App" button. - -Below are sample implementations: - - - - -```python -import os -from urllib.parse import urlencode - -params = { - "client_id": os.getenv("PLANE_CLIENT_ID"), - "response_type": "code", - "redirect_uri": os.getenv("PLANE_REDIRECT_URI"), - # Optional: include state if needed -} - -consent_url = f"https://api.plane.so/auth/o/authorize-app/?{urlencode(params)}" -``` - - - - -```typescript -import { URLSearchParams } from 'url'; - -const params = new URLSearchParams({ - client_id: process.env.PLANE_CLIENT_ID!, - response_type: "code", - redirect_uri: process.env.PLANE_REDIRECT_URI!, - // Optional: include state if needed -}); - -const consentUrl = `https://api.plane.so/auth/o/authorize-app/?${params.toString()}`; -``` - - - - -There are two types of authenticated actions your application can perform: - -1. **User-authorized actions**: Actions performed on behalf of a user after they grant permission to your app via OAuth. -2. **App-authorized actions**: Actions that the app can perform independently within the workspace where it is installed (such as responding to webhooks or automation triggers). - -For both these flows, Plane will make a GET request to the Redirect URI with parameters as mentioned in the following sections. - -We will describe how to configure and use each type in the following sections. - -### App-Authorized Actions (Client Credentials Flow) - -When the app is installed, Plane will send both a `code` and an `app_installation_id` as part of the callback to the Redirect URI provided during consent URL generation. You can use this `app_installation_id` to request a bot token for your app. - -Plane will make a GET request to the Redirect URI with below parameters: - -| Parameter | Description | -|-----------|-------------| -| code | Authorization code (present but not used for client credentials flow) | -| app_installation_id | The unique identifier for the app installation in the workspace | - -#### Examples - - - - -```python -import os -import time -from plane.oauth.api import OAuthApi -from plane.oauth.models import OAuthConfig - -# Initialize OAuth API -def get_oauth_api(): - oauth_config = OAuthConfig( - client_id=os.getenv("PLANE_CLIENT_ID"), - client_secret=os.getenv("PLANE_CLIENT_SECRET"), - redirect_uri=os.getenv("PLANE_REDIRECT_URI"), - ) - return OAuthApi( - oauth_config=oauth_config, - base_url=os.getenv("PLANE_BASE_URL", "https://api.plane.so"), - ) - -# Get bot token using app installation ID -oauth_api = get_oauth_api() -token_response = oauth_api.get_bot_token(app_installation_id) - -# Get app installation details -app_installations = oauth_api.get_app_installations( - token_response.access_token, - app_installation_id, -) - -if not app_installations: - raise Exception(f"No app installations found for app installation ID {app_installation_id}") - -app_installation = app_installations[0] -bot_token = token_response.access_token -expires_in = token_response.expires_in -``` - - - - -```typescript -import axios from 'axios'; - -// Prepare basic auth header using client_id and client_secret -const clientId = "your_client_id"; -const clientSecret = "your_client_secret"; -const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); - -// Prepare request data -const payload = { - grant_type: "client_credentials", - app_installation_id: appInstallationId -}; - -// Make a POST request to fetch bot token -const response = await axios.post( - "https://api.plane.so/auth/o/token/", - payload, - { - headers: { - Authorization: `Basic ${basicAuth}`, - "Content-Type": "application/x-www-form-urlencoded" - } - } -); - -// Parse the response -const responseData = response.data; -const botToken = responseData.access_token; -const expiresIn = responseData.expires_in; // Token expiry in seconds -``` - - - - -### User-Authorized Actions (Authorization Code Flow) - -In this flow, your app exchanges the `code` received as a query parameter on the callback (to your Redirect URI) for an access token and refresh token. The access token is short-lived and must be refreshed using the refresh token when it expires. Both tokens should be securely stored. - -Plane will make a GET request to the Redirect URI with below parameters: - -| Parameter | Description | Required | -|-----------|-------------|----------| -| code | The authorization code that can be exchanged for an access token | Yes | -| state | The state parameter that was passed in the authorization request | No | - - -#### Examples - - - - -```python -from plane.oauth.api import OAuthApi -from plane.oauth.models import OAuthConfig - -# Initialize OAuth API -oauth_api = get_oauth_api() # Using the helper function from above - -# Exchange authorization code for access and refresh tokens -code = "authorization_code_from_callback" -token_response = oauth_api.exchange_code_for_token( - code, - "authorization_code", -) - -# Parse the response -access_token = token_response.access_token -refresh_token = token_response.refresh_token -expires_in = token_response.expires_in -``` - - - - -```typescript -import axios from 'axios'; - -// Exchange authorization code for access and refresh tokens -const code = "authorization_code_from_callback"; -const clientId = "your_client_id"; -const clientSecret = "your_client_secret"; -const redirectUri = "your_redirect_uri"; - -const payload = { - grant_type: "authorization_code", - code: code, - client_id: clientId, - client_secret: clientSecret, - redirect_uri: redirectUri -}; - -const response = await axios.post( - "https://api.plane.so/auth/o/token/", - payload, - { - headers: { - "Content-Type": "application/x-www-form-urlencoded" - } - } -); - -// Parse the response -const responseData = response.data; -const accessToken = responseData.access_token; -const refreshToken = responseData.refresh_token; -const expiresIn = responseData.expires_in; -``` - - - - -### Fetching App Installation Details - -In both user-authorized and app-authorized flows, the `app_installation_id` identifies the app's installation within a specific workspace. It is recommended that developers fetch workspace details after OAuth is successfully completed. Plane provides an `app-installation` endpoint that works with both types of tokens. - -#### Examples - - - - -```python -# Using the OAuth API to fetch app installation details -oauth_api = get_oauth_api() -app_installations = oauth_api.get_app_installations( - token, # Either access token or bot token - app_installation_id, -) - -if app_installations: - workspace_details = app_installations[0] - print(f"Workspace: {workspace_details.workspace_detail.name}") - print(f"Workspace Slug: {workspace_details.workspace_detail.slug}") - print(f"Bot User ID: {workspace_details.app_bot}") -``` - - - - -```typescript -import axios from 'axios'; - -// Set authorization header with either access token or bot token -const headers = { - Authorization: `Bearer ${token}`, -}; - -// Make GET request to fetch installation/workspace details -const response = await axios.get( - `https://api.plane.so/auth/o/app-installation/?id=${app_installation_id}`, - { headers } -); - -const workspaceDetails = response.data[0]; -``` - - - - -#### Sample Response - -The app installation endpoint returns an **array** of installation objects. Typically, you'll want to use the first element `[0]`: - -```json -[ - { - "id": "34b97361-8636-43dc-953e-90deedc8498f", - "workspace_detail": { - "name": "sandbox", - "slug": "sandbox", - "id": "7a2e5944-c117-4a7d-b5f4-058fe705d7d1", - "logo_url": null - }, - "created_at": "2025-05-16T13:50:27.865821Z", - "updated_at": "2025-06-23T08:57:26.976742Z", - "deleted_at": null, - "status": "installed", - "workspace": "7a2e5944-c117-4a7d-b5f4-058fe705d7d1", - "application": "ab235529-388a-4f51-a55a-78272251f5f1", - "installed_by": "63333ab1-c605-42fc-82f7-5cd86799eca1", - "app_bot": "7286aaa7-9250-4851-a520-29c904fd7654", // Bot user ID for your app in this workspace - "webhook": "b1f4b7f1-51e8-4919-a84c-0b1143b51d2c" - } -] -``` - -**Key fields to note:** -- `app_bot`: The bot user ID that represents your app in the workspace -- `workspace_detail.slug`: The workspace slug needed for API calls -- `workspace`: The workspace ID for identifying the workspace -- `status`: Should be "installed" for active installations - -## Webhook Payload Structure - -When Plane sends webhooks to your application, the payload contains information about the event that occurred. Understanding this structure is crucial for processing webhooks effectively. - -### General Webhook Structure - -All webhooks follow this general structure: - -```json -{ - "event": "string", // Type of event (e.g., "issue", "issue_comment", "project") - "action": "string", // Action performed (e.g., "created", "updated", "deleted") - "webhook_id": "string", // Unique identifier for the webhook - "workspace_id": "string", // ID of the workspace where the event occurred - "data": { // Event-specific data (varies by event type) - "id": "string", - // ... other fields specific to the event - }, - "activity": { // Information about who performed the action - "actor": { - "id": "string", - "first_name": "string", - "last_name": "string", - "email": "string", - "avatar": "string", - "display_name": "string" - }, - "field": "string", // Field that was changed (for update events) - "new_value": "any", // New value (for update events) - "old_value": "any" // Previous value (for update events) - } -} -``` - -### Common Event Types - -#### Issue Comment Events - -When someone comments on an issue: - -```json -{ - "event": "issue_comment", - "action": "created", - "webhook_id": "uuid", - "workspace_id": "uuid", - "data": { - "id": "comment_id", - "issue": "issue_id", - "project": "project_id", - "workspace": "workspace_id", - "comment_html": "

Full HTML comment content

", - "comment_stripped": "Plain text comment content", - "created_at": "2025-01-01T00:00:00Z", - "updated_at": "2025-01-01T00:00:00Z" - }, - "activity": { - "actor": { - "id": "user_id", - "display_name": "User Name", - "email": "user@example.com" - } - } -} -``` - -#### Issue Events - -When an issue is created, updated, or deleted: - -```json -{ - "event": "issue", - "action": "updated", - "webhook_id": "uuid", - "workspace_id": "uuid", - "data": { - "id": "issue_id", - "name": "Issue Title", - "description_html": "

Issue description

", - "priority": "high", - "project": "project_id", - "workspace": "workspace_id", - "assignees": ["user_id_1", "user_id_2"], - "labels": ["label_id_1"], - "state": { - "id": "state_id", - "name": "In Progress", - "color": "#f39c12" - }, - "created_at": "2025-01-01T00:00:00Z", - "updated_at": "2025-01-01T00:00:00Z" - }, - "activity": { - "actor": { - "id": "user_id", - "display_name": "User Name" - }, - "field": "priority", - "new_value": "high", - "old_value": "medium" - } -} -``` - -### Processing Webhooks - -Here's how to process webhooks in your application: - - - - -```typescript -interface WebhookPayload { - event: string; - action: string; - webhook_id: string; - workspace_id: string; - data: any; - activity: { - actor: { - id: string; - display_name: string; - email?: string; - }; - field?: string; - new_value?: any; - old_value?: any; - }; -} - -// Process incoming webhook -async function handleWebhook(payload: WebhookPayload) { - console.log(`Received ${payload.event} ${payload.action} event`); - - // Get workspace credentials - const credentials = await getCredentialsForWorkspace(payload.workspace_id); - if (!credentials) { - throw new Error(`No credentials found for workspace ${payload.workspace_id}`); - } - - // Process specific event types - if (payload.event === 'issue_comment' && payload.action === 'created') { - const comment = payload.data.comment_stripped; - if (comment.includes('/your-command')) { - // Handle your custom command - await processCommand(payload.data, credentials); - } - } -} -``` - - - - -```python -from typing import Dict, Any -from pydantic import ValidationError - -def handle_webhook(payload_data: Dict[str, Any]): - """Process incoming webhook from Plane with Pydantic validation""" - try: - # Validate webhook payload using Pydantic models - webhook = WebhookEvent(**payload_data) - print(f"Received {webhook.event} {webhook.action} event") - - # Get workspace credentials (implement your own storage) - credentials = get_credentials_for_workspace(webhook.workspace_id) - if not credentials: - raise Exception(f"No credentials found for workspace {webhook.workspace_id}") - - # Process specific event types with validated data - if webhook.event == 'issue_comment' and webhook.action == 'created': - comment_data = CommentEventData(**webhook.data) - comment_text = comment_data.comment_stripped or "" - - if '/your-command' in comment_text: - process_command(comment_data, credentials) - - elif webhook.event == 'issue' and webhook.action == 'updated': - issue_data = IssueEventData(**webhook.data) - - if webhook.activity.field == 'assignees': - handle_assignment_change(issue_data, credentials) - - except ValidationError as e: - print(f"Invalid webhook payload: {e}") - except Exception as e: - print(f"Error processing webhook: {e}") - -def process_command(comment_data: CommentEventData, credentials): - """Process custom commands from issue comments""" - from plane.api import WorkItemsApi - from plane.models import PatchedIssueRequest - - # Use the Plane API to respond to commands - # Implementation depends on your specific command logic - pass - -def handle_assignment_change(issue_data: IssueEventData, credentials): - """Handle issue assignment changes""" - # Your custom logic for handling assignments - pass -``` - - - - -## Obtain and store access tokens securely - -Once you have obtained the access token, you can use it to make authenticated API requests to Plane. -Store the access token and refresh token securely in your database. - - -## Make authenticated API requests to Plane - -For making authenticated API requests to Plane, you can use the access token obtained from the OAuth flow. - -API reference is available at [https://docs.plane.so/api-reference](https://docs.plane.so/api-reference). - -We have official SDKs for the following languages to simplify the OAuth flow and make it easier to call Plane's API. - -| Language | Package Link | Source Code | -|----------|---------|-------------| -| Node.js | [npm i @makeplane/plane-node-sdk](https://www.npmjs.com/package/@makeplane/plane-node-sdk) | [plane-node-sdk](https://github.com/makeplane/plane-node-sdk) | -| Python | [pip install plane-sdk](https://pypi.org/project/plane-sdk/) | [plane-python-sdk](https://github.com/makeplane/plane-python-sdk) | - -## Handle Token Refresh - -Token refresh works differently depending on the type of token you're using: - -### Bot Token Refresh (Client Credentials Flow) - -Bot tokens obtained through the client credentials flow don't use refresh tokens. Instead, when a bot token expires, you simply request a new one using the same `app_installation_id`: - - - - -```python -# When bot token expires, request a new one using the same app_installation_id -from plane.oauth.api import OAuthApi - -def refresh_bot_token(app_installation_id: str): - """Refresh an expired bot token""" - oauth_api = get_oauth_api() # Using helper function from earlier examples - - # Get new bot token using the same app_installation_id - token_response = oauth_api.get_bot_token(app_installation_id) - - # Store the new token securely in your database - new_bot_token = token_response.access_token - expires_in = token_response.expires_in - - return new_bot_token, expires_in - -# Usage example -new_token, expires_in = refresh_bot_token(app_installation_id) -``` - - - - -```typescript -// When bot token expires, request a new one using the same app_installation_id -import axios from 'axios'; - -const clientId = "your_client_id"; -const clientSecret = "your_client_secret"; -const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); - -const payload = { - grant_type: "client_credentials", - app_installation_id: appInstallationId // Same ID used during initial setup -}; - -const response = await axios.post( - "https://api.plane.so/auth/o/token/", - payload, - { - headers: { - Authorization: `Basic ${basicAuth}`, - "Content-Type": "application/x-www-form-urlencoded" - } - } -); - -// Parse the response -const responseData = response.data; -const newBotToken = responseData.access_token; -const expiresIn = responseData.expires_in; -``` - - - - -### User Token Refresh (Authorization Code Flow) - -When user access tokens expire, you can use the refresh token to get a new access token: - - -#### Examples - - - - -```python -# When access token expires, use refresh token to get a new access token -from plane.oauth.api import OAuthApi - -def refresh_user_token(refresh_token: str): - """Refresh an expired user access token""" - oauth_api = get_oauth_api() # Using helper function from earlier examples - - # Use refresh token to get new access token - token_response = oauth_api.exchange_code_for_token( - refresh_token, - "refresh_token", - ) - - # Store the new tokens securely - new_access_token = token_response.access_token - new_refresh_token = token_response.refresh_token # May be the same or new - expires_in = token_response.expires_in - - return new_access_token, new_refresh_token, expires_in - -# Usage example -new_access_token, new_refresh_token, expires_in = refresh_user_token(stored_refresh_token) -``` - - - - -```typescript -// When access token expires, use refresh token to get a new access token -const refreshPayload = { - grant_type: "refresh_token", - refresh_token: refreshToken, - client_id: clientId, - client_secret: clientSecret -}; - -const refreshResponse = await axios.post( - "https://api.plane.so/auth/o/token/", - refreshPayload, - { - headers: { - "Content-Type": "application/x-www-form-urlencoded" - } - } -); - -// Parse the refresh response -const refreshResponseData = refreshResponse.data; -const accessToken = refreshResponseData.access_token; -``` - - - - - -## Listing Your App on Plane Marketplace - -Apps built using the OAuth flow can be listed on the Plane Marketplace: [https://plane.so/marketplace/integrations](https://plane.so/marketplace/integrations) - -To list your app, please contact the Plane team at [**support@plane.so**](mailto:support@plane.so). \ No newline at end of file diff --git a/api-reference/cycle-issue/add-cycle-issue.mdx b/api-reference/cycle-issue/add-cycle-issue.mdx deleted file mode 100644 index 40afbd7..0000000 --- a/api-reference/cycle-issue/add-cycle-issue.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Add cycle issue -description: Adds an issue in a cycle -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/ ---- - -### Path parameters - - - - - - - -### Body - - -It expects a list of issue ids - - diff --git a/api-reference/cycle-issue/delete-cycle-issue.mdx b/api-reference/cycle-issue/delete-cycle-issue.mdx deleted file mode 100644 index 7cc8f6d..0000000 --- a/api-reference/cycle-issue/delete-cycle-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete cycle issue -description: Deletes an issue in a cycle -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/{issue_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/cycle-issue/list-cycle-issues.mdx b/api-reference/cycle-issue/list-cycle-issues.mdx deleted file mode 100644 index a238717..0000000 --- a/api-reference/cycle-issue/list-cycle-issues.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List cycle issues -description: Gets all the issues in a cycle -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/cycle-issue/overview.mdx b/api-reference/cycle-issue/overview.mdx deleted file mode 100644 index d1e6291..0000000 --- a/api-reference/cycle-issue/overview.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Overview ---- - -It contains all the list of issues which are inside a cycle. - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/cycle-issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/cycle-issues/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/cycle-issues/:issue_id/ -``` - -For creating a cycle issue, the payload should be sent in the below format. - -``` -{ - "issues": ["d7a45e13-be2a-4942-aa15-b82c2cf244d0","d23wefadf-dafADfadfadfqeqerqer"] -} -``` - -### Cycle Issue Object - -**Attributes** - -- `sub_issues_count` - - It tells the count of sub issues of the issue - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved - -- `cycle` uuid - - Cycle id of which the issue belongs to - -- `issue` uuid - - Issue id of the issue - - -```json JSON -[ - { - "id": "81686eba-bd63-4fd1-b628-b08ecdb1db06", - "sub_issues_count": 0, - "created_at": "2023-11-20T05:02:41.238578Z", - "updated_at": "2023-11-20T05:02:41.238601Z", - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611", - "cycle": "866f3015-4811-4e8a-9577-e298a56488c5", - "issue": "2f9f16f7-604c-43d3-adb1-5466ade808aa" - } -] -``` - diff --git a/api-reference/cycle/add-cycle.mdx b/api-reference/cycle/add-cycle.mdx deleted file mode 100644 index 1343e5d..0000000 --- a/api-reference/cycle/add-cycle.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Add cycle -description: Adds a cycle in a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/ ---- - -### Path parameters - - - - - -### Body - - diff --git a/api-reference/cycle/delete-cycle.mdx b/api-reference/cycle/delete-cycle.mdx deleted file mode 100644 index 6b6e765..0000000 --- a/api-reference/cycle/delete-cycle.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Delete cycle -description: Deletes a cycle -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/cycle/get-cycle-detail.mdx b/api-reference/cycle/get-cycle-detail.mdx deleted file mode 100644 index fc7e036..0000000 --- a/api-reference/cycle/get-cycle-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get cycle details -description: Gets the details of a cycle -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/cycle/list-cycles.mdx b/api-reference/cycle/list-cycles.mdx deleted file mode 100644 index dcaa6a4..0000000 --- a/api-reference/cycle/list-cycles.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List cycles -description: Gets all the cycles in a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/ ---- - -### Path parameters - - - - diff --git a/api-reference/cycle/overview.mdx b/api-reference/cycle/overview.mdx deleted file mode 100644 index 1b59e85..0000000 --- a/api-reference/cycle/overview.mdx +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: Overview ---- - -Cycles is a custom time period in which a team works to complete items on their backlog. At the end of the sprint, the team will usually have finished building and implementing a new version of their project or product. - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/transfer-issues/ -``` - -To transfer issues of one cycle to another, the payload should be sent in the below format - -``` -{ - "new_cycle_id": "2380ce13-1cc4-4f67-9f57-a2b7686886d7" -} -``` - -### Cycle Object - -**Attributes** - -- `name` string (required) - - Name of the cycle - -- `description` string - - Description of the cycle - -- `start_date` date - - Start date of the cycle - -- `end_date` date - - End date of the cycle - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `view_props` - - It store the filters and the display properties selected by the user to visualize the issues in the module - -- `sort_order` - - It gives the position of the module at which it should be displayed - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or the updated the - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved - -- `owned_by` uuid - - -```json JSON -{ - "id": "50ebc791-65e4-4b4d-a164-3b4e529e55a5", - "created_at": "2023-11-19T12:18:14.900078Z", - "updated_at": "2023-11-19T12:18:14.900088Z", - "name": "cycle testing", - "description": "", - "start_date": null, - "end_date": null, - "view_props": {}, - "sort_order": 35535.0, - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611", - "owned_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c" -} -``` - diff --git a/api-reference/cycle/update-cycle-detail.mdx b/api-reference/cycle/update-cycle-detail.mdx deleted file mode 100644 index e459c4e..0000000 --- a/api-reference/cycle/update-cycle-detail.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update cycle details -description: Updates the details of a cycle -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id} ---- - -### Path parameters - - - - - - - -### Body - - \ No newline at end of file diff --git a/api-reference/inbox-issue/add-inbox-issue.mdx b/api-reference/inbox-issue/add-inbox-issue.mdx deleted file mode 100644 index 2164402..0000000 --- a/api-reference/inbox-issue/add-inbox-issue.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Add intake issue -description: Adds an intake issue in a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/ ---- - -### Path parameters - - - - - -### Body - - - - diff --git a/api-reference/inbox-issue/delete-inbox-issue.mdx b/api-reference/inbox-issue/delete-inbox-issue.mdx deleted file mode 100644 index 7000185..0000000 --- a/api-reference/inbox-issue/delete-inbox-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete intake issue -description: Deletes an intake issue -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/{issue_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/inbox-issue/get-inbox-issue-detail.mdx b/api-reference/inbox-issue/get-inbox-issue-detail.mdx deleted file mode 100644 index 0250d65..0000000 --- a/api-reference/inbox-issue/get-inbox-issue-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get intake issue detail -description: Gets the details of an intake issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/{issue_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/inbox-issue/list-inbox-issues.mdx b/api-reference/inbox-issue/list-inbox-issues.mdx deleted file mode 100644 index e0aa6bb..0000000 --- a/api-reference/inbox-issue/list-inbox-issues.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List intake issues -description: Gets all the intake issue of a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/ ---- - -### Path parameters - - - - diff --git a/api-reference/inbox-issue/overview.mdx b/api-reference/inbox-issue/overview.mdx deleted file mode 100644 index 5afc1f8..0000000 --- a/api-reference/inbox-issue/overview.mdx +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Overview ---- - - -**Deprecation notice** - -We are deprecating all `/api/v1/.../inbox-issues/` endpoints in favor of `/api/v1/.../intake-issues/`. - -**End of support** -31st March 2025 - -**What you need to do** -To ensure uninterrupted service, replace all `/inbox-issues/` references with `/intake-issues/` in your codebase before the support end date. - - -To enable the Intake feature, the user can hit a PATCH request on the project api with the body as - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/:issue_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/:issue_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/:issue_id/ -``` - -``` -{ - inbox_view:true, -} -``` - -To create an Intake issue, the payload should be sent in the below format - -```json -{ - "issue": { - "name": "Snoozed Issue 2", - "priority": "high" - } -} -``` - -### Intake issue object - -**Attribute** - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `status` - - the status of the issue can be in above mentioned status - - - \-2 - Pending - - \-1 - Rejected - - 0 - Snoozed - - 1 - Accepted - - 2 - Duplicate - -- `snoozed_till` - - The time untill the issue is snoozed. - -- `source` - - The source describes the type intake issue from - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved. - -- `inbox` - - intake id of the issue - -- `issue` - - issue id of the issue - -- `duplicate_to` - - Id of the issue of which the current issue is duplicate of. - - -```json JSON -{ - "id": "0de4d6d1-fdc7-4849-8080-dc379ab210e3", - "pending_issue_count": 0, - "created_at": "2023-11-21T07:32:26.072634Z", - "updated_at": "2023-11-21T07:32:26.072648Z", - "name": "a dummy project with Intake", - "description": "", - "is_default": true, - "view_props": {}, - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611" -} - -``` - \ No newline at end of file diff --git a/api-reference/inbox-issue/update-inbox-issue-detail.mdx b/api-reference/inbox-issue/update-inbox-issue-detail.mdx deleted file mode 100644 index 6843abd..0000000 --- a/api-reference/inbox-issue/update-inbox-issue-detail.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Update intake issue detail -description: Updates the details of an intake issue -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/{issue_id} ---- - -### Path parameters - - - - - - - -### Body - - - - diff --git a/api-reference/intake-issue/add-intake-issue.mdx b/api-reference/intake-issue/add-intake-issue.mdx deleted file mode 100644 index fd75958..0000000 --- a/api-reference/intake-issue/add-intake-issue.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Add intake issue -description: Adds an intake issue in a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/ ---- - -### Path parameters - - - - - -### Body - - - - diff --git a/api-reference/intake-issue/delete-intake-issue.mdx b/api-reference/intake-issue/delete-intake-issue.mdx deleted file mode 100644 index 9083012..0000000 --- a/api-reference/intake-issue/delete-intake-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete intake issue -description: Deletes an intake issue -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/{issue_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/intake-issue/get-intake-issue-detail.mdx b/api-reference/intake-issue/get-intake-issue-detail.mdx deleted file mode 100644 index eb488b2..0000000 --- a/api-reference/intake-issue/get-intake-issue-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get intake issue detail -description: Gets the details of an intake issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/{issue_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/intake-issue/list-intake-issues.mdx b/api-reference/intake-issue/list-intake-issues.mdx deleted file mode 100644 index 6c553c2..0000000 --- a/api-reference/intake-issue/list-intake-issues.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List intake issues -description: Gets all the intake issue of a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/ ---- - -### Path parameters - - - - diff --git a/api-reference/intake-issue/overview.mdx b/api-reference/intake-issue/overview.mdx deleted file mode 100644 index 1ba8a9f..0000000 --- a/api-reference/intake-issue/overview.mdx +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Overview ---- - - -**Deprecation notice** - -We are deprecating all `/api/v1/.../inbox-issues/` endpoints in favor of `/api/v1/.../intake-issues/`. - -**End of support** -31st March 2025 - -**What you need to do** -To ensure uninterrupted service, replace all `/inbox-issues/` references with `/intake-issues/` in your codebase before the support end date. - - -To enable the Intake feature, the user can hit a PATCH request on the project api with the body as - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/:issue_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/:issue_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/:issue_id/ -``` - -``` -{ - intake_view:true, -} -``` - -To create an Intake issue, the payload should be sent in the below format - -```json -{ - "issue": { - "name": "Snoozed Issue 2", - "priority": "high" - } -} -``` - -### Intake issue object - -**Attribute** - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `status` - - the status of the issue can be in above mentioned status - - - \-2 - Pending - - \-1 - Rejected - - 0 - Snoozed - - 1 - Accepted - - 2 - Duplicate - -- `snoozed_till` - - The time untill the issue is snoozed. - -- `source` - - The source describes the type intake issue from - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved. - -- `inbox` - - intake id of the issue - -- `issue` - - issue id of the issue - -- `duplicate_to` - - Id of the issue of which the current issue is duplicate of. - - -```json JSON -{ - "id": "0de4d6d1-fdc7-4849-8080-dc379ab210e3", - "pending_issue_count": 0, - "created_at": "2023-11-21T07:32:26.072634Z", - "updated_at": "2023-11-21T07:32:26.072648Z", - "name": "a dummy project with Intake", - "description": "", - "is_default": true, - "view_props": {}, - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611" -} - -``` - \ No newline at end of file diff --git a/api-reference/intake-issue/update-intake-issue-detail.mdx b/api-reference/intake-issue/update-intake-issue-detail.mdx deleted file mode 100644 index 40dccf9..0000000 --- a/api-reference/intake-issue/update-intake-issue-detail.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Update intake issue detail -description: Updates the details of an intake issue -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/{issue_id} ---- - -### Path parameters - - - - - - - -### Body - - - - diff --git a/api-reference/introduction.mdx b/api-reference/introduction.mdx deleted file mode 100644 index 3818074..0000000 --- a/api-reference/introduction.mdx +++ /dev/null @@ -1,293 +0,0 @@ ---- -title: Plane API Documentation -sidebarTitle: Introduction -description: The Plane API is organized around REST. Our API has predictable resource-oriented URLs, accepts application/json request bodies, returns JSON responses, and uses standard HTTP response codes, authentication, and verbs. ---- - -### Base URL -All requests to the Plane Cloud API must be made to the following base URL: - ``` - https://api.plane.so/ - ``` -This URL should be prefixed to all endpoint paths. - -For example, to retrieve all projects in a workspace: - ``` - GET https://api.plane.so/api/v1/workspaces/:workspace-slug/projects/ - ``` - -💡 If you're using a self-hosted instance of Plane, your API base URL will differ based on your custom domain and setup. - - -### Authentication - -Our APIs use a key for authentication. The API key should be included in the header of each request to verify the client's identity and permissions. The key should be passed as the value of the `X-API-Key` header. - -You must have a Plane account or be registered to your instance to generate a key. -1. Log into your Plane account and go to **Profile Settings**. - ![Profile Settings](/images/api-reference/profile-settings.png) -2. Go to **Personal Access Tokens** in the list of tabs available. - ![API Tokens](/images/api-reference/api-tokens-plane.png) -3. Click `Add personal access token`. - ![Add API key](/images/api-reference/add-api-key-plane.png) -4. Choose a title and description so you know why you are creating this token and where you will use is. -5. Choose an expiry if you want this to stop working after a point. - -### Using the API Key - -To authenticate an API request, include your API key in the request header: - -``` -X-API-Key: - -``` - - -It is important to keep your API key confidential to prevent unauthorized access to your account. - -### Example of an Authenticated API Request - -Here's an example of making a GET request to the API with the API key: - -### Request - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/ -Headers: - X-API-Key: plane_api_ - -``` - - -### Response - -``` -{ - [ ... ], -} - -``` - - -### Error Handling - -* **Missing API Key**: If the **`X-API-Key`** header is not included, the API will return an error indicating that authentication is required. -* **Invalid API Key**: If the provided API key is invalid or expired, the API will return an error message indicating an authentication failure. - -### Security Recommendations - -* **Keep the API Key Secret**: Treat your API key like a password. Do not share it or expose it in client-side code. -* **Regenerate Key If Compromised**: If you suspect that your API key has been compromised, generate a new one immediately and update your applications. - -* * * - -### **Status codes** - -**HTTP Methods** - -HTTP defines a set of request methods, also known as HTTP verbs, to indicate the desired action for a given resource. - -Given below is the list of methods commonly adopted by Plane's APIs: - - -|Verb |Description |Example | -|------|---------------------------------------------------|-------------------------------| -|GET |Requests a representation of the specified resource|Fetch all issues from a project| -|POST |Submits an entity to the specified resource |Create a project | -|DELETE|Deletes the specified resource |Delete a module-issue | -|PATCH |Applies partial modifications to a resource |Edit a module | - - -Given below is the list of the most commonly encountered success responses: - - -| Status Code | Description | -|----------------|-----------------------------------------------------------------------------------------------------| -| 200 OK | The request succeeded, and a new resource was created, generally sent in GET or PATCH requests. | -| 201 Created | The request is succeeded, and a new resource was created, generally sent in POST or PATCH requests. | -| 204 No Content | The request is succeeded, and no body is sent, generally comes from the DELETE request. | - -### Error Response - -Given below is the list of the most commonly encountered error responses: - - - -| Status Code | Description | -|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 400 Bad Request | The server cannot or will not process the request due to something that is perceived to be a client error. | -| 401 Unauthorized | Although the HTTP standard specifies "unauthorized", semantically, this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. | -| 404 Not Found | The server cannot find the requested resource. This means the URL is not recognized. | -| 429 Throttling Error | The server is processing too many requests at once and is unable to process your request. Retry the request after some time. You can read our rate-limit doc. | -| 500 Internal Server Error | The server has encountered a situation it does not know how to handle. | -| 502 Bad Gateway | This error response means that the server got an invalid response while working as a gateway to get a response needed to handle the request. | -| 503 Service Unavailable | The server is not ready to handle the request. Common causes are a server that is down for maintenance or is overloaded. | -| 504 Gateway Timeout | This error response is given when the server acts as a gateway and cannot get a timely response. | - -## Pagination Documentation - -### Overview - -This API implements a cursor-based pagination system, allowing clients to efficiently navigate through large datasets. The system uses a cursor parameter to manage the position and direction of pagination. - -### Cursor Format - -The cursor is a string formatted as **`value:offset:is_prev`**, where: - -* **`value`** represents the page size (number of items per page). -* **`offset`** is the current page number (starting from 0). -* **`is_prev`** indicates whether the cursor is moving to the previous page (**`1`**) or to the next page (**`0`**). - -### Request Parameters - -* **`per_page` (optional)**: Number of items to display per page. Defaults to 100. The maximum allowed value specified by the server is 100. -* **`cursor` (optional)**: Cursor string to navigate to a specific page. If not provided, pagination starts from the first page. - -### Responses - -The paginated response includes the following fields: - -* **`next_cursor`**: Cursor string for the next page. -* **`prev_cursor`**: Cursor string for the previous page. -* **`next_page_results`**: Boolean indicating if there are more results after the current page. -* **`prev_page_results`**: Boolean indicating if there are results before the current page. -* **`count`**: Total number of items on the current page. -* **`total_pages`**: Estimated total number of pages. -* **`total_results`**: Total number of items across all pages. -* **`extra_stats`**: Additional statistics, if any. -* **`results`**: Array of items for the current page. - -### Request: Fetching the First Page - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?per_page=20 - -``` - - -### Response: First Page - -``` -{ - "next_cursor": "20:1:0", - "prev_cursor": "", - "next_page_results": true, - "prev_page_results": false, - "count": 20, - "total_pages": 50, - "total_results": 1000, - "extra_stats": {}, - "results": [ ... items ... ] -} - -``` - - -### Request: Fetching the Next Page - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues?per_page=20&cursor=20:1:0 - -``` - - -### Response: Second Page - -``` -{ - "next_cursor": "20:2:0", - "prev_cursor": "20:0:1", - "next_page_results": true, - "prev_page_results": true, - "count": 20, - "total_pages": 50, - "total_results": 1000, - "extra_stats": {}, - "results": [ ... items ... ] -} - -``` - - -### Error Handling - -* **Invalid Cursor Format**: If the provided cursor string is not in the correct format, the API will respond with an error message indicating an invalid cursor format. -* **Pagination Limits**: Requests exceeding the maximum **`per_page`** limit will receive an error response detailing the maximum allowed value. - -* * * - -## Rate Limit - -### Overview - -To ensure fair usage and maintain the quality of service for all users, our API implements rate limiting. Rate limiting restricts the number of requests a client can make within a certain time frame. - -### Rate Limit Details - -* **Limit**: Each client is limited to 60 requests per minute. -* **Reset Interval**: The rate limit counter resets every minute. -* **Scope of Limitation**: The rate limit applies to all requests made with a given API key. - -## Identifying Your Rate Limit Status - -Rate limit status is communicated in the response headers of each API request: - -* **`X-RateLimit-Remaining`**: The number of requests remaining in the current rate limit window. -* **`X-RateLimit-Reset`**: The time at which the current rate limit window resets (in UTC epoch seconds). - -``` -X-RateLimit-Remaining: 45 -X-RateLimit-Reset: 1700327957 - -``` - - -## Fields and Expand Query Parameters - -Our API provides flexible data retrieval capabilities through two powerful query parameters: fields and expand. These parameters allow clients to tailor the response data to their specific needs, optimizing both the payload size and the clarity of the response. - -### Fields Parameter - -### Overview - -The fields parameter enables clients to selectively retrieve only a subset of fields for a given resource. This is particularly useful for minimizing response size and bandwidth consumption, especially when the client requires only specific pieces of data. - -### Usage - -* The **`fields`** parameter accepts a comma-separated list of field names that the client wants to be included in the response. -* Syntax: **`?fields=field1,field2,field3`** - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?fields=id,name,description - -``` - - -In this example, the API will return only the **`id`**, **`name`**, and **`description`** fields of the resource. - -### Expand Parameter - -### Overview - -The expand parameter allows clients to request additional related information to be included in the response. This is useful for retrieving detailed information about nested resources without making separate API calls. - -### Usage - -* The **`expand`** parameter can be used to include details of related resources or nested objects in the response. -* Syntax: **`?expand=field1,field2`** - -## Example - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?expand=assignees,state - -``` - - -This request will return the resource data along with expanded information about the `assignees` and `state`. - -### Error Handling - -* Invalid or unrecognized field names passed in the **`fields`** parameter will result in an error response, indicating which fields are invalid. -* Similarly, if **`expand`** is used on fields that cannot be expanded, an appropriate error message will be returned. -import { appendFileSync } from "fs" diff --git a/api-reference/issue-activity/get-issue-activity-detail.mdx b/api-reference/issue-activity/get-issue-activity-detail.mdx deleted file mode 100644 index 89d158b..0000000 --- a/api-reference/issue-activity/get-issue-activity-detail.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Get issue activity details -description: Gets the details of an activity -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/activities/{activity_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/issue-activity/list-issue-activities.mdx b/api-reference/issue-activity/list-issue-activities.mdx deleted file mode 100644 index 52c296f..0000000 --- a/api-reference/issue-activity/list-issue-activities.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List issue activity -description: Gets the activities of an issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/activities/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/issue-activity/overview.mdx b/api-reference/issue-activity/overview.mdx deleted file mode 100644 index 6208a56..0000000 --- a/api-reference/issue-activity/overview.mdx +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Overview -description: Issue activities are the history of all the changes that happened to the issue like property changes etc. ---- - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/activities/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/activities/:activity_id/ -``` - -### Issue Activity Object - -**Attributes** - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `verb` _string_ - - created or updated - -- `field` _string_ or _null_ - - The field that got changed null when created - -- `old_value` _string_ - - Old value of the field - -- `new_value` _string_ - - New value of the field - -- `comment` _string_ - - Comment auto generated - -- `attachments` - _\[url,\]_ - - Url of all the attachments that are in the activity - -- `old_identifier` _uuid_ - - Old identifier of the field - -- `new_identifier` _uuid_ - - New identifier of the field - -- `epoch` _float_ - - Epoch float field when the activity was created. - -- `project` uuid - - It contains projects uuid which is automatically saved. - -- `workspace` uuid - - It contains workspace uuid which is automatically saved - -- `issue` _uuid_ - - The issue the activity is attached to - -- `issue_comment` _uuid or null_ - - The comment uuid if the activity was created due to a comment - -- `actor` uuid - - The actor who triggered this actor - - -```json JSON -{ - "id": "35612f5b-3eff-4130-b91c-c976ff887a20", - "created_at": "2023-11-19T11:56:55.452555Z", - "updated_at": "2023-11-19T11:56:55.452561Z", - "verb": "created", - "field": null, - "old_value": null, - "new_value": null, - "comment": "created the issue", - "attachments": [], - "old_identifier": null, - "new_identifier": null, - "epoch": 1700395015.0, - "project": "4af68566-94a4-4eb3-94aa-50dc9427067b", - "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", - "issue": "e1c25c66-5bb8-465e-a818-92a483423443", - "issue_comment": null, - "actor": "16c61a3a-512a-48ac-b0be-b6b46fe6f430" -} -``` - diff --git a/api-reference/issue-attachments/complete-upload.mdx b/api-reference/issue-attachments/complete-upload.mdx deleted file mode 100644 index 1ce144d..0000000 --- a/api-reference/issue-attachments/complete-upload.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Complete upload -description: Notifies the server that an attachment has been successfully uploaded to S3. This endpoint should be called after you've [uploaded the file](/api-reference/issue-attachments/upload-file). -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/{asset_id}/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -The unique identifier of the attachment generated by the [Get upload credentials](/api-reference/issue-attachments/get-upload-credentials#response) endpoint. - - - - diff --git a/api-reference/issue-attachments/get-attachments.mdx b/api-reference/issue-attachments/get-attachments.mdx deleted file mode 100644 index eef7cc0..0000000 --- a/api-reference/issue-attachments/get-attachments.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Get attachments -description: Gets all the attachments in the issue. -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -### Response - -```json -{ - "id": "", - "created_at": "2024-10-30T09:32:32.815273Z", - "updated_at": "2024-10-30T09:32:35.533136Z", - "deleted_at": null, - "attributes": { - "name": "example.png", - "size": 135686, - "type": "image/png" - }, - "asset": "/-example.png", - "entity_type": "ISSUE_ATTACHMENT", - "is_deleted": false, - "is_archived": false, - "external_id": null, - "external_source": null, - "size": 135686.0, - "is_uploaded": true, - "storage_metadata": { - "ETag": "", - "Metadata": {}, - "ContentType": "image/png", - "LastModified": "2024-10-30T09:32:34+00:00", - "ContentLength": 135686 - }, - "created_by": "", - "updated_by": "", - "workspace": "", - "project": "", - "issue": "" -} -``` \ No newline at end of file diff --git a/api-reference/issue-attachments/get-upload-credentials.mdx b/api-reference/issue-attachments/get-upload-credentials.mdx deleted file mode 100644 index ac09ab2..0000000 --- a/api-reference/issue-attachments/get-upload-credentials.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Get upload credentials -description: Creates a pre-signed POST form data for uploading an attachment directly to S3. This endpoint handles the first step of the two-and-a-half step upload process where you first get the upload credentials and then use them to upload the actual file. -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -### Body - -Original filename of the attachment -MIME type of the file (e.g., `image/png`, `application/pdf`) -Size of the file in bytes - -### Response -Returns an object containing the S3 pre-signed POST data for direct upload. - -```json -{ - "upload_data": { - "url": "", - "fields": { - "Content-Type": "image/png", - "key": "/-filename", - "x-amz-algorithm": "AWS4-HMAC-SHA256", - "x-amz-credential": "///s3/aws4_request", - "x-amz-date": "", - "policy": "", - "x-amz-signature": "" - } - }, - "asset_id": "", - "attachment": { - "id": "", - "created_at": "2025-01-03T12:07:35.621734Z", - "updated_at": "2025-01-03T12:07:35.621766Z", - "deleted_at": null, - "attributes": { - "name": "filename", - "type": "image/png", - "size": 5242880 - }, - "asset": "/-filename", - "entity_type": "ISSUE_ATTACHMENT", - "is_deleted": false, - "is_archived": false, - "external_id": null, - "external_source": null, - "size": 5242880.0, - "is_uploaded": false, - "storage_metadata": {}, - "created_by": "", - "updated_by": null, - "workspace": "", - "project": "", - "issue": "", - }, - "asset_url": "/api/assets/v2/workspaces//projects//issues//attachments//" -} -``` \ No newline at end of file diff --git a/api-reference/issue-attachments/overview.mdx b/api-reference/issue-attachments/overview.mdx deleted file mode 100644 index d4c14de..0000000 --- a/api-reference/issue-attachments/overview.mdx +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Overview -description: Allows you to manage file attachments associated with issues and Intake issues. You can upload new attachments and retrieve existing attachments for a specific issue. ---- - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-attachments/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-attachments/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-attachments/asset-id/ -``` - -## Upload Process - -1. Get the [upload credentials](/api-reference/issue-attachments/get-upload-credentials). -2. [Upload the file](/api-reference/issue-attachments/upload-file) to storage. -3. [Complete attachment upload](/api-reference/issue-attachments/complete-upload) to notify server. - -## Issue attachment object - -**Attributes** - -* `id` _string_ - - Unique identifier for the attachment - -* `created_at` , `updated_at`, `deleted_at` _timestamp_ - - Timestamp when the attachment was created, when it was last modified or deleted - -* `attributes` _object_ - - Contains file metadata: - - * `name` _string_ - - Original filename of the attachment - - * `size` _integer_ - - File size in bytes - - * `type` _string_ - - MIME type of the file - -* `asset` _string_ - - Storage path/identifier for the attachment file - -* `entity-type` _string_ - - Always `ISSUE_ATTACHMENT` for issue attachments - -* `is_deleted` _boolean_ - - Whether the attachment has been deleted - -* `is_archived` _boolean_ - - Whether the attachment has been archived - -* `external_id` _string_ or _null_ - - External identifier if the issue and its attachments are imported to Plane - -* `external_source` _string_ or _null_ - - Name of the source if the issue and its attachments are imported to Plane - -* `size` _integer_ - - File size in bytes - -* `is_uploaded` _boolean_ - - Whether the file has been successfully uploaded - -* `storage_metadata` _object_ - - Cloud storage metadata: - - * `ETag` _string_ - - Storage provider's entity tag - - * `Metadata` _object_ - - Additional storage metadata - - * `ContentType` _object_ - - MIME type of stored file - - * `LastModified` _timestamp_ - - Last modification time in storage - - * `ContentLength` _integer_ - - File size in bytes - -* `created_by` _string_ - - ID of user who created the attachment - -* `updated_by` _string_ - - ID of user who last modified the attachment - -* `deleted_by` _string_ - - ID of user who deleted the attachment - -* `workspace` _string_ - - ID of workspace containing the attachment - -* `project` _string_ - - ID of project containing the issue - -* `issue` _string_ - - ID of issue containing the attachment - - - -```json JSON -{ - "id": "8caf3ed5-4f57-9674-76c4fce146b2", - "created_at": "2024-10-30T09:32:32.815273Z", - "updated_at": "2024-10-30T09:32:35.533136Z", - "deleted_at": null, - "attributes": { - "name": "plane-logo.png", - "size": 135686, - "type": "image/png" - }, - "asset": "9b8aab8a-9052-fc735350abe8/6893d862ecb740d4b7f9f6542cda539c-plane.png", - "entity_type": "ISSUE_ATTACHMENT", - "is_deleted": false, - "is_archived": false, - "external_id": null, - "external_source": null, - "size": 135686.0, - "is_uploaded": true, - "storage_metadata": { - "ETag": "\"72d0d4be99999fe60c2fbc08c8b\"", - "Metadata": {}, - "ContentType": "image/png", - "LastModified": "2024-10-30T09:32:34+00:00", - "ContentLength": 135686 - }, - "created_by": "575de6bf-e120-43bb-9f6a-eae276210575", - "updated_by": "575de6bf-e120-43bb-9f6a-eae276210575", - "workspace": "9b8aab8a-9s6a-99ac-fc735350abe8", - "project": "1790bd-5262-42fb-ac55-568c19a5", - "issue": "7ba090-7702-4e26-a61e-aa6b866f7", - } -``` - diff --git a/api-reference/issue-attachments/upload-file.mdx b/api-reference/issue-attachments/upload-file.mdx deleted file mode 100644 index a978141..0000000 --- a/api-reference/issue-attachments/upload-file.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Upload file -description: Upload the file using the credentials generated by the [Get upload credentials](/api-reference/issue-attachments/get-upload-credentials) endpoint. -api: POST https://planefs-uploads.s3.amazonaws.com/ ---- - - -**Self-hosted instances** - -Use the upload URL returned by the [Get upload credentials](/api-reference/issue-attachments/get-upload-credentials) endpoint. - - - -### Body - -The MIME type of the file -The target path/filename in S3 -AWS signature algorithm (AWS4-HMAC-SHA256) -AWS signature algorithm (AWS4-HMAC-SHA256) -Request timestamp -Base64-encoded policy document -Request signature -The file to be uploaded - diff --git a/api-reference/issue-comment/add-issue-comment.mdx b/api-reference/issue-comment/add-issue-comment.mdx deleted file mode 100644 index 3c95fa0..0000000 --- a/api-reference/issue-comment/add-issue-comment.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Add issue comment -description: Adds a comment to an issue -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/ ---- - -### Path parameters - - - - - - - -### Body - - diff --git a/api-reference/issue-comment/delete-issue-comment.mdx b/api-reference/issue-comment/delete-issue-comment.mdx deleted file mode 100644 index 7a4670a..0000000 --- a/api-reference/issue-comment/delete-issue-comment.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete issue comment -description: Deletes a comment of an issue -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/{comment_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/issue-comment/get-issue-comment-detail.mdx b/api-reference/issue-comment/get-issue-comment-detail.mdx deleted file mode 100644 index 04dd23a..0000000 --- a/api-reference/issue-comment/get-issue-comment-detail.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Get issue comment details -description: Gets the details of a comment of an issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/{comment_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/issue-comment/list-issue-comments.mdx b/api-reference/issue-comment/list-issue-comments.mdx deleted file mode 100644 index bd4aadf..0000000 --- a/api-reference/issue-comment/list-issue-comments.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List issue comments -description: Gets all the comments of an issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/ ---- - -### Path parameters - - - - - - \ No newline at end of file diff --git a/api-reference/issue-comment/overview.mdx b/api-reference/issue-comment/overview.mdx deleted file mode 100644 index f244630..0000000 --- a/api-reference/issue-comment/overview.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: Overview -description: The comments that are added to the issue ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/:comment_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/:comment_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/:comment_id/ -``` - -### Issue Comment Object - -**Attributes** - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `comment_html` html \*string **(required)\*** - - HTML string version of the comment - -- `comment_stripped` _string_ - - Stripped string version of the comment - -- `access` _string_ - - If the comment should be visible externally also if the project is published or not. Takes in two values - - - INTERNAL - - EXTERNAL - -- `project` uuid - - It contains projects uuid which is automatically saved. - -- `workspace` uuid - - It contains workspace uuid which is automatically saved - -- `issue` _uuid_ - - The issue the activity is attached to - -- `actor` _uuid_ - - UUID of the user who commented. - - -```json JSON -{ - "id": "f3e29f26-708d-40f0-9209-7e0de44abc49", - "created_at": "2023-11-20T09:26:10.383129Z", - "updated_at": "2023-11-20T09:26:10.383140Z", - "comment_stripped": "Initialf ThoughtsaMy initial thoughts on this are very good", - "comment_json": {}, - "comment_html": "

Initialf Thoughts

a

My initial thoughts on this are very good

", - "attachments": [], - "access": "INTERNAL", - "created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "project": "4af68566-94a4-4eb3-94aa-50dc9427067b", - "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", - "issue": "e1c25c66-5bb8-465e-a818-92a483423443", - "actor": "16c61a3a-512a-48ac-b0be-b6b46fe6f430" -} -``` -
diff --git a/api-reference/issue-comment/update-issue-comment-detail.mdx b/api-reference/issue-comment/update-issue-comment-detail.mdx deleted file mode 100644 index 3161891..0000000 --- a/api-reference/issue-comment/update-issue-comment-detail.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Update issue comment details -description: Gets the details of a comment of an issue -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/{comment_id} ---- - -### Path parameters - - - - - - - - - -### Body - - diff --git a/api-reference/issue-types/options/add-dropdown-options.mdx b/api-reference/issue-types/options/add-dropdown-options.mdx deleted file mode 100644 index 79a53b5..0000000 --- a/api-reference/issue-types/options/add-dropdown-options.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Add dropdown options -description: Allows you to define a list of options for the dropdown property type. -api: POST /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-properties/{property_id}/options/ ---- - -### Path parameters - - - - - -### Body - - - - - - diff --git a/api-reference/issue-types/options/delete-dropdown-options.mdx b/api-reference/issue-types/options/delete-dropdown-options.mdx deleted file mode 100644 index f0e466a..0000000 --- a/api-reference/issue-types/options/delete-dropdown-options.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Delete property options -description: Enables you to remove specific options from a dropdown custom property. -api: DELETE /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-properties/{property_id}/options/{option_id}/ ---- - -### Path parameters - - - - - diff --git a/api-reference/issue-types/options/get-option-details.mdx b/api-reference/issue-types/options/get-option-details.mdx deleted file mode 100644 index d414fa3..0000000 --- a/api-reference/issue-types/options/get-option-details.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Get option details -description: Retrieves information about a specific option within a dropdown property. -api: GET /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-properties/{property_id}/options/{option_id}/ ---- - -### Path parameters - - - - - diff --git a/api-reference/issue-types/options/list-dropdown-options.mdx b/api-reference/issue-types/options/list-dropdown-options.mdx deleted file mode 100644 index e3a11a4..0000000 --- a/api-reference/issue-types/options/list-dropdown-options.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List property options -description: Retrieves all available options for a specific dropdown custom property. -api: GET /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-properties/{property_id}/options/ ---- - -### Path parameters - - - - diff --git a/api-reference/issue-types/options/overview.mdx b/api-reference/issue-types/options/overview.mdx deleted file mode 100644 index 0167516..0000000 --- a/api-reference/issue-types/options/overview.mdx +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Overview -description: Provides a set of endpoints for adding, modifying, and deleting options within the dropdown custom property types. ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-properties/:property_id/options/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-properties/:property_id/options/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-properties/:property_id/options/:option_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-properties/:property_id/options/:option_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-properties/:property_id/options/:option_id/ -``` - -### Issue Property Options Object - -- `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - -- `project` _uuid_ - - The project which the issue is part of auto generated from backend - -- `created_at` , `updated_at` timestamp - - Timestamp of the issue when it was created and when it was last updated. - -- `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -- `external_id` & `external_source` - - This values are auto saved and represent the id of the user that created or the updated the project. - - - -```json JSON -{ - "id": "51a869d1-f612-4315-ac91-ffef3e96c20e", - "created_at": "2024-10-23T07:44:42.883820Z", - "updated_at": "2024-10-23T07:44:42.883855Z", - "deleted_at": null, - "name": "issue property option 3", - "sort_order": 10000.0, - "description": "issue property option 3 description", - "logo_props": {}, - "is_active": true, - "is_default": false, - "external_source": null, - "external_id": null, - "created_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "updated_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "workspace": "70b6599f-9313-4c0d-b5c0-406a13a05647", - "project": "03a9bf56-84f4-4afe-b232-9400eb9b7b6b", - "property": "f962febb-98bc-43ca-8bfb-8012e4d54dae", - "parent": null -} -``` - - diff --git a/api-reference/issue-types/options/update-dropdown-options.mdx b/api-reference/issue-types/options/update-dropdown-options.mdx deleted file mode 100644 index 2b24a8a..0000000 --- a/api-reference/issue-types/options/update-dropdown-options.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Update property options -description: Lets you modify existing options within a dropdown property. -api: PATCH /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-properties/{property_id}/options/{option_id}/ ---- - -### Path parameters - - - - - - -### Body - - - - - - diff --git a/api-reference/issue-types/properties/add-property.mdx b/api-reference/issue-types/properties/add-property.mdx deleted file mode 100644 index 6266fbc..0000000 --- a/api-reference/issue-types/properties/add-property.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Add issue properties -description: Define additional attributes for an issue type in your project. -api: POST /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/issue-properties/ ---- - -### Path parameters - - - - - -### Body - - - - -TEXT | DATETIME | DECIMAL | BOOLEAN | OPTION | RELATION - - -null | USER - - - - - - diff --git a/api-reference/issue-types/properties/delete-property.mdx b/api-reference/issue-types/properties/delete-property.mdx deleted file mode 100644 index 062d057..0000000 --- a/api-reference/issue-types/properties/delete-property.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Delete issue properties -description: Remove specific custom properties from an issue type in your project. -api: DELETE /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/issue-properties/{property_id}/ ---- - -### Path parameters - - - - - diff --git a/api-reference/issue-types/properties/get-property-details.mdx b/api-reference/issue-types/properties/get-property-details.mdx deleted file mode 100644 index fa1aa58..0000000 --- a/api-reference/issue-types/properties/get-property-details.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Get property details -description: Retrieves detailed information about a specific custom property for an issue type in your project. -api: GET /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/issue-properties/{property_id}/ ---- - -### Path parameters - - - - - diff --git a/api-reference/issue-types/properties/list-properties.mdx b/api-reference/issue-types/properties/list-properties.mdx deleted file mode 100644 index c58c25b..0000000 --- a/api-reference/issue-types/properties/list-properties.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List issue properties -description: Fetches all custom properties associated with a specific issue type in your project. -api: GET /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/issue-properties/ ---- - -### Path parameters - - - - diff --git a/api-reference/issue-types/properties/overview.mdx b/api-reference/issue-types/properties/overview.mdx deleted file mode 100644 index 6157067..0000000 --- a/api-reference/issue-types/properties/overview.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Overview -description: Offers a set of endpoints designed for adding, modifying, and deleting custom properties associated with issue types in your project. ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/issue-properties/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/issue-properties/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/issue-properties/:property_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/issue-properties/:property_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/issue-properties/:property_id/ -``` - -### Issue Properties Object - -- `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - -- `project` _uuid_ - - The project which the issue is part of auto generated from backend - -- `created_at` , `updated_at` timestamp - - Timestamp of the issue when it was created and when it was last updated. - -- `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -- `external_id` & `external_source` - - This values are auto saved and represent the id of the user that created or the updated the project. - - - -```json JSON -{ - "id": "f962febb-98bc-43ca-8bfb-8012e4d54dae", - "created_at": "2024-10-23T07:38:58.231897Z", - "updated_at": "2024-10-23T07:38:58.231920Z", - "deleted_at": null, - "name": "first-issue-property", - "display_name": "first issue property", - "description": "first issue property", - "logo_props": {}, - "sort_order": 75535.0, - "property_type": "OPTION", - "relation_type": null, - "is_required": false, - "default_value": [], - "settings": {}, - "is_active": false, - "is_multi": false, - "validation_rules": {}, - "external_source": null, - "external_id": null, - "created_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "updated_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "workspace": "70b6599f-9313-4c0d-b5c0-406a13a05647", - "project": "03a9bf56-84f4-4afe-b232-9400eb9b7b6b", - "issue_type": "1800681a-a749-487b-9003-3279031fea35" -} -``` - - diff --git a/api-reference/issue-types/properties/update-property.mdx b/api-reference/issue-types/properties/update-property.mdx deleted file mode 100644 index 0b794d0..0000000 --- a/api-reference/issue-types/properties/update-property.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Update issue properties -description: Lets you modify existing properties for an issue type in your project. -api: PATCH /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/issue-properties/{property_id}/ ---- - -### Path parameters - - - - - - -### Body - - - - -TEXT | DATETIME | DECIMAL | BOOLEAN | OPTION | RELATION - - -null | USER - - - - - - diff --git a/api-reference/issue-types/types/add-issue-type.mdx b/api-reference/issue-types/types/add-issue-type.mdx deleted file mode 100644 index f81f48a..0000000 --- a/api-reference/issue-types/types/add-issue-type.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Add issue type -description: Lets you create custom issue types in your project. -api: POST /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/ ---- - -### Path parameters - - - - -### Body - - - - diff --git a/api-reference/issue-types/types/delete-issue-type.mdx b/api-reference/issue-types/types/delete-issue-type.mdx deleted file mode 100644 index b494557..0000000 --- a/api-reference/issue-types/types/delete-issue-type.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Delete issue type -description: Lets you to remove an existing issue type from your project. -api: DELETE /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/ ---- - -### Path parameters - - - - diff --git a/api-reference/issue-types/types/get-issue-type-details.mdx b/api-reference/issue-types/types/get-issue-type-details.mdx deleted file mode 100644 index 0bcb772..0000000 --- a/api-reference/issue-types/types/get-issue-type-details.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Get issue type details -description: Retrieves details for a specific issue type using its unique ID. -api: GET /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/ ---- - -### Path parameters - - - - diff --git a/api-reference/issue-types/types/list-issue-types.mdx b/api-reference/issue-types/types/list-issue-types.mdx deleted file mode 100644 index f3f7410..0000000 --- a/api-reference/issue-types/types/list-issue-types.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: List issue types -description: Fetches all available issue types in your project. -api: GET /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/ ---- - -### Path parameters - - - diff --git a/api-reference/issue-types/types/overview.mdx b/api-reference/issue-types/types/overview.mdx deleted file mode 100644 index 8b6867d..0000000 --- a/api-reference/issue-types/types/overview.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Overview -description: Provides a comprehensive suite of endpoints for adding, modifying, and deleting issue types within your project. ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issue-types/:type_id/ -``` - -### Issue Types Object - -- `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - -- `project` _uuid_ - - The project which the issue is part of auto generated from backend - -- `created_at` , `updated_at` timestamp - - Timestamp of the issue when it was created and when it was last updated. - -- `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -- `external_id` & `external_source` - - This values are auto saved and represent the id of the user that created or the updated the project. - - - -```json JSON -{ - "id": "d6af3c13-3459-43ab-b91c-c33ef2fd7131", - "name": "Postman issue type", - "description": "Postman issue type description", - "logo_props": {}, - "level": 0, - "is_active": true, - "is_default": false, - "deleted_at": null, - "workspace": "70b6599f-9313-4c0d-b5c0-406a13a05647", - "project": "", // missing - "created_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "updated_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "created_at": "2024-10-23T06:54:46.169344Z", - "updated_at": "2024-10-23T06:54:46.169390Z" - "external_id": null, - "external_source": null, -} -``` - - diff --git a/api-reference/issue-types/types/update-issue-types.mdx b/api-reference/issue-types/types/update-issue-types.mdx deleted file mode 100644 index 41636d4..0000000 --- a/api-reference/issue-types/types/update-issue-types.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update issue type -description: Allows you to modify an existing issue type. -api: PATCH /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issue-types/{type_id}/ ---- - -### Path parameters - - - - - -### Body - - - - diff --git a/api-reference/issue-types/values/add-property-values.mdx b/api-reference/issue-types/values/add-property-values.mdx deleted file mode 100644 index 725e4d0..0000000 --- a/api-reference/issue-types/values/add-property-values.mdx +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Add property values -description: Allows you to specify the values for a custom property. -api: POST /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issues/{issue_id}/issue-properties/{property_id}/values/ ---- - -### Path parameters - - - - - - -### Body - - - - diff --git a/api-reference/issue-types/values/list-property-values.mdx b/api-reference/issue-types/values/list-property-values.mdx deleted file mode 100644 index a063130..0000000 --- a/api-reference/issue-types/values/list-property-values.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: List property values -description: Fetches the values of the custom property. -api: GET /api/v1/workspaces/{workspace_slug}/projects/{project_id}/issues/{issue_id}/issue-properties/{property_id}/values/ ---- - -### Path parameters - - - - - diff --git a/api-reference/issue-types/values/overview.mdx b/api-reference/issue-types/values/overview.mdx deleted file mode 100644 index ebc581d..0000000 --- a/api-reference/issue-types/values/overview.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Overview -description: Provides a set of endpoints for adding, modifying, and deleting values within the Number custom property types. ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-properties/:property_id/values/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-properties/:property_id/values/ -``` - -### Issue Property Values Object - -- `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - -- `project` _uuid_ - - The project which the issue is part of auto generated from backend - -- `created_at` , `updated_at` timestamp - - Timestamp of the issue when it was created and when it was last updated. - -- `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -- `external_id` & `external_source` - - This values are auto saved and represent the id of the user that created or the updated the project. - - - -```json JSON -{ - "id": "51a869d1-f612-4315-ac91-ffef3e96c20e", - "created_at": "2024-10-23T07:44:42.883820Z", - "updated_at": "2024-10-23T07:44:42.883855Z", - "deleted_at": null, - "name": "issue property option 3", - "sort_order": 10000.0, - "description": "issue property option 3 description", - "logo_props": {}, - "is_active": true, - "is_default": false, - "external_source": null, - "external_id": null, - "created_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "updated_by": "9d6d1ecd-bf73-4169-80c8-7dee79b217f4", - "workspace": "70b6599f-9313-4c0d-b5c0-406a13a05647", - "project_ids": ["03a9bf56-84f4-4afe-b232-9400eb9b7b6b"], - "property": "f962febb-98bc-43ca-8bfb-8012e4d54dae", - "parent": null -} -``` - - diff --git a/api-reference/issue/add-issue.mdx b/api-reference/issue/add-issue.mdx deleted file mode 100644 index 86cab14..0000000 --- a/api-reference/issue/add-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Add issue -description: Adds an issue to a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/ ---- - -### Path parameters - - - - - -### Body - - diff --git a/api-reference/issue/delete-issue.mdx b/api-reference/issue/delete-issue.mdx deleted file mode 100644 index c19154e..0000000 --- a/api-reference/issue/delete-issue.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Delete issue -description: Deletes an issue in a project -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/issue/get-issue-detail.mdx b/api-reference/issue/get-issue-detail.mdx deleted file mode 100644 index 69dcd12..0000000 --- a/api-reference/issue/get-issue-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get issue by UUID -description: Gets the details of an issue using the UUID -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/issue/get-issue-sequence-id.mdx b/api-reference/issue/get-issue-sequence-id.mdx deleted file mode 100644 index 759b56c..0000000 --- a/api-reference/issue/get-issue-sequence-id.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Get issue by sequence ID -description: Gets the details of an issue using the sequence id -api: GET /api/v1/workspaces/{workspace-slug}/issues/{sequence_id}/ ---- - -### Path parameters - - - - diff --git a/api-reference/issue/list-issues.mdx b/api-reference/issue/list-issues.mdx deleted file mode 100644 index 4fb6151..0000000 --- a/api-reference/issue/list-issues.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: List issues -description: Gets all the issues of a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/ ---- - -### Path parameters - - - - - \ No newline at end of file diff --git a/api-reference/issue/overview.mdx b/api-reference/issue/overview.mdx deleted file mode 100644 index df3e00a..0000000 --- a/api-reference/issue/overview.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Overview -description: Inside an issue, you can add as many details as you like to get your work done. ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/ - -``` - - -### Issue Object - -**Attributes** - -* `name` _string_ **(required)** - - Name of the issues - -* `created_at` , `updated_at` _timestamp_ - - Timestamp of the issue when it was created and when it was last updated - -* `estimate_point` _integer_ or _null_ - - Total estimate points for the issue takes value between (0,7). - -* `description_html` _string_ - - HTML description of the issue - -* `description_stripped` _string_ - - Stripped version of the html description auto generated using the application. - -* `priority` _string_ - - Priority of the issue takes in 5 values - - * none - * urgent - * high - * medium - * low -* `start_date` _date_ - - Start date of the issue - -* `target_date` _date_ - - Target date of the issue - -* `sequence_id` _integer_ - - Auto generated from the system the unique identifier of the issue - -* `sort_order` _decimal_ - - Auto generated from the system during creation used for ordering - -* `completed_at` _timestamp_ or _null_ - - Timestamp when the issue is moved to any completed group state - -* `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -* `project` _uuid_ - - The project which the issue is part of auto generated from backend - -* `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - -* `parent` _uuid_ - - The uuid of the parent issue which should be part of the same workspace - -* `state` _uuid_ - - The uuid of the state which is present in the project where the issue is being created. - -* `assignees` - _\[uuid,\]_ - - The array of uuids of the users who are part of the project where the issue is being created or updated. - -* `labels` - _\[uuid,\]_ - - The array of uuids of the labels which are present in the project where the issue is being created or updated. - - -```json JSON -{ - "id": "e1c25c66-5bb8-465e-a818-92a483423443", - "created_at": "2023-11-19T11:56:55.176802Z", - "updated_at": "2023-11-19T11:56:55.176809Z", - "estimate_point": null, - "name": "First Issue", - "description_html": "

", - "description_stripped": "", - "priority": "none", - "start_date": "2023-09-01", - "target_date": "2023-10-04", - "sequence_id": 421, - "sort_order": 265535.0, - "completed_at": null, - "archived_at": null, - "is_draft": false, - "created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "project": "4af68566-94a4-4eb3-94aa-50dc9427067b", - "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", - "parent": null, - "state": "f3f045db-7e74-49f2-b3b2-0b7dee4635ae", - "assignees": [ - "797b5aea-3f40-4199-be84-5f94e0d04501" - ], - "labels": [] -} - -``` -
diff --git a/api-reference/issue/update-issue-detail.mdx b/api-reference/issue/update-issue-detail.mdx deleted file mode 100644 index 8ac211c..0000000 --- a/api-reference/issue/update-issue-detail.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update issue details -description: Updates the details of an issue -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id} ---- - -### Path parameters - - - - - - - -### Body - - \ No newline at end of file diff --git a/api-reference/label/add-label.mdx b/api-reference/label/add-label.mdx deleted file mode 100644 index ab53484..0000000 --- a/api-reference/label/add-label.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Add label -description: Adds a label in the current project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/labels/ ---- - -### Path parameters - - - - - -### Body - - diff --git a/api-reference/label/delete-label.mdx b/api-reference/label/delete-label.mdx deleted file mode 100644 index cac4ed3..0000000 --- a/api-reference/label/delete-label.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Delete label -description: Deletes a label in the current project -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/labels/{label_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/label/get-label-detail.mdx b/api-reference/label/get-label-detail.mdx deleted file mode 100644 index 7e6521e..0000000 --- a/api-reference/label/get-label-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get label details -description: Gets the details of a label -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/labels/{label_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/label/list-labels.mdx b/api-reference/label/list-labels.mdx deleted file mode 100644 index c074949..0000000 --- a/api-reference/label/list-labels.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List labels -description: Gets all the labels in project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/labels/ ---- - -### Path parameters - - - - diff --git a/api-reference/label/overview.mdx b/api-reference/label/overview.mdx deleted file mode 100644 index c38f8b3..0000000 --- a/api-reference/label/overview.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Overview -description: Labels are tags that can be assigned to ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/labels/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/labels/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/labels/:label_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/labels/:label_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/labels/:label_id/ -``` - -### Label Object - -- `name` _string_ **(required)** - - Name of the label - -- `created_at` , `updated_at` _timestamp_ - - Timestamp of the issue when it was created and when it was last updated. - -- `description` _string_ - - Description of the Label - -- `color` _string_ - - Hex code of the color - -- `sort_order` _float_ - - Sort order of the label used for sorting - -- `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -- `project` _uuid_ - - The project which the issue is part of auto generated from backend - -- `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - -- `parent` _uuid or null_ - - Parent of the label which is also a Label - - -```json JSON -{ -"id": "c7146baf-7058-496b-aa3a-df6c25a7e929", -"created_at": "2023-11-20T06:01:03.538675Z", -"updated_at": "2023-11-20T06:01:03.538683Z", -"name": "High", -"description": "", -"color": "", -"sort_order": 72416.0, -"created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", -"updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", -"project": "4af68566-94a4-4eb3-94aa-50dc9427067b", -"workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", -"parent": null -} -``` - diff --git a/api-reference/label/update-label-detail.mdx b/api-reference/label/update-label-detail.mdx deleted file mode 100644 index bdc1ba9..0000000 --- a/api-reference/label/update-label-detail.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update label details -description: Updates the details of a label -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/labels/{label_id} ---- - -### Path parameters - - - - - - - -### Body - - diff --git a/api-reference/link/add-link.mdx b/api-reference/link/add-link.mdx deleted file mode 100644 index 60ffb65..0000000 --- a/api-reference/link/add-link.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Add link -description: Adds a link in an issue -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/links/ ---- - -### Path parameters - - - - - - - -### Body - - - - diff --git a/api-reference/link/delete-link.mdx b/api-reference/link/delete-link.mdx deleted file mode 100644 index 33222bb..0000000 --- a/api-reference/link/delete-link.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete link -description: Deletes a link in an issue -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/links/{link_id} ---- - -### Path parameters - - - - - - - - \ No newline at end of file diff --git a/api-reference/link/get-link-detail.mdx b/api-reference/link/get-link-detail.mdx deleted file mode 100644 index ddfc781..0000000 --- a/api-reference/link/get-link-detail.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Get link details -description: Gets the details of a link -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/links/{link_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/link/list-links.mdx b/api-reference/link/list-links.mdx deleted file mode 100644 index 735c86a..0000000 --- a/api-reference/link/list-links.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List links -description: Gets all the links in an issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/links/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/link/overview.mdx b/api-reference/link/overview.mdx deleted file mode 100644 index 7b7defc..0000000 --- a/api-reference/link/overview.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Overview -description: Links can be added to an issue to point to some external resources ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/links/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/links/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/links/:link_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/links/:link_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/links/:link_id/ -``` - -### Link object - -- `title` _string_ - - Title of the url - -- `url` _url_ **(required)** - - Url of the external link - -- `metadata` _json_ - - Metadata from the resource - -- `created_at` , `updated_at` _timestamp_ - - Timestamp of the issue when it was created and when it was last updated. - -- `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -- `project` _uuid_ - - The project which the issue is part of auto generated from backend - -- `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - -- `issue` _uuid_ - - The issue which the link is attached to - - -```json JSON -{ - "id": "662dd6b2-2b01-4315-955f-480eb51baa14", - "created_at": "2023-11-20T06:23:10.270664Z", - "updated_at": "2023-11-20T06:23:10.270689Z", - "title": "Plane Website", - "url": "https://plane.so", - "metadata": {}, - "created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "project": "4af68566-94a4-4eb3-94aa-50dc9427067b", - "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", - "issue": "e1c25c66-5bb8-465e-a818-92a483423443" -} -``` - diff --git a/api-reference/link/update-link-detail.mdx b/api-reference/link/update-link-detail.mdx deleted file mode 100644 index 4ceeecf..0000000 --- a/api-reference/link/update-link-detail.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Update link details -description: Updates the details of a link -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/links/{link_id} ---- - -### Path parameters - - - - - - - - - -### Body - - - - diff --git a/api-reference/members/get-project-members.mdx b/api-reference/members/get-project-members.mdx deleted file mode 100644 index b36d671..0000000 --- a/api-reference/members/get-project-members.mdx +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Get project members -sidebarTitle: Project members -description: Retrieve the list of all members in a project. -api: GET /api/v1/workspaces/:workspace-slug/projects/:project_id/members/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project - -### Response - -```json -[ - { - "id": "00000000-0000-0000-0000-000000000001", - "first_name": "User", - "last_name": "One", - "email": "user1@example.com", - "avatar": "", - "avatar_url": null, - "display_name": "user1", - }, - { - "id": "00000000-0000-0000-0000-000000000002", - "first_name": "", - "last_name": "", - "email": "user2@example.com", - "avatar": "", - "avatar_url": null, - "display_name": "user2", - }, - { - "id": "00000000-0000-0000-0000-000000000003", - "first_name": "User", - "last_name": "Three", - "email": "user3@example.com", - "avatar": "", - "avatar_url": null, - "display_name": "user3", - } -] -``` \ No newline at end of file diff --git a/api-reference/members/get-workspace-members.mdx b/api-reference/members/get-workspace-members.mdx deleted file mode 100644 index 4c39b39..0000000 --- a/api-reference/members/get-workspace-members.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Get workspace members -sidebarTitle: Workspace members -description: Retrieve the list of all members in a workspace. -api: GET /api/v1/workspaces/:workspace-slug/members/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - - -### Response - -```json -[ - { - "id": "00000000-0000-0000-0000-000000000001", - "first_name": "User", - "last_name": "One", - "email": "user1@example.com", - "avatar": "", - "avatar_url": null, - "display_name": "user1", - "role": 15 - }, - { - "id": "00000000-0000-0000-0000-000000000002", - "first_name": "", - "last_name": "", - "email": "user2@example.com", - "avatar": "", - "avatar_url": null, - "display_name": "user2", - "role": 15 - }, - { - "id": "00000000-0000-0000-0000-000000000003", - "first_name": "User", - "last_name": "Three", - "email": "user3@example.com", - "avatar": "", - "avatar_url": null, - "display_name": "user3", - "role": 20 - } -] -``` \ No newline at end of file diff --git a/api-reference/members/overview.mdx b/api-reference/members/overview.mdx deleted file mode 100644 index abad097..0000000 --- a/api-reference/members/overview.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Overview -description: APIs to retrieve members of a workspace and the individual projects within it. ---- - -```http -GET /api/v1/workspaces/:workspace-slug/members/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/members/ -``` - -## Member object -**Attributes** - -* `id` _string_ - Unique identifier for the Member - -* `first_name` _string_ - First name of the Member - -* `last_name` _string_ - Last name of the Member - -* `email` _string_ - Email address of the Member - -* `avatar` _string_ - Optional avatar image file reference - -* `avatar_url` _string_ - Publicly accessible URL for the avatar image - -* `display_name` _string_ - Display name shown across the application - -* `role` _integer_ - Role of the Member in the Workspace or Project - - - -```json JSON - { - "id": "00000000-0000-0000-0000-000000000001", - "first_name": "User", - "last_name": "One", - "email": "user1@example.com", - "avatar": "", - "avatar_url": null, - "display_name": "user1", - "role": 15 - } -``` - \ No newline at end of file diff --git a/api-reference/module-issue/add-module-issue.mdx b/api-reference/module-issue/add-module-issue.mdx deleted file mode 100644 index 9a55d9e..0000000 --- a/api-reference/module-issue/add-module-issue.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Add module issue -description: Adds an issue in a module -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/{module_id}/module-issues/ ---- - -### Path parameters - - - - - - - -### Body - - -It expects a list of issue ids - diff --git a/api-reference/module-issue/delete-module-issue.mdx b/api-reference/module-issue/delete-module-issue.mdx deleted file mode 100644 index 682fa88..0000000 --- a/api-reference/module-issue/delete-module-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete module issue -description: Deletes an issue in a module -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/{module_id}/module-issues/{issue_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/module-issue/list-module-issues.mdx b/api-reference/module-issue/list-module-issues.mdx deleted file mode 100644 index 87f7767..0000000 --- a/api-reference/module-issue/list-module-issues.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List module issues -description: Gets all the issues in a module -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/{module_id}/module-issues/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/module-issue/overview.mdx b/api-reference/module-issue/overview.mdx deleted file mode 100644 index 281fb89..0000000 --- a/api-reference/module-issue/overview.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Overview -description: It contains all the list of issues which are inside a module. ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/:module_id/module-issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/:module_id/module-issues/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/:module_id/module-issues/:issue_id/ - -``` - -### Module Issue Object - -For creating a module issue, the payload should be sent in the below format. - -```json -{ - "issues": ["d2e49a6e-e315-4b38-aecc-71c8c709ca6a"] -} -``` - -- `sub_issues_count` - - It tells the count of sub issues of the issue - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved - -- `module` uuid - - Module id of which the issue belongs to - -- `issue` uuid - - Issue id of the issue - - -```json -{ - "id": "484e72ec-846c-4764-82aa-89081e6ea2a6", - "sub_issues_count": 0, - "created_at": "2023-11-22T07:53:38.512357Z", - "updated_at": "2023-11-22T07:53:38.512388Z", - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611", - "module": "5090ed11-ccc4-4a5c-87ba-9330bd926b4f", - "issue": "c099e795-e2a8-427c-9714-1dfbdc56707a" -} -``` - diff --git a/api-reference/module/add-module.mdx b/api-reference/module/add-module.mdx deleted file mode 100644 index 48952ea..0000000 --- a/api-reference/module/add-module.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Add module -description: Adds a module in a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/ ---- - -### Path parameters - - - - - -### Body - - diff --git a/api-reference/module/delete-module.mdx b/api-reference/module/delete-module.mdx deleted file mode 100644 index 403e787..0000000 --- a/api-reference/module/delete-module.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Delete module -description: Deletes a module -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/{module_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/module/get-module-detail.mdx b/api-reference/module/get-module-detail.mdx deleted file mode 100644 index f399f86..0000000 --- a/api-reference/module/get-module-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get module details -description: Gets the details of a module -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/{module_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/module/list-modules.mdx b/api-reference/module/list-modules.mdx deleted file mode 100644 index b8f9416..0000000 --- a/api-reference/module/list-modules.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List modules -description: Gets all the modules in a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/ ---- - -### Path parameters - - - - diff --git a/api-reference/module/overview.mdx b/api-reference/module/overview.mdx deleted file mode 100644 index 91128b4..0000000 --- a/api-reference/module/overview.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Overview -description: Modules are smaller, focused projects that help you group and organize issues within a specific time frame. They allow you to break down your work into manageable chunks and track progress towards specific goals or objectives. ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/:module_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/:module_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/modules/:module_id/ -``` - -### Module Object - -**Attributes** - -- `name` string(required) - - Name of the module - -- `description` string - - Description of the module - -- `description_html` string - - Description in HTML format - -- `start_date` date - - Start date of the module - -- `target_date` date - - Estimated date to complete the module - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `status` - - It describes the status of the module - - The status can be - - - backlog - - planned - - in-progress - - paused - - completed - - cancelled - -- `view_props` - - It store the filters and the display properties selected by the user to visualize the issues in the module - -- `sort_order` - - It gives the position of the module at which it should be displayed - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved - -- `lead` uuid - - Lead of the module - - -``` -{ - "id": "b69b19ae-261f-428c-899f-dd58efaa36c0", - "created_at": "2023-11-19T11:48:21.130161Z", - "updated_at": "2023-11-19T11:48:21.130168Z", - "name": "module stesting", - "description": "", - "description_text": null, - "description_html": null, - "start_date": null, - "target_date": null, - "status": "planned", - "view_props": {}, - "sort_order": 55535.0, - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611", - "lead": null, - "members": [] -} -``` - diff --git a/api-reference/module/update-module-detail.mdx b/api-reference/module/update-module-detail.mdx deleted file mode 100644 index 207751d..0000000 --- a/api-reference/module/update-module-detail.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update module details -description: Updates the details of a module -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/modules/{module_id} ---- - -### Path parameters - - - - - - - -### Body - - \ No newline at end of file diff --git a/api-reference/project/add-project.mdx b/api-reference/project/add-project.mdx deleted file mode 100644 index 76ea167..0000000 --- a/api-reference/project/add-project.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Add project -description: Projects let you manage teams and tasks within your Workspace. -api: POST /api/v1/workspaces/{workspace-slug}/projects/ ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/project/delete-project.mdx b/api-reference/project/delete-project.mdx deleted file mode 100644 index ef6b435..0000000 --- a/api-reference/project/delete-project.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Delete project -description: Projects let you manage teams and tasks within your Workspace. -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id} ---- - -### Path parameters - - - - diff --git a/api-reference/project/get-project-detail.mdx b/api-reference/project/get-project-detail.mdx deleted file mode 100644 index 14f1b36..0000000 --- a/api-reference/project/get-project-detail.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Get project details -description: Projects let you manage teams and tasks within your Workspace. -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/ ---- - -### Path parameters - - - - diff --git a/api-reference/project/list-projects.mdx b/api-reference/project/list-projects.mdx deleted file mode 100644 index 6a9399d..0000000 --- a/api-reference/project/list-projects.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: List projects -description: Gets all the projects in a workspace. -api: GET /api/v1/workspaces/{workspace-slug}/projects/ ---- - -### Path parameters - - diff --git a/api-reference/project/overview.mdx b/api-reference/project/overview.mdx deleted file mode 100644 index 529cfd5..0000000 --- a/api-reference/project/overview.mdx +++ /dev/null @@ -1,183 +0,0 @@ ---- -title: Overview -description: Projects let you manage teams and tasks within your Workspace. ---- - -**Endpoints** - -```http -POST /api/v1/workspaces/:workspace-slug/projects/ -GET /api/v1/workspaces/:workspace-slug/projects/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/ -``` - -The `workspace-slug` represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL: - -``` -https://app.plane.so/my-team/projects/ -``` -The workspace slug is `my-team`. - -### Project Object - -**Attributes** - -- `name` _string_ (**required**) - - Name of the project - -- `identifier` _string_ (**required**) - - Unique Identifier of project for the workspace - -- `description` _string_ - - Project description - -- `total_members` _integer_ - - Total members present in the project. - -- `total_cycles` _integer_ - - Total number of cycles present in the project. - -- `total_modules` _integer_ - - Total number of modules present in the project. - -- `is_member` _boolean_ - - The current requesting user is a member of the project or not - -- `member_role` _integer_ - - The current requesting users role in the project. - -- `is_deployed` _integer_ - - Represents if the project is deployed and publicly visible. - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `network` _integer_ - - Is the project public or secret it takes in two values either (0,2) - - - **0 - Secret** - - **2 - Public** - -- `emoji` _string_ - - HTML emoji DEX code without the `&#` - -- `icon_prop` _json_ - - saves the data of the project icon - -- `module_view` _bool_ - - Enable disable module for the project in the UI - -- `cycle_view` _bool_ - - Enable disable cycle for the project in the UI - -- `inbox_view` _bool_ - - Enable disable intake for the project in the UI - -- `page_view` _bool_ - - Enable disable pages for the project in the UI - -- `issue_views_view` _bool_ - - Enable disable project views for the project in the UI - -- `cover_image` _url_ - - URL for the image for the project cover - -- `archive_in` _integer_ - - Months in which the issue should be automatically archived can take values between (0,12) - -- `close_in` _integer_ - - Months in which the issue should be auto closed can take values between (0,12) - -- `created_by` , `updated_by` _uuid_ - - This values are auto saved and represent the id of the user that created or the updated the project - -- `workspace` _uuid_ - - The workspace uuid where the project is created saved automatically - -- `default_assignee` _uuid_ - - The uuid of the user who is a workspace member that have issues assigned automatically if the issue does not have any assignee - -- `project_lead` _uuid_ - - The uuid of the user who is a workspace member that leads the project - -- `estimate` _uuid_ - - UUID of the estimate of the project - -- `default_state` - - Default state which will be used when the issues will be auto closed - -**Response Object** - - - -```json JSON -{ - "id": "00918ea1-52f7-48bd-abe3-d3efe76ff7dd", - "total_members": 1, - "total_cycles": 0, - "total_modules": 0, - "is_member": true, - "member_role": 20, - "is_deployed": false, - "created_at": "2023-11-19T10:40:15.426652Z", - "updated_at": "2023-11-19T10:40:15.426672Z", - "name": "Project X", - "description": "", - "description_text": null, - "description_html": null, - "network": 2, - "identifier": "PROJX", - "emoji": null, - "icon_prop": null, - "module_view": true, - "cycle_view": true, - "issue_views_view": true, - "page_view": true, - "inbox_view": false, - "cover_image": null, - "archive_in": 0, - "close_in": 0, - "created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", - "default_assignee": null, - "project_lead": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "estimate": null, - "default_state": null -} -``` - - diff --git a/api-reference/project/update-project-detail.mdx b/api-reference/project/update-project-detail.mdx deleted file mode 100644 index 9d3b2ee..0000000 --- a/api-reference/project/update-project-detail.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update project details -description: Projects let you manage teams and tasks within your Workspace. -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id} ---- - -### Path parameters - - - - - - - -### Body - - diff --git a/api-reference/state/add-state.mdx b/api-reference/state/add-state.mdx deleted file mode 100644 index 9e6f4b4..0000000 --- a/api-reference/state/add-state.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Add state -description: Add a state to the project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/states/ ---- - -### Path parameters - - - - - -### Body - - - - diff --git a/api-reference/state/delete-state.mdx b/api-reference/state/delete-state.mdx deleted file mode 100644 index 597fc32..0000000 --- a/api-reference/state/delete-state.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Delete state -description: Deletes a state in a project -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/states/{state_id}/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/state/get-state-detail.mdx b/api-reference/state/get-state-detail.mdx deleted file mode 100644 index 0514b13..0000000 --- a/api-reference/state/get-state-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get state details -description: Gets the details of a state -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/states/{state_id}/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/state/list-states.mdx b/api-reference/state/list-states.mdx deleted file mode 100644 index 3881289..0000000 --- a/api-reference/state/list-states.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List states -description: Gets all the states in a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/states/ ---- - -### Path parameters - - - - diff --git a/api-reference/state/overview.mdx b/api-reference/state/overview.mdx deleted file mode 100644 index b67c6b7..0000000 --- a/api-reference/state/overview.mdx +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Overview -description: State is the current status of the issue ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/states/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/states/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/states/:state_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/states/:state_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/states/:state_id/ -``` - -## State Object - -**Attributes** - -- `name` _string_ **( required )** - - Name of the state - -- `created_at` , `updated_at` _timestamp_ - - Timestamp of the issue when it was created and when it was last updated - -- `description` _string_ - - Description of the state - -- `color` _string_ **(required)** - - String code of the color - -- `workspace-slug` _string_ - - Slugified name of the state auto generated from the system - -- `sequence` _string_ - - Auto generated sequence of the state for ordering. - -- `group` _string_ **(required)** - - Group to which the state belongs can only take values - - - backlog - - unstarted - - started - - completed - - cancelled - -- `default` _boolean_ - - Is it the default state in which if the issues are not assigned any states all the issues are created in this state. - -- `created_by` & `updated_by` - - This values are auto saved and represent the id of the user that created or the updated the project. - -- `project` _uuid_ - - The project which the issue is part of auto generated from backend - -- `workspace` _uuid_ - - The workspace which the issue is part of auto generated from backend - - -```json JSON -{ - "id": "f960d3c2-8524-4a41-b8eb-055ce4be2a7f", - "created_at": "2023-11-19T17:41:45.478363Z", - "updated_at": "2023-11-19T17:41:45.478383Z", - "name": "Ideation", - "description": "", - "color": "#eb5757", - "workspace-slug": "ideation", - "sequence": 130000.0, - "group": "unstarted", - "default": false, - "created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", - "project": "4af68566-94a4-4eb3-94aa-50dc9427067b", - "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4" -} -``` - diff --git a/api-reference/state/update-state-detail.mdx b/api-reference/state/update-state-detail.mdx deleted file mode 100644 index 53964ba..0000000 --- a/api-reference/state/update-state-detail.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update state details -description: Updates the details of a state -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/states/{state_id}/ ---- - -### Path parameters - - - - - - - -### Body - - diff --git a/api-reference/worklogs/create-worklog.mdx b/api-reference/worklogs/create-worklog.mdx deleted file mode 100644 index 9c43db8..0000000 --- a/api-reference/worklogs/create-worklog.mdx +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Create Worklog -sidebarTitle: Create Worklog -description: Add a new worklog entry for a specific issue. -api: POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -### Body - -Description of the work done during the worklog -Time spent on the issue in minutes - -### Response - -```json - { - "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "created_at": "2025-01-29T21:27:54.197306+05:30", - "updated_at": "2025-01-29T21:27:54.197320+05:30", - "description": "Added user story", - "duration": 2, - "created_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "updated_by": null, - "project_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "workspace_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "logged_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - } -``` \ No newline at end of file diff --git a/api-reference/worklogs/delete-worklog.mdx b/api-reference/worklogs/delete-worklog.mdx deleted file mode 100644 index 9cf09e7..0000000 --- a/api-reference/worklogs/delete-worklog.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Delete Worklog -sidebarTitle: Delete Worklog -description: Delete a specific worklog entry from an issue. -api: DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/:worklog_id/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue -The unique identifier of the worklog \ No newline at end of file diff --git a/api-reference/worklogs/get-total-time.mdx b/api-reference/worklogs/get-total-time.mdx deleted file mode 100644 index f49dc90..0000000 --- a/api-reference/worklogs/get-total-time.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Get total time for each issue -sidebarTitle: Total logged time -description: Aggregates the worklogs and provides the total time spent on each issue in the project. -api: GET /api/v1/workspaces/:workspace-slug/projects/:project_id/total-worklogs/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project - -### Response - -```json - [ - { - "issue_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "duration": 3.5 - }, - { - "issue_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "duration": 8 - }, - ] -``` \ No newline at end of file diff --git a/api-reference/worklogs/get-worklogs-for-issue.mdx b/api-reference/worklogs/get-worklogs-for-issue.mdx deleted file mode 100644 index 6655152..0000000 --- a/api-reference/worklogs/get-worklogs-for-issue.mdx +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Get worklogs for a specific issue -sidebarTitle: Worklogs for an issue -description: Retrieve a list of worklogs for a specific issue. -api: GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -### Response - -```json - { - "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "created_at": "2025-01-29T21:27:54.197306+05:30", - "updated_at": "2025-01-29T21:27:54.197320+05:30", - "description": "", - "duration": 1, - "created_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "updated_by": null, - "project_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "workspace_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "logged_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - } -``` \ No newline at end of file diff --git a/api-reference/worklogs/overview.mdx b/api-reference/worklogs/overview.mdx deleted file mode 100644 index 3f0d927..0000000 --- a/api-reference/worklogs/overview.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Overview -description: Enables you to track time spent on issues within a project. Worklogs track duration in minutes and include details like description, timestamps, and user information. ---- - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/total-worklogs/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/:worklog_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/:worklog_id/ -``` - -## Worklogs object - -**Attributes** - -* `id` _string_ - - Unique identifier for the worklog - -* `created_at` _timestamp_ - - Timestamp when the worklog was created - -* `updated_at` _timestamp_ - - Timestamp when the worklog was last modified - -* `deleted_at` _timestamp_ - - Timestamp when the worklog was deleted - -* `description` _string_ - - Description of the work done during the worklog - -* `duration` _integer_ - - Time spent on the issue, recorded in minutes - -* `created_by` _string_ - - ID of user who created the worklog - -* `updated_by` _string_ - - ID of user who last modified the worklog - -* `project_id` _string_ - - ID of project associated with the worklog - -* `workspace_id` _string_ - - ID of workspace associated with the worklog - -* `logged_by` _string_ - - ID of the user who logged the work - - - -```json JSON - { - "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "created_at": "2025-01-29T21:27:54.197306+05:30", - "updated_at": "2025-01-29T21:27:54.197320+05:30", - "description": "", - "duration": 1, - "created_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "updated_by": null, - "project_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "workspace_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "logged_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - } -``` - diff --git a/api-reference/worklogs/update-worklog.mdx b/api-reference/worklogs/update-worklog.mdx deleted file mode 100644 index 99d381e..0000000 --- a/api-reference/worklogs/update-worklog.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Update Worklog -sidebarTitle: Update Worklog -description: Update an existing worklog entry. You can change the description or duration of the worklog. -api: PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/worklogs/:worklog_id/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue -The unique identifier of the worklog - -### Body - -Description of the work done during the worklog -Time spent on the issue in minutes - -### Response - -```json - { - "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "created_at": "2025-01-29T21:27:54.197306+05:30", - "updated_at": "2025-01-29T21:27:54.197320+05:30", - "description": "Added user story", - "duration": 2, - "created_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "updated_by": null, - "project_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "workspace_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "logged_by": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - } -``` \ No newline at end of file diff --git a/api/schema.yaml b/api/schema.yaml new file mode 100644 index 0000000..4d049c9 --- /dev/null +++ b/api/schema.yaml @@ -0,0 +1,13851 @@ +openapi: 3.0.3 +info: + title: The Plane REST API + version: 0.0.1 + description: |- + The Plane REST API + + Visit our quick start guide and full API documentation at [developers.plane.so](https://developers.plane.so/api-reference/introduction). + contact: + name: Plane + url: https://plane.so + email: support@plane.so + license: + name: GNU AGPLv3 + url: https://github.com/makeplane/plane/blob/preview/LICENSE.txt +paths: + /api/v1/assets/user-assets/: + post: + operationId: create_user_asset_upload + description: Generate presigned URL for user asset upload + summary: Generate presigned URL for user asset upload + tags: + - Assets + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserAssetUploadRequest" + examples: + UserAvatarUpload: + value: + name: profile.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_AVATAR + summary: User Avatar Upload + description: Example request for uploading a user avatar + UserCoverUpload: + value: + name: cover.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_COVER + summary: User Cover Upload + description: Example request for uploading a user cover + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/UserAssetUploadRequest" + examples: + UserAvatarUpload: + value: + name: profile.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_AVATAR + summary: User Avatar Upload + description: Example request for uploading a user avatar + UserCoverUpload: + value: + name: cover.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_COVER + summary: User Cover Upload + description: Example request for uploading a user cover + multipart/form-data: + schema: + $ref: "#/components/schemas/UserAssetUploadRequest" + examples: + UserAvatarUpload: + value: + name: profile.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_AVATAR + summary: User Avatar Upload + description: Example request for uploading a user avatar + UserCoverUpload: + value: + name: cover.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_COVER + summary: User Cover Upload + description: Example request for uploading a user cover + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "200": + description: Presigned URL generated successfully + "400": + description: Validation error occurred with the provided data. + /api/v1/assets/user-assets/{asset_id}/: + patch: + operationId: update_user_asset + description: Mark user asset as uploaded + summary: Mark user asset as uploaded + parameters: + - in: path + name: asset_id + schema: + type: string + format: uuid + description: Asset ID + required: true + examples: + ExampleAssetID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example asset ID + description: A typical asset UUID + tags: + - Assets + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedAssetUpdateRequest" + examples: + UpdateAssetAttributes: + value: + attributes: + name: updated_profile.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_AVATAR + summary: Update Asset Attributes + description: Example request for updating asset attributes + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedAssetUpdateRequest" + examples: + UpdateAssetAttributes: + value: + attributes: + name: updated_profile.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_AVATAR + summary: Update Asset Attributes + description: Example request for updating asset attributes + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedAssetUpdateRequest" + examples: + UpdateAssetAttributes: + value: + attributes: + name: updated_profile.jpg + type: image/jpeg + size: 1024000 + entity_type: USER_AVATAR + summary: Update Asset Attributes + description: Example request for updating asset attributes + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "204": + description: Asset updated successfully + "404": + description: The requested resource was not found. + delete: + operationId: delete_user_asset + description: |- + Delete user asset. + + Delete a user profile asset (avatar or cover image) and remove its reference from the user profile. + This performs a soft delete by marking the asset as deleted and updating the user's profile. + summary: Delete user asset + parameters: + - in: path + name: asset_id + schema: + type: string + format: uuid + description: Asset ID + required: true + examples: + ExampleAssetID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example asset ID + description: A typical asset UUID + tags: + - Assets + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "204": + description: Asset deleted successfully + "404": + description: The requested resource was not found. + /api/v1/users/me/: + get: + operationId: get_current_user + description: Retrieve the authenticated user's profile information including + basic details. + summary: Get current user + tags: + - Users + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/UserLite" + examples: + User: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + first_name: John + last_name: Doe + email: john.doe@example.com + avatar: https://example.com/avatar.jpg + avatar_url: https://example.com/avatar.jpg + display_name: John Doe + description: Current user profile + /api/v1/workspaces/{slug}/assets/: + post: + operationId: create_generic_asset_upload + description: Generate presigned URL for generic asset upload + summary: Generate presigned URL for generic asset upload + parameters: + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Assets + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GenericAssetUploadRequest" + examples: + GenericAssetUploadSerializer: + value: + name: image.jpg + type: image/jpeg + size: 1024000 + project_id: 123e4567-e89b-12d3-a456-426614174000 + external_id: "1234567890" + external_source: github + description: Example request for uploading a generic asset + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/GenericAssetUploadRequest" + examples: + GenericAssetUploadSerializer: + value: + name: image.jpg + type: image/jpeg + size: 1024000 + project_id: 123e4567-e89b-12d3-a456-426614174000 + external_id: "1234567890" + external_source: github + description: Example request for uploading a generic asset + multipart/form-data: + schema: + $ref: "#/components/schemas/GenericAssetUploadRequest" + examples: + GenericAssetUploadSerializer: + value: + name: image.jpg + type: image/jpeg + size: 1024000 + project_id: 123e4567-e89b-12d3-a456-426614174000 + external_id: "1234567890" + external_source: github + description: Example request for uploading a generic asset + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "200": + description: Presigned URL generated successfully + "400": + description: Validation error + "404": + description: The requested resource was not found. + "409": + description: Asset with same external ID already exists + /api/v1/workspaces/{slug}/assets/{asset_id}/: + get: + operationId: get_generic_asset + description: Get presigned URL for asset download + summary: Get presigned URL for asset download + parameters: + - in: path + name: asset_id + schema: + type: string + format: uuid + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Assets + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "200": + description: Presigned download URL generated successfully + "400": + description: Bad request + "404": + description: Asset not found + patch: + operationId: update_generic_asset + description: Update generic asset after upload completion + summary: Update generic asset after upload completion + parameters: + - in: path + name: asset_id + schema: + type: string + format: uuid + description: Asset ID + required: true + examples: + ExampleAssetID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example asset ID + description: A typical asset UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Assets + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedGenericAssetUpdateRequest" + examples: + GenericAssetUpdateSerializer: + value: + is_uploaded: true + description: Example request for updating a generic asset + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedGenericAssetUpdateRequest" + examples: + GenericAssetUpdateSerializer: + value: + is_uploaded: true + description: Example request for updating a generic asset + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedGenericAssetUpdateRequest" + examples: + GenericAssetUpdateSerializer: + value: + is_uploaded: true + description: Example request for updating a generic asset + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "204": + description: Asset updated successfully + "404": + description: Asset not found + /api/v1/workspaces/{slug}/issues/{project_identifier}-{issue_identifier}/: + get: + operationId: get_workspace_work_item + description: Retrieve a specific work item using workspace slug, project identifier, + and issue identifier. + summary: Retrieve work item by identifiers + parameters: + - in: path + name: issue_identifier + schema: + type: integer + description: Issue sequence ID (numeric identifier within project) + required: true + examples: + ExampleIssueIdentifier: + value: 123 + summary: Example issue identifier + description: A typical issue sequence ID + - in: path + name: project_identifier + schema: + type: string + description: Project identifier (unique string within workspace) + required: true + examples: + ExampleProjectIdentifier: + value: PROJ + summary: Example project identifier + description: A typical project identifier + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Issue" + examples: + Issue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Implement user authentication + description: Add OAuth 2.0 authentication flow + sequence_id: 1 + priority: high + assignees: + - 550e8400-e29b-41d4-a716-446655440001 + labels: + - 550e8400-e29b-41d4-a716-446655440002 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: Work item details + "404": + description: Work item not found + /api/v1/workspaces/{slug}/issues/search/: + get: + operationId: search_work_items + description: Perform semantic search across issue names, sequence IDs, and project + identifiers. + parameters: + - in: query + name: limit + schema: + type: integer + description: Maximum number of results to return + examples: + Default: + value: 10 + MoreResults: + value: 50 + summary: More results + - in: query + name: project_id + schema: + type: string + format: uuid + description: Project ID for filtering results within a specific project + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: Filter results for this project + - in: query + name: search + schema: + type: string + description: Search query to filter results by name, description, or identifier + required: true + examples: + NameSearch: + value: bug fix + summary: Name search + description: Search for items containing 'bug fix' + SequenceID: + value: "123" + summary: Sequence ID + description: Search by sequence ID number + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: query + name: workspace_search + schema: + type: string + description: Whether to search across entire workspace or within specific + project + examples: + ProjectOnly: + value: "false" + summary: Project only + description: Search within specific project only + WorkspaceWide: + value: "true" + summary: Workspace wide + description: Search across entire workspace + tags: + - Work Items + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueSearch" + examples: + IssueSearchResults: + value: + issues: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Fix authentication bug in user login + sequence_id: 123 + project__identifier: MAB + project_id: 550e8400-e29b-41d4-a716-446655440001 + workspace__slug: my-workspace + - id: 550e8400-e29b-41d4-a716-446655440002 + name: Add authentication middleware + sequence_id: 124 + project__identifier: MAB + project_id: 550e8400-e29b-41d4-a716-446655440001 + workspace__slug: my-workspace + description: Work item search results + "400": + description: Bad request - invalid search parameters + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Workspace not found + /api/v1/workspaces/{slug}/members/: + get: + operationId: get_workspace_members + description: Retrieve all users who are members of the specified workspace. + summary: List workspace members + parameters: + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Members + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "200": + content: + application/json: + schema: + type: array + items: + allOf: + - $ref: "#/components/schemas/UserLite" + - type: object + properties: + role: + type: integer + description: Member role in the workspace + examples: + WorkspaceMembers: + value: + - id: 550e8400-e29b-41d4-a716-446655440000 + first_name: John + last_name: Doe + display_name: John Doe + email: john.doe@example.com + avatar: https://example.com/avatar.jpg + role: 20 + - id: 550e8400-e29b-41d4-a716-446655440001 + first_name: Jane + last_name: Smith + display_name: Jane Smith + email: jane.smith@example.com + avatar: https://example.com/avatar2.jpg + role: 15 + description: List of workspace members with their roles + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Workspace not found + /api/v1/workspaces/{slug}/projects/: + get: + operationId: list_projects + description: Retrieve all projects in a workspace or get details of a specific + project. + summary: List or retrieve projects + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Projects + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedProjectResponse" + examples: + PaginatedProjects: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Mobile App Backend + description: Backend services for the mobile application + identifier: MAB + network: 2 + summary: Paginated Projects + description: Paginated list of projects + post: + operationId: create_project + description: Create a new project in the workspace with default states and member + assignments. + summary: Create project + parameters: + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Projects + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ProjectCreateRequest" + examples: + ProjectCreateSerializer: + value: + name: New Project + description: New project description + identifier: new-project + project_lead: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for creating a project + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/ProjectCreateRequest" + examples: + ProjectCreateSerializer: + value: + name: New Project + description: New project description + identifier: new-project + project_lead: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for creating a project + multipart/form-data: + schema: + $ref: "#/components/schemas/ProjectCreateRequest" + examples: + ProjectCreateSerializer: + value: + name: New Project + description: New project description + identifier: new-project + project_lead: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for creating a project + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Workspace not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Project" + examples: + Project: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Mobile App Development + description: Development of the mobile application + identifier: MAD + network: 2 + project_lead: 550e8400-e29b-41d4-a716-446655440001 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: Project created successfully + "409": + description: Project name already taken + /api/v1/workspaces/{slug}/projects/{pk}/: + get: + operationId: retrieve_project + description: Retrieve details of a specific project. + summary: Retrieve project + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Projects + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Project" + examples: + Project: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Mobile App Development + description: Development of the mobile application + identifier: MAD + network: 2 + project_lead: 550e8400-e29b-41d4-a716-446655440001 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: Project details + patch: + operationId: update_project + description: Partially update an existing project's properties like name, description, + or settings. + summary: Update project + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Projects + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedProjectUpdateRequest" + examples: + ProjectUpdateSerializer: + value: + name: Updated Project + description: Updated project description + identifier: updated-project + project_lead: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a project + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedProjectUpdateRequest" + examples: + ProjectUpdateSerializer: + value: + name: Updated Project + description: Updated project description + identifier: updated-project + project_lead: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a project + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedProjectUpdateRequest" + examples: + ProjectUpdateSerializer: + value: + name: Updated Project + description: Updated project description + identifier: updated-project + project_lead: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a project + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Project" + examples: + Project: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Mobile App Development + description: Development of the mobile application + identifier: MAD + network: 2 + project_lead: 550e8400-e29b-41d4-a716-446655440001 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: Project updated successfully + "409": + description: Project name already taken + delete: + operationId: delete_project + description: Permanently remove a project and all its associated data from the + workspace. + summary: Delete project + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Projects + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/archive/: + post: + operationId: archive_project + description: Move a project to archived status, hiding it from active project + lists. + summary: Archive project + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Projects + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource archived successfully + delete: + operationId: unarchive_project + description: Restore an archived project to active status, making it available + in regular workflows. + summary: Unarchive project + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Projects + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource unarchived successfully + /api/v1/workspaces/{slug}/projects/{project_id}/archived-cycles/: + get: + operationId: list_archived_cycles + description: Retrieve all cycles that have been archived in the project. + summary: List archived cycles + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedArchivedCycleResponse" + examples: + PaginatedArchivedCycles: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Archived Cycles + description: Paginated list of archived cycles + /api/v1/workspaces/{slug}/projects/{project_id}/archived-cycles/{pk}/unarchive/: + delete: + operationId: unarchive_cycle + description: Restore an archived cycle to active status, making it available + for regular use. + summary: Unarchive cycle + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource unarchived successfully + /api/v1/workspaces/{slug}/projects/{project_id}/archived-modules/: + get: + operationId: list_archived_modules + description: Retrieve all modules that have been archived in the project. + summary: List archived modules + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedArchivedModuleResponse" + examples: + PaginatedArchivedModules: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Archived Modules + description: Paginated list of archived modules + /api/v1/workspaces/{slug}/projects/{project_id}/archived-modules/{pk}/unarchive/: + delete: + operationId: unarchive_module + description: Restore an archived module to active status, making it available + for regular use. + summary: Unarchive module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "204": + description: Resource unarchived successfully + /api/v1/workspaces/{slug}/projects/{project_id}/cycles/: + get: + operationId: list_cycles + description: Retrieve all cycles in a project. Supports filtering by cycle status + like current, upcoming, completed, or draft. + summary: List cycles + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: cycle_view + schema: + type: string + description: Filter cycles by status + examples: + AllCycles: + value: all + summary: All cycles + CurrentCycles: + value: current + summary: Current cycles + UpcomingCycles: + value: upcoming + summary: Upcoming cycles + CompletedCycles: + value: completed + summary: Completed cycles + DraftCycles: + value: draft + summary: Draft cycles + IncompleteCycles: + value: incomplete + summary: Incomplete cycles + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedCycleResponse" + examples: + PaginatedCycles: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sprint 1 - Q1 2024 + description: First sprint of the quarter focusing on core features + start_date: "2024-01-01" + end_date: "2024-01-14" + status: current + summary: Paginated Cycles + description: Paginated list of cycles + post: + operationId: create_cycle + description: Create a new development cycle with specified name, description, + and date range. Supports external ID tracking for integration purposes. + summary: Create cycle + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CycleCreateRequest" + examples: + CycleCreateSerializer: + value: + name: Cycle 1 + description: Cycle 1 description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a cycle + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/CycleCreateRequest" + examples: + CycleCreateSerializer: + value: + name: Cycle 1 + description: Cycle 1 description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a cycle + multipart/form-data: + schema: + $ref: "#/components/schemas/CycleCreateRequest" + examples: + CycleCreateSerializer: + value: + name: Cycle 1 + description: Cycle 1 description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a cycle + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Cycle" + examples: + Cycle: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Sprint 1 - Q1 2024 + description: First sprint of the quarter focusing on core features + start_date: "2024-01-01" + end_date: "2024-01-14" + status: current + total_issues: 15 + completed_issues: 8 + cancelled_issues: 1 + started_issues: 4 + unstarted_issues: 2 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Cycle created + /api/v1/workspaces/{slug}/projects/{project_id}/cycles/{cycle_id}/archive/: + post: + operationId: archive_cycle + description: Move a completed cycle to archived status for historical tracking. + Only cycles that have ended can be archived. + summary: Archive cycle + parameters: + - in: path + name: cycle_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource archived successfully + "400": + description: Cycle cannot be archived + /api/v1/workspaces/{slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/: + get: + operationId: list_cycle_work_items + description: Retrieve all work items assigned to a cycle. + summary: List cycle work items + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: path + name: cycle_id + schema: + type: string + format: uuid + required: true + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedCycleIssueResponse" + examples: + PaginatedCycleWorkItems: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + cycle: 550e8400-e29b-41d4-a716-446655440001 + issue: 550e8400-e29b-41d4-a716-446655440002 + sub_issues_count: 3 + created_at: "2024-01-01T10:30:00Z" + summary: Paginated Cycle Work Items + description: Paginated list of cycle work items + post: + operationId: add_cycle_work_items + description: Assign multiple work items to a cycle. Automatically handles bulk + creation and updates with activity tracking. + summary: Add Work Items to Cycle + parameters: + - in: path + name: cycle_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CycleIssueRequestRequest" + examples: + CycleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding cycle issues + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/CycleIssueRequestRequest" + examples: + CycleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding cycle issues + multipart/form-data: + schema: + $ref: "#/components/schemas/CycleIssueRequestRequest" + examples: + CycleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding cycle issues + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CycleIssue" + examples: + CycleIssue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + cycle: 550e8400-e29b-41d4-a716-446655440001 + issue: 550e8400-e29b-41d4-a716-446655440002 + sub_issues_count: 3 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Cycle work items added + "400": + description: Required fields are missing + /api/v1/workspaces/{slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/{issue_id}/: + get: + operationId: retrieve_cycle_work_item + description: Retrieve details of a specific cycle work item. + summary: Retrieve cycle work item + parameters: + - in: path + name: cycle_id + schema: + type: string + format: uuid + required: true + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CycleIssue" + examples: + CycleIssue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + cycle: 550e8400-e29b-41d4-a716-446655440001 + issue: 550e8400-e29b-41d4-a716-446655440002 + sub_issues_count: 3 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Cycle work items + delete: + operationId: delete_cycle_work_item + description: Remove a work item from a cycle while keeping the work item in + the project. + summary: Delete cycle work item + parameters: + - in: path + name: cycle_id + schema: + type: string + format: uuid + required: true + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/cycles/{cycle_id}/transfer-issues/: + post: + operationId: transfer_cycle_work_items + description: Move incomplete work items from the current cycle to a new target + cycle. Captures progress snapshot and transfers only unfinished work items. + summary: Transfer cycle work items + parameters: + - in: path + name: cycle_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TransferCycleIssueRequestRequest" + examples: + TransferCycleIssueRequestSerializer: + value: + new_cycle_id: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for transferring cycle issues + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/TransferCycleIssueRequestRequest" + examples: + TransferCycleIssueRequestSerializer: + value: + new_cycle_id: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for transferring cycle issues + multipart/form-data: + schema: + $ref: "#/components/schemas/TransferCycleIssueRequestRequest" + examples: + TransferCycleIssueRequestSerializer: + value: + new_cycle_id: 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for transferring cycle issues + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Success message + example: Success + examples: + TransferCycleIssueSuccess: + value: + message: Success + summary: Transfer Cycle Issue Success + description: Successful transfer of cycle issues to new cycle + description: Work items transferred successfully + "400": + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Error message + example: New Cycle Id is required + examples: + TransferCycleIssueError: + value: + error: New Cycle Id is required + summary: Transfer Cycle Issue Error + description: Error when required cycle ID is missing + TransferToCompletedCycleError: + value: + error: The cycle where the issues are transferred is already completed + summary: Transfer to Completed Cycle Error + description: Error when trying to transfer to a completed cycle + description: Bad request + /api/v1/workspaces/{slug}/projects/{project_id}/cycles/{pk}/: + get: + operationId: retrieve_cycle + description: Retrieve details of a specific cycle by its ID. Supports cycle + status filtering. + summary: Retrieve cycle + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Cycle" + examples: + Cycle: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Sprint 1 - Q1 2024 + description: First sprint of the quarter focusing on core features + start_date: "2024-01-01" + end_date: "2024-01-14" + status: current + total_issues: 15 + completed_issues: 8 + cancelled_issues: 1 + started_issues: 4 + unstarted_issues: 2 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Cycles + patch: + operationId: update_cycle + description: Modify an existing cycle's properties like name, description, or + date range. Completed cycles can only have their sort order changed. + summary: Update cycle + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedCycleUpdateRequest" + examples: + CycleUpdateSerializer: + value: + name: Updated Cycle + description: Updated cycle description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a cycle + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedCycleUpdateRequest" + examples: + CycleUpdateSerializer: + value: + name: Updated Cycle + description: Updated cycle description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a cycle + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedCycleUpdateRequest" + examples: + CycleUpdateSerializer: + value: + name: Updated Cycle + description: Updated cycle description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a cycle + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Cycle" + examples: + Cycle: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Sprint 1 - Q1 2024 + description: First sprint of the quarter focusing on core features + start_date: "2024-01-01" + end_date: "2024-01-14" + status: current + total_issues: 15 + completed_issues: 8 + cancelled_issues: 1 + started_issues: 4 + unstarted_issues: 2 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Cycle updated + delete: + operationId: delete_cycle + description: Permanently remove a cycle and all its associated issue relationships + summary: Delete cycle + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Cycles + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/intake-issues/: + get: + operationId: get_intake_work_items_list + description: Retrieve all work items in the project's intake queue. Returns + paginated results when listing all intake work items. + summary: List intake work items + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Intake + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIntakeIssueResponse" + examples: + PaginatedIntakeWorkItems: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Intake Work Items + description: Paginated list of intake work items + post: + operationId: create_intake_work_item + description: Submit a new work item to the project's intake queue for review + and triage. Automatically creates the work item with default triage state + and tracks activity. + summary: Create intake work item + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Intake + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IntakeIssueCreateRequest" + examples: + IntakeIssueCreateSerializer: + value: + issue: + name: New Issue + description: New issue description + priority: medium + description: Example request for creating an intake issue + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IntakeIssueCreateRequest" + examples: + IntakeIssueCreateSerializer: + value: + issue: + name: New Issue + description: New issue description + priority: medium + description: Example request for creating an intake issue + multipart/form-data: + schema: + $ref: "#/components/schemas/IntakeIssueCreateRequest" + examples: + IntakeIssueCreateSerializer: + value: + issue: + name: New Issue + description: New issue description + priority: medium + description: Example request for creating an intake issue + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IntakeIssue" + examples: + IntakeIssue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + status: 0 + source: in_app + issue: + id: 550e8400-e29b-41d4-a716-446655440001 + name: "Feature request: Dark mode" + description: Add dark mode support to the application + priority: medium + sequence_id: 124 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Intake work item created + "400": + description: Invalid request data provided + /api/v1/workspaces/{slug}/projects/{project_id}/intake-issues/{issue_id}/: + get: + operationId: retrieve_intake_work_item + description: Retrieve details of a specific intake work item. + summary: Retrieve intake work item + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Intake + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IntakeIssue" + examples: + IntakeIssue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + status: 0 + source: in_app + issue: + id: 550e8400-e29b-41d4-a716-446655440001 + name: "Feature request: Dark mode" + description: Add dark mode support to the application + priority: medium + sequence_id: 124 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Intake work item + patch: + operationId: update_intake_work_item + description: Modify an existing intake work item's properties or status for + triage processing. Supports status changes like accept, reject, or mark as + duplicate. + summary: Update intake work item + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Intake + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIntakeIssueUpdateRequest" + examples: + IntakeIssueUpdateSerializer: + value: + status: 1 + issue: + name: Updated Issue + description: Updated issue description + priority: high + description: Example request for updating an intake issue + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIntakeIssueUpdateRequest" + examples: + IntakeIssueUpdateSerializer: + value: + status: 1 + issue: + name: Updated Issue + description: Updated issue description + priority: high + description: Example request for updating an intake issue + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIntakeIssueUpdateRequest" + examples: + IntakeIssueUpdateSerializer: + value: + status: 1 + issue: + name: Updated Issue + description: Updated issue description + priority: high + description: Example request for updating an intake issue + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IntakeIssue" + examples: + IntakeIssue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + status: 0 + source: in_app + issue: + id: 550e8400-e29b-41d4-a716-446655440001 + name: "Feature request: Dark mode" + description: Add dark mode support to the application + priority: medium + sequence_id: 124 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Intake work item updated + "400": + description: Invalid request data provided + delete: + operationId: delete_intake_work_item + description: Permanently remove an intake work item from the triage queue. Also + deletes the underlying work item if it hasn't been accepted yet. + summary: Delete intake work item + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Intake + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issue-properties/{property_id}/options/: + get: + operationId: list_issue_property_options + description: List issue property options + summary: List issue property options + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue property not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyOptionAPI" + description: Issue property options + post: + operationId: create_issue_property_option + description: Create a new issue property option + summary: Create a new issue property option + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyOptionAPIRequest" + examples: + IssuePropertyOptionAPISerializer: + value: + name: High + description: The highest priority + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property option + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssuePropertyOptionAPIRequest" + examples: + IssuePropertyOptionAPISerializer: + value: + name: High + description: The highest priority + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property option + multipart/form-data: + schema: + $ref: "#/components/schemas/IssuePropertyOptionAPIRequest" + examples: + IssuePropertyOptionAPISerializer: + value: + name: High + description: The highest priority + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property option + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyOptionAPI" + description: Issue property option created + "400": + description: Issue Property type is not OPTION + "409": + description: Issue Property with the same external id and external source + already exists + /api/v1/workspaces/{slug}/projects/{project_id}/issue-properties/{property_id}/options/{option_id}/: + get: + operationId: retrieve_issue_property_option + description: Get issue property option by id + summary: Get issue property option by id + parameters: + - in: path + name: option_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue property not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyOptionAPI" + description: Issue property options + patch: + operationId: update_issue_property_option + description: Update an issue property option + summary: Update an issue property option + parameters: + - in: path + name: option_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssuePropertyOptionAPIRequest" + examples: + IssuePropertyOptionAPISerializer: + value: + name: High + description: The highest priority + external_id: "1234567890" + external_source: github + description: Example request for updating an issue property option + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssuePropertyOptionAPIRequest" + examples: + IssuePropertyOptionAPISerializer: + value: + name: High + description: The highest priority + external_id: "1234567890" + external_source: github + description: Example request for updating an issue property option + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssuePropertyOptionAPIRequest" + examples: + IssuePropertyOptionAPISerializer: + value: + name: High + description: The highest priority + external_id: "1234567890" + external_source: github + description: Example request for updating an issue property option + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue property option not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyOptionAPI" + description: Issue property option updated + "400": + description: Default option already exists + delete: + operationId: delete_issue_property_option + description: Delete an issue property option + summary: Delete an issue property option + parameters: + - in: path + name: option_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue property option not found + "204": + description: Issue property option deleted + /api/v1/workspaces/{slug}/projects/{project_id}/issue-types/: + get: + operationId: list_issue_types + description: List all issue types for a project + summary: List issue types + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Types + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue type not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueTypeAPI" + description: Issue types + post: + operationId: create_issue_type + description: Create a new issue type for a project + summary: Create a new issue type + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Types + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueTypeAPIRequest" + examples: + IssueTypeAPISerializer: + value: + name: Bug + description: A bug is a problem with the software that prevents + it from working as expected. + external_id: "1234567890" + external_source: github + description: Example request for creating an issue type + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueTypeAPIRequest" + examples: + IssueTypeAPISerializer: + value: + name: Bug + description: A bug is a problem with the software that prevents + it from working as expected. + external_id: "1234567890" + external_source: github + description: Example request for creating an issue type + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueTypeAPIRequest" + examples: + IssueTypeAPISerializer: + value: + name: Bug + description: A bug is a problem with the software that prevents + it from working as expected. + external_id: "1234567890" + external_source: github + description: Example request for creating an issue type + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueTypeAPI" + description: Issue type created + "409": + description: Issue type with the same external id and external source already + exists + /api/v1/workspaces/{slug}/projects/{project_id}/issue-types/{type_id}/: + get: + operationId: retrieve_issue_type + description: Retrieve an issue type by id + summary: Retrieve an issue type by id + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + required: true + tags: + - Work Item Types + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue type not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueTypeAPI" + description: Issue types + patch: + operationId: update_issue_type + description: Update an issue type + summary: Update an issue type + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + required: true + tags: + - Work Item Types + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueTypeAPIRequest" + examples: + IssueTypeAPISerializer: + value: + name: Bug + description: A bug is a problem with the software that prevents + it from working as expected. + external_id: "1234567890" + external_source: github + description: Example request for updating an issue type + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueTypeAPIRequest" + examples: + IssueTypeAPISerializer: + value: + name: Bug + description: A bug is a problem with the software that prevents + it from working as expected. + external_id: "1234567890" + external_source: github + description: Example request for updating an issue type + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueTypeAPIRequest" + examples: + IssueTypeAPISerializer: + value: + name: Bug + description: A bug is a problem with the software that prevents + it from working as expected. + external_id: "1234567890" + external_source: github + description: Example request for updating an issue type + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueTypeAPI" + description: Issue type updated + "409": + description: Issue type with the same external id and external source already + exists + delete: + operationId: delete_issue_type + description: Delete an issue type + summary: Delete an issue type + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + required: true + tags: + - Work Item Types + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Issue type deleted + "400": + description: Default work item type cannot be deleted + /api/v1/workspaces/{slug}/projects/{project_id}/issue-types/{type_id}/issue-properties/: + get: + operationId: list_issue_properties + description: List issue properties + summary: List issue properties + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + description: Type ID + required: true + examples: + ExampleTypeID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example type ID + description: A typical type UUID + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyAPI" + description: Issue properties + post: + operationId: create_issue_property + description: Create a new issue property + summary: Create a new issue property + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + description: Type ID + required: true + examples: + ExampleTypeID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example type ID + description: A typical type UUID + tags: + - Work Item Properties + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyAPIRequest" + examples: + IssuePropertyAPISerializer: + value: + name: Priority + description: The priority of the issue + property_type: OPTION + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssuePropertyAPIRequest" + examples: + IssuePropertyAPISerializer: + value: + name: Priority + description: The priority of the issue + property_type: OPTION + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property + multipart/form-data: + schema: + $ref: "#/components/schemas/IssuePropertyAPIRequest" + examples: + IssuePropertyAPISerializer: + value: + name: Priority + description: The priority of the issue + property_type: OPTION + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyAPI" + description: Issue property created + "409": + description: Issue property with the same external id and external source + already exists + /api/v1/workspaces/{slug}/projects/{project_id}/issue-types/{type_id}/issue-properties/{property_id}/: + get: + operationId: retrieve_issue_property + description: Get issue property by id + summary: Get issue property by id + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + description: Type ID + required: true + examples: + ExampleTypeID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example type ID + description: A typical type UUID + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyAPI" + description: Issue properties + patch: + operationId: update_issue_property + description: Update an issue property + summary: Update an issue property + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + description: Type ID + required: true + examples: + ExampleTypeID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example type ID + description: A typical type UUID + tags: + - Work Item Properties + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssuePropertyAPIRequest" + examples: + IssuePropertyAPISerializer: + value: + name: Priority + description: The priority of the issue + property_type: OPTION + external_id: "1234567890" + external_source: github + description: Example request for updating an issue property + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssuePropertyAPIRequest" + examples: + IssuePropertyAPISerializer: + value: + name: Priority + description: The priority of the issue + property_type: OPTION + external_id: "1234567890" + external_source: github + description: Example request for updating an issue property + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssuePropertyAPIRequest" + examples: + IssuePropertyAPISerializer: + value: + name: Priority + description: The priority of the issue + property_type: OPTION + external_id: "1234567890" + external_source: github + description: Example request for updating an issue property + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyAPI" + description: Issue property updated + delete: + operationId: delete_issue_property + description: Delete an issue property + summary: Delete an issue property + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: type_id + schema: + type: string + format: uuid + description: Type ID + required: true + examples: + ExampleTypeID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example type ID + description: A typical type UUID + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Issue property deleted + /api/v1/workspaces/{slug}/projects/{project_id}/issues/: + get: + operationId: list_work_items + description: Retrieve a paginated list of all work items in a project. Supports + filtering, ordering, and field selection through query parameters. + summary: List work items + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: external_id + schema: + type: string + description: External system identifier for filtering or lookup + examples: + GitHubIssue: + value: "1234567890" + summary: GitHub Issue + description: GitHub issue number + - in: query + name: external_source + schema: + type: string + description: External system source name for filtering or lookup + examples: + GitHub: + value: github + description: GitHub integration source + Jira: + value: jira + description: Jira integration source + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedWorkItemResponse" + examples: + PaginatedWorkItems: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Fix authentication bug in user login + description: Users are unable to log in due to authentication + service timeout + priority: high + sequence_id: 123 + state: + id: 550e8400-e29b-41d4-a716-446655440001 + name: In Progress + group: started + assignees: [] + labels: [] + created_at: "2024-01-15T10:30:00Z" + summary: Paginated Work Items + description: Paginated list of work items + "400": + description: Invalid request data provided + post: + operationId: create_work_item + description: Create a new work item in the specified project with the provided + details. + summary: Create work item + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueRequest" + examples: + IssueCreateSerializer: + value: + name: New Issue + description: New issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + external_id: "1234567890" + external_source: github + description: Example request for creating a work item + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueRequest" + examples: + IssueCreateSerializer: + value: + name: New Issue + description: New issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + external_id: "1234567890" + external_source: github + description: Example request for creating a work item + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueRequest" + examples: + IssueCreateSerializer: + value: + name: New Issue + description: New issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + external_id: "1234567890" + external_source: github + description: Example request for creating a work item + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Issue" + examples: + Issue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Implement user authentication + description: Add OAuth 2.0 authentication flow + sequence_id: 1 + priority: high + assignees: + - 550e8400-e29b-41d4-a716-446655440001 + labels: + - 550e8400-e29b-41d4-a716-446655440002 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: Work Item created successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/activities/: + get: + operationId: list_work_item_activities + description: Retrieve all activities for a work item. Supports filtering by + activity type and date range. + summary: Endpoints for issue activity/search and fetch issue activity details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Activity + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIssueActivityResponse" + examples: + PaginatedIssueActivities: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Issue Activities + description: Paginated list of issue activities + "400": + description: Invalid request data provided + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/activities/{pk}/: + get: + operationId: retrieve_work_item_activity + description: Retrieve details of a specific activity. + summary: Endpoints for issue activity/search and fetch issue activity details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: pk + schema: + type: string + format: uuid + description: Activity ID + required: true + examples: + ExampleActivityID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example activity ID + description: A typical activity UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Activity + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIssueActivityDetailResponse" + examples: + WorkItemActivityDetails: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Work Item Activity Details + description: Paginated list of work item activities + "400": + description: Invalid request data provided + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/comments/: + get: + operationId: list_work_item_comments + description: Retrieve all comments for a work item. + summary: Endpoints for issue comment create/update/delete and fetch issue comment + details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Comments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIssueCommentResponse" + examples: + PaginatedWorkItemComments: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Work Item Comments + description: Paginated list of work item comments + post: + operationId: create_work_item_comment + description: Add a new comment to a work item with HTML content. + summary: Endpoints for issue comment create/update/delete and fetch issue comment + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Comments + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueCommentCreateRequest" + examples: + IssueCommentCreateSerializer: + value: + comment_html:

New comment content

+ external_id: "1234567890" + external_source: github + description: Example request for creating an issue comment + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueCommentCreateRequest" + examples: + IssueCommentCreateSerializer: + value: + comment_html:

New comment content

+ external_id: "1234567890" + external_source: github + description: Example request for creating an issue comment + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueCommentCreateRequest" + examples: + IssueCommentCreateSerializer: + value: + comment_html:

New comment content

+ external_id: "1234567890" + external_source: github + description: Example request for creating an issue comment + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueComment" + examples: + IssueComment: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + comment_html:

This issue has been resolved by implementing + OAuth 2.0 flow.

+ comment_json: + type: doc + content: + - type: paragraph + content: + - type: text + text: This issue has been resolved by implementing OAuth + 2.0 flow. + actor: + id: 550e8400-e29b-41d4-a716-446655440001 + first_name: John + last_name: Doe + display_name: John Doe + avatar: https://example.com/avatar.jpg + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item comment created successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/comments/{pk}/: + get: + operationId: retrieve_work_item_comment + description: Retrieve details of a specific comment. + summary: Endpoints for issue comment create/update/delete and fetch issue comment + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Comment ID + required: true + examples: + ExampleCommentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example comment ID + description: A typical comment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Comments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueComment" + examples: + IssueComment: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + comment_html:

This issue has been resolved by implementing + OAuth 2.0 flow.

+ comment_json: + type: doc + content: + - type: paragraph + content: + - type: text + text: This issue has been resolved by implementing OAuth + 2.0 flow. + actor: + id: 550e8400-e29b-41d4-a716-446655440001 + first_name: John + last_name: Doe + display_name: John Doe + avatar: https://example.com/avatar.jpg + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item comments + "400": + description: Invalid request data provided + patch: + operationId: update_work_item_comment + description: Modify the content of an existing comment on a work item. + summary: Endpoints for issue comment create/update/delete and fetch issue comment + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Comment ID + required: true + examples: + ExampleCommentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example comment ID + description: A typical comment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Comments + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueCommentCreateRequest" + examples: + IssueCommentCreateSerializer: + value: + comment_html:

Updated comment content

+ external_id: "1234567890" + external_source: github + description: Example request for updating an issue comment + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueCommentCreateRequest" + examples: + IssueCommentCreateSerializer: + value: + comment_html:

Updated comment content

+ external_id: "1234567890" + external_source: github + description: Example request for updating an issue comment + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueCommentCreateRequest" + examples: + IssueCommentCreateSerializer: + value: + comment_html:

Updated comment content

+ external_id: "1234567890" + external_source: github + description: Example request for updating an issue comment + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Comment not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueComment" + examples: + IssueComment: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + comment_html:

This issue has been resolved by implementing + OAuth 2.0 flow.

+ comment_json: + type: doc + content: + - type: paragraph + content: + - type: text + text: This issue has been resolved by implementing OAuth + 2.0 flow. + actor: + id: 550e8400-e29b-41d4-a716-446655440001 + first_name: John + last_name: Doe + display_name: John Doe + avatar: https://example.com/avatar.jpg + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item comment updated successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_work_item_comment + description: Permanently remove a comment from a work item. Records deletion + activity for audit purposes. + summary: Endpoints for issue comment create/update/delete and fetch issue comment + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Comment ID + required: true + examples: + ExampleCommentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example comment ID + description: A typical comment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Comments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Comment not found + "204": + description: Work item comment deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/: + get: + operationId: list_work_item_attachments + description: Retrieve all attachments for a work item. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Attachment not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueAttachment" + examples: + IssueAttachment: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: screenshot.png + size: 1024000 + asset_url: https://s3.amazonaws.com/bucket/screenshot.png?signed-url + attributes: + name: screenshot.png + type: image/png + size: 1024000 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item attachment + "400": + description: Invalid request data provided + post: + operationId: create_work_item_attachment + description: Generate presigned URL for uploading file attachments to a work + item. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueAttachmentUploadRequest" + examples: + IssueAttachmentUploadSerializer: + value: + name: document.pdf + type: application/pdf + size: 1024000 + external_id: "1234567890" + external_source: github + description: Example request for creating an issue attachment + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueAttachmentUploadRequest" + examples: + IssueAttachmentUploadSerializer: + value: + name: document.pdf + type: application/pdf + size: 1024000 + external_id: "1234567890" + external_source: github + description: Example request for creating an issue attachment + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueAttachmentUploadRequest" + examples: + IssueAttachmentUploadSerializer: + value: + name: document.pdf + type: application/pdf + size: 1024000 + external_id: "1234567890" + external_source: github + description: Example request for creating an issue attachment + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue or Project or Workspace not found + "200": + description: Presigned download URL generated successfully + "400": + description: Validation error + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/{pk}/: + get: + operationId: retrieve_work_item_attachment + description: Download attachment file. Returns a redirect to the presigned download + URL. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + description: Attachment ID + required: true + examples: + ExampleAttachmentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example attachment ID + description: A typical attachment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Attachment not found + "302": + description: Redirect to presigned download URL + "400": + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Error message + example: The asset is not uploaded. + status: + type: boolean + description: Request status + example: false + examples: + IssueAttachmentNotUploaded: + value: + error: The asset is not uploaded. + status: false + summary: Issue Attachment Not Uploaded + description: Error when trying to download an attachment that hasn't + been uploaded yet + description: Asset not uploaded + delete: + operationId: delete_work_item_attachment + description: Permanently remove an attachment from a work item. Records deletion + activity for audit purposes. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + description: Attachment ID + required: true + examples: + ExampleAttachmentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example attachment ID + description: A typical attachment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Attachment not found + "204": + description: Work item attachment deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/issue-properties/{property_id}/values/: + get: + operationId: list_issue_property_values + description: List issue property values + summary: List issue property values + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPI" + description: Issue property values + post: + operationId: create_issue_property_value + description: Create/update an issue property value + summary: Create/update an issue property value + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPIRequest" + examples: + IssuePropertyValueAPISerializer: + value: + values: + - value: "1234567890" + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property value + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPIRequest" + examples: + IssuePropertyValueAPISerializer: + value: + values: + - value: "1234567890" + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property value + multipart/form-data: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPIRequest" + examples: + IssuePropertyValueAPISerializer: + value: + values: + - value: "1234567890" + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property value + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue property not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPI" + description: Issue property value created + "400": + description: Value is required + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/links/: + get: + operationId: list_work_item_links + description: Retrieve all links associated with a work item. Supports filtering + by URL, title, and metadata. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIssueLinkResponse" + examples: + PaginatedWorkItemLinks: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Work Item Links + description: Paginated list of work item links + "400": + description: Invalid request data provided + post: + operationId: create_work_item_link + description: Add a new external link to a work item with URL, title, and metadata. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueLinkCreateRequest" + examples: + IssueLinkCreateSerializer: + value: + url: https://example.com + title: Example Link + description: Example request for creating an issue link + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueLinkCreateRequest" + examples: + IssueLinkCreateSerializer: + value: + url: https://example.com + title: Example Link + description: Example request for creating an issue link + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueLinkCreateRequest" + examples: + IssueLinkCreateSerializer: + value: + url: https://example.com + title: Example Link + description: Example request for creating an issue link + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueLink" + examples: + IssueLink: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + url: https://github.com/example/repo/pull/123 + title: Fix authentication bug + metadata: + title: Fix authentication bug + description: Pull request to fix authentication timeout issue + image: https://github.com/example/repo/avatar.png + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item link created successfully + "400": + description: Invalid request data provided + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/links/{pk}/: + get: + operationId: retrieve_work_item_link + description: Retrieve details of a specific work item link. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: pk + schema: + type: string + format: uuid + description: Link ID + required: true + examples: + ExampleLinkID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example link ID + description: A typical link UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIssueLinkDetailResponse" + examples: + WorkItemLinkDetails: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Work Item Link Details + description: Work item link details or paginated list + patch: + operationId: update_issue_link + description: Modify the URL, title, or metadata of an existing issue link. + summary: Update an issue link + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Link ID + required: true + examples: + ExampleLinkID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example link ID + description: A typical link UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueLinkUpdateRequest" + examples: + IssueLinkUpdateSerializer: + value: + url: https://example.com + title: Updated Link + description: Example request for updating an issue link + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueLinkUpdateRequest" + examples: + IssueLinkUpdateSerializer: + value: + url: https://example.com + title: Updated Link + description: Example request for updating an issue link + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueLinkUpdateRequest" + examples: + IssueLinkUpdateSerializer: + value: + url: https://example.com + title: Updated Link + description: Example request for updating an issue link + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Link not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueLink" + examples: + IssueLink: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + url: https://github.com/example/repo/pull/123 + title: Fix authentication bug + metadata: + title: Fix authentication bug + description: Pull request to fix authentication timeout issue + image: https://github.com/example/repo/avatar.png + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Issue link updated successfully + "400": + description: Invalid request data provided + delete: + operationId: delete_work_item_link + description: Permanently remove an external link from a work item. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Link ID + required: true + examples: + ExampleLinkID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example link ID + description: A typical link UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Work item link not found + "204": + description: Work item link deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/worklogs/: + get: + operationId: list_issue_worklogs + description: List worklog entries + summary: List worklog entries + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog is not enabled for the project + "200": + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/IssueWorkLogAPI" + description: List of worklog entries + post: + operationId: create_issue_worklog + description: Create a new worklog entry + summary: Create a new worklog entry + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueWorkLogAPIRequest" + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueWorkLogAPIRequest" + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueWorkLogAPIRequest" + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog is not enabled for the project + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueWorkLogAPI" + description: Worklog created successfully + "400": + description: Invalid request data + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/worklogs/{pk}/: + patch: + operationId: update_issue_worklog + description: Update a worklog entry + summary: Update a worklog entry + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueWorkLogAPIRequest" + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueWorkLogAPIRequest" + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueWorkLogAPIRequest" + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog not found or time tracking disabled + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueWorkLogAPI" + description: Worklog updated successfully + "400": + description: Invalid request data + delete: + operationId: delete_issue_worklog + description: Delete a worklog entry + summary: Delete a worklog entry + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog not found or time tracking disabled + "204": + description: Worklog deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{pk}/: + get: + operationId: retrieve_work_item + description: Retrieve details of a specific work item. + summary: Retrieve work item + parameters: + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: external_id + schema: + type: string + description: External system identifier for filtering or lookup + examples: + GitHubIssue: + value: "1234567890" + summary: GitHub Issue + description: GitHub issue number + - in: query + name: external_source + schema: + type: string + description: External system source name for filtering or lookup + examples: + GitHub: + value: github + description: GitHub integration source + Jira: + value: jira + description: Jira integration source + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Work item not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Issue" + examples: + Issue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Implement user authentication + description: Add OAuth 2.0 authentication flow + sequence_id: 1 + priority: high + assignees: + - 550e8400-e29b-41d4-a716-446655440001 + labels: + - 550e8400-e29b-41d4-a716-446655440002 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: List of issues or issue details + "400": + description: Invalid request data provided + patch: + operationId: update_work_item + description: Partially update an existing work item with the provided fields. + Supports external ID validation to prevent conflicts. + summary: Partially update work item + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueRequest" + examples: + IssueUpdateSerializer: + value: + name: Updated Issue + description: Updated issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a work item + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueRequest" + examples: + IssueUpdateSerializer: + value: + name: Updated Issue + description: Updated issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a work item + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueRequest" + examples: + IssueUpdateSerializer: + value: + name: Updated Issue + description: Updated issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a work item + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Work item not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Issue" + examples: + Issue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Implement user authentication + description: Add OAuth 2.0 authentication flow + sequence_id: 1 + priority: high + assignees: + - 550e8400-e29b-41d4-a716-446655440001 + labels: + - 550e8400-e29b-41d4-a716-446655440002 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: Work Item patched successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_work_item + description: Permanently delete an existing work item from the project. Only + admins or the item creator can perform this action. + summary: Delete work item + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Only admin or creator can perform this action + "404": + description: Work item not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/labels/: + get: + operationId: list_labels + description: Retrieve all labels in a project. Supports filtering by name and + color. + summary: Endpoints for label create/update/delete and fetch label details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedLabelResponse" + examples: + PaginatedLabels: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + summary: Paginated Labels + description: Paginated list of labels + "400": + description: Invalid request data provided + post: + operationId: create_label + description: Create a new label in the specified project with name, color, and + description. + summary: Endpoints for label create/update/delete and fetch label details + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: New Label + color: "#ff0000" + description: New label description + external_id: "1234567890" + external_source: github + description: Example request for creating a label + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/LabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: New Label + color: "#ff0000" + description: New label description + external_id: "1234567890" + external_source: github + description: Example request for creating a label + multipart/form-data: + schema: + $ref: "#/components/schemas/LabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: New Label + color: "#ff0000" + description: New label description + external_id: "1234567890" + external_source: github + description: Example request for creating a label + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Label" + examples: + Label: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Label created successfully + "400": + description: Invalid request data provided + "409": + description: Label with the same name already exists + /api/v1/workspaces/{slug}/projects/{project_id}/labels/{pk}/: + get: + operationId: get_labels + description: Retrieve details of a specific label. + summary: Endpoints for label create/update/delete and fetch label details + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Label ID + required: true + examples: + ExampleLabelID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example label ID + description: A typical label UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Label not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Label" + examples: + Label: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Labels + patch: + operationId: update_label + description: Partially update an existing label's properties like name, color, + or description. + summary: Update a label + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Label ID + required: true + examples: + ExampleLabelID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example label ID + description: A typical label UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedLabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: Updated Label + color: "#00ff00" + description: Updated label description + external_id: "1234567890" + external_source: github + description: Example request for updating a label + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedLabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: Updated Label + color: "#00ff00" + description: Updated label description + external_id: "1234567890" + external_source: github + description: Example request for updating a label + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedLabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: Updated Label + color: "#00ff00" + description: Updated label description + external_id: "1234567890" + external_source: github + description: Example request for updating a label + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Label not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Label" + examples: + Label: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Label updated successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_label + description: Permanently remove a label from the project. This action cannot + be undone. + summary: Delete a label + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Label ID + required: true + examples: + ExampleLabelID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example label ID + description: A typical label UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Label not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/members/: + get: + operationId: get_project_members + description: Retrieve all users who are members of the specified project. + summary: List project members + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Members + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/UserLite" + examples: + ProjectMembers: + value: + - id: 550e8400-e29b-41d4-a716-446655440000 + first_name: John + last_name: Doe + display_name: John Doe + email: john.doe@example.com + avatar: https://example.com/avatar.jpg + - id: 550e8400-e29b-41d4-a716-446655440001 + first_name: Jane + last_name: Smith + display_name: Jane Smith + email: jane.smith@example.com + avatar: https://example.com/avatar2.jpg + description: List of project members with their roles + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + /api/v1/workspaces/{slug}/projects/{project_id}/modules/: + get: + operationId: list_modules + description: Retrieve all modules in a project. + summary: List modules + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedModuleResponse" + examples: + PaginatedModules: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in_progress + summary: Paginated Modules + description: Paginated list of modules + post: + operationId: create_module + description: Create a new project module with specified name, description, and + timeline. + summary: Create module + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ModuleCreateRequest" + examples: + ModuleCreateSerializer: + value: + name: New Module + description: New module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a module + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/ModuleCreateRequest" + examples: + ModuleCreateSerializer: + value: + name: New Module + description: New module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a module + multipart/form-data: + schema: + $ref: "#/components/schemas/ModuleCreateRequest" + examples: + ModuleCreateSerializer: + value: + name: New Module + description: New module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a module + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + Module: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in-progress + total_issues: 12 + completed_issues: 5 + cancelled_issues: 0 + started_issues: 4 + unstarted_issues: 3 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module created + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{module_id}/module-issues/: + get: + operationId: list_module_work_items + description: Retrieve all work items assigned to a module with detailed information. + summary: List module work items + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: module_id + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedModuleIssueResponse" + examples: + PaginatedModuleWorkItems: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Module Work Items + description: Paginated list of module work items + post: + operationId: add_module_work_items + description: Assign multiple work items to a module or move them from another + module. Automatically handles bulk creation and updates with activity tracking. + summary: Add Work Items to Module + parameters: + - in: path + name: module_id + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ModuleIssueRequestRequest" + examples: + ModuleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding module issues + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/ModuleIssueRequestRequest" + examples: + ModuleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding module issues + multipart/form-data: + schema: + $ref: "#/components/schemas/ModuleIssueRequestRequest" + examples: + ModuleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding module issues + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ModuleIssue" + examples: + ModuleIssue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + module: 550e8400-e29b-41d4-a716-446655440001 + issue: 550e8400-e29b-41d4-a716-446655440002 + sub_issues_count: 2 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module issues added + "400": + description: Required fields are missing + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{module_id}/module-issues/{issue_id}/: + delete: + operationId: delete_module_work_item + description: Remove a work item from a module while keeping the work item in + the project. + summary: Delete module work item + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: module_id + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module issue not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{pk}/: + get: + operationId: retrieve_module + description: Retrieve details of a specific module. + summary: Retrieve module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + Module: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in-progress + total_issues: 12 + completed_issues: 5 + cancelled_issues: 0 + started_issues: 4 + unstarted_issues: 3 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module + patch: + operationId: update_module + description: Modify an existing module's properties like name, description, + status, or timeline. + summary: Update module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedModuleUpdateRequest" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedModuleUpdateRequest" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedModuleUpdateRequest" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + Module: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in-progress + total_issues: 12 + completed_issues: 5 + cancelled_issues: 0 + started_issues: 4 + unstarted_issues: 3 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + description: Invalid request data + "409": + description: Module with same external ID already exists + delete: + operationId: delete_module + description: Permanently remove a module and all its associated issue relationships. + summary: Delete module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Only admin or creator can perform this action + "404": + description: Module not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{pk}/archive/: + post: + operationId: archive_module + description: Move a module to archived status for historical tracking. + summary: Archive module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "204": + description: Resource archived successfully + "400": + description: Resource cannot be archived in current state + /api/v1/workspaces/{slug}/projects/{project_id}/states/: + get: + operationId: list_states + description: Retrieve all workflow states for a project. + summary: List states + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - States + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedStateResponse" + examples: + PaginatedStates: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#ffa500" + group: started + sequence: 2 + summary: Paginated States + description: Paginated list of states + post: + operationId: create_state + description: Create a new workflow state for a project with specified name, + color, and group. + summary: Create state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - States + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/StateRequest" + examples: + StateCreateSerializer: + value: + name: New State + color: "#ff0000" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for creating a state + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/StateRequest" + examples: + StateCreateSerializer: + value: + name: New State + color: "#ff0000" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for creating a state + multipart/form-data: + schema: + $ref: "#/components/schemas/StateRequest" + examples: + StateCreateSerializer: + value: + name: New State + color: "#ff0000" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for creating a state + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/State" + examples: + State: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#f39c12" + group: started + sequence: 2 + default: false + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: State created + "400": + description: Invalid request data provided + "409": + description: State with the same name already exists + /api/v1/workspaces/{slug}/projects/{project_id}/states/{state_id}/: + get: + operationId: retrieve_state + description: Retrieve details of a specific state. + summary: Retrieve state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: state_id + schema: + type: string + format: uuid + description: State ID + required: true + examples: + ExampleStateID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example state ID + description: A typical state UUID + tags: + - States + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/State" + examples: + State: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#f39c12" + group: started + sequence: 2 + default: false + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: State retrieved + patch: + operationId: update_state + description: Partially update an existing workflow state's properties like name, + color, or group. + summary: Update state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: state_id + schema: + type: string + format: uuid + description: State ID + required: true + examples: + ExampleStateID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example state ID + description: A typical state UUID + tags: + - States + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedStateRequest" + examples: + StateUpdateSerializer: + value: + name: Updated State + color: "#00ff00" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for updating a state + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedStateRequest" + examples: + StateUpdateSerializer: + value: + name: Updated State + color: "#00ff00" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for updating a state + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedStateRequest" + examples: + StateUpdateSerializer: + value: + name: Updated State + color: "#00ff00" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for updating a state + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/State" + examples: + State: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#f39c12" + group: started + sequence: 2 + default: false + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: State updated + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_state + description: Permanently remove a workflow state from a project. Default states + and states with existing work items cannot be deleted. + summary: Delete state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: state_id + schema: + type: string + format: uuid + description: State ID + required: true + examples: + ExampleStateID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example state ID + description: A typical state UUID + tags: + - States + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource deleted successfully + "400": + description: State cannot be deleted + /api/v1/workspaces/{slug}/projects/{project_id}/total-worklogs/: + get: + operationId: get_project_worklog_summary + description: Get project worklog summary + summary: Get project worklog summary + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog is not enabled for the project + "200": + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ProjectWorklogSummary" + description: Project worklog summary by issue +components: + schemas: + AccessEnum: + enum: + - INTERNAL + - EXTERNAL + type: string + description: |- + * `INTERNAL` - INTERNAL + * `EXTERNAL` - EXTERNAL + Cycle: + type: object + description: |- + Cycle serializer with comprehensive project metrics and time tracking. + + Provides cycle details including work item counts by status, progress estimates, + and time-bound iteration data for project management and sprint planning. + properties: + id: + type: string + format: uuid + readOnly: true + total_issues: + type: integer + readOnly: true + cancelled_issues: + type: integer + readOnly: true + completed_issues: + type: integer + readOnly: true + started_issues: + type: integer + readOnly: true + unstarted_issues: + type: integer + readOnly: true + backlog_issues: + type: integer + readOnly: true + total_estimates: + type: number + format: double + readOnly: true + completed_estimates: + type: number + format: double + readOnly: true + started_estimates: + type: number + format: double + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + progress_snapshot: {} + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + timezone: + $ref: "#/components/schemas/TimezoneEnum" + version: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + owned_by: + type: string + format: uuid + readOnly: true + required: + - name + CycleCreateRequest: + type: object + description: |- + Serializer for creating cycles with timezone handling and date validation. + + Manages cycle creation including project timezone conversion, date range validation, + and UTC normalization for time-bound iteration planning and sprint management. + properties: + name: + type: string + minLength: 1 + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + owned_by: + type: string + format: uuid + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + required: + - name + - owned_by + CycleIssue: + type: object + description: |- + Serializer for cycle-issue relationships with sub-issue counting. + + Manages the association between cycles and work items, including + hierarchical issue tracking for nested work item structures. + properties: + id: + type: string + format: uuid + readOnly: true + sub_issues_count: + type: integer + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + cycle: + type: string + format: uuid + readOnly: true + required: + - deleted_at + - issue + CycleIssueRequestRequest: + type: object + description: |- + Serializer for bulk work item assignment to cycles. + + Validates work item ID lists for batch operations including + cycle assignment and sprint planning workflows. + properties: + issues: + type: array + items: + type: string + format: uuid + description: List of issue IDs to add to the cycle + required: + - issues + CycleLite: + type: object + description: |- + Lightweight cycle serializer for minimal data transfer. + + Provides essential cycle information without computed metrics, + optimized for list views and reference lookups. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + name: + type: string + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + progress_snapshot: {} + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + timezone: + $ref: "#/components/schemas/TimezoneEnum" + version: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project: + type: string + format: uuid + workspace: + type: string + format: uuid + owned_by: + type: string + format: uuid + required: + - name + - owned_by + - project + - workspace + EntityTypeEnum: + enum: + - USER_AVATAR + - USER_COVER + type: string + description: |- + * `USER_AVATAR` - User Avatar + * `USER_COVER` - User Cover + GenericAssetUploadRequest: + type: object + description: |- + Serializer for generic asset upload requests with project association. + + Validates metadata for generating presigned URLs for workspace assets including + project association, external system tracking, and file validation for + document management and content storage workflows. + properties: + name: + type: string + minLength: 1 + description: Original filename of the asset + type: + type: string + minLength: 1 + description: MIME type of the file + size: + type: integer + description: File size in bytes + project_id: + type: string + format: uuid + description: UUID of the project to associate with the asset + external_id: + type: string + minLength: 1 + description: External identifier for the asset (for integration tracking) + external_source: + type: string + minLength: 1 + description: External source system (for integration tracking) + required: + - name + - size + GroupEnum: + enum: + - backlog + - unstarted + - started + - completed + - cancelled + - triage + type: string + description: |- + * `backlog` - Backlog + * `unstarted` - Unstarted + * `started` - Started + * `completed` - Completed + * `cancelled` - Cancelled + * `triage` - Triage + IntakeIssue: + type: object + description: |- + Comprehensive serializer for intake work items with expanded issue details. + + Provides full intake work item data including embedded issue information, + status tracking, and triage metadata for issue queue management. + properties: + id: + type: string + format: uuid + readOnly: true + issue_detail: + allOf: + - $ref: "#/components/schemas/IssueExpand" + readOnly: true + inbox: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + status: + allOf: + - $ref: "#/components/schemas/IntakeWorkItemStatusEnum" + minimum: -2147483648 + maximum: 2147483647 + snoozed_till: + type: string + format: date-time + nullable: true + source: + type: string + nullable: true + maxLength: 255 + source_email: + type: string + nullable: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + extra: {} + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + intake: + type: string + format: uuid + issue: + type: string + format: uuid + readOnly: true + duplicate_to: + type: string + format: uuid + nullable: true + required: + - intake + IntakeIssueCreateRequest: + type: object + description: |- + Serializer for creating intake work items with embedded issue data. + + Manages intake work item creation including nested issue creation, + status assignment, and source tracking for issue queue management. + properties: + issue: + allOf: + - $ref: "#/components/schemas/IssueForIntakeRequest" + description: Issue data for the intake issue + intake: + type: string + format: uuid + status: + allOf: + - $ref: "#/components/schemas/IntakeWorkItemStatusEnum" + minimum: -2147483648 + maximum: 2147483647 + snoozed_till: + type: string + format: date-time + nullable: true + duplicate_to: + type: string + format: uuid + nullable: true + source: + type: string + nullable: true + maxLength: 255 + source_email: + type: string + nullable: true + required: + - intake + - issue + IntakeWorkItemStatusEnum: + enum: + - -2 + - -1 + - 0 + - 1 + - 2 + type: integer + description: |- + * `-2` - Pending + * `-1` - Rejected + * `0` - Snoozed + * `1` - Accepted + * `2` - Duplicate + Issue: + type: object + description: |- + Comprehensive work item serializer with full relationship management. + + Handles complete work item lifecycle including assignees, labels, validation, + and related model updates. Supports dynamic field expansion and HTML content processing. + properties: + id: + type: string + format: uuid + readOnly: true + type_id: + type: string + format: uuid + nullable: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + title: Issue Name + maxLength: 255 + description_html: + type: string + description_stripped: + type: string + nullable: true + description_binary: + type: string + format: byte + readOnly: true + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + parent: + type: string + format: uuid + nullable: true + state: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + required: + - name + IssueActivity: + type: object + description: |- + Serializer for work item activity and change history. + + Tracks and represents work item modifications, state changes, + and user interactions for audit trails and activity feeds. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + verb: + type: string + title: Action + maxLength: 255 + field: + type: string + nullable: true + title: Field Name + maxLength: 255 + old_value: + type: string + nullable: true + new_value: + type: string + nullable: true + comment: + type: string + attachments: + type: array + items: + type: string + format: uri + maxLength: 200 + maxItems: 10 + old_identifier: + type: string + format: uuid + nullable: true + new_identifier: + type: string + format: uuid + nullable: true + epoch: + type: number + format: double + nullable: true + project: + type: string + format: uuid + workspace: + type: string + format: uuid + issue: + type: string + format: uuid + nullable: true + issue_comment: + type: string + format: uuid + nullable: true + actor: + type: string + format: uuid + nullable: true + required: + - project + - workspace + IssueAttachment: + type: object + description: |- + Serializer for work item file attachments. + + Manages file asset associations with work items including metadata, + storage information, and access control for document management. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + attributes: {} + asset: + type: string + format: uri + entity_type: + type: string + nullable: true + maxLength: 255 + entity_identifier: + type: string + nullable: true + maxLength: 255 + is_deleted: + type: boolean + is_archived: + type: boolean + external_id: + type: string + nullable: true + maxLength: 255 + external_source: + type: string + nullable: true + maxLength: 255 + size: + type: number + format: double + is_uploaded: + type: boolean + storage_metadata: + nullable: true + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + user: + type: string + format: uuid + nullable: true + workspace: + type: string + format: uuid + readOnly: true + nullable: true + draft_issue: + type: string + format: uuid + nullable: true + project: + type: string + format: uuid + readOnly: true + nullable: true + issue: + type: string + format: uuid + readOnly: true + nullable: true + comment: + type: string + format: uuid + nullable: true + page: + type: string + format: uuid + nullable: true + required: + - asset + IssueAttachmentUploadRequest: + type: object + description: |- + Serializer for work item attachment upload request validation. + + Handles file upload metadata validation including size, type, and external + integration tracking for secure work item document attachment workflows. + properties: + name: + type: string + minLength: 1 + description: Original filename of the asset + type: + type: string + minLength: 1 + description: MIME type of the file + size: + type: integer + description: File size in bytes + external_id: + type: string + minLength: 1 + description: External identifier for the asset (for integration tracking) + external_source: + type: string + minLength: 1 + description: External source system (for integration tracking) + required: + - name + - size + IssueComment: + type: object + description: |- + Full serializer for work item comments with membership context. + + Provides complete comment data including member status, content formatting, + and edit tracking for collaborative work item discussions. + properties: + id: + type: string + format: uuid + readOnly: true + is_member: + type: boolean + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + comment_stripped: + type: string + title: Comment + comment_html: + type: string + attachments: + type: array + items: + type: string + format: uri + maxLength: 200 + maxItems: 10 + access: + $ref: "#/components/schemas/AccessEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + edited_at: + type: string + format: date-time + nullable: true + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + readOnly: true + actor: + type: string + format: uuid + nullable: true + IssueCommentCreateRequest: + type: object + description: |- + Serializer for creating work item comments. + + Handles comment creation with JSON and HTML content support, + access control, and external integration tracking. + properties: + comment_json: {} + comment_html: + type: string + access: + $ref: "#/components/schemas/AccessEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + IssueExpand: + type: object + description: |- + Extended work item serializer with full relationship expansion. + + Provides work items with expanded related data including cycles, modules, + labels, assignees, and states for comprehensive data representation. + properties: + id: + type: string + format: uuid + readOnly: true + cycle: + allOf: + - $ref: "#/components/schemas/CycleLite" + readOnly: true + module: + allOf: + - $ref: "#/components/schemas/ModuleLite" + readOnly: true + labels: + type: string + readOnly: true + assignees: + type: string + readOnly: true + state: + allOf: + - $ref: "#/components/schemas/StateLite" + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + title: Issue Name + maxLength: 255 + description: {} + description_html: + type: string + description_stripped: + type: string + nullable: true + description_binary: + type: string + format: byte + readOnly: true + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + parent: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + required: + - name + IssueForIntakeRequest: + type: object + description: |- + Serializer for work item data within intake submissions. + + Handles essential work item fields for intake processing including + content validation and priority assignment for triage workflows. + properties: + name: + type: string + minLength: 1 + title: Issue Name + maxLength: 255 + description: {} + description_html: + type: string + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + required: + - name + IssueLink: + type: object + description: |- + Full serializer for work item external links. + + Provides complete link information including metadata and timestamps + for managing external resource associations with work items. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + title: + type: string + nullable: true + maxLength: 255 + url: + type: string + metadata: {} + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + readOnly: true + required: + - url + IssueLinkCreateRequest: + type: object + description: |- + Serializer for creating work item external links with validation. + + Handles URL validation, format checking, and duplicate prevention + for attaching external resources to work items. + properties: + url: + type: string + minLength: 1 + required: + - url + IssuePropertyAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + relation_type: + $ref: "#/components/schemas/RelationTypeEnum" + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + name: + type: string + readOnly: true + display_name: + type: string + maxLength: 255 + description: + type: string + nullable: true + logo_props: + readOnly: true + sort_order: + type: number + format: double + readOnly: true + property_type: + $ref: "#/components/schemas/PropertyTypeEnum" + is_required: + type: boolean + default_value: + type: array + items: + type: string + settings: {} + is_active: + type: boolean + is_multi: + type: boolean + validation_rules: {} + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + issue_type: + type: string + format: uuid + readOnly: true + required: + - display_name + - property_type + IssuePropertyAPIRequest: + type: object + properties: + relation_type: + $ref: "#/components/schemas/RelationTypeEnum" + display_name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + nullable: true + property_type: + $ref: "#/components/schemas/PropertyTypeEnum" + is_required: + type: boolean + default_value: + type: array + items: + type: string + minLength: 1 + settings: {} + is_active: + type: boolean + is_multi: + type: boolean + validation_rules: {} + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - display_name + - property_type + IssuePropertyOptionAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + name: + type: string + maxLength: 255 + sort_order: + type: number + format: double + readOnly: true + description: + type: string + logo_props: + readOnly: true + is_active: + type: boolean + is_default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + property: + type: string + format: uuid + readOnly: true + parent: + type: string + format: uuid + nullable: true + required: + - name + IssuePropertyOptionAPIRequest: + type: object + properties: + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_active: + type: boolean + is_default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + required: + - name + IssuePropertyValueAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + value_text: + type: string + value_boolean: + type: boolean + value_decimal: + type: number + format: double + value_datetime: + type: string + format: date-time + nullable: true + value_uuid: + type: string + format: uuid + nullable: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + issue: + type: string + format: uuid + property: + type: string + format: uuid + value_option: + type: string + format: uuid + nullable: true + required: + - issue + - property + IssuePropertyValueAPIRequest: + type: object + properties: + value_text: + type: string + value_boolean: + type: boolean + value_decimal: + type: number + format: double + value_datetime: + type: string + format: date-time + nullable: true + value_uuid: + type: string + format: uuid + nullable: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + issue: + type: string + format: uuid + property: + type: string + format: uuid + value_option: + type: string + format: uuid + nullable: true + required: + - issue + - property + IssueRequest: + type: object + description: |- + Comprehensive work item serializer with full relationship management. + + Handles complete work item lifecycle including assignees, labels, validation, + and related model updates. Supports dynamic field expansion and HTML content processing. + properties: + assignees: + type: array + items: + type: string + format: uuid + writeOnly: true + labels: + type: array + items: + type: string + format: uuid + writeOnly: true + type_id: + type: string + format: uuid + nullable: true + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + minLength: 1 + title: Issue Name + maxLength: 255 + description_html: + type: string + description_stripped: + type: string + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + nullable: true + parent: + type: string + format: uuid + nullable: true + state: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + required: + - name + IssueSearch: + type: object + description: |- + Serializer for work item search result data formatting. + + Provides standardized search result structure including work item identifiers, + project context, and workspace information for search API responses. + properties: + id: + type: string + description: Issue ID + name: + type: string + description: Issue name + sequence_id: + type: string + description: Issue sequence ID + project__identifier: + type: string + description: Project identifier + project_id: + type: string + description: Project ID + workspace__slug: + type: string + description: Workspace slug + required: + - id + - name + - project__identifier + - project_id + - sequence_id + - workspace__slug + IssueTypeAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + project_ids: + type: array + items: + type: string + format: uuid + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + name: + type: string + maxLength: 255 + description: + type: string + logo_props: + readOnly: true + is_epic: + type: boolean + is_default: + type: boolean + readOnly: true + is_active: + type: boolean + level: + type: number + format: double + readOnly: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + required: + - name + IssueTypeAPIRequest: + type: object + properties: + project_ids: + type: array + items: + type: string + format: uuid + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_epic: + type: boolean + is_active: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - name + IssueWorkLogAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + description: + type: string + duration: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project_id: + type: string + format: uuid + readOnly: true + workspace_id: + type: string + format: uuid + readOnly: true + logged_by: + type: string + format: uuid + readOnly: true + IssueWorkLogAPIRequest: + type: object + properties: + description: + type: string + duration: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + Label: + type: object + description: |- + Full serializer for work item labels with complete metadata. + + Provides comprehensive label information including hierarchical relationships, + visual properties, and organizational data for work item tagging. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + maxLength: 255 + description: + type: string + color: + type: string + maxLength: 255 + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + parent: + type: string + format: uuid + nullable: true + required: + - name + LabelCreateUpdateRequest: + type: object + description: |- + Serializer for creating and updating work item labels. + + Manages label metadata including colors, descriptions, hierarchy, + and sorting for work item categorization and filtering. + properties: + name: + type: string + minLength: 1 + maxLength: 255 + color: + type: string + maxLength: 255 + description: + type: string + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + sort_order: + type: number + format: double + required: + - name + Module: + type: object + description: |- + Comprehensive module serializer with work item metrics and member management. + + Provides complete module data including work item counts by status, member relationships, + and progress tracking for feature-based project organization. + properties: + id: + type: string + format: uuid + readOnly: true + total_issues: + type: integer + readOnly: true + cancelled_issues: + type: integer + readOnly: true + completed_issues: + type: integer + readOnly: true + started_issues: + type: integer + readOnly: true + unstarted_issues: + type: integer + readOnly: true + backlog_issues: + type: integer + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + description_text: + nullable: true + title: Module Description RT + description_html: + nullable: true + title: Module Description HTML + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + lead: + type: string + format: uuid + nullable: true + required: + - name + ModuleCreateRequest: + type: object + description: |- + Serializer for creating modules with member validation and date checking. + + Handles module creation including member assignment validation, date range verification, + and duplicate name prevention for feature-based project organization setup. + properties: + name: + type: string + minLength: 1 + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + lead: + type: string + format: uuid + nullable: true + members: + type: array + items: + type: string + format: uuid + writeOnly: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - name + ModuleIssue: + type: object + description: |- + Serializer for module-work item relationships with sub-item counting. + + Manages the association between modules and work items, including + hierarchical issue tracking for nested work item structures. + properties: + id: + type: string + format: uuid + readOnly: true + sub_issues_count: + type: integer + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + module: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + required: + - deleted_at + - issue + ModuleIssueRequestRequest: + type: object + description: |- + Serializer for bulk work item assignment to modules. + + Validates work item ID lists for batch operations including + module assignment and work item organization workflows. + properties: + issues: + type: array + items: + type: string + format: uuid + description: List of issue IDs to add to the module + required: + - issues + ModuleLite: + type: object + description: |- + Lightweight module serializer for minimal data transfer. + + Provides essential module information without computed metrics, + optimized for list views and reference lookups. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + name: + type: string + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + description_text: + nullable: true + title: Module Description RT + description_html: + nullable: true + title: Module Description HTML + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project: + type: string + format: uuid + workspace: + type: string + format: uuid + lead: + type: string + format: uuid + nullable: true + members: + type: array + items: + type: string + format: uuid + readOnly: true + required: + - deleted_at + - name + - project + - workspace + ModuleStatusEnum: + enum: + - backlog + - planned + - in-progress + - paused + - completed + - cancelled + type: string + description: |- + * `backlog` - Backlog + * `planned` - Planned + * `in-progress` - In Progress + * `paused` - Paused + * `completed` - Completed + * `cancelled` - Cancelled + NetworkEnum: + enum: + - 0 + - 2 + type: integer + description: |- + * `0` - Secret + * `2` - Public + PaginatedArchivedCycleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Cycle" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedArchivedModuleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Module" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedCycleIssueResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/CycleIssue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedCycleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Cycle" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIntakeIssueResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IntakeIssue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueActivityDetailResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueActivity" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueActivityResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueActivity" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueCommentResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueComment" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueLinkDetailResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueLink" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueLinkResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueLink" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedLabelResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Label" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedModuleIssueResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Issue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedModuleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Module" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedProjectResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Project" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedStateResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/State" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedWorkItemResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Issue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PatchedAssetUpdateRequest: + type: object + description: |- + Serializer for asset status updates after successful upload completion. + + Handles post-upload asset metadata updates including attribute modifications + and upload confirmation for S3-based file storage workflows. + properties: + attributes: + description: Additional attributes to update for the asset + PatchedCycleUpdateRequest: + type: object + description: |- + Serializer for updating cycles with enhanced ownership management. + + Extends cycle creation with update-specific features including ownership + assignment and modification tracking for cycle lifecycle management. + properties: + name: + type: string + minLength: 1 + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + owned_by: + type: string + format: uuid + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + PatchedGenericAssetUpdateRequest: + type: object + description: |- + Serializer for generic asset upload confirmation and status management. + + Handles post-upload status updates for workspace assets including + upload completion marking and metadata finalization. + properties: + is_uploaded: + type: boolean + default: true + description: Whether the asset has been successfully uploaded + PatchedIntakeIssueUpdateRequest: + type: object + description: |- + Serializer for updating intake work items and their associated issues. + + Handles intake work item modifications including status changes, triage decisions, + and embedded issue updates for issue queue processing workflows. + properties: + status: + allOf: + - $ref: "#/components/schemas/IntakeWorkItemStatusEnum" + minimum: -2147483648 + maximum: 2147483647 + snoozed_till: + type: string + format: date-time + nullable: true + duplicate_to: + type: string + format: uuid + nullable: true + source: + type: string + nullable: true + maxLength: 255 + source_email: + type: string + nullable: true + issue: + allOf: + - $ref: "#/components/schemas/IssueForIntakeRequest" + description: Issue data to update in the intake issue + PatchedIssueCommentCreateRequest: + type: object + description: |- + Serializer for creating work item comments. + + Handles comment creation with JSON and HTML content support, + access control, and external integration tracking. + properties: + comment_json: {} + comment_html: + type: string + access: + $ref: "#/components/schemas/AccessEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedIssueLinkUpdateRequest: + type: object + description: |- + Serializer for updating work item external links. + + Extends link creation with update-specific validation to prevent + URL conflicts and maintain link integrity during modifications. + properties: + url: + type: string + minLength: 1 + PatchedIssuePropertyAPIRequest: + type: object + properties: + relation_type: + $ref: "#/components/schemas/RelationTypeEnum" + display_name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + nullable: true + property_type: + $ref: "#/components/schemas/PropertyTypeEnum" + is_required: + type: boolean + default_value: + type: array + items: + type: string + minLength: 1 + settings: {} + is_active: + type: boolean + is_multi: + type: boolean + validation_rules: {} + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedIssuePropertyOptionAPIRequest: + type: object + properties: + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_active: + type: boolean + is_default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + PatchedIssueRequest: + type: object + description: |- + Comprehensive work item serializer with full relationship management. + + Handles complete work item lifecycle including assignees, labels, validation, + and related model updates. Supports dynamic field expansion and HTML content processing. + properties: + assignees: + type: array + items: + type: string + format: uuid + writeOnly: true + labels: + type: array + items: + type: string + format: uuid + writeOnly: true + type_id: + type: string + format: uuid + nullable: true + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + minLength: 1 + title: Issue Name + maxLength: 255 + description_html: + type: string + description_stripped: + type: string + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + nullable: true + parent: + type: string + format: uuid + nullable: true + state: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + PatchedIssueTypeAPIRequest: + type: object + properties: + project_ids: + type: array + items: + type: string + format: uuid + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_epic: + type: boolean + is_active: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedIssueWorkLogAPIRequest: + type: object + properties: + description: + type: string + duration: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + PatchedLabelCreateUpdateRequest: + type: object + description: |- + Serializer for creating and updating work item labels. + + Manages label metadata including colors, descriptions, hierarchy, + and sorting for work item categorization and filtering. + properties: + name: + type: string + minLength: 1 + maxLength: 255 + color: + type: string + maxLength: 255 + description: + type: string + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + sort_order: + type: number + format: double + PatchedModuleUpdateRequest: + type: object + description: |- + Serializer for updating modules with enhanced validation and member management. + + Extends module creation with update-specific validations including member reassignment, + name conflict checking, and relationship management for module modifications. + properties: + name: + type: string + minLength: 1 + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + lead: + type: string + format: uuid + nullable: true + members: + type: array + items: + type: string + format: uuid + writeOnly: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedProjectUpdateRequest: + type: object + description: |- + Serializer for updating projects with enhanced state and estimation management. + + Extends project creation with update-specific validations including default state + assignment, estimation configuration, and project setting modifications. + properties: + name: + type: string + minLength: 1 + title: Project Name + maxLength: 255 + description: + type: string + title: Project Description + project_lead: + type: string + format: uuid + nullable: true + default_assignee: + type: string + format: uuid + nullable: true + identifier: + type: string + minLength: 1 + title: Project Identifier + maxLength: 12 + icon_prop: + nullable: true + emoji: + type: string + nullable: true + maxLength: 255 + cover_image: + type: string + nullable: true + module_view: + type: boolean + cycle_view: + type: boolean + issue_views_view: + type: boolean + page_view: + type: boolean + intake_view: + type: boolean + guest_view_all_features: + type: boolean + archive_in: + type: integer + maximum: 12 + minimum: 0 + close_in: + type: integer + maximum: 12 + minimum: 0 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + default_state: + type: string + format: uuid + nullable: true + estimate: + type: string + format: uuid + nullable: true + PatchedStateRequest: + type: object + description: |- + Serializer for work item states with default state management. + + Handles state creation and updates including default state validation + and automatic default state switching for workflow management. + properties: + name: + type: string + minLength: 1 + title: State Name + maxLength: 255 + description: + type: string + title: State Description + color: + type: string + minLength: 1 + title: State Color + maxLength: 255 + sequence: + type: number + format: double + group: + $ref: "#/components/schemas/GroupEnum" + is_triage: + type: boolean + default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PriorityEnum: + enum: + - urgent + - high + - medium + - low + - none + type: string + description: |- + * `urgent` - Urgent + * `high` - High + * `medium` - Medium + * `low` - Low + * `none` - None + Project: + type: object + description: |- + Comprehensive project serializer with metrics and member context. + + Provides complete project data including member counts, cycle/module totals, + deployment status, and user-specific context for project management. + properties: + id: + type: string + format: uuid + readOnly: true + total_members: + type: integer + readOnly: true + total_cycles: + type: integer + readOnly: true + total_modules: + type: integer + readOnly: true + is_member: + type: boolean + readOnly: true + sort_order: + type: number + format: double + readOnly: true + member_role: + type: integer + readOnly: true + is_deployed: + type: boolean + readOnly: true + cover_image_url: + type: string + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: Project Name + maxLength: 255 + description: + type: string + title: Project Description + description_text: + nullable: true + title: Project Description RT + description_html: + nullable: true + title: Project Description HTML + network: + allOf: + - $ref: "#/components/schemas/NetworkEnum" + minimum: 0 + maximum: 32767 + identifier: + type: string + title: Project Identifier + maxLength: 12 + emoji: + type: string + readOnly: true + nullable: true + icon_prop: + nullable: true + module_view: + type: boolean + cycle_view: + type: boolean + issue_views_view: + type: boolean + page_view: + type: boolean + intake_view: + type: boolean + is_time_tracking_enabled: + type: boolean + is_issue_type_enabled: + type: boolean + guest_view_all_features: + type: boolean + cover_image: + type: string + nullable: true + archive_in: + type: integer + maximum: 12 + minimum: 0 + close_in: + type: integer + maximum: 12 + minimum: 0 + logo_props: {} + archived_at: + type: string + format: date-time + nullable: true + timezone: + $ref: "#/components/schemas/TimezoneEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + default_assignee: + type: string + format: uuid + nullable: true + project_lead: + type: string + format: uuid + nullable: true + cover_image_asset: + type: string + format: uuid + nullable: true + estimate: + type: string + format: uuid + nullable: true + default_state: + type: string + format: uuid + nullable: true + required: + - identifier + - name + ProjectCreateRequest: + type: object + description: |- + Serializer for creating projects with workspace validation. + + Handles project creation including identifier validation, member verification, + and workspace association for new project initialization. + properties: + name: + type: string + minLength: 1 + title: Project Name + maxLength: 255 + description: + type: string + title: Project Description + project_lead: + type: string + format: uuid + nullable: true + default_assignee: + type: string + format: uuid + nullable: true + identifier: + type: string + minLength: 1 + title: Project Identifier + maxLength: 12 + icon_prop: + nullable: true + emoji: + type: string + nullable: true + maxLength: 255 + cover_image: + type: string + nullable: true + module_view: + type: boolean + cycle_view: + type: boolean + issue_views_view: + type: boolean + page_view: + type: boolean + intake_view: + type: boolean + guest_view_all_features: + type: boolean + archive_in: + type: integer + maximum: 12 + minimum: 0 + close_in: + type: integer + maximum: 12 + minimum: 0 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + required: + - identifier + - name + ProjectWorklogSummary: + type: object + description: Serializer for project worklog summary with aggregated duration + per issue + properties: + issue_id: + type: string + format: uuid + description: ID of the work item + duration: + type: integer + description: Total duration logged for this work item in seconds + required: + - duration + - issue_id + PropertyTypeEnum: + enum: + - TEXT + - DATETIME + - DECIMAL + - BOOLEAN + - OPTION + - RELATION + - URL + - EMAIL + - FILE + type: string + description: |- + * `TEXT` - Text + * `DATETIME` - Datetime + * `DECIMAL` - Decimal + * `BOOLEAN` - Boolean + * `OPTION` - Option + * `RELATION` - Relation + * `URL` - URL + * `EMAIL` - Email + * `FILE` - File + RelationTypeEnum: + enum: + - ISSUE + - USER + type: string + description: |- + * `ISSUE` - Issue + * `USER` - User + State: + type: object + description: |- + Serializer for work item states with default state management. + + Handles state creation and updates including default state validation + and automatic default state switching for workflow management. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: State Name + maxLength: 255 + description: + type: string + title: State Description + color: + type: string + title: State Color + maxLength: 255 + slug: + type: string + readOnly: true + pattern: ^[-a-zA-Z0-9_]+$ + sequence: + type: number + format: double + group: + $ref: "#/components/schemas/GroupEnum" + is_triage: + type: boolean + default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + required: + - color + - name + StateLite: + type: object + description: |- + Lightweight state serializer for minimal data transfer. + + Provides essential state information including visual properties + and grouping data optimized for UI display and filtering. + properties: + id: + type: string + format: uuid + readOnly: true + name: + type: string + readOnly: true + title: State Name + color: + type: string + readOnly: true + title: State Color + group: + allOf: + - $ref: "#/components/schemas/GroupEnum" + readOnly: true + StateRequest: + type: object + description: |- + Serializer for work item states with default state management. + + Handles state creation and updates including default state validation + and automatic default state switching for workflow management. + properties: + name: + type: string + minLength: 1 + title: State Name + maxLength: 255 + description: + type: string + title: State Description + color: + type: string + minLength: 1 + title: State Color + maxLength: 255 + sequence: + type: number + format: double + group: + $ref: "#/components/schemas/GroupEnum" + is_triage: + type: boolean + default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - color + - name + TimezoneEnum: + enum: + - Africa/Abidjan + - Africa/Accra + - Africa/Addis_Ababa + - Africa/Algiers + - Africa/Asmara + - Africa/Bamako + - Africa/Bangui + - Africa/Banjul + - Africa/Bissau + - Africa/Blantyre + - Africa/Brazzaville + - Africa/Bujumbura + - Africa/Cairo + - Africa/Casablanca + - Africa/Ceuta + - Africa/Conakry + - Africa/Dakar + - Africa/Dar_es_Salaam + - Africa/Djibouti + - Africa/Douala + - Africa/El_Aaiun + - Africa/Freetown + - Africa/Gaborone + - Africa/Harare + - Africa/Johannesburg + - Africa/Juba + - Africa/Kampala + - Africa/Khartoum + - Africa/Kigali + - Africa/Kinshasa + - Africa/Lagos + - Africa/Libreville + - Africa/Lome + - Africa/Luanda + - Africa/Lubumbashi + - Africa/Lusaka + - Africa/Malabo + - Africa/Maputo + - Africa/Maseru + - Africa/Mbabane + - Africa/Mogadishu + - Africa/Monrovia + - Africa/Nairobi + - Africa/Ndjamena + - Africa/Niamey + - Africa/Nouakchott + - Africa/Ouagadougou + - Africa/Porto-Novo + - Africa/Sao_Tome + - Africa/Tripoli + - Africa/Tunis + - Africa/Windhoek + - America/Adak + - America/Anchorage + - America/Anguilla + - America/Antigua + - America/Araguaina + - America/Argentina/Buenos_Aires + - America/Argentina/Catamarca + - America/Argentina/Cordoba + - America/Argentina/Jujuy + - America/Argentina/La_Rioja + - America/Argentina/Mendoza + - America/Argentina/Rio_Gallegos + - America/Argentina/Salta + - America/Argentina/San_Juan + - America/Argentina/San_Luis + - America/Argentina/Tucuman + - America/Argentina/Ushuaia + - America/Aruba + - America/Asuncion + - America/Atikokan + - America/Bahia + - America/Bahia_Banderas + - America/Barbados + - America/Belem + - America/Belize + - America/Blanc-Sablon + - America/Boa_Vista + - America/Bogota + - America/Boise + - America/Cambridge_Bay + - America/Campo_Grande + - America/Cancun + - America/Caracas + - America/Cayenne + - America/Cayman + - America/Chicago + - America/Chihuahua + - America/Ciudad_Juarez + - America/Costa_Rica + - America/Creston + - America/Cuiaba + - America/Curacao + - America/Danmarkshavn + - America/Dawson + - America/Dawson_Creek + - America/Denver + - America/Detroit + - America/Dominica + - America/Edmonton + - America/Eirunepe + - America/El_Salvador + - America/Fort_Nelson + - America/Fortaleza + - America/Glace_Bay + - America/Goose_Bay + - America/Grand_Turk + - America/Grenada + - America/Guadeloupe + - America/Guatemala + - America/Guayaquil + - America/Guyana + - America/Halifax + - America/Havana + - America/Hermosillo + - America/Indiana/Indianapolis + - America/Indiana/Knox + - America/Indiana/Marengo + - America/Indiana/Petersburg + - America/Indiana/Tell_City + - America/Indiana/Vevay + - America/Indiana/Vincennes + - America/Indiana/Winamac + - America/Inuvik + - America/Iqaluit + - America/Jamaica + - America/Juneau + - America/Kentucky/Louisville + - America/Kentucky/Monticello + - America/Kralendijk + - America/La_Paz + - America/Lima + - America/Los_Angeles + - America/Lower_Princes + - America/Maceio + - America/Managua + - America/Manaus + - America/Marigot + - America/Martinique + - America/Matamoros + - America/Mazatlan + - America/Menominee + - America/Merida + - America/Metlakatla + - America/Mexico_City + - America/Miquelon + - America/Moncton + - America/Monterrey + - America/Montevideo + - America/Montserrat + - America/Nassau + - America/New_York + - America/Nome + - America/Noronha + - America/North_Dakota/Beulah + - America/North_Dakota/Center + - America/North_Dakota/New_Salem + - America/Nuuk + - America/Ojinaga + - America/Panama + - America/Paramaribo + - America/Phoenix + - America/Port-au-Prince + - America/Port_of_Spain + - America/Porto_Velho + - America/Puerto_Rico + - America/Punta_Arenas + - America/Rankin_Inlet + - America/Recife + - America/Regina + - America/Resolute + - America/Rio_Branco + - America/Santarem + - America/Santiago + - America/Santo_Domingo + - America/Sao_Paulo + - America/Scoresbysund + - America/Sitka + - America/St_Barthelemy + - America/St_Johns + - America/St_Kitts + - America/St_Lucia + - America/St_Thomas + - America/St_Vincent + - America/Swift_Current + - America/Tegucigalpa + - America/Thule + - America/Tijuana + - America/Toronto + - America/Tortola + - America/Vancouver + - America/Whitehorse + - America/Winnipeg + - America/Yakutat + - Antarctica/Casey + - Antarctica/Davis + - Antarctica/DumontDUrville + - Antarctica/Macquarie + - Antarctica/Mawson + - Antarctica/McMurdo + - Antarctica/Palmer + - Antarctica/Rothera + - Antarctica/Syowa + - Antarctica/Troll + - Antarctica/Vostok + - Arctic/Longyearbyen + - Asia/Aden + - Asia/Almaty + - Asia/Amman + - Asia/Anadyr + - Asia/Aqtau + - Asia/Aqtobe + - Asia/Ashgabat + - Asia/Atyrau + - Asia/Baghdad + - Asia/Bahrain + - Asia/Baku + - Asia/Bangkok + - Asia/Barnaul + - Asia/Beirut + - Asia/Bishkek + - Asia/Brunei + - Asia/Chita + - Asia/Choibalsan + - Asia/Colombo + - Asia/Damascus + - Asia/Dhaka + - Asia/Dili + - Asia/Dubai + - Asia/Dushanbe + - Asia/Famagusta + - Asia/Gaza + - Asia/Hebron + - Asia/Ho_Chi_Minh + - Asia/Hong_Kong + - Asia/Hovd + - Asia/Irkutsk + - Asia/Jakarta + - Asia/Jayapura + - Asia/Jerusalem + - Asia/Kabul + - Asia/Kamchatka + - Asia/Karachi + - Asia/Kathmandu + - Asia/Khandyga + - Asia/Kolkata + - Asia/Krasnoyarsk + - Asia/Kuala_Lumpur + - Asia/Kuching + - Asia/Kuwait + - Asia/Macau + - Asia/Magadan + - Asia/Makassar + - Asia/Manila + - Asia/Muscat + - Asia/Nicosia + - Asia/Novokuznetsk + - Asia/Novosibirsk + - Asia/Omsk + - Asia/Oral + - Asia/Phnom_Penh + - Asia/Pontianak + - Asia/Pyongyang + - Asia/Qatar + - Asia/Qostanay + - Asia/Qyzylorda + - Asia/Riyadh + - Asia/Sakhalin + - Asia/Samarkand + - Asia/Seoul + - Asia/Shanghai + - Asia/Singapore + - Asia/Srednekolymsk + - Asia/Taipei + - Asia/Tashkent + - Asia/Tbilisi + - Asia/Tehran + - Asia/Thimphu + - Asia/Tokyo + - Asia/Tomsk + - Asia/Ulaanbaatar + - Asia/Urumqi + - Asia/Ust-Nera + - Asia/Vientiane + - Asia/Vladivostok + - Asia/Yakutsk + - Asia/Yangon + - Asia/Yekaterinburg + - Asia/Yerevan + - Atlantic/Azores + - Atlantic/Bermuda + - Atlantic/Canary + - Atlantic/Cape_Verde + - Atlantic/Faroe + - Atlantic/Madeira + - Atlantic/Reykjavik + - Atlantic/South_Georgia + - Atlantic/St_Helena + - Atlantic/Stanley + - Australia/Adelaide + - Australia/Brisbane + - Australia/Broken_Hill + - Australia/Darwin + - Australia/Eucla + - Australia/Hobart + - Australia/Lindeman + - Australia/Lord_Howe + - Australia/Melbourne + - Australia/Perth + - Australia/Sydney + - Canada/Atlantic + - Canada/Central + - Canada/Eastern + - Canada/Mountain + - Canada/Newfoundland + - Canada/Pacific + - Europe/Amsterdam + - Europe/Andorra + - Europe/Astrakhan + - Europe/Athens + - Europe/Belgrade + - Europe/Berlin + - Europe/Bratislava + - Europe/Brussels + - Europe/Bucharest + - Europe/Budapest + - Europe/Busingen + - Europe/Chisinau + - Europe/Copenhagen + - Europe/Dublin + - Europe/Gibraltar + - Europe/Guernsey + - Europe/Helsinki + - Europe/Isle_of_Man + - Europe/Istanbul + - Europe/Jersey + - Europe/Kaliningrad + - Europe/Kirov + - Europe/Kyiv + - Europe/Lisbon + - Europe/Ljubljana + - Europe/London + - Europe/Luxembourg + - Europe/Madrid + - Europe/Malta + - Europe/Mariehamn + - Europe/Minsk + - Europe/Monaco + - Europe/Moscow + - Europe/Oslo + - Europe/Paris + - Europe/Podgorica + - Europe/Prague + - Europe/Riga + - Europe/Rome + - Europe/Samara + - Europe/San_Marino + - Europe/Sarajevo + - Europe/Saratov + - Europe/Simferopol + - Europe/Skopje + - Europe/Sofia + - Europe/Stockholm + - Europe/Tallinn + - Europe/Tirane + - Europe/Ulyanovsk + - Europe/Vaduz + - Europe/Vatican + - Europe/Vienna + - Europe/Vilnius + - Europe/Volgograd + - Europe/Warsaw + - Europe/Zagreb + - Europe/Zurich + - GMT + - Indian/Antananarivo + - Indian/Chagos + - Indian/Christmas + - Indian/Cocos + - Indian/Comoro + - Indian/Kerguelen + - Indian/Mahe + - Indian/Maldives + - Indian/Mauritius + - Indian/Mayotte + - Indian/Reunion + - Pacific/Apia + - Pacific/Auckland + - Pacific/Bougainville + - Pacific/Chatham + - Pacific/Chuuk + - Pacific/Easter + - Pacific/Efate + - Pacific/Fakaofo + - Pacific/Fiji + - Pacific/Funafuti + - Pacific/Galapagos + - Pacific/Gambier + - Pacific/Guadalcanal + - Pacific/Guam + - Pacific/Honolulu + - Pacific/Kanton + - Pacific/Kiritimati + - Pacific/Kosrae + - Pacific/Kwajalein + - Pacific/Majuro + - Pacific/Marquesas + - Pacific/Midway + - Pacific/Nauru + - Pacific/Niue + - Pacific/Norfolk + - Pacific/Noumea + - Pacific/Pago_Pago + - Pacific/Palau + - Pacific/Pitcairn + - Pacific/Pohnpei + - Pacific/Port_Moresby + - Pacific/Rarotonga + - Pacific/Saipan + - Pacific/Tahiti + - Pacific/Tarawa + - Pacific/Tongatapu + - Pacific/Wake + - Pacific/Wallis + - US/Alaska + - US/Arizona + - US/Central + - US/Eastern + - US/Hawaii + - US/Mountain + - US/Pacific + - UTC + type: string + description: |- + * `Africa/Abidjan` - Africa/Abidjan + * `Africa/Accra` - Africa/Accra + * `Africa/Addis_Ababa` - Africa/Addis_Ababa + * `Africa/Algiers` - Africa/Algiers + * `Africa/Asmara` - Africa/Asmara + * `Africa/Bamako` - Africa/Bamako + * `Africa/Bangui` - Africa/Bangui + * `Africa/Banjul` - Africa/Banjul + * `Africa/Bissau` - Africa/Bissau + * `Africa/Blantyre` - Africa/Blantyre + * `Africa/Brazzaville` - Africa/Brazzaville + * `Africa/Bujumbura` - Africa/Bujumbura + * `Africa/Cairo` - Africa/Cairo + * `Africa/Casablanca` - Africa/Casablanca + * `Africa/Ceuta` - Africa/Ceuta + * `Africa/Conakry` - Africa/Conakry + * `Africa/Dakar` - Africa/Dakar + * `Africa/Dar_es_Salaam` - Africa/Dar_es_Salaam + * `Africa/Djibouti` - Africa/Djibouti + * `Africa/Douala` - Africa/Douala + * `Africa/El_Aaiun` - Africa/El_Aaiun + * `Africa/Freetown` - Africa/Freetown + * `Africa/Gaborone` - Africa/Gaborone + * `Africa/Harare` - Africa/Harare + * `Africa/Johannesburg` - Africa/Johannesburg + * `Africa/Juba` - Africa/Juba + * `Africa/Kampala` - Africa/Kampala + * `Africa/Khartoum` - Africa/Khartoum + * `Africa/Kigali` - Africa/Kigali + * `Africa/Kinshasa` - Africa/Kinshasa + * `Africa/Lagos` - Africa/Lagos + * `Africa/Libreville` - Africa/Libreville + * `Africa/Lome` - Africa/Lome + * `Africa/Luanda` - Africa/Luanda + * `Africa/Lubumbashi` - Africa/Lubumbashi + * `Africa/Lusaka` - Africa/Lusaka + * `Africa/Malabo` - Africa/Malabo + * `Africa/Maputo` - Africa/Maputo + * `Africa/Maseru` - Africa/Maseru + * `Africa/Mbabane` - Africa/Mbabane + * `Africa/Mogadishu` - Africa/Mogadishu + * `Africa/Monrovia` - Africa/Monrovia + * `Africa/Nairobi` - Africa/Nairobi + * `Africa/Ndjamena` - Africa/Ndjamena + * `Africa/Niamey` - Africa/Niamey + * `Africa/Nouakchott` - Africa/Nouakchott + * `Africa/Ouagadougou` - Africa/Ouagadougou + * `Africa/Porto-Novo` - Africa/Porto-Novo + * `Africa/Sao_Tome` - Africa/Sao_Tome + * `Africa/Tripoli` - Africa/Tripoli + * `Africa/Tunis` - Africa/Tunis + * `Africa/Windhoek` - Africa/Windhoek + * `America/Adak` - America/Adak + * `America/Anchorage` - America/Anchorage + * `America/Anguilla` - America/Anguilla + * `America/Antigua` - America/Antigua + * `America/Araguaina` - America/Araguaina + * `America/Argentina/Buenos_Aires` - America/Argentina/Buenos_Aires + * `America/Argentina/Catamarca` - America/Argentina/Catamarca + * `America/Argentina/Cordoba` - America/Argentina/Cordoba + * `America/Argentina/Jujuy` - America/Argentina/Jujuy + * `America/Argentina/La_Rioja` - America/Argentina/La_Rioja + * `America/Argentina/Mendoza` - America/Argentina/Mendoza + * `America/Argentina/Rio_Gallegos` - America/Argentina/Rio_Gallegos + * `America/Argentina/Salta` - America/Argentina/Salta + * `America/Argentina/San_Juan` - America/Argentina/San_Juan + * `America/Argentina/San_Luis` - America/Argentina/San_Luis + * `America/Argentina/Tucuman` - America/Argentina/Tucuman + * `America/Argentina/Ushuaia` - America/Argentina/Ushuaia + * `America/Aruba` - America/Aruba + * `America/Asuncion` - America/Asuncion + * `America/Atikokan` - America/Atikokan + * `America/Bahia` - America/Bahia + * `America/Bahia_Banderas` - America/Bahia_Banderas + * `America/Barbados` - America/Barbados + * `America/Belem` - America/Belem + * `America/Belize` - America/Belize + * `America/Blanc-Sablon` - America/Blanc-Sablon + * `America/Boa_Vista` - America/Boa_Vista + * `America/Bogota` - America/Bogota + * `America/Boise` - America/Boise + * `America/Cambridge_Bay` - America/Cambridge_Bay + * `America/Campo_Grande` - America/Campo_Grande + * `America/Cancun` - America/Cancun + * `America/Caracas` - America/Caracas + * `America/Cayenne` - America/Cayenne + * `America/Cayman` - America/Cayman + * `America/Chicago` - America/Chicago + * `America/Chihuahua` - America/Chihuahua + * `America/Ciudad_Juarez` - America/Ciudad_Juarez + * `America/Costa_Rica` - America/Costa_Rica + * `America/Creston` - America/Creston + * `America/Cuiaba` - America/Cuiaba + * `America/Curacao` - America/Curacao + * `America/Danmarkshavn` - America/Danmarkshavn + * `America/Dawson` - America/Dawson + * `America/Dawson_Creek` - America/Dawson_Creek + * `America/Denver` - America/Denver + * `America/Detroit` - America/Detroit + * `America/Dominica` - America/Dominica + * `America/Edmonton` - America/Edmonton + * `America/Eirunepe` - America/Eirunepe + * `America/El_Salvador` - America/El_Salvador + * `America/Fort_Nelson` - America/Fort_Nelson + * `America/Fortaleza` - America/Fortaleza + * `America/Glace_Bay` - America/Glace_Bay + * `America/Goose_Bay` - America/Goose_Bay + * `America/Grand_Turk` - America/Grand_Turk + * `America/Grenada` - America/Grenada + * `America/Guadeloupe` - America/Guadeloupe + * `America/Guatemala` - America/Guatemala + * `America/Guayaquil` - America/Guayaquil + * `America/Guyana` - America/Guyana + * `America/Halifax` - America/Halifax + * `America/Havana` - America/Havana + * `America/Hermosillo` - America/Hermosillo + * `America/Indiana/Indianapolis` - America/Indiana/Indianapolis + * `America/Indiana/Knox` - America/Indiana/Knox + * `America/Indiana/Marengo` - America/Indiana/Marengo + * `America/Indiana/Petersburg` - America/Indiana/Petersburg + * `America/Indiana/Tell_City` - America/Indiana/Tell_City + * `America/Indiana/Vevay` - America/Indiana/Vevay + * `America/Indiana/Vincennes` - America/Indiana/Vincennes + * `America/Indiana/Winamac` - America/Indiana/Winamac + * `America/Inuvik` - America/Inuvik + * `America/Iqaluit` - America/Iqaluit + * `America/Jamaica` - America/Jamaica + * `America/Juneau` - America/Juneau + * `America/Kentucky/Louisville` - America/Kentucky/Louisville + * `America/Kentucky/Monticello` - America/Kentucky/Monticello + * `America/Kralendijk` - America/Kralendijk + * `America/La_Paz` - America/La_Paz + * `America/Lima` - America/Lima + * `America/Los_Angeles` - America/Los_Angeles + * `America/Lower_Princes` - America/Lower_Princes + * `America/Maceio` - America/Maceio + * `America/Managua` - America/Managua + * `America/Manaus` - America/Manaus + * `America/Marigot` - America/Marigot + * `America/Martinique` - America/Martinique + * `America/Matamoros` - America/Matamoros + * `America/Mazatlan` - America/Mazatlan + * `America/Menominee` - America/Menominee + * `America/Merida` - America/Merida + * `America/Metlakatla` - America/Metlakatla + * `America/Mexico_City` - America/Mexico_City + * `America/Miquelon` - America/Miquelon + * `America/Moncton` - America/Moncton + * `America/Monterrey` - America/Monterrey + * `America/Montevideo` - America/Montevideo + * `America/Montserrat` - America/Montserrat + * `America/Nassau` - America/Nassau + * `America/New_York` - America/New_York + * `America/Nome` - America/Nome + * `America/Noronha` - America/Noronha + * `America/North_Dakota/Beulah` - America/North_Dakota/Beulah + * `America/North_Dakota/Center` - America/North_Dakota/Center + * `America/North_Dakota/New_Salem` - America/North_Dakota/New_Salem + * `America/Nuuk` - America/Nuuk + * `America/Ojinaga` - America/Ojinaga + * `America/Panama` - America/Panama + * `America/Paramaribo` - America/Paramaribo + * `America/Phoenix` - America/Phoenix + * `America/Port-au-Prince` - America/Port-au-Prince + * `America/Port_of_Spain` - America/Port_of_Spain + * `America/Porto_Velho` - America/Porto_Velho + * `America/Puerto_Rico` - America/Puerto_Rico + * `America/Punta_Arenas` - America/Punta_Arenas + * `America/Rankin_Inlet` - America/Rankin_Inlet + * `America/Recife` - America/Recife + * `America/Regina` - America/Regina + * `America/Resolute` - America/Resolute + * `America/Rio_Branco` - America/Rio_Branco + * `America/Santarem` - America/Santarem + * `America/Santiago` - America/Santiago + * `America/Santo_Domingo` - America/Santo_Domingo + * `America/Sao_Paulo` - America/Sao_Paulo + * `America/Scoresbysund` - America/Scoresbysund + * `America/Sitka` - America/Sitka + * `America/St_Barthelemy` - America/St_Barthelemy + * `America/St_Johns` - America/St_Johns + * `America/St_Kitts` - America/St_Kitts + * `America/St_Lucia` - America/St_Lucia + * `America/St_Thomas` - America/St_Thomas + * `America/St_Vincent` - America/St_Vincent + * `America/Swift_Current` - America/Swift_Current + * `America/Tegucigalpa` - America/Tegucigalpa + * `America/Thule` - America/Thule + * `America/Tijuana` - America/Tijuana + * `America/Toronto` - America/Toronto + * `America/Tortola` - America/Tortola + * `America/Vancouver` - America/Vancouver + * `America/Whitehorse` - America/Whitehorse + * `America/Winnipeg` - America/Winnipeg + * `America/Yakutat` - America/Yakutat + * `Antarctica/Casey` - Antarctica/Casey + * `Antarctica/Davis` - Antarctica/Davis + * `Antarctica/DumontDUrville` - Antarctica/DumontDUrville + * `Antarctica/Macquarie` - Antarctica/Macquarie + * `Antarctica/Mawson` - Antarctica/Mawson + * `Antarctica/McMurdo` - Antarctica/McMurdo + * `Antarctica/Palmer` - Antarctica/Palmer + * `Antarctica/Rothera` - Antarctica/Rothera + * `Antarctica/Syowa` - Antarctica/Syowa + * `Antarctica/Troll` - Antarctica/Troll + * `Antarctica/Vostok` - Antarctica/Vostok + * `Arctic/Longyearbyen` - Arctic/Longyearbyen + * `Asia/Aden` - Asia/Aden + * `Asia/Almaty` - Asia/Almaty + * `Asia/Amman` - Asia/Amman + * `Asia/Anadyr` - Asia/Anadyr + * `Asia/Aqtau` - Asia/Aqtau + * `Asia/Aqtobe` - Asia/Aqtobe + * `Asia/Ashgabat` - Asia/Ashgabat + * `Asia/Atyrau` - Asia/Atyrau + * `Asia/Baghdad` - Asia/Baghdad + * `Asia/Bahrain` - Asia/Bahrain + * `Asia/Baku` - Asia/Baku + * `Asia/Bangkok` - Asia/Bangkok + * `Asia/Barnaul` - Asia/Barnaul + * `Asia/Beirut` - Asia/Beirut + * `Asia/Bishkek` - Asia/Bishkek + * `Asia/Brunei` - Asia/Brunei + * `Asia/Chita` - Asia/Chita + * `Asia/Choibalsan` - Asia/Choibalsan + * `Asia/Colombo` - Asia/Colombo + * `Asia/Damascus` - Asia/Damascus + * `Asia/Dhaka` - Asia/Dhaka + * `Asia/Dili` - Asia/Dili + * `Asia/Dubai` - Asia/Dubai + * `Asia/Dushanbe` - Asia/Dushanbe + * `Asia/Famagusta` - Asia/Famagusta + * `Asia/Gaza` - Asia/Gaza + * `Asia/Hebron` - Asia/Hebron + * `Asia/Ho_Chi_Minh` - Asia/Ho_Chi_Minh + * `Asia/Hong_Kong` - Asia/Hong_Kong + * `Asia/Hovd` - Asia/Hovd + * `Asia/Irkutsk` - Asia/Irkutsk + * `Asia/Jakarta` - Asia/Jakarta + * `Asia/Jayapura` - Asia/Jayapura + * `Asia/Jerusalem` - Asia/Jerusalem + * `Asia/Kabul` - Asia/Kabul + * `Asia/Kamchatka` - Asia/Kamchatka + * `Asia/Karachi` - Asia/Karachi + * `Asia/Kathmandu` - Asia/Kathmandu + * `Asia/Khandyga` - Asia/Khandyga + * `Asia/Kolkata` - Asia/Kolkata + * `Asia/Krasnoyarsk` - Asia/Krasnoyarsk + * `Asia/Kuala_Lumpur` - Asia/Kuala_Lumpur + * `Asia/Kuching` - Asia/Kuching + * `Asia/Kuwait` - Asia/Kuwait + * `Asia/Macau` - Asia/Macau + * `Asia/Magadan` - Asia/Magadan + * `Asia/Makassar` - Asia/Makassar + * `Asia/Manila` - Asia/Manila + * `Asia/Muscat` - Asia/Muscat + * `Asia/Nicosia` - Asia/Nicosia + * `Asia/Novokuznetsk` - Asia/Novokuznetsk + * `Asia/Novosibirsk` - Asia/Novosibirsk + * `Asia/Omsk` - Asia/Omsk + * `Asia/Oral` - Asia/Oral + * `Asia/Phnom_Penh` - Asia/Phnom_Penh + * `Asia/Pontianak` - Asia/Pontianak + * `Asia/Pyongyang` - Asia/Pyongyang + * `Asia/Qatar` - Asia/Qatar + * `Asia/Qostanay` - Asia/Qostanay + * `Asia/Qyzylorda` - Asia/Qyzylorda + * `Asia/Riyadh` - Asia/Riyadh + * `Asia/Sakhalin` - Asia/Sakhalin + * `Asia/Samarkand` - Asia/Samarkand + * `Asia/Seoul` - Asia/Seoul + * `Asia/Shanghai` - Asia/Shanghai + * `Asia/Singapore` - Asia/Singapore + * `Asia/Srednekolymsk` - Asia/Srednekolymsk + * `Asia/Taipei` - Asia/Taipei + * `Asia/Tashkent` - Asia/Tashkent + * `Asia/Tbilisi` - Asia/Tbilisi + * `Asia/Tehran` - Asia/Tehran + * `Asia/Thimphu` - Asia/Thimphu + * `Asia/Tokyo` - Asia/Tokyo + * `Asia/Tomsk` - Asia/Tomsk + * `Asia/Ulaanbaatar` - Asia/Ulaanbaatar + * `Asia/Urumqi` - Asia/Urumqi + * `Asia/Ust-Nera` - Asia/Ust-Nera + * `Asia/Vientiane` - Asia/Vientiane + * `Asia/Vladivostok` - Asia/Vladivostok + * `Asia/Yakutsk` - Asia/Yakutsk + * `Asia/Yangon` - Asia/Yangon + * `Asia/Yekaterinburg` - Asia/Yekaterinburg + * `Asia/Yerevan` - Asia/Yerevan + * `Atlantic/Azores` - Atlantic/Azores + * `Atlantic/Bermuda` - Atlantic/Bermuda + * `Atlantic/Canary` - Atlantic/Canary + * `Atlantic/Cape_Verde` - Atlantic/Cape_Verde + * `Atlantic/Faroe` - Atlantic/Faroe + * `Atlantic/Madeira` - Atlantic/Madeira + * `Atlantic/Reykjavik` - Atlantic/Reykjavik + * `Atlantic/South_Georgia` - Atlantic/South_Georgia + * `Atlantic/St_Helena` - Atlantic/St_Helena + * `Atlantic/Stanley` - Atlantic/Stanley + * `Australia/Adelaide` - Australia/Adelaide + * `Australia/Brisbane` - Australia/Brisbane + * `Australia/Broken_Hill` - Australia/Broken_Hill + * `Australia/Darwin` - Australia/Darwin + * `Australia/Eucla` - Australia/Eucla + * `Australia/Hobart` - Australia/Hobart + * `Australia/Lindeman` - Australia/Lindeman + * `Australia/Lord_Howe` - Australia/Lord_Howe + * `Australia/Melbourne` - Australia/Melbourne + * `Australia/Perth` - Australia/Perth + * `Australia/Sydney` - Australia/Sydney + * `Canada/Atlantic` - Canada/Atlantic + * `Canada/Central` - Canada/Central + * `Canada/Eastern` - Canada/Eastern + * `Canada/Mountain` - Canada/Mountain + * `Canada/Newfoundland` - Canada/Newfoundland + * `Canada/Pacific` - Canada/Pacific + * `Europe/Amsterdam` - Europe/Amsterdam + * `Europe/Andorra` - Europe/Andorra + * `Europe/Astrakhan` - Europe/Astrakhan + * `Europe/Athens` - Europe/Athens + * `Europe/Belgrade` - Europe/Belgrade + * `Europe/Berlin` - Europe/Berlin + * `Europe/Bratislava` - Europe/Bratislava + * `Europe/Brussels` - Europe/Brussels + * `Europe/Bucharest` - Europe/Bucharest + * `Europe/Budapest` - Europe/Budapest + * `Europe/Busingen` - Europe/Busingen + * `Europe/Chisinau` - Europe/Chisinau + * `Europe/Copenhagen` - Europe/Copenhagen + * `Europe/Dublin` - Europe/Dublin + * `Europe/Gibraltar` - Europe/Gibraltar + * `Europe/Guernsey` - Europe/Guernsey + * `Europe/Helsinki` - Europe/Helsinki + * `Europe/Isle_of_Man` - Europe/Isle_of_Man + * `Europe/Istanbul` - Europe/Istanbul + * `Europe/Jersey` - Europe/Jersey + * `Europe/Kaliningrad` - Europe/Kaliningrad + * `Europe/Kirov` - Europe/Kirov + * `Europe/Kyiv` - Europe/Kyiv + * `Europe/Lisbon` - Europe/Lisbon + * `Europe/Ljubljana` - Europe/Ljubljana + * `Europe/London` - Europe/London + * `Europe/Luxembourg` - Europe/Luxembourg + * `Europe/Madrid` - Europe/Madrid + * `Europe/Malta` - Europe/Malta + * `Europe/Mariehamn` - Europe/Mariehamn + * `Europe/Minsk` - Europe/Minsk + * `Europe/Monaco` - Europe/Monaco + * `Europe/Moscow` - Europe/Moscow + * `Europe/Oslo` - Europe/Oslo + * `Europe/Paris` - Europe/Paris + * `Europe/Podgorica` - Europe/Podgorica + * `Europe/Prague` - Europe/Prague + * `Europe/Riga` - Europe/Riga + * `Europe/Rome` - Europe/Rome + * `Europe/Samara` - Europe/Samara + * `Europe/San_Marino` - Europe/San_Marino + * `Europe/Sarajevo` - Europe/Sarajevo + * `Europe/Saratov` - Europe/Saratov + * `Europe/Simferopol` - Europe/Simferopol + * `Europe/Skopje` - Europe/Skopje + * `Europe/Sofia` - Europe/Sofia + * `Europe/Stockholm` - Europe/Stockholm + * `Europe/Tallinn` - Europe/Tallinn + * `Europe/Tirane` - Europe/Tirane + * `Europe/Ulyanovsk` - Europe/Ulyanovsk + * `Europe/Vaduz` - Europe/Vaduz + * `Europe/Vatican` - Europe/Vatican + * `Europe/Vienna` - Europe/Vienna + * `Europe/Vilnius` - Europe/Vilnius + * `Europe/Volgograd` - Europe/Volgograd + * `Europe/Warsaw` - Europe/Warsaw + * `Europe/Zagreb` - Europe/Zagreb + * `Europe/Zurich` - Europe/Zurich + * `GMT` - GMT + * `Indian/Antananarivo` - Indian/Antananarivo + * `Indian/Chagos` - Indian/Chagos + * `Indian/Christmas` - Indian/Christmas + * `Indian/Cocos` - Indian/Cocos + * `Indian/Comoro` - Indian/Comoro + * `Indian/Kerguelen` - Indian/Kerguelen + * `Indian/Mahe` - Indian/Mahe + * `Indian/Maldives` - Indian/Maldives + * `Indian/Mauritius` - Indian/Mauritius + * `Indian/Mayotte` - Indian/Mayotte + * `Indian/Reunion` - Indian/Reunion + * `Pacific/Apia` - Pacific/Apia + * `Pacific/Auckland` - Pacific/Auckland + * `Pacific/Bougainville` - Pacific/Bougainville + * `Pacific/Chatham` - Pacific/Chatham + * `Pacific/Chuuk` - Pacific/Chuuk + * `Pacific/Easter` - Pacific/Easter + * `Pacific/Efate` - Pacific/Efate + * `Pacific/Fakaofo` - Pacific/Fakaofo + * `Pacific/Fiji` - Pacific/Fiji + * `Pacific/Funafuti` - Pacific/Funafuti + * `Pacific/Galapagos` - Pacific/Galapagos + * `Pacific/Gambier` - Pacific/Gambier + * `Pacific/Guadalcanal` - Pacific/Guadalcanal + * `Pacific/Guam` - Pacific/Guam + * `Pacific/Honolulu` - Pacific/Honolulu + * `Pacific/Kanton` - Pacific/Kanton + * `Pacific/Kiritimati` - Pacific/Kiritimati + * `Pacific/Kosrae` - Pacific/Kosrae + * `Pacific/Kwajalein` - Pacific/Kwajalein + * `Pacific/Majuro` - Pacific/Majuro + * `Pacific/Marquesas` - Pacific/Marquesas + * `Pacific/Midway` - Pacific/Midway + * `Pacific/Nauru` - Pacific/Nauru + * `Pacific/Niue` - Pacific/Niue + * `Pacific/Norfolk` - Pacific/Norfolk + * `Pacific/Noumea` - Pacific/Noumea + * `Pacific/Pago_Pago` - Pacific/Pago_Pago + * `Pacific/Palau` - Pacific/Palau + * `Pacific/Pitcairn` - Pacific/Pitcairn + * `Pacific/Pohnpei` - Pacific/Pohnpei + * `Pacific/Port_Moresby` - Pacific/Port_Moresby + * `Pacific/Rarotonga` - Pacific/Rarotonga + * `Pacific/Saipan` - Pacific/Saipan + * `Pacific/Tahiti` - Pacific/Tahiti + * `Pacific/Tarawa` - Pacific/Tarawa + * `Pacific/Tongatapu` - Pacific/Tongatapu + * `Pacific/Wake` - Pacific/Wake + * `Pacific/Wallis` - Pacific/Wallis + * `US/Alaska` - US/Alaska + * `US/Arizona` - US/Arizona + * `US/Central` - US/Central + * `US/Eastern` - US/Eastern + * `US/Hawaii` - US/Hawaii + * `US/Mountain` - US/Mountain + * `US/Pacific` - US/Pacific + * `UTC` - UTC + TransferCycleIssueRequestRequest: + type: object + description: |- + Serializer for transferring work items between cycles. + + Handles work item migration between cycles including validation + and relationship updates for sprint reallocation workflows. + properties: + new_cycle_id: + type: string + format: uuid + description: ID of the target cycle to transfer issues to + required: + - new_cycle_id + TypeEnum: + enum: + - image/jpeg + - image/png + - image/webp + - image/jpg + - image/gif + type: string + description: |- + * `image/jpeg` - JPEG + * `image/png` - PNG + * `image/webp` - WebP + * `image/jpg` - JPG + * `image/gif` - GIF + UserAssetUploadRequest: + type: object + description: |- + Serializer for user asset upload requests. + + This serializer validates the metadata required to generate a presigned URL + for uploading user profile assets (avatar or cover image) directly to S3 storage. + Supports JPEG, PNG, WebP, JPG, and GIF image formats with size validation. + properties: + name: + type: string + minLength: 1 + description: Original filename of the asset + type: + allOf: + - $ref: "#/components/schemas/TypeEnum" + default: image/jpeg + description: |- + MIME type of the file + + * `image/jpeg` - JPEG + * `image/png` - PNG + * `image/webp` - WebP + * `image/jpg` - JPG + * `image/gif` - GIF + size: + type: integer + description: File size in bytes + entity_type: + allOf: + - $ref: "#/components/schemas/EntityTypeEnum" + description: |- + Type of user asset + + * `USER_AVATAR` - User Avatar + * `USER_COVER` - User Cover + required: + - entity_type + - name + - size + UserLite: + type: object + description: |- + Lightweight user serializer for minimal data transfer. + + Provides essential user information including names, avatar, and contact details + optimized for member lists, assignee displays, and user references. + properties: + id: + type: string + format: uuid + readOnly: true + first_name: + type: string + readOnly: true + last_name: + type: string + readOnly: true + email: + type: string + readOnly: true + nullable: true + avatar: + type: string + readOnly: true + avatar_url: + type: string + readOnly: true + description: Avatar URL + display_name: + type: string + readOnly: true + securitySchemes: + ApiKeyAuthentication: + type: apiKey + in: header + name: X-API-Key + description: API key authentication. Provide your API key in the X-API-Key header. + OAuth2Authentication: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /auth/o/authorize-app/ + tokenUrl: /auth/o/token/ + scopes: + read: Read access to resources + write: Write access to resources + clientCredentials: + tokenUrl: /auth/o/token/ + scopes: + read: Read access to resources + write: Write access to resources + description: OAuth2 authentication supporting both authorization code flow and + client credentials flow. For client credentials flow, include 'app_installation_id' + parameter in the token request payload to receive a bot token for workspace + app installations. +servers: + - url: https://api.plane.so + description: Production + - url: http://localhost:8000 + description: Local +tags: + - name: Assets + description: |- + **File Upload & Presigned URLs** + + Generate presigned URLs for direct file uploads to cloud storage. Handle user avatars, cover images, and generic project assets with secure upload workflows. + + *Key Features:* + - Generate presigned URLs for S3 uploads + - Support for user avatars and cover images + - Generic asset upload for projects + - File validation and size limits + + *Use Cases:* User profile images, project file uploads, secure direct-to-cloud uploads. + - name: Intake + description: |- + **Work Item Intake Queue** + + Manage incoming work items through a dedicated intake queue for triage and review. Submit, update, and process work items before they enter the main project workflow. + + *Key Features:* + - Submit work items to intake queue + - Review and triage incoming work items + - Update intake work item status and properties + - Accept, reject, or modify work items before approval + + *Use Cases:* Work item triage, external submissions, quality review, approval workflows. + - name: Cycles + description: |- + **Sprint & Development Cycles** + + Create and manage development cycles (sprints) to organize work into time-boxed iterations. Track progress, assign work items, and monitor team velocity. + + *Key Features:* + - Create and configure development cycles + - Assign work items to cycles + - Track cycle progress and completion + - Generate cycle analytics and reports + + *Use Cases:* Sprint planning, iterative development, progress tracking, team velocity. + - name: Labels + description: |- + **Labels & Tags** + + Create and manage labels to categorize and organize work items. Use color-coded labels for easy identification, filtering, and project organization. + + *Key Features:* + - Create custom labels with colors and descriptions + - Apply labels to work items for categorization + - Filter and search by labels + - Organize labels across projects + + *Use Cases:* Priority marking, feature categorization, bug classification, team organization. + - name: Modules + description: |- + **Feature Modules** + + Group related work items into modules for better organization and tracking. Plan features, track progress, and manage deliverables at a higher level. + + *Key Features:* + - Create and organize feature modules + - Group work items by module + - Track module progress and completion + - Manage module leads and assignments + + *Use Cases:* Feature planning, release organization, progress tracking, team coordination. + - name: States + description: |- + **Workflow States** + + Define custom workflow states for work items to match your team's process. Configure state transitions and track work item progress through different stages. + + *Key Features:* + - Create custom workflow states + - Configure state transitions and rules + - Track work item progress through states + - Set state-based permissions and automation + + *Use Cases:* Custom workflows, status tracking, process automation, progress monitoring. + - name: Members + description: |- + **Team Member Management** + + Manage team members, roles, and permissions within projects and workspaces. Control access levels and track member participation. + + *Key Features:* + - Invite and manage team members + - Assign roles and permissions + - Control project and workspace access + - Track member activity and participation + + *Use Cases:* Team setup, access control, role management, collaboration. + - name: Users + description: |- + **Current User Information** + + Get information about the currently authenticated user including profile details and account settings. + + *Key Features:* + - Retrieve current user profile + - Access user account information + - View user preferences and settings + - Get authentication context + + *Use Cases:* Profile display, user context, account information, authentication status. + - name: Projects + description: |- + **Project Management** + + Create and manage projects to organize your development work. Configure project settings, manage team access, and control project visibility. + + *Key Features:* + - Create, update, and delete projects + - Configure project settings and preferences + - Manage team access and permissions + - Control project visibility and sharing + + *Use Cases:* Project setup, team collaboration, access control, project configuration. + - name: Work Items + description: |- + **Work Items & Tasks** + + Create and manage work items like tasks, bugs, features, and user stories. The core entities for tracking work in your projects. + + *Key Features:* + - Create, update, and manage work items + - Assign to team members and set priorities + - Track progress through workflow states + - Set due dates, estimates, and relationships + + *Use Cases:* Bug tracking, task management, feature development, sprint planning. + - name: Work Item Activity + description: |- + **Activity History & Search** + + View activity history and search for work items across the workspace. Get detailed activity logs and find work items using text search. + + *Key Features:* + - View work item activity history + - Search work items across workspace + - Track changes and modifications + - Filter search results by project + + *Use Cases:* Activity tracking, work item discovery, change history, workspace search. + - name: Work Item Attachments + description: |- + **Work Item File Attachments** + + Generate presigned URLs for uploading files directly to specific work items. Upload and manage attachments associated with work items. + + *Key Features:* + - Generate presigned URLs for work item attachments + - Upload files directly to work items + - Retrieve and manage attachment metadata + - Delete attachments from work items + + *Use Cases:* Screenshots, error logs, design files, supporting documents. + - name: Work Item Comments + description: |- + **Comments & Discussions** + + Add comments and discussions to work items for team collaboration. Support threaded conversations, mentions, and rich text formatting. + + *Key Features:* + - Add comments to work items + - Thread conversations and replies + - Mention users and trigger notifications + - Rich text and markdown support + + *Use Cases:* Team discussions, progress updates, code reviews, decision tracking. + - name: Work Item Links + description: |- + **External Links & References** + + Link work items to external resources like documentation, repositories, or design files. Maintain connections between work items and external systems. + + *Key Features:* + - Add external URL links to work items + - Validate and preview linked resources + - Organize links by type and category + - Track link usage and access + + *Use Cases:* Documentation links, repository connections, design references, external tools. + - name: Work Item Properties + description: |- + **Work Item Property Management** + + Define and manage custom properties for work items with flexible attributes and validation. Create custom fields to capture project-specific information and requirements. + + *Key Features:* + - Create and configure custom properties + - Define property validation rules + - Set property-specific permissions + - Generate property-based reports + + *Use Cases:* Custom fields, data validation, project-specific attributes, reporting. + - name: Work Item Types + description: |- + **Work Item Type Management** + + Define and manage different types of work items with customizable attributes and workflows. Create standardized work item categories for consistent project management. + + *Key Features:* + - Create and configure work item types + - Define type-specific attributes and fields + - Set up type-based workflow templates + - Configure type-specific permissions + + *Use Cases:* Task categorization, workflow standardization, custom attributes, access control. + - name: Work Item Worklogs + description: |- + **Time Tracking & Worklog Management** + + Track and manage time spent on work items with detailed worklog entries. Record work sessions, track time allocation, and generate time-based reports. + + *Key Features:* + - Track time spent on work items + - Create and edit worklog entries + - Generate time tracking reports + - Validate time entries and constraints + + *Use Cases:* Time tracking, resource allocation, project reporting, billing. diff --git a/docs/api/add-cycle-work-items.api.mdx b/docs/api/add-cycle-work-items.api.mdx new file mode 100644 index 0000000..9dda1be --- /dev/null +++ b/docs/api/add-cycle-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: add-cycle-work-items +title: "Add Work Items to Cycle" +description: "Assign multiple work items to a cycle. Automatically handles bulk creation and updates with activity tracking." +sidebar_label: "Add Work Items to Cycle" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Assign multiple work items to a cycle. Automatically handles bulk creation and updates with activity tracking. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/add-module-work-items.api.mdx b/docs/api/add-module-work-items.api.mdx new file mode 100644 index 0000000..d72a956 --- /dev/null +++ b/docs/api/add-module-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: add-module-work-items +title: "Add Work Items to Module" +description: "Assign multiple work items to a module or move them from another module. Automatically handles bulk creation and updates with activity tracking." +sidebar_label: "Add Work Items to Module" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Assign multiple work items to a module or move them from another module. Automatically handles bulk creation and updates with activity tracking. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/archive-cycle.api.mdx b/docs/api/archive-cycle.api.mdx new file mode 100644 index 0000000..3841c3f --- /dev/null +++ b/docs/api/archive-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: archive-cycle +title: "Archive cycle" +description: "Move a completed cycle to archived status for historical tracking. Only cycles that have ended can be archived." +sidebar_label: "Archive cycle" +hide_title: true +hide_table_of_contents: true +api: eJzFVltv2zYU/ivEeWkLyJaTOl2npwVpVgTrWqNp1gGpEdDUscVZIlmSsusa+u/DISVHjp1iy8P24gvP/fadswVt0HIvtbrKIQNuRSFXeCc2okRIIEcnrDREhwx+1ytknAldmRI95iywMa9ZK5cz57mvHZtrywrpvLZS8JJ5y8VSqsWQfVDlJoo55gvuWcFXyFDlpI0rNsOdriEkYLjlFXq0DrLbLUjywnBfQAKKVwgZBF13MocEnCiw4pBtwW8M0Zy3Ui0ggbm2FfeQQV3LHJoELH6tpcUcMm9rbJKjqo3Vf6Hw/1r5ftImUQu7egMP7SaA3zjl0pHey/i75b96Q28rXtZk7OxshK/Ho9EAT3+eDcYn+XjAfzp5NRiPX706OxuPR6PRiJysq4rbDWSdMmb61vcdO2d+Y0J5Oqabm6s30DSPpMOV9eIHiTgI/LO2S2e4QNZK/oPgdzL94KvNYL17PxZkn/pYjOt9b5qmmSbg+YIaCy5CQ8I0AYeittJvQrudG/kbbs5rX6DyUvCo9HZKCfpAz6dHaFMK1BmtXIzsdDSmr32/PqLTtRXYG5xaCHRuXpflhnI5Ho0OxYKfNCdK+/6oRIGTQ4F9/5iwmNNfXjq2RouM9BirV5LmT1vGLTKpVryU+TAqfXmodIK2ks6RwhyVxHzIbhxaVnKxdKyrMjM7NtfqOpKITwUGCXSEJ7ZLy5q74Ntc14o8aRKo0BeaMMpo5wM0+AIySLmR6eok3dXXpVuqcJO2Xe3S7f0gN2nEnnTb4UaTtklMqbXQrjqsqW0JGRTeG5elZGVoSq5w6PRBl02szmsR/lBr3EtmaVpqwctCO5+9jjO6L/qOyND0Ou+a5iu2zvH+2w0eD2RI4rAWyHO09+P65+B8cjWIDA+aYnLFlrhhfE/xkE1iI7CNri3rmKRivkC208ainVDR4zOw80+TgVNCyFKvQ0D0oK38HjgvdI4Hjzchdym9pTrtSDjgxlCBvF7iA57wFIontIl5s8jzMGQ8ZzyMFe2orrkcJLC20pOLn+n7KA+1nCglKn9xPzQhuP/QhQNMjRl/UDnmamO09VIt2Ez7gu1llAmdI6MSMK5yFmPaQwKiDdmv2j5GTJhUoqxzZM+4MXdSOc/LMmi/k/kzttvSXbeEhHRzzQzflJrnMTiBMhwRM+1bNroV7tGZG8P6BlycfqnmOmRf+hJb3JjQPLKPl9efqFshAZrdmKfRcDQ8OWj8Q6Ev6ov6QzrpGfX811qKJZ0w1rNFTaNAGSNIDuOQa1FXqHxMK/fsNscVlnRBuR04TJ93kHGESDAysDhHi0pgKpXfIccLOneEVp4LT4G2UxzcheQBGvWQCCsuidT2wC87UpNAKQUqhz11b9/fsPO3k3erlwc6F9IX9WwodJVWfIlBTzSUzko9S43FlcR1+u7q4vL99eXQf/OhMgTHFVc9I+cRUNnRI3IbgkTl/5d7skUmj988xSYJsGMetu1CuSVYpV6i9rlfKpBA1p4x3V6hp70TMbpBz72jtLUOCdB5QYuAbGy3M+7wxpZNQ89fa6SD5naawIpbyWfU47dbyKWj3zlkc146/EEqn39s1+4L9liY3dZQtBG62woSWOKmf0fTBnuS3b1D9wke9HL5ZB8Obs4n+BHvw2n/5Jh8uP5EtaypQ/r7dxnWa/uDKnZUdX8VRxv0SUEeZd9u42Zvmh1/JD0qsdv9kZuinDZN8zc3pcmI +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Move a completed cycle to archived status for historical tracking. Only cycles that have ended can be archived. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/archive-module.api.mdx b/docs/api/archive-module.api.mdx new file mode 100644 index 0000000..a4ca5f5 --- /dev/null +++ b/docs/api/archive-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: archive-module +title: "Archive module" +description: "Move a module to archived status for historical tracking." +sidebar_label: "Archive module" +hide_title: true +hide_table_of_contents: true +api: eJy9VllvGzcQ/isEX5IAK63syG66TzUSNxCaJkIcNwUcwaDIkZbVLsnwkKMI+9+LIVfSypKNwCn6omNmOMc355pqA5Z5qdVI0IIyy0u5hNtai1ABzagAx600KEAL+qdeAmEkcYnXpJUXxHnmgyMzbUkpnddWclYRbxlfSDXv04waZlkNHqyjxc2aStRnmC9pRhWrAf8taEYdL6FmtFhTvzJIdd5KNacZnWlbM08LGoIUtDn0LTo1ekMzauFrkBYELbwNkFH4xmpTgUO1l+l3Eh+9QdKSVQFNnZ0N4NVwMOjB6a/T3vBEDHvsl5Pz3nB4fn52NhwOBoMBuhjqmtkVLTa6NoBE2/teXRC/MhGLVub6evSGNk2THYfA6n+A+1spfgaKcdLyw1i08v8RGKZr/SE0NkKPw+GqMH8EiIPAP2u7cIZxIO3LHwh++6YbfL3q3W3px4Lsch+K8W7fm6ZpJhn1bI4N0Jaro5OMOuDBSr+KfXFh5B+wugi+BOUlZ0nrzQQR+oDk0yO8CUbqjFYuhXY6GOLXvmMfwelgOXSaNnAOzs1CVa0QzOFg8MgzzpTSnkw7CqQiPFgLyscBAEnJyaGSfZ8JtyDwL6scuQMLBBUbq5dSgCDaEmaBSLVklRT9pPTlodIx2Fo6hwoFKAmiT64dWFIxvnBkk3pitmKu1XUEnHZ6oB8zHZSgTZPRGnypcSwa7XwcYb6kBc2ZkfnyJN/m1+VrzHCTt1Xt8vWukZs8dT4SF03eYpdjVYFdbsZhsBUtaOm9cUWOBvqmYgr6Th8U2NhqEXj8g0Wxe1nkeaU5q0rtfPEqtef+03fIpk2n5q6wtVLRHK+8bc+xyKZZ6tMSmAC769S/exfjUS8J3Ev9eEQWsCJsT3GfjFO6yUoHSzZCUhFfAtlqI8lOzNvx6t/6p9HAKQ7HSt/FgJCgrfweJV9rAQfE64hdjrRc5xsW9JgxmCCvF3BPJpJi8rg2CTcLTMQ+YYKw2FC4GW3bNo5m9M5Kjy5+xu+jMlhtvJKg/Otda8Tg/kcXDsZpQvxe5ogLxmjrpZqTqfYl2UOUcC2AYAoIU4KkmPb6HXl98ru2DzEzIhWvggDyjBlzK5XzrKqi9lspnpHtIbGplghI7Hdwnhi2qjQTKTgOMl4sU+1bMbxQdoOZGUO6BnBCNFjiMx3Rl75C1D6VQMbYj+Tj5dUnrFaaUezdhNOgP+ifHBT+4aMv6ov6SzrpCdb81yD5Auem9WQesBUQMRzGsR2E5qEG5ROszJMbAUuo8F5z2+Eweb4ZGUeYOEZ6FmZgQXHIpfLbyfECLzKulWfcY6BtF0d3aXZvGnUmEdRMIqutgd+2rCajleSgHHTUvX1/TS7ejt8tXx7onEtfhmmf6zqv2QKinmQon1Z6mhsLSwl3+bvR68v3V5d9/83HzOAkrpnqGLlIA5UcP1nXMUpQ/iev13bIePjm0U2JszeFtG7Xwg1OSCwLrITdaqAZLdpjZLMdkLR36LULItLxBm79ohnF8wDHOapfr6fMwbWtmgbJXwPgRXIzyeiSWcmmWKk3ayqkw9+CFjNWOXgEj+cf2xX5gnSP56OhbpaAwgG/uZJoRhewSpc7rqInmd47Vp9ie4fkk304uBuf4Ee68Sbds2H84eoTpjNgfXQX6SLuyfYHJu2o6u5OTTbwE4M8Kr5epxXdNFv5xHrwxXaJJ2mMctI0zb9v59V8 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Move a module to archived status for historical tracking. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/archive-project.api.mdx b/docs/api/archive-project.api.mdx new file mode 100644 index 0000000..c3364b2 --- /dev/null +++ b/docs/api/archive-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: archive-project +title: "Archive project" +description: "Move a project to archived status, hiding it from active project lists." +sidebar_label: "Archive project" +hide_title: true +hide_table_of_contents: true +api: eJy9VllvGzcQ/ivEvCQBVlrZkd10n2o4biA0TYTYbgo4gkGRIy+rXZIhuVJUYf97MdzDkiUHRVD0RQfnPr6Z2YKx6HhQRk8kZMCdyNUK760zf6EIkIBEL5yyxAEZ/G5WyDhrySwY1kpI5gMPlU9YrqTSD0wFtnCmZFwEtcJeolA++CEkYLnjJQZ0HrK7LSjSbnnIIQHNS6R/jci9kpCAFzmWHLIthI0lqg9O6QdIYGFcyQNkUFVKQv3U42lrePIWEnD4tVIOJWTBVZgAfuOlLdCT3qvmd8s/eUtvK15UZOzsbIRvxqPRAE9/ng/GJ3I84D+dnA/G4/Pzs7PxeDQajcjJqiy520DWKevDjtb3HbtgYWOV4EXPdHs7eQt1XSdH0+GL6uE7iTgI/LNxS2+5QNZK/ovge5nd4MvNYN2/Hwtyl/pcjOt9b+q6niUQ+ANVv6uRh1kCHkXlVNjErriw6jfcXFQhRx2U4I3auxml6CM9nx6hzShUb432TWynozF97Xv2Cb2pnMCd/q2EQO8XVVFsKJvj0cmh2L45JhxK+ssLz9bokGkTqJwrJVEy4xh3yJRe8ULJYaP09aHSKbpSeU8KJWqFcshuPTpWcLH0rCsbsz2bb3UdiesmxyiBPqBkrotyzX30bWEqTZ7UCZQYckOYt8aHCMiQQwYptypdnaR9wXy6pZLVadumPt0+IrNO2/yl1BnoVh2eK1dABnkI1mcp6RzagmscenPQJFNnZCXiH6rro2SWpoURvMiND9mbBmL7ou+JDPVO21wTPJq6H2+eHjc8kiFpsJYjl+ge0fbn4GI6GTQMT1pgOmFL3DC+p3jIpk3Z2cZUjnVMSrOQI+u1scZOrN/xBu79M2TglAZcYdYxIHowTv0dOS+NxIPH25i7lN5Sk3YkHHBrqUDBLPEJT3yKxRPGNnlzyGVECJeMR0zQnO9ayUMCa6cCufiZvo/yUIOJQqEOl48QicH9jy4cjMQm408qx3xlrXGBltbchJztZZQJI5FRCRjXkjUx7eGeaEP2q3HPEROmtCgqiewFt/ZeaR94UUTt90q+YP0m7LolJqRDMbN8Uxgum+AEqriA5ya0bAvjdoYrt5btGvAN1pVemJh9FQpsp8SU8Mg+XV3fULdCAoTdJk+j4Wh4ctD4h0Jf9Bf9h/IqMOr5r5USSzoDXGAPFUGBMkbzNMJBGlGVqEOTVh7YncQVFnR/+H44zF52I+MIkcbIwOECHWqBqdKhnxyv6KQQRgcuAgXaoji6C8mTabQzibDkikhtD/zSk+oECiVQe9xR9+7DLbt4N32/en2g80GFvJoPhSnTki8x6mkMpfPCzFPrcKVwnb6fXF59uL4ahm8hVoaGb8n1jpGLZqCyZ06wbQwTdfhPr7F25gT8FshrRaO4iXDbLoY7GpjUJdQYj8sBEsja+6LbD/S0d7u1TkECtOBpmpO67XbOPd66oq7p+WuFdFTczRJYcaf4nBr1bgtSefotIVvwwuN3svHyU7spX7G9o+9obN0S0DTgu0sHEljiZv/0pJX0Qz4c3F8/4EdzK812t/X04/UN5bSiouwus2XcVe0PytxR1bt7rbFBnxTkUfbttlmTdd3zN6RnJfpF2nBTlLO6rv8BakVKwQ== +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Move a project to archived status, hiding it from active project lists. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-cycle.api.mdx b/docs/api/create-cycle.api.mdx new file mode 100644 index 0000000..4cb576d --- /dev/null +++ b/docs/api/create-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-cycle +title: "Create cycle" +description: "Create a new development cycle with specified name, description, and date range. Supports external ID tracking for integration purposes." +sidebar_label: "Create cycle" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new development cycle with specified name, description, and date range. Supports external ID tracking for integration purposes. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-generic-asset-upload.api.mdx b/docs/api/create-generic-asset-upload.api.mdx new file mode 100644 index 0000000..43ae71c --- /dev/null +++ b/docs/api/create-generic-asset-upload.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-generic-asset-upload +title: "Generate presigned URL for generic asset upload" +description: "Generate presigned URL for generic asset upload" +sidebar_label: "Generate presigned URL for generic asset upload" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Generate presigned URL for generic asset upload + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-intake-work-item.api.mdx b/docs/api/create-intake-work-item.api.mdx new file mode 100644 index 0000000..184d998 --- /dev/null +++ b/docs/api/create-intake-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-intake-work-item +title: "Create intake work item" +description: "Submit a new work item to the project's intake queue for review and triage. Automatically creates the work item with default triage state and tracks activity." +sidebar_label: "Create intake work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Submit a new work item to the project's intake queue for review and triage. Automatically creates the work item with default triage state and tracks activity. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-property-option.api.mdx b/docs/api/create-issue-property-option.api.mdx new file mode 100644 index 0000000..013f3a0 --- /dev/null +++ b/docs/api/create-issue-property-option.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-property-option +title: "Create a new issue property option" +description: "Create a new issue property option" +sidebar_label: "Create a new issue property option" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new issue property option + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-property-value.api.mdx b/docs/api/create-issue-property-value.api.mdx new file mode 100644 index 0000000..d43f926 --- /dev/null +++ b/docs/api/create-issue-property-value.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-property-value +title: "Create/update an issue property value" +description: "Create/update an issue property value" +sidebar_label: "Create/update an issue property value" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create/update an issue property value + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-property.api.mdx b/docs/api/create-issue-property.api.mdx new file mode 100644 index 0000000..58f98c7 --- /dev/null +++ b/docs/api/create-issue-property.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-property +title: "Create a new issue property" +description: "Create a new issue property" +sidebar_label: "Create a new issue property" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new issue property + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-type.api.mdx b/docs/api/create-issue-type.api.mdx new file mode 100644 index 0000000..318f2af --- /dev/null +++ b/docs/api/create-issue-type.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-type +title: "Create a new issue type" +description: "Create a new issue type for a project" +sidebar_label: "Create a new issue type" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new issue type for a project + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-worklog.api.mdx b/docs/api/create-issue-worklog.api.mdx new file mode 100644 index 0000000..0161bc4 --- /dev/null +++ b/docs/api/create-issue-worklog.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-worklog +title: "Create a new worklog entry" +description: "Create a new worklog entry" +sidebar_label: "Create a new worklog entry" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new worklog entry + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-label.api.mdx b/docs/api/create-label.api.mdx new file mode 100644 index 0000000..79ecd14 --- /dev/null +++ b/docs/api/create-label.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-label +title: "Endpoints for label create/update/delete and fetch label details" +description: "Create a new label in the specified project with name, color, and description." +sidebar_label: "Endpoints for label create/update/delete and fetch label details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new label in the specified project with name, color, and description. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-module.api.mdx b/docs/api/create-module.api.mdx new file mode 100644 index 0000000..634f7ec --- /dev/null +++ b/docs/api/create-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-module +title: "Create module" +description: "Create a new project module with specified name, description, and timeline." +sidebar_label: "Create module" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new project module with specified name, description, and timeline. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-project.api.mdx b/docs/api/create-project.api.mdx new file mode 100644 index 0000000..ca1b410 --- /dev/null +++ b/docs/api/create-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-project +title: "Create project" +description: "Create a new project in the workspace with default states and member assignments." +sidebar_label: "Create project" +hide_title: true +hide_table_of_contents: true +api: eJztnV1zHDeSrv9KR9/s7glSpGRZM9bVkShZkknKHJGSz6zH0ZtdBXaDXQW0UQXSLQX/+0biMxNd1Nizu7NxInBjC28+QKG+i9WZ9X6Z660wMEqt3rXz5/PGCBjFYmv0jWjG+cG8FUNj5BaB+fP5iQvPYKbE3SxAM6lm41rM7rTZDFtoxOxOjutZK67BduNsGGEUwwxUO+tFvxRmBsMgV6oXahwezQ/mWzDQi1GYYf785y9zicvZwrieH8wV9GL+fD50djU/mA/NWvQwf/5lPu62Th+NVKv5fTnLn9JMQk8jfrXSiHb+fDRWHMzFb9BvOzHgWK/9v1Mf1G6hs7iAfneY1gonYPsezG7+PHaa0Sifw4vZuNvKBjqyXdxs7u/vfzmYj7DC1Z1f+G04zH/xsxTD+FK3O5xEo9Uo1Ij/hO22k43bS0c3A47/ZX9r6OXkLrsURkInPwszu9Zm5nawVKu49wa/t/Ikb6GTrVvUo7+pv6m3oNpODGln+/5azaRqOtviSLIVapTXUhjS+SDu7Vth5HWY/MHfFB4HeWEwDLqRfkCcHT+s5Ohm7ieDR4rBg3WUfsf5g6M8GA7mvVRnQq3G9fz544P5KMcOw2FDz95jr4N5D79F6Mm335ZH0P6g5TCvCH7vZobyohPQTnW/1qaHcf58bq1s8cC2XQdLHBEPSLd4d7Ys/LkhJlfs7w6Sd8Qf3y7vcl+2dR4/wYEbrfCasHXbvVys6PWNnFoiJyc2eqNvhVnIHlaTK7y3pF63thOLWynuCL/UuhPg9kOza74al8NgfXz4CrWF1VcHUSNsvgas8DR28QV03eJawGiNP2j3YTDNWt6KhaTHnVSjWMVdIXvb445wu9A3jnFdOz38A91G2YvPWrkNLhSqP89fXBvZwNGLpWxvQM0PktA0BkizbeWweLGEJRW7lcRrdxaGHmivl9DDRtO2WlnJ2je2I205DGBJuwM17owgioHPn+FWdh0V7Y3tl5Yu+QSk0bQ5wLID1VBE2JE2tYKN2WXhFWzA0KZZiGFxCR1AT+QbudR2JCv1SlvoyMCvu8ULkJZs2++NEKO+I8obWGqDeyYpb8EAXfEf9BqUEsPSmhVRLd0fp9Bv2aJP12BGbcl0T+UKOknbaljDQPqcwUqTXXoml0YU2/tM97RlQbV0ALu0/RKGtaTaABvCnEMHS03bWzuy9iAMORDO8cCjm+dcr6CVw5oyWhl9K8lS3uNBsCTTeN/eQC8URST0guz099rCplnrcczajxZW0Gq70mRpF9qM+vC9viWzvgS9uGLb5srIrabb+8oqSbbuT1K1ay02qPQinGnAmqpZa4NXSaqtrOz8jk7SKFeWKQZWFqTi2gov9QpPGaH0sHgh8eI0BZzACD2YZrr7iTatXk7HfrA3djcZOYPFB6lvprudC9Xqz9OxD1Iv3kDXiXBo7gGX0I3TXS9BLX6w/so2GTyzcnrMK9vY/oGOH4e1BcmXaPn2GKxq8BGBSKPc6A0b8SWs2SiuvXgJqhUGBhYwS2jZ2r8Uneh5W36mhwlePZvDS1h2bBovNSw+yYFtr5d6pQtBDnSsE+iXRrYrsXgJO65v9eKNwRkzWTVWMcFAw9boBHZCKd5px7f3yVo2sNJcWVtYswP9RNoWWtzJRnymuh5GPODYIXxixDCyzXFiJbA9d2JxqnSpr0D1YDbDGm4Vk+8GvS8sToxgZ/QroW7dnTkLo9FypIrGGzWb6eu214pP9bU0Vokt3WavO7wj3UKr6QK+12ZcvBcdnx6q0Al2jr3poCn36RuNTxeFhnt4cWXNholCQcuGs9CKTls2xzcWRtFDV4A7+NXKjmk7YJert9DJa/iNKbcFIkyvB9l1dH+9U60Elf6PV+BhInyq9G8T8jkYoVZT4124P1XjHbgIXomuW5zIcTcR+yRuYVKXqsGTYGp2P0kFPTQsYm8l3f7vfoXOsuPoB+iBH0Y/WCX8I1UQToUabbPZHZ1pK4d0Zy+j51qNshF8w54a6IRq5Q2dxRksLoCeeGeypzM4w/uMWomOreaZvhNmcWFwC1D9HBohNRMU8DsbKpb3MXKlR66MUslfrWDiCL02mnf9DGPHrjrnQuHZKFhXYSQ70M/F2MEGuzLxN9no8iA4x2nwS/C5Vs1YKqMwRuxK7Va2QhfiIIwBurrvIT43R0HcLf6q2cn6PjyYpKbRag1cGdeLV7DRI95MbAfrh6InAmf7UBQXfgn85vTeWjqZH2+kghVd+gXg4c4Egw8gcknX/mKthZL0rMXnsEOwh/5IKgILfb243IJUha4Xn0S3ZgNbgfIH2XBVjbB4gZc5etB8ALWRavFOdYLuhQ+ikdeCCSv+/PVBDLqzI2OkXrw0oNhyL0GNYNgGREnymyFKeuFuHYWuFxdg2Zl72WgjhuVusKqlshw3dIKX4+IlmHGNjxY7rv+g12rg0qkcx0I6s40sBrxa6x4KzF/46Ma7vJPX4+LEGsP1K7GyDf7RsqXDXq0tu2xdyRvLbwxXeHyPmiujZufrJ9zslt+bf1rLUay1YU8/P0ml5FbQy/5fYWNHfxLivmpG/wQz+DM4S6/g1t98iGTxzv7qo0kX3xw7h+ZXC0buyfFRg2jNuTWt5uIFdL1fn6x90ONa+D+Os3i503eFdGV013Hpkx5G7U5cJxydabXaCTDLnXCzGST+wUL+3fXgL36u1YfnOddQ0O5Mav06+gtWaOilSK1hvYKl37SuPe5MZl/Cat1Cm5trE85v39wQUq02fvK+aRT4lw2uKaSxaRkv5bDeiMzic5aMrZO19M/GvqHlErohr9iJ7nTvr1LYfAU9DI2/P7n2Ovzl6xqyS8O+sksgjWENKm+E76GHlR3yct/A5/Tvt2JpdFr+W704WcvFuVTrLKnV4lS7N2lBuE2b7J3Z2HFI6/oDvubIy/kBdrANr1JcWxg7xIs5CqewzFvxFPpmDWNewVN8zl/L3BzXPag27ZTTNah2t8q87jaQl35qYFB6BybP7xTfpizObL+1JmvNWua1O7V3INO+PIcmHy7n+Kd73lfnsMFbpcltJbu09HM7NPm4ey8bPcgUxD/1N/azEmTboTbIpSTT/bEn/zaQttTFWul+cSHyTrrAJyxQkPCLHZ5dkNfrLzDmqf4F/5xRkE6uv+w+7zpt2jTBD3IHbRr9EjZr6PKZcYk30w2odBhcCp334+Ua1GqdD8dLqVaw1SYdj5dGtEpsdLcj63cFcptPkyvAc0il7Xe1lJ0cclisTd4RV2vZb9dpN13pzU7nBlnGxw5ALYFuiY/G9r+mcT8O4+F7kQ/YT1K47Zqm/qmDVt6mCxlK7uI9kKZa5fPpr2IDozBSxQd9Lxpx66ePj4t4LXzxWYeXJ1F5KUxv/Q6J0gko8C8Vs7IVi0/C+L+Xo/o9GM2Ec2iFNGysD2K3uYHwJ0AUL7Ud14s3QpuVZPTluHgruvCyK4ugOn+LssNooPPX7w6kn04SXxo5xDduRNQboRZvpb9NJP0VmDt/pCXptW38eZWUt3oJZmTSmVStCLeILGrTLt7qO77oc9EttTXFhC6EcT8WZuVy1yq3frjhW7x5+DXPCj67+vMyCK9hGIVRWTjX+NgnifJe3F1rq9rOnz9BvYAGf96aH8xfW/x56uhFjyO17vVwlFSrjduNUcCZbtZupaM0roV7tArtl6JbGXA7JCnGn8qxjT/bDh3cAtXsMIiOjmObNeD7Diq1sC2UQaqVIIOfrOUglbuERkVvhVoDo17ZJZvSG7k0+BLOEMkKo/wDUVDeim6QaiOz8m7oBD6ln9MN8g6vdP4uE5QfhGEDneKlTSrcTESURt+S5k6S1pkclpos4+zGLrsb/8wYJa1ahtjfRI9H3Spr59Aa2dK2f/GYmkaKNfRklHOp3JUmNrUC96yf2kOj73L7x6Ej0QswkuzRC92utPF/4EcJX/OSQ+WDXJHoB/9HX2i5ewDQtlrgjJWmmoEbcVsoI92wl7K/FkZvNdlBlxu9vaGL0teSLmnUzWatO3JmXEHXSUU21JU0/oIT2h+7HSh9SzfeJ2jtZ9rEh1QyBF776R79JDslLdmAn3S30vyo+QnMAGQH/DusjFiStjWywYvMm/Or+cHcv57B9+2g8Nou3aYK6sk6/HiS2kYOo//rJ0q6YYTGNxK5fSrMyuJlO0vnsBa01bXyVgxUsUaOfjWTtNPjSHp9EFb5l9HhonX0Yuv2T2raZhOublF6qe0KpIp/pET5ZA3j2l3isuL/uI9tf0GlwjWMdIjvYQP6WlNF3kjatAqu/Y9qUXoDHWzD1s1av5RsSfj+EboGlLvAE5XO961WurOdJdIphFetSZC4TXtgczjVgwG6Iqd3cAOdkLTnOdxYo5lgMLkD6MzPZXvnHuWi8B6soRN6Ly1d0HttrnW3YYrtBd2DF7DCP/tXmmkd0FEv5NiANHS6F3qt/ENcVsy4OPevC4j8AYwetVrRZV6C3AId7QrWkm2yKzBwR7tc4RAjbOm0foKNYM3Ov7D9eHn0ooPB/XWB/zbys1ahkW/jHy/JLfzj5dFbuAMp/b/JrfzjJblhf7w6wbSbMuuAp8/8n9l/8F/H/2N2OOPK3xSB8BdzimCbAfk3dIpllcH+t3UKeoVB7vd2yjiBIv4neIJ4gSP4eyJDUCiQG9tx5MZ2DHG/3VPECQwJP+dTKEgMy7/xUzKrDI6//VM0ahR0GQEEcm0OxBwBRkWRoZg6QClsM8AnE1DEKxRyCQYEcW0OkJQDBhKddQjJCJQNEsNchgKFnECRmLRAoChRLGYyECxKFIvpDQSLEsV8zgOBvEARmgZBQCoz3LJzDZs0HBImCBEUBoUkCkoFiWEus4JCTuCIT7ZgkJco5jIwCOPaDEg5GZRKIkN1zyDd87DL3aCAEzgS0zkYFkWOYpYHw1CgiE/8IIgXOIK5IAxBgSOYHsIQFBjiM0Yo4xUGxSwSikWNgz63hHFeolhIOCFUUBgUklAoFSSGucwUCjmBISlZhWJJpCjJYSEsUSmcc1sIm0WKxpQXAkaJYiEPhlBBYRDmxlAE2xSI2TKEiZLHYqJFC54hbQ7EpBpGRbFAfa4NJ71WgC4Dh3NO4lhMy2FgFAt0KluH95siHhgkZfRMj5DCD3X3KT8PdPbBB7q6jKDpji70QLeYLjTdM0Yf6BzSiab7huADXWm20XR/SjwwiMtImu7tQg928+lKD/X00a90xnSmhztj9IHOId1pum8IPtA1ZENNdw3BoqstjyRbHj0hf4pRQeNgyKpiYNAY6HKrKOWEfSSlX+2xKVJ08qlZHPcaB/FXVUahUCLysygY+ZlfkmheF0OJzjvEjC9GR7FAMRGMc6gUkBz4JFFgCMsXoygLlF1SKlnRI+lFB0wy4ygqBeQSzzjlpAJz2Wgcc1KJFeeIVzjk09YY5aUS87lsBehFjtIUN4bTAO+Sst8Yn1QO+6w4RnqJYy5VjlFOKSCXPscpJzGM5tRRlupFB/wJnKOoTEA+A28f9Trv4HLzGOqUAnL5epxyEsdCEh/jgsbAmNpHwahxMCT8MTBoHMxpgIzNMsNJfiDFibyHu8TBEnYiQ1M+IUWTyNGYZsjQKHI0ZR8yNqkF7LISOekkjqVURUYmtYR9CmPBerFEfWZjgXqxQDHhkXOoMCgkQVIqSAV2W4zlFQ6lbEkGJpXBU1mUtNtUfHIAzLOc6oj6ZIeQgTnVJ4Qmu+X0zKmeOTrZOaVvTvVNwcmuLrtzqpsLTHeJiZ+T3WJwsmvIC53qGEJFN0wa5TQqHPKJpIzyEsNCdinFgsQxl3LKKKcwaCINlfaYCE93z3mqk91zmHdPiaysV1IZ7BNcKegVDsmebRhscyCnwTIuywVO8mN5BxJgXXzqLGW9UkAunZZTTtrD7FBStlygy7vllJNKLCTjFmRQCzgk6XI2iAXqc3c56TUOxoxeRkaxQDHRl3OoFFBM/uVgVAs4JQVzOskcD9nCjA0aB30OMeO8VGI+sbgAvbiPunzjPdape7DPQy5hrzLY5ydT0CscCjnLDAsaB+P7JtIuAJfbzBknlViZ8Fx0KcMPd/cZ0Q929+GHu6eU6QdHSAQfxFq+vazl2yokWlMmSAzz2deU8koBxYxsDkaVwz5Tm5Fe4hhL32Y0i+x1SqndZZ8U2OsSsr7LDkHmeE4HZ3iWCzzniXM+66wDzSCnHajOO7jccoY6pYBWxYtFrxSQz0HnmNc4mDLTGZpUBseMdYpGbQ+UxV/HUdsDU3Z7SadA0SUkvnM8iBwl+fCMJjrvgJnyjESBIzR5nqE0UHZxefUF7bQSdNn2Bei0EnQ5+AXotBL0mfkF6cUSDQn7BRtUDtNEfsbTAOtCcvxpByJzHJP/GYgCR3w9AIO8xDFfJMAwL5UYVg4UGEoMS+UEFEwiQ3OVAWWzyuFQfcDQoDEw1CRQLkgeKwoVHFdoJejKFwrQaXsgK2ooe7Bg2TXVPBS9kr7fIb0KKsU91BdJlKxXS9gXTxSsF0s01FQUbFBL2NVaFKjTStBVYBSg00rQ12UUpBc9ul+u4eB92eOxjsNBsUFCrqwjB12ThPv4UjS1SNDVfeSoa5IwFoLkKLZYUC8FjeqlIOFQKZKBIBDEFY9kwDVzOFSTpHhoU8DVlxDAtSmwsSS6YYO7AhQSdW0KuJIUArg2AVyRSo67Jgn7qpUc920CuDqWHHfNHHaFLSnqWjQYC10IESWC+eqXzPh2BmI9TCKiQJB1TBtILRKUXV4DbJAQVtDkGLZo0FfUkLgXMpKKbBKTlAxh4U2KYyOHfB1OCvomCefCnMxkjYKhXIdgQaHQbUvit+QgDRU9KRraGQg1PgkIbQr4qh9CeIEgsRAoM1HJkCsOSoBr0WAoFiJAUCjkCogI4toUCCVFBAkKgUKZUWaCQBBfeZQJ3yZArkXKUNYISCqUMklEirrCJUK5NgWwlInEsZnDrrYpRV2LBl2tEwm7NgV89RMhvEARLIgiADZJ2FVI5bBr5nAomUrx0CYAKaLKFBE5GmqrGBm0DGLFVSKwQUIG8tGIjRzK9VgJyBLBYpFWpqJCoFi4laGoZMgVcyXAtUgwFHfleBAIEuu9MhOVDPkasET4Zg7HorAERIEioU6MMEEhENaOZQBbJBhqyXI8CASJ5WWZiQqBaMlZBqmaYV+KlijfpGFfm0YALxDEl6tlwrcJ4ArYctw1SdhXtOW4bxMAa9xyGFs0SFfStXKQ1MAlhGgEdJVxmXFNEg6lchkIQkZS9VxikkKgXFGXsaxlMNTZJSi0KYCVdySOTRKmpXiZoiqFXYkewVzbA7xozzFc4lio5GNc0Djo6/sY56USi0V/BRpljrtqQEY6hUOhQpBhQeNgqhtkaFI5zOoJWQcWKTrFWkPeIaol7GoQC9RpHtyrTHTonlrAsWKRw1Hdg1MlY8mnQNHFFzly2msF6EofOeekAvP1kJzzWgHGKkmORrWEY/VkQUe5wFNZJceTXOCu3pKjTiowX4TJOa85sCjNRK6QKBYKPQgVFAqFAhACBYVCsRiEUFGiGC32JCiVKR6KSggZFAeVlaGIlRoDfb0oxbzCoFhDSrGoMdBVllLKCRSJxaYEihLHTHhuYAJDUlEqxZLIUV+rykAvMSwWsFIuahz0Za2M8xLHfK0rw7xEsVgAS7AoMSxVxVIwiRT1xbIE8wJFUv0soZLGwFBVS7kgUSyW2hIsShQj9beEJCqHfV0uI71EMV+sSyAvUITU7xKOqAzGul6KYZsBO8niO8nCvvSXAF5gSKwGplTUGOhqhCnlBIaksmGKJZGivpqYYF7gSMgjpm0OhJJjBgWNgViITCFsM8CVJlPCCRzBamWGoEARLGAmADZp2FU0k7hrMyDWOFMoagx0lc+UcgJFsBiaANhk4fBDMmnSsC+XJoAXOBIrqBkWRY76wmoGeqnERna4B4VBqQKbcklkqCvMppgTGIK12pTANgNi9TaFokbBUNNNsKAwyNV5U8YJFEml34RKGgVdQTiBXJsDrkScIU5hkCsbp4wTOOIqyRnjFAbF6nKKRY2CvuacUF6giC9DJ4gXGOIq0yniBIe8Ob/CwJvzK9ecqFrH8IRMcV/OTkAvcCRUuDMqaAzEuncKYZsDmOHDCBQokorjCZU0CmLJPGGwycO+hp4hXuJYKKxnXNA46MrtGeYUCoUSfAIFxUG0LB8R2uZAKNRnUNAYSMv3KUx11iEU9lM2SAUWck6YwBD/7E0Zr3AIPwrAGBQYEr4TQKEgcUzeSMbIG8mB8DkBBgWNgekjA5RMYoG6bw9w0Ekcyx8kYGiWS7wvOL7147cLKBQ1BvovGlDMKxxKXzlgYFI57L5+wECncCh+EYFxUWSo/1AC5bxSQOHjCZwLIkfdNxUY5xQGue8sUMYJHJGWrSW2OeA/xsAYLxUYfqGBU6gwKH21gXJJLNAOLMc64FOP33dgVNA46L/6wDgvFVj+FARns846pI9EUDqJDPXfjqCcVxjkvydBIa8UEH5jgkOocCh+d4JxUWQofo6CUtgugC7kwnPFQemjFRhPjRTy37CIMd+KQfKqI7dikLziyK0Y9N+8CDHfiCH61oM0Y5i8vsgtH7w6cerVCTFBuQoWEq/RPuL+nvrr/ExNSIKBzy97biPeRuiD97tBEwxqyMOY7F5DfHmi98v8vbibXTxgVfSeWMnQCLdJmStxd5jdjriPy/xYNM+aa3h6KL47fnb4FKA9/O6b744Pn7TXx98cfwNPHzdi334omgMFPx9uuwNxUmgEdMCcfX47vLu7O0SXl0NrOqEa3Yq2Wv1Uq59q9VOtfqrVDxGr1Y9rVaufavWTlWr1U61+qtVPtfpharX6qVY/1eqHatXqJyvV6qda/VSrn2r1U61+qtVPtfqpVj/V6ieL1eqnWv1Uq59q9VOtfqrVT7X6qVY/1eqnWv1Uqx+CVKsfAlSrH4pVq5+gVKufavVTrX5ktfqpVj/V6me6W7X68Uq1+iEKh6rVTwhUq59q9TMBVauffZnh1eqnWv0QsFr9VKufavVTrX4KrFr9ZKWAqtVPtfqpVj+FyuFq9VOtfqrVz36g7FKtfqrVz57K4Wr1U3aoVj/V6qda/VSrn2r1M1Srn2r1U61+IlGtfqrVT7X6qVY/1eqnWv1Uq59q9UOhavVTrX6q1U+1+qlWP7nNgGr1U61+qtVPtfqpVj/V6qda/VSrn2r1U61+qtVPtfqpVj//E1Y/ve1GuQUzHjmLnxY/g1jNfaq5TzX3qeY+1dynmvtUc59q7hOlau7zQKSa+1RznyxWc59q7lPNfaq5T9KquU9WqrlPNfep5j7V3Kea+1Rzn2ruU819qrlPFqu5TzX3qeY+1dynmvtUc59q7lPNfaq5TzX3qeY+BKnmPgSo5j4Uq+Y+QanmPtXcp5r7yGruU819qrnPdLdq7uOVau5DFA5Vc58QqOY+1dxnAqrmPvsyw6u5TzX3IWA196nmPtXcp5r7FFg198lKAVVzn2ruU819CpXD1dynmvtUc5/9QNmlmvtUc589lcPV3KfsUM19qrlPNfep5j7V3Geo5j7V3Kea+0SimvtUc59q7lPNfaq5TzX3qeY+1dyHQtXcp5r7VHOfau5TzX1ymwHV3Kea+1Rzn2ruU819qrlPNfep5j7V3Kea+1Rzn2ruU819/vvNfdimCx4ng2jw6WI3f/7zl/mLrTwVuxcW39iMwURn/vznX+4Pvsx/RPnJROwXHHXYajX4Dfrk+DH+r8EcXjXiP2G77UKPo5vBO978Xj+hE91vjcA3SPJWpC08ZJch5yfUi9HIZpih3U8wAnLL/210rkIXWDXfimHWaNxUYx4I7Y2It1Dqa9U4HMycv8uRt4GZjXqEbjj4m2rFttO7XqhxNoww2uHALdcOwhwOW+GO5rh4tzfiwnpMehfYcd9eSP4uIx8joP1Rdbu0+9ykFn7aw6Q1ywNd3Kr9oR5+M/zOLnIIk5pwoZnAB5dEa1rGK+sGIFuh1XbpPgy1N4Bf2MLoTvzuCfr9KNrfN0ViHrSwppvaW/t93EWlXcD41Z3bwigO0Shnagy7bf9rY+TL4RkM4+xct3gxamcvRn8twfPhvzT8nm/SQ1ZZ/xxzLNJ7gafgvonUV4eYfbgqR1mPffdHR3l7dX6G4ygxov+Yuwx23Y/X7jobjJCOD57kD0LlY3Xvi1DHeE+8FI0JCdpP3GMAvs5tyOZ475fk75K/UBsm4s/0zZM/PfvT3/Xu+kNuXQ/6cf3d4+TrPl//n7hvyWGB58ViNNBspFothMLVmLqqeNpPC0NfR/+QrdcftTb7Z9uAdXql3a7G+efl/6Hrzt5KVG+x6i1WvcWqt1j1FqveYtVbLCrVW6x6i8nqLVZEq7dY9Rar3mLVWyzp1VuseotVb7HqLVa9xaq3WPUWq95i1VuseotVb7HqLUYz1qu3WPUWq95i1VuseotVb7HqLVa9xaq3WPUWq95i1VuseotlrHqLVW+x6i1WvcWqt1j1FqveYtVbrNA4WL3FvFq9xShVvcUmu1Vvseot9nCYd6/eYpSq3mJZrd5i1VvsofDD3au3WPUWq95i1VuseotVb7HqLVa9xaq3WApWb7HqLVa9xaq3WPUWq95i1VuseotVb7GheotVb7HqLVa9xaq3WPUWq95iTGJY9Rar3mLVW6x6i1VvseotVr3FqrdY9Rar3mLVW6x6i1VvseotVr3F/ve9xdAZDKcB3WLQ1jS/w0tjwr4mjTHt6fR3+0fXoOXuj1tCTbhkRAOh/47hHvISernDjYf2M8MWpjfb37WyasU12G5cwDDIFX6u+HcMsrey3FHtHxiA2jzBMIiv25M8NIoY3A3nH1uHuCHQXOwfGeEfcMh7wBSPmeDh0Tz/9ttj8eenx8eH4sl3y8Onj9unh/Cnx88Onz599uzbb58+PT4+Po6LeT4/10vZidmL7Xb2StyKTm97/0FF/mEaEpvp69m4FrPe9yTOcaWT3vmLV3Nir/Rkz03vd0z18Zx7dM2fHD95enj8+PDxt1ePj59/c/z8+Pjf59yDa5q59/Z6fL2ifVJYxGywTSOG4dp2nTtfnnqnPN6JO+xhX7fW0A2zO2HETOkRDeUwg72daTMDI2ZS3UIn20d+0G/2B70QppfDgAO2QknRPpp9HISZddBshlk8WmbbhA1hrKf7Y/0Uz3I3FfcO2bPfTSw3bAE8HmbQ4Tm/m6GhknJGjr0Y1xr31Va7b/htAa+C8yPYyqPbx0fpejIcfRk6u7o/Crt4OJqjc6G5daZ3P3+ZO0O2+Xoct8PzI+z+aNuBEo8GvXewXRjd2iaYhdGez4+OOt1At9bD+PzP/jjmXc8w7Ly1omviJboY+lNm2jsxnbzgwngQ40hrAW0+H5/P/9/hi4t3hx4oDoeLd7ON2M2ADfxoFiwNZzttzSxCUrmTJ40288tx+3LavzHbL+ICnuDFpdN3boVQ0EZ+duSJbsWe+NFtuyPUjvRRDIlD2G5xB4340xNnnOR2XqO3frsZf7Z+ENDOwJ0fs1HPjPA3YPxs1p2ReB2c/4T/n2TunTEV/rB7kk8Xt3L/xCnsnf5+ixd7bjbY7VYbZ8651ON6xrborNGtmOEucJaSfp3YNQBjj2bfo8fndPAg2FmK2b/AdruQahih69zoC9n+y2yL9Q1YOxiPFrdBknvoFnadhtavXCPQdBNwogFDO8t0WuLleUYXgFeN+4M5enwGt9WXut0Fg1JipPrAB8qSXFzJv7mGP397/ezp4bd/evynw6ffPntyuPzmujl80nz37JvrZ8/gGp7Npx4gfm9PdmNJswjGdllgJmtZZkZ1/imJWtN5Zd+MzuvEfi6A1HDOSw86wfkw9XI7pg5tx9QirXRGc95219qdJfFheC1mF3jdnH14fXmFV5X5wRyvsX73HD86fvR4b6ftd0LH1U9ykOMMr02/Wtls0CjVjLOVxUsWHtl4D3SXrVY3Fm/8/vCHcfZz658GhBnSRfyXf42X9okgXu4PjbgWRqhGHEk1piv8vz1ye02N4J9lwuHnpou3dXbXIHcM0YPEUDhX/28KoZOdbIQa6NH85v3H2Ys3F2e33+yNuZLj2i4fNbo/6mEj3Dh+QUfLTi+PtviJK3F3dPbu5PX7y9ePxt9Gdwbh/RA/JJwX4v2JZ9tp+2FitxtJmCliSRzO9XzqOtvccMY4G1vB3HP9OYQ7ZsBtGG4SaKeJ05fu8AkuqP6m/TPe4fBwwSMk37jnB/PneOvOJzVK+ASKt1ns9uXLEgbx0XT39yj/aoVBM+JfDua3YKR/rP35y7yVQ/BKvIZuEF9Z/3/9EB5n/m2WH1XCHCbXI96hFd59w+PufH4w34gdHgPY8/6X+4N408bZ+NCJX+bh1c75A8Wu1O74t8O7u7tDfGA/tKYTCq/vrXvw8EO8aBqxHR/o7LySnZVnfE66+PESP9q61K37Y653d+U5GfmANpxzs7tl8weRjXvOCP/A1ZncAvSZxE8W/4tTn8S/fPGPOPf3ifehB3ukhyBP48745f7+/j8BRak6+Q== +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new project in the workspace with default states and member assignments. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-state.api.mdx b/docs/api/create-state.api.mdx new file mode 100644 index 0000000..8de3a44 --- /dev/null +++ b/docs/api/create-state.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-state +title: "Create state" +description: "Create a new workflow state for a project with specified name, color, and group." +sidebar_label: "Create state" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new workflow state for a project with specified name, color, and group. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-user-asset-upload.api.mdx b/docs/api/create-user-asset-upload.api.mdx new file mode 100644 index 0000000..0ff753a --- /dev/null +++ b/docs/api/create-user-asset-upload.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-user-asset-upload +title: "Generate presigned URL for user asset upload" +description: "Generate presigned URL for user asset upload" +sidebar_label: "Generate presigned URL for user asset upload" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Generate presigned URL for user asset upload + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-work-item-attachment.api.mdx b/docs/api/create-work-item-attachment.api.mdx new file mode 100644 index 0000000..28c0982 --- /dev/null +++ b/docs/api/create-work-item-attachment.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-work-item-attachment +title: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +description: "Generate presigned URL for uploading file attachments to a work item." +sidebar_label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Generate presigned URL for uploading file attachments to a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-work-item-comment.api.mdx b/docs/api/create-work-item-comment.api.mdx new file mode 100644 index 0000000..ae6abd1 --- /dev/null +++ b/docs/api/create-work-item-comment.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-work-item-comment +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Add a new comment to a work item with HTML content." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Add a new comment to a work item with HTML content. + + + + + + + + +New comment content

","external_id":"1234567890","external_source":"github"},"description":"Example request for creating an issue comment"}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","description":"Serializer for creating work item comments.\n\nHandles comment creation with JSON and HTML content support,\naccess control, and external integration tracking.","properties":{"comment_json":{},"comment_html":{"type":"string"},"access":{"enum":["INTERNAL","EXTERNAL"],"type":"string","description":"* `INTERNAL` - INTERNAL\n* `EXTERNAL` - EXTERNAL","title":"AccessEnum"},"external_source":{"type":"string","nullable":true,"maxLength":255},"external_id":{"type":"string","nullable":true,"maxLength":255}},"title":"IssueCommentCreateRequest"},"examples":{"IssueCommentCreateSerializer":{"value":{"comment_html":"

New comment content

","external_id":"1234567890","external_source":"github"},"description":"Example request for creating an issue comment"}}},"multipart/form-data":{"schema":{"type":"object","description":"Serializer for creating work item comments.\n\nHandles comment creation with JSON and HTML content support,\naccess control, and external integration tracking.","properties":{"comment_json":{},"comment_html":{"type":"string"},"access":{"enum":["INTERNAL","EXTERNAL"],"type":"string","description":"* `INTERNAL` - INTERNAL\n* `EXTERNAL` - EXTERNAL","title":"AccessEnum"},"external_source":{"type":"string","nullable":true,"maxLength":255},"external_id":{"type":"string","nullable":true,"maxLength":255}},"title":"IssueCommentCreateRequest"},"examples":{"IssueCommentCreateSerializer":{"value":{"comment_html":"

New comment content

","external_id":"1234567890","external_source":"github"},"description":"Example request for creating an issue comment"}}}}}} +> + +
+ +This issue has been resolved by implementing OAuth 2.0 flow.

","comment_json":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"This issue has been resolved by implementing OAuth 2.0 flow."}]}]},"actor":{"id":"550e8400-e29b-41d4-a716-446655440001","first_name":"John","last_name":"Doe","display_name":"John Doe","avatar":"https://example.com/avatar.jpg"},"created_at":"2024-01-01T10:30:00Z","updated_at":"2024-01-10T15:45:00Z"}}}}},"description":"Work item comment created successfully"},"400":{"description":"Invalid request data provided"},"401":{"description":"Authentication credentials were not provided or are invalid."},"403":{"description":"Permission denied. User lacks required permissions."},"404":{"description":"Issue not found"},"409":{"description":"Resource with same external ID already exists"}}} +> + +
+ + + \ No newline at end of file diff --git a/docs/api/create-work-item-link.api.mdx b/docs/api/create-work-item-link.api.mdx new file mode 100644 index 0000000..2ed4184 --- /dev/null +++ b/docs/api/create-work-item-link.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-work-item-link +title: "Endpoints for issue link create/update/delete and fetch issue link details" +description: "Add a new external link to a work item with URL, title, and metadata." +sidebar_label: "Endpoints for issue link create/update/delete and fetch issue link details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Add a new external link to a work item with URL, title, and metadata. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-work-item.api.mdx b/docs/api/create-work-item.api.mdx new file mode 100644 index 0000000..6e26720 --- /dev/null +++ b/docs/api/create-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-work-item +title: "Create work item" +description: "Create a new work item in the specified project with the provided details." +sidebar_label: "Create work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new work item in the specified project with the provided details. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-cycle-work-item.api.mdx b/docs/api/delete-cycle-work-item.api.mdx new file mode 100644 index 0000000..1818b12 --- /dev/null +++ b/docs/api/delete-cycle-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-cycle-work-item +title: "Delete cycle work item" +description: "Remove a work item from a cycle while keeping the work item in the project." +sidebar_label: "Delete cycle work item" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/isEv6wFZMtJna7TpwWJVxgLOqNt1gGpEdDUOeZMkSxJ2fUE/ffhSEmRX1JswdYvfrk73vs9dxXVBizzQqtpTjOagwQP93zHJdxvtV3fCw8FTWgOjlthUJBm9D0UegOEERQhKEKWVheEkfCSbFdCAlkDGKEeiF9BT1CoQDBW/wncD2lCDbOsAA/W0eyuogItGOZXNKGKFUAzGv0ROU2o4ysoGM0q6ncGec5boR5oQpfaFszTjJalyGmdUAtfSmEhp5m3JdTJSdXCufJ/Ut2E+K+V7+d6FrWQ6TU9tJtQ+MoKI8Gh3kn83chPr5G2YbJEYxcXI3gzHo0GcP7TYjA+y8cD9uPZ68F4/Pr1xcV4PBqNRuhkWRTM7mjWKmvLFK3vO3ZJ/M4IzmQndHs7vaZ1/UQ6nCwfvpGIo8A/abt2hnEgzct/EHz3ph98sRtsO/qpIPvcp2Lc7ntT1/U8oZ49YM/SK+xPR+cJdcBLK/wudPKlEb/C7rL0K1BecBaV3s0xQb8h+fwEb46BOqOVi5Gdj8b4dTiATpeWA4kDmxNXcg7OLUspd5jK8ejs+NW+NcIt5PiXSUe2YIEo7bGWG5FDTrQlzAIRasOkyIdR6atjpTOwhXAOFeagBORDcuvAEsn42pG2ZsR0Yq7RdSKsjysIL8BhTLYNcstc8G2pS4We1AktwK/0I2IFFPErmtGUGZFuztKuXi6tsGJ12nSpS6vHwazTAC0urVqIaSiDgAsurVp8qFNsHbCbFqZKK2lGV94bl6VodWgkUzB0+qiLZlbnJQ9/sPSPL7M0lZozudLOZ2/iDO4/vUE2rXud9QHnJ7bG6f7qBosFNk3iMK6A5WAfx/GPweVsOogCB20ym5I17AjbUzwks9gaZKdLS1qhBs47bSTaCTU+3eOdfxoNnCMCSr0NASFBW/FXkLzSORwRb0PuUqSlOm1ZMGDGYIG8XsOBTCCF4nFtYt4ssDwMEcsJC3NDvO7azdGEbq3w6OIn/D4pg03IpQDlrx7HKAT3HV04wsyY8YPKEVcao63HXbzQfkX2Mkq4zoFgCQhTOYkx7WED8obkF22fYiZEKC7LHMgPzJh7oZxnUgbt9yL/gXQLvu2WkJB20olhO6lZHoPjIMJlsdC+EVtq20NfZgzpG3ARD4Ra6pB94SU0SDLDeSTvJx8+YrfShOLsxjyNhqPh2VHjHz/6rD6r34UTnmDPfykFXxPnmfXkocRRwIwh5oZxyDUvC1A+ppV5cpfDBiReWK4Dh/mLFjJOMBFGBhaWYEFxSIXyHXK8xEuJa+UZ9xhoM8XBXZocoFEPiaBgAllND/zcseqESsFBOeipe/vully+nd1sXh3pfBB+VS6GXBdpwdYQ9ERD6ULqRWosbARs05vp1eTdh8nQf/WhMkY7XzDVM3IdILs9FdvD8LAaVYgWlP/P780Gfjx89RiAQFSOwVbNFrlD7MSGwR553CQ0oVlzi7TLBEl7d17cJ0juHa39lYKs3tGJRwPCPxqtqgVzcGtlXSP5Swl4ptzNE7phVrAFdvZdRXPh8HdOsyWTDr6Rtxfvm/X7kjwVd7srFO6B9mKiCV3Drn944976jna7BD3b7t7Z/AwPekV9tg9HF+wz/IjX5rx/8lxPbiYfJzQJm3F/36/DOm9+YK+cVN5f/dEKfmKYJ8WrKl4Sdd3JR9aTL7pbo6mmwgjq+m9kvfh4 +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Remove a work item from a cycle while keeping the work item in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-cycle.api.mdx b/docs/api/delete-cycle.api.mdx new file mode 100644 index 0000000..e7bb655 --- /dev/null +++ b/docs/api/delete-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-cycle +title: "Delete cycle" +description: "Permanently remove a cycle and all its associated issue relationships" +sidebar_label: "Delete cycle" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1vGzcM/iuEvrQFzj4ndbrOnxYkXhEsaIO2WQekRiBLdKxZJ6mSzq5n3H8fKNlnO3aKLRj2xS8kxXc+5IpZh55HZc2VZAMmUWPEe7EUGlnBJAbhlSM2G7Ab9BU3aKJegsfKzhE4JFHgRgLXGlQMwEOwQvGIElQINYJHnSyEqXKBFcxxzyuM6AMb3K2YIt2OxykrmOEV0r8ZK1gQU6w4G6xYXDqihuiVeWAFm1hf8cgGrK6VZE3BPH6rlUfJBtHX2BTHlXr7J4p4r+S/U/4oCVkLXF2yx3YLht955TQG0jvMv9fyV5dEm3Ndk7Gzsx6+7fd6HTz9edzpn8h+h/908qbT7795c3bW7/d6vR45WVcV90s22CgDt2t937FziEunBNet0O3t1SVrmifSEXT98INEHAT+xfpZcFwgrF/+g+DbN7vBV8vOoqUfC3KX+1SMi31vmqYZFSzyB2opdkE9GdioYAFF7VVcpkY7d+o3XJ7XcYomKsGz0rsRJegDkU+P8EYUaHDWhBzZaa9PX/t+fcRgay8Q8vxICLUQGMKk1npJqez3Tg5f7VsD4VHSX64DLNAjGBuplnMlUYL1wD2CMnOulexmpa8PldKQqhBIoUSjUHbhNqAHzcUswKZm4FqxsNZ1JKzPU0wvMFBMfhPkgofk28TWhjxpClZhnNotgKQhj1M2YCV3qpyflG29QrmiijXluktDudoOZlMmOCHarCmpOdDPNzhRe80GbBqjC4OS9Had5ga7wR4ilbeyFukPFXf7clCW2gqupzbEwds8ZftPr4nNmp3e+UQTkot/vIPa0eGJzYo8blPkEv124P7onN9cdbLAo0a4uYIZLoHvKe7CTS4+LG3tYSOkDMQpQqsNsp1UxeNd3PpnycApYZy2ixQQEaxXfyXJCyvxgHibclcSrbTlhoUd7hwVKNoZPpJJpFQ8YV3Om0cu05hwCTxNBkTbNhTthIVXkVz8Qt9HZajNhFZo4sV2UFJw/6MLB6iYM/6ochBq56yPyjzA2MYp7GUUhJUIVIK0NnNMe9NPvC78av1TzAKUEbqWCC+4c/fKhMh1XrL3Sr6AdsNuuiUlZDPL4PhSWy5zcAJVWuRjG9diE+t38JU7B7sGQp54ZSY2ZV9FjWusuKF5hI/DT5+pW1nBaHZznnrdXvfkoPEPH301X83vKqgI1PPfaiVmECL3ER5qGgXKGKFqGgdpRV2hiTmtPMKdxDlqOmlCCw6jlxvIOMIkGOl4nKBHI7BUJrbI8arLCiasiVxECnQ9xcldVjxCox0kwoorYq174JeW1RRMK4Em4I66d+9v4fzdzfX89YHOBxWn9bgrbFVWfIZJTzZUjrUdl87jXOGivL66GL7/NOzG7zFVxtkQK252jFwmUIajV90qxYgm/ocH3hpuIn6P5LAiFM7BrdZ74Y6wkhqEemK7G1jBBuvrYrMeiLR3ueUNkch0JdKWJzQnnavVmAe89bppiPytRror7kYFm3Ov+Jga9W7FpAr0W7LBhOuAP0jIy4/rffkKngprA/2GYH1z4rCCzXCZD1laQM+yuHdpPsf2NmvP9uHg6HuGH/lAG+1eCZfD6+HnISvSqtlfoLO0H9c/qFpHle/u0myFPinMo+KrVV7NTdPKZ9aTL9rlnaUpzlHTNH8DJLyMPA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a cycle and all its associated issue relationships + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-intake-work-item.api.mdx b/docs/api/delete-intake-work-item.api.mdx new file mode 100644 index 0000000..ec013fa --- /dev/null +++ b/docs/api/delete-intake-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-intake-work-item +title: "Delete intake work item" +description: "Permanently remove an intake work item from the triage queue. Also deletes the underlying work item if it hasn't been accepted yet." +sidebar_label: "Delete intake work item" +hide_title: true +hide_table_of_contents: true +api: eJzNVltv2zYU/isHfGkLyJaTOl2npwVNVhgLNqNt1gGpEdDisc2ZIhmSsusZ+u/DoWRZjp2iyIZhL77w3G/fOVtmLDoepNEjwTImUGHAe6kDX+L92rjlvQxYsIQJ9LmTljhZxsboCq5RB7UBh4VZIXANtRiQGJAYzJwpICwQgpN8jvBQYol9uFTeQG3KR3KpBTq1kXreEZYzkAEW3OsXAaaIGnieow0oYIOhzxJmueMFBnSeZXdbJskzy8OCJUzzAlnGpPcl3kvBEubzBRacZVsWNpZoPjip5yxhM+MKHljGylIKVj2OdUQ6YHTFEubwoZQOBcuCKzFh+JUXVqEnrdf178g9uqKXFVclGbq4GODb4WDQw/Mfp73hmRj2+A9nb3rD4Zs3FxfD4WAwGJCDZVFwt2HZThXIveVDly4hbKzMuWpYbm9HV6yqquRkEqwzf2Ie/mEaxrWW705Ew/8vpcJ2rT+VjB3Tt9PhVTn/RiKOAv9s3NJbniM0kt8RfCvTDb7Y9Nbt+6kgu9SnYlwfelNV1SRhgc9pBNgoDiCbJMxjXjoZNnEwLq38BTeXZVigDjLntdK7CSXoN3o+P0GbUKDeGu3ryM4HQ/o69OsDelO6HJtpFuDLPEfvZ6VSG0rlcHB2LHVoDXKHgv5y5WGNDkGbQLVcSYECjAPuEKRecSVFv1b6+lgpQZL0nhQK1BJFH249OlA8X3rY1Qxsy+YbXSfC+rTAKIGeYnK7INfcR99mptTkSZWwAsPC7JEzglJYsIyl3Mp0dZa29fLplipWpU2X+nS7H8wqrbGzF+fZp9sdcFUpdQq61Q7kSqdYxhYhWJ+lZKRvFdfY9+YYpJ0RZR7/UKX3klmaKpNztTA+ZG/rkTsUvSEyqzqN9JHGpe6E0+3UzhGPZJbUs7dALtDtp++P3uV41KsZHnXFeARL3AA/UNyHcd0JsDGlgx2T1HFxtNqgthNLerqlW/8MGTgnwFNmHQOiB+PkX5HznRF49Hgbc5fSW2rSHQl73FoqUDBLfMQTn2LxcmPrvDnkIs4MF3GVeQ/BtN3lWcLWTgZy8TN9n+ShnsuVRB3e7acmBvcfunAEkXXGH1UOfGmtcYG2+tSEBRxkFHIjEKgEwLWAOqYDKCBaH3427iliAlLnqhQIL7i191L7wJWK2u+leAHtebDrlpiQ3WCD5RtluKiDy1HSDUOONmwz4zpgy62FrgFfj7/UMxOzL4PCBjjGNI/w4frjJ+pWljCa3TpPg/6gf3bU+MdCX/QX/bv0MgD1/EMp8yX4wF2AeUmjQBkjiI3jIExeFqhDnVYe4E7gChUddr4Fh8nLHWScIBKM9BzO0KHOkaCoRY5XdGflRgeeBwq0meLoLkseoVEHibDgkkhND/zUkqqEKZmj9thR9/7XW7h8P75ZvT7SOZdhUU77uSnSgi8x6qkNpVNlpql1uJK4Tm9G765//XjdD19DrIw1PhRcd4xcRYQ+OlIfl2Mbw0Ud/jdnboNbAb8GilwSnNdZ2jbb5o5AlzqNmmu/cVjCsuZm2S0dejq4Bw/2DlE7JzMdErQjyMB2O+Ueb52qKnp+KJFOl7tJwlbcST6l9r/bMiE9/RYsm3Hl8Ru5ffmhWcmvoHNhn4x1t1g0LY3dNcUStsRN98anJfcs+wen7TM86CT02T4cXZnP8KO+CCfds+Tq+ub60zVL4jo7XNLLuIObH1S7k8q7+7q2Qp8U5kn27bZe/1XV8tekJyXaA6GppqYIqupvMCQH4A== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove an intake work item from the triage queue. Also deletes the underlying work item if it hasn't been accepted yet. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-property-option.api.mdx b/docs/api/delete-issue-property-option.api.mdx new file mode 100644 index 0000000..cc993c8 --- /dev/null +++ b/docs/api/delete-issue-property-option.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-property-option +title: "Delete an issue property option" +description: "Delete an issue property option" +sidebar_label: "Delete an issue property option" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/ivEfWkLyJaTOl2nTwsarzAWdEbbrANSI6Clc8yZIlmScuoZ+u/DkbIixU7XpcC++IV3vNfnHt4OtEHLvdBqWkAGBUr0eCOcq/DGWBL67Y02pAAJFOhyK+K/DC6CMuOKBX2212etvuGWl+jROsiudyDoluF+BQkoXiJkEFVvRAEJuHyFJYdsB35rSOi8FeoWElhqW3IPGVSVKKBOwOKXSlgsIPO2wjo5attY/Rfm/j8b72c5i1bY9AIe+k0Av/LSSHRkdxJ/N/rTCzrbcFmRs7OzEb4ej0YDPP15MRifFOMB/+nk1WA8fvXq7Gw8Ho1GIwqyKktut5DtjTHT9d4P7Jz5rRE5l63S1dX0Aur68XLEdv5wPWKXjxTkEc9OVrffcHng4pO2a2d4jqy5+R1lb+90y15uB3ft+bHydqWPVfeuH01d1/MEPL8lTIdQ2dRjyZq6CHQwT8BhXlnhtwH350b8htvzyq9QeZHz6OJ6TuX6nY5Pj8jmlLYzWrmY5+loTF/9KKfHBo/FKQ69G49ODm/1vbHcYkF/uXTsDi0ypT3Z3IgCC6Yt4xaZUBsuRTGMRl8eGp2hLYVz0b8SWAzZlUPLJM/Xju07yEyr5hpb350WhbXUlSqgrhMo0a/0PWcFtvEryCDlRqSbk7Ttm0t31Lk6bebEpbt7aqjTQF4D07YvSPeTUqfRuUt3LVXVKWEJ7WbPa5WVkMHKe+OylNwPjeQKh04fwGpmdVHl4Q91//5mlqZS51yutPPZ60gH/auXJIa6A64PNFARHcch1k4aD2JI4nSukBdo7+fzz8H5bDqICg+QMpuyNW4Z7xkeEtgJHWyrK8v2SkIxv0LWWmPRT2jzcZi38WlycErkI/VdSIgOtBV/B803usCDw6tQu5TOUp3uRTjgxlCDvF7jA51wFJqXaxPrZpETht4jLxjPc3SOec0sOl3ZHB0kcGeFpxA/0fdRHUJjLgUq/+Z+kkJy/2MIByQaK/6gc8xVxmjrhbplC+1XrFdRlusCGbWAcVWwmFOPHkg2ZL9q+5gwYULlsiqQPePG3AjlPJeSN5PzjLUbwR4toSCBHtB5ZvhWal7E5HIUG2ScAm3Ultp26Jgbw7oOiFBqgvhSh+oLL6lqH1fIZjSP7P3kw0dCKyRAsxvrNBqOhicHwD+89Fl9Vn8IJzwjzH+pRL5mznPr2W1Fo0AVW1ZShnEodF6VqHwsK/fsusANSqIV15LD/PmeMo4IiUYGFpdoUeWYCuVb5ngxhARyrTzPPSXaTHEIF5IHbNRhIiy5IFGDgV9aUZ2AFDkqhx1zb99dsfO3s8vNywObt8KvqsUw12Va8jUGO9FRupB6kRqLG4F36eX0zeTdh8nQf/WhM0Y7X3LVcfLvK2SvLbuQNir/XVcbbvH41VN0gig3ZrJr3oprIkZCAwHg/r2ABLJm89g/GXTU2ycfvhqNQmfDah4OEnS3XNoOiOTJ+2634A6vrKxrOv5SIW0n1/MENtwKviD8Xu+gEI5+F5AtuXT4jaI8f9+8sy/YYwXYvwiK2H6/KEECa9z29nF6np7kuLcwPyGETpl/JIbOkvq0INpWPjmKgz32CYHEnXPeXXguJpeTjxNIwnPYf+TX4Q1vfhB0jhrvvvfRC31SmkfVd7u4PtR1qx9Fj95oF4yoTXnO67r+B3KA/dg= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete an issue property option + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-property.api.mdx b/docs/api/delete-issue-property.api.mdx new file mode 100644 index 0000000..bb9ec68 --- /dev/null +++ b/docs/api/delete-issue-property.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-property +title: "Delete an issue property" +description: "Delete an issue property" +sidebar_label: "Delete an issue property" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJna7TpwWNVxgLWqNN1gGpEdDkOeYskSxJ2fUE/ffhqBdLsR102bAvsc073h2fe+4lBdUGLPNSq6mgCRWQgod76VwO98ai0O9oRAU4bqVBPZrQq6BFmCJBkXQUDbMsAw/W0eSuoBLVDfMrGlHFMsBfVv8J3N9LQSPq+AoyRpOC+p1BqfNWqgca0aW2GfM0oXkuBS0fhzCrrJDpFY2ohW+5tCBo4m0OEYXvLDMpOLQ7qb7X+tMrPNuwNEdnFxcjeDsejQZw/vNiMD4T4wH76ezNYDx+8+biYjwejUYjDDLPMmZ3NGmMEdP13g/skvidkZylrdLt7fSKlmUZnYIjYPeP8eg/+oR1l+YPT5g9gPWLtmtnGAdS3/wBaNs7XWiz3WDbnh+DsCs9heC2H81JDPFR/5JPNzsDP0wmVP6PmORbv6dACBoNh+YR9ewBayukikw9ZGRWUUiCo/OIOuC5lX4X6u/SyN9gd5n7FSgvOaus380RyI94fH5ENkcQnNHKVa8+H43xox/gtFf5pGocAdjx6OxQve+GcAsCf7LUkS1YIEp7NLaRAgTRljALRKoNS6UYVkZfHxqdgc2kc2hQgJIghuTWgSUp42tHmkQS06q52taR99ysINwA50EQC07nlgPZMhdiW+pcYSRlRDPwK71vlqHp+RVNaMyMjDdncUtbFxdI3DKuW4GLi333K+PQPAeYXxcXNYebU9PmNNxpWkQZI4vAbpoGm9uUJnTlvXFJjAEMTcoUDJ0+oNTMapHz8APTv7+ZxHGqOUtX2vnkbcXU/tVrFNOyw67PWGgVPY5zrK1AFsQ0qgp3BUyA3ZfuH4PL2XRQKTxizGxK1rAjrGd4iGxHlpCdzi1plKQifgWktUYqPyHdx3nexqfRwTl2iFRvw4PwQFv5V9B8pwUcHN4G7GI8i3XciGDAjMEEeb2GRzrhKCSPa1PhZoEhiz4BE4RxDs4Rr1vmORrRrZUeQ/yCn0d1kI88laD8u31Fhcf9jyEcNNMK8UeZIy43Rlsv1QNZaL8iPUQJ1wIIpoAwJUj1pl6bQNmQ/KrtKWFEpOJpLoC8YMbcS+U8S9Ng/V6KF6RdTRq2BECaoieG7VLNRPU4DnIDhGGgtdpS2848YsaQrgNXtQapljqgL30KdVOZYT2ST5PPN8hWGlGs3Qqn0XA0PDsg/uGlr+qr+l066Qly/lsu+Zo4z6wnDzmWAiK2zNM0lIPQPM9A+QpW5smdgA2k2EJc2xzmL5uWcUSIbWRgYQkWFIdYKt92jldDGlGulWfc40PrKg7h0uhRN+p0IsiYRFHNgV9aURnRVHJQDjrm3n+4JZfvZ9eb1wc2H6Rf5Ysh11mcsTUEO5WjeJHqRWwsbCRs4+vpu8mHz5Oh/+5DZox2PmOq4+SJJbaXjyK8F5R/+k7dTTx89xiPxCZbxV7U8+EOWyHmH1O+nxE0okm9bDVjAo96a3JnUqBsv+88Hhb1zc5GiSsBNnb0XxQL5uDWpmWJx99ywF3kbh7RDbOSLZCzdwUV0uF3QZMlSx08gcfLT/WMfUV6C/lRMJp5oBCuZnGiEV3Drv9vAU6nZ8XwbM8tXs92fbA4PyOQasl9bgT7DfYZrhtGlfPugnM1uZ7cTGgUhl9/pK/DxK6/IGmO2u9O98oR/sUnHlUvimpZKMtWvxKdvNGuE5U2PnVeluXfXQAZ0Q== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete an issue property + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-type.api.mdx b/docs/api/delete-issue-type.api.mdx new file mode 100644 index 0000000..f26fc95 --- /dev/null +++ b/docs/api/delete-issue-type.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-type +title: "Delete an issue type" +description: "Delete an issue type" +sidebar_label: "Delete an issue type" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/isHfmkLyJaTOlmnTwsarzAWdEabrANSI6DJc8xZIlmSsusZ+u/DUbJsxU6x5cO++IV3vNfnHt6WGYuOB2X0WLKMScwx4IPyvsSHsLHIEibRC6cs6bCMXUcN4BqiEjRKljteYEDnWXa/ZYpULQ8LljDNC6R/zvyFIjwoyRLmxQILzrIti/cz5oNT+pElbG5cwQPLWFkqyaqn7ie1FRhfs4Q5/FYqh5JlwZWYMPzOC5ujJ7uj+nejP76msxXPS3J2cTHAd8PBoIfnP896wzM57PGfzi57w+Hl5cXFcDgYDAYUZFkU3G1YtjMG9tB7N7ArqoQSPG+V7u7G16yqquRkOXxePv6gEEeJfzFu6S0XCM3Nf5F8e+cw+WLTW7fnp5I8lD6X47obzbNZUlL/uePdzKppwgJ/JFzFIsA4YAG3G4ueTRPmUZROhU2E3ZVVv+HmqgwL1EEJXsd9P6Xofqfj8xOyKXn01mhfF+98MKSvburjFuxQz0iMdDgYHKte45yXeYg1AkXBxmuCa20CzJ4YODs20I0RhENJf3nuYY0OgcxYZ1ZKogTjgDsEpVc8V7JfG317bHSCrlDek0GJWqHsw51HBzkXSw+7koNt1Xxj60QxbhcYb6APKMGhN6UTCGvuY2xzU2qKpEpYgWFh9sQSiSIsWMZSblW6OktbIPl0S1Cq0mZ8fLrdM0aVRrLpUSF9um1QVaWEK3SrHeuULmcZW4RgfZaSh77Nuca+N0dQnjgjSxH/EDj2N7M0zY3g+cL4kL2riaB79YbErDrA3mfCdg2e0whsQc+jmCX1rCyQS3T7afmzdzUZ92qFJ5CYjGGJG+Adw32Y1DCAjSkd7JSUhrBAaK1B7Sf28/QUtPEZcnBOQ5mbdUyIDoxTf0fN90bi0eFdrF1KZ6lJdyLscWupQcEs8YlOPIrNE8bWdXPICSafkEvgQqD3EEwLLc8StnYqUIhf6PukDgFO5Ap1eL8fmZjc/xjCEXHXFX/SOfCltcYFpR9hZsICOhUFYSQCtQC4llDn1OEBkvXhV+OeEyagtMhLifCKW/ugtA88z6P1ByVfQfte79ASC7KbarB8kxsu6+QEqhUCp0AbtblxB08AtxYOHfh69pWem1h9FXJsWGNC8wifRp9vCa0sYTS7dZ0G/UH/7Aj4x5e+6q/6D+VVAML8t1KJJfjAXYDHkkaBKjYv8zyOgzSiLFCHuqw8wL3EFea09PiWHKavd5RxQkg00nM4R4daYKp0aJnjTZ8lTBgduAiUaDPFMVyWPGGjAybCgisSNRj4pRVVCcuVQO3xwNyHj3dw9WFys3p7ZPNRhUU56wtTpAVfYrRTO0pnuZml1uFK4Tq9Gb8fffw86ofvIXbGGh8Krg+cPLPVdXqxjbmiDs/rNywS8HugOBSRax3ztiH+e6JA6ju1ek/+LGFZs9fs+J+OOjvjwRNAsv1qQWsA0TVZ325n3OOdy6uKjr+VSLvN/TRhK+4UnxES77dMKk+/JcvmPPf4g0xff2qexjfQ2T1PprpjeU0Mvlu4WMKWuOluwPTmvCiGozXwBXHUK9tLI3iZz123qunhVnA9uhndjlgSH5TuM7mMr2Dzg1p20v7hi1k7ok/K7aT6dls/wFXV6teiZ2+0T3StTalOq6r6B47SjR4= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete an issue type + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-worklog.api.mdx b/docs/api/delete-issue-worklog.api.mdx new file mode 100644 index 0000000..2876163 --- /dev/null +++ b/docs/api/delete-issue-worklog.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-worklog +title: "Delete a worklog entry" +description: "Delete a worklog entry" +sidebar_label: "Delete a worklog entry" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/isEv7QFZMtJna7TpwWNVxgLOqNt1gGpEdDkOeZEkSxJ2fUM/ffhSFm2YyfYAqxf/HJ3vPd77jbUWHAsSKPHghZUgIIAd9L7Gu5WxpXK3NOMCvDcSYtitKBXUYgw0goQ0MGtaUYtc6yCAM7T4nZDJQpbFhY0o5pVQAuaFEtBM+r5AipGiw0Na4s8H5zUaG1uXMUCLWhdS0GbjDr4VksHghbB1dBkJ1Xb8v9Q6sxfwMN/9vgwYZOkhYyv6EO7GYXvrLIKPOodpd+t/PgKaUumajR2cTGAt8PBoAfnP896wzMx7LGfzt70hsM3by4uhsPBYDBAJ+uqYm5Ni60yYvetHzp2ScLaSs5UJ3RzM76iTfNIOryq759IxFHgX4wrvWUcSPvyXwTfvdkPvlr3Vh39VJD73MdiXB160zTNNKOB3WO3RlfJOEBFvqSu9nSaUQ+8djKsYz9fWvkbrC/rsAAdJGfJwO0Uk/U7ks9P8KYYtLdG+xTl+WCIX8d5wkFK4yeIrzkH7+e1UmvM6nBwdvzo0BjhDgT+ZcqTFTgg2gQs61IKEMQ4whwQqZdMSdFPSl8fK52Aq6T3qFCAliD65MaDI4rx0pNt+YjtxHyr64mo0JG5qXX0IsgKSHCMl1LfEyE9mykQtGkyWkFYmB0KRUAJC1rQnFmZL8/yroA+32AJm7xtW59vdpPa5BFlfL7Zok2Tt0iFcmWTYweBW25xqnaKFnQRgvVFjrb6VjENfW+OmmnijKh5/INV370s8lwZztTC+FC8TaN4+PQa2bTZa6pPOEapK063VjdfLLJplmZyAUyA203ln73LybiXBB60yGRMSlgTdqC4TyapLcja1I5shaQmYQGk00aSnVjf0+3d+WfQwDkCoTKrGBASjJN/R8l3RsAR8SbmLkdabvItC3rMWixQMCU8kImkWDxubMqbA4YN8xGYICzODAmGOPCmdhw8zejKyYAufsHvkzLYelxJ0OHdboRicD/QhSPoTBl/UDnia2uNCzg6MxMW5CCjhBsBBEtAmBYkxXSAC8jrk1+Ne4yZEam5qgWQF8zaO6l9YEpF7XdSvCDdht92S0xIxAXwgVi2VoaJFBwHucQrYWZCKzY3bg+EmbVk3wAiSYMtPjcx+zIozNrnBZAJziP5OPr0GbuVZhRnN+Vp0B/0z44a//jRV/1V/yG9DAR7/lsteUl8YC6Q+xpHATOGeBvHQRheV6BDSisL5FbAEhTeSr4Dh+nLLWScYCKM9BzMwYHmkEsdOuR41acZ5UYHxgMG2k5xdJdmD9BoD4mgYhJZbQ/80rGajCrJQXvYU/f+ww25fD+5Xr4+0nkvw6Ke9bmp8oqVEPUkQ/lMmVluHSwlrPLr8bvRh0+jfvgeYmWs8aFies/Io5fgQTU2MVrQ4akXLZIE+B7QF4kAm/zetGvgFmEQa4/l3q0CmtGivS622wBJB5dbWghI3jtAtzshSuPxiAsf8RtNbTYz5uHGqaZB8rca8Ny4nWZ0yZzEnRVXR7e/ijlTHp4I/OXHdne+Io9FuwV7jfnYXj40oyWs909nXDw/0K4tn2/x4PB9ju1dEZ/tw9EN+gw/0r043b9RrkbXo88jmsWldriqy7iJ2x/YJSeV72/tZAU/McyT4ptNOgKappNPrEdfdGdC2z8aI2iafwDxycyJ +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete a worklog entry + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-label.api.mdx b/docs/api/delete-label.api.mdx new file mode 100644 index 0000000..fe27545 --- /dev/null +++ b/docs/api/delete-label.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-label +title: "Delete a label" +description: "Permanently remove a label from the project. This action cannot be undone." +sidebar_label: "Delete a label" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1vGzcM/iuEvqwFzj4ndbruPi1ovMJY0Bltsg5IjUA+0bFmnaRKOqeecf99oHR+d4oiK/bFLyTFdz7kihmLjgdp9FCwgglUGPBe8QkqljGBvnTSEpsVbISu4hp1UEtwWJkFAocoClNnKggzBOvM31iGLtzMpAde0lMoudYmwASh1sJo7LKMWe54hQGdZ8XdikkyYHmYsYxpXiH9m7OM+XKGFWfFioWlJaoPTuoHlrGpcRUPrGB1LQVrDp29jn4Nr1jGHH6ppUPBiuBqzBh+5ZVV6EnrIP2O0sMroiy4qsnQxUUP3/R7vQ6e/zLp9M9Ev8N/Pnvd6fdfv7646Pd7vV6PHKyrirslK9aq2oxEy/suXUJYWlly1Yrc3g6vWNM02enwUybvpfgvaRglLd+diFb+B6XC7lp/KhlroW+nw6v64RuJOAr8k3Fzb3mJ0L78juA3b3aDr5adxw39VJC73KdifNz3pmmaccYCf6DmT63q2ThjHsvaybCMI3Fp5e+4vKzDDHWQJU9K78aUoD+IfH6CN6ZAvTXap8jOe3362vfrA3pTuxIhjbsAX5clej+tlVpSKvu9s+NX+9agdCjoL1ceHtEh0IhbZxZSoADjgDsEqRdcSdFNSl8dKyVMkd6TQoFaoujCrUcHipdzD+uagd2I+VbXibDSyJMbU1NrwZomYxWGmdkiWwSeMGMFy7mV+eIs31TG5yuqTZO3/ejz1XYEmzyOLNHmTU5tgG6xxq7aKVawWQjWFznp7VrFNXa9OYZQZ0QdQZFRGbcvizxXpuRqZnwo3qR5OoiO2KzZ6ZKPNAupzKd7ZTMkPLJZlgZrhlyg247WX53L0bCTBA5KPhrCHJfA9xR3YZTKDEtTO1gLSR03wEYbJDuxXqf7deOfIQPnhGbKPMaAiGCc/CdKvjUCj4i3MXc50XKTr1nY4dZSgYKZ44FMJMXilcamvDnkIg4EF8DjDEAw4Nr58Cxjj04GcvETfZ+UoTYrlUQd3m5HIgb3P7pwhH8p4weVA19ba1yQ+gEmJsxgL6NQGoFAJQCuBaSY9uaceF34zbinmBlIXapaIPzErb2X2geuVNR+L8VPsNn6626JCYlzjj6A5UtluEjBlSjjhTExoRWbGreDpNxa2DVAyNBQi09NzL4MirJ2M0MY0TzCh8HHG+pWljGa3ZSnXrfXPTtq/ONHn/Vn/af0MgD1/JdalnPwgbsADzWNAmWM8DOOgzBlXaEOKa08wJ3ABSq6tfwGHMYv1pBxgkkw0nE4RYe6xFzqsEGOl3Q+lUYHXgYKtJ3i6C7LDtBoB4mw4pJYbQ/8umE1GVOyRO1xR92797dw+W50vXh1pPNBhlk96Zamyis+x6gnGconykxy63Ah8TG/Hr4dvP846IavIVbGGh8qrneMXEVQXl+Rh1VYxShRhx99e7aoE/BrIL8lgXGKcdWuhzuCTOoTao3timAZK9pzYr0liLR3qqVFEcl0wNJaJ1AnnavVhHu8dappiPylRjok7sYZW3An+YT69W7FhPT0W7BiypXHb2TlxYd2Qb6EnXv3ZHjrTaAJ5de3DcvYHJfp1qZ99CzLeyfmc2xvs/dsH46uvWf4kS6z8e7RcDW4HtwMWBY3z/4+ncd12f6gqp1UvrtakxX6pDBPiq9WaVM3zUY+sZ58sdnlSZriHDdN8y9i070K +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a label from the project. This action cannot be undone. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-module-work-item.api.mdx b/docs/api/delete-module-work-item.api.mdx new file mode 100644 index 0000000..0c50b02 --- /dev/null +++ b/docs/api/delete-module-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-module-work-item +title: "Delete module work item" +description: "Remove a work item from a module while keeping the work item in the project." +sidebar_label: "Delete module work item" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJna7TpwWNVxjLWqNt1gGpEdDiOeJMiSxJ2fUE/ffhSEmWXxIUabEviU0e7+W5u+fOFVUaDHNCFVNOE8pBgoO7XPFSwt1GmdWdcJDTiHKwqREaJWlCP0Cu1kAYQRGCImRpVE4YCU/JJhMSyApAi+KeuAx6kqLwB9qofyB1QxpRzQzLwYGxNLmtqEATmrmMRrRgOdCECmtLuBOcRtSmGeSMJhV1W4131hlR3NOILpXJmaMJLUvBaX3o9BR1kOkVjaiBr6UwwGniTAkRhW8s1xIsap2Ez156eoUnayZLNHRxMYLX49FoAOe/LgbjMz4esF/OXg3G41evLi7G49FoNEIHyzxnZkuTVhURO8v7Ll0St9UiZbIRubmZXtG6rqOTIDRp+TEU/gwJ+l4YgvhPwiHv2X4IiEbmcSSa2vlBKGZBy3dj0cj/JDB03/pDaLRCj8NhZXn/CBBHgX9WZmU1S4E0L78j+O5NP/h8O9h056eC7N8+FONm35u6rucRdeweyaApV0vnEbWQlka4reeISy3+gO1l6TIonEhZ0Ho7R4Te4/H5ibs5Rmq1KmwI7Xw0xn+H3GZVaVIggQw5sWWagrXLUsotYjkenR2/2rdGUgMcvzJpyQYMkEI5TOZacOBEGcIMEFGsmRR8GJS+PFY6A5MLa1Ehh0IAH5IbC4ZIlq4saZNGdCdmG10nwmr6PvAMerNUZcFpXUc0B5epHf17QnYZTWjMtIjXZ3GXIRtXmKM6burSxtWuFes49K6Nq46p2rOBt2vjqiXyOsZ6AbNuSb80kiY0c07bJEbDQy1ZAUOrjkpnZhQvU/8F0717mcSxVCmTmbIueR0ab//pNV7TuldNH7FpQjmcrqmum5i/plHowAwYB7Prwb8Hl7PpIAgclMZsSlawJWxP8ZDMQjmQrSoNaYWa4dhpI8GOz+vpuu78U2jgHGlPqo0PCA+UEf96yTeKw9HhjccuxrNYxe0VDJjWmCCnVnAg44988lKlA24GGPeNwzhhvleIU8Q0fWRpRDdGOHTxM/4/KYN1mEoBhXuzax0f3P/owhFRBsQPMkdsqbUyDjebhXIZ2UOUpIoDwRQQVnASYtrjA7wbkt+VeegyIqJIZcmBPGNa34nCOial134n+DPSrUtttXhAPB+AdUSzrVSMh+BSEH5RWyjXiC2V6VEu05r0DSCD1FjiS+XRF04iap8yIDPsR/Jh8vETViuNKPZuwGk0HA3Pjgr/+NGX4kvxl7DCEaz5r6VIV8Q6Zhy5L7EVEDHkWd8OXKVlDoULsDJHbjmsQeLGajtymD9vKePEJdLIwMASDBQpxKJwHXO8wL0zVYVjqcNAmy727tLogI16TAQ5E3jV1MBv3VUdUSlSKCz01L19d0Mu386u1y+PdN4Ll5WLYaryOGcr8HqCoXgh1SLWBtYCNvH19M3k3cfJ0H1zPjNaWZezomfkyrN2t3m3e/ZhOiofLhTu5+/vDQE5+OYwBIG8HMKtmlFyi+yJJYNVshsnNKJJs4K0EwWP9ta7ZqjgeX8B3psreNn7iYDbAs4AtFtVC2bhxsi6xuOvJeCCcjuP6JoZwRZY3rcV5cLiZ06TJZMWHsHu+Ydm7r4gvV8UJyFoB0eBQ6HdmWhEV7Dt/6bBIfYk+/1d/gkO7OB8sgd7K/QTXOhl+sk+HG2zT/AjbJ7z/jJ0NbmefJrQyA/M/TVg5ad88wGr56Ty/kYQrOBfDPOkeFWFBaOuO/lw9eCLbgVp6qnACOr6P075avE= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Remove a work item from a module while keeping the work item in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-module.api.mdx b/docs/api/delete-module.api.mdx new file mode 100644 index 0000000..4e3e99d --- /dev/null +++ b/docs/api/delete-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-module +title: "Delete module" +description: "Permanently remove a module and all its associated issue relationships." +sidebar_label: "Delete module" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1vEzkQ/isjfwGkTTYtKcftp6toDkXXgwjocVKJKmc96fritY3tTQnR/vfT2Js0aQJCPXRf8jIznpdnXtfMWHQ8SKPHghVMoMKAN7URjUKWMYG+dNISnxVsgq7mGnVQK3BYmyUChyQLXAvgSoEMHrj3ppQ8oADpfYPgUEUbvpLW91nGLHe8xoDOs+J6zSRptzxULGOa10j/Fixjvqyw5qxYs7CyRPXBSX3LMjY3ruaBFaxppGDtQ0//TE6NL1jGHH5upEPBiuAazBh+4bVV6EntKP1O4uMLIi25asjU2dkAXw4Hgx6e/jrrDU/EsMd/OXnRGw5fvDg7Gw4Hg8GAXGzqmrsVKza6NoBE2/tenUNYWVlytZG5uhpfsLZts+MQOPMPluFGiv8CxSRp+WEsOvmfBIbdtf4tNDZC34fDq+b2O0AcBP7RuIW3vEToXv5A8Ns3u8HXq97dln4syF3ut2K82/embdtpxgK/pQboytWzacY8lo2TYRX74tzKP3B13oQKdZAlT1qvp4TQWyKfHuFNKVJvjfYptNPBkL72HXuH3jSuREgdL8A3ZYnezxulVoTlcHBy+GrfGpQOBf3lysMdOgRtAiVzKQUKMA64Q5B6yZUU/aT0+aHSt1qtgItaanpSOuSBvrkGi46KG0IlPfAyykctRwLqOp48mJtGC9a2GasxVOZ+rsXBEypWsJxbmS9P8m1WfL6mvLR5V4s+X9+3X5unfiXios2pBtAtN8OrcYoVrArB+iInxX2ruMa+N4cD1BnRbOLYfVnkuTIlV5XxoXiZmmn/6SWxWbtTIe+pEVKKj9fJtkN4ZLMsdVWFXKC776u/e+eTcS8JPEj3ZAwLXAHfU9yHSUoxrEzjYCMkNYQKYasNkp2Y9+O1uvXPkIFTGmXK3MWAiGCc/BolXxmBB8SriF1OtNzkGxb2uLWUoGAW+EAmkmLySmMTbg65iM3ABfBY/xAMuK43PMvYnZOBXPxI30dlqM5KJVGHV/ftEIP7H104GH4J8QeZA99Ya1yQ+hZmJlSwhyiURiBQCuIyTzHt9Tjx+vA7dedxZgZSl6oRCE+4tTdS+8BVWv03UjyB7drfVEsEBGgwow9g+UoZLlJwJcp4X8xM6MTmxu2MUW4t7Brw/ZgKqecmoi+DItQ+VAgT6kd4N3r/gaqVZYx6N+E06A/6JweFf/jok/6k/5JeBqCa/9zIcgE+cBfgtqFWIMRodsZ2EKZsatQhwcoDXAtcoqJTy2+Hw/TpZmQcYdIY6Tmco0NdYi512E6OZ3Q/lUYHXgYKtOvi6C7LHkyjnUmENZfE6mrgty2rzZiSJWqPO+pev7mC89eTy+XzA523MlTNrF+aOq/5AqOeZCifKTPLrcOlxLv8cvxq9Ob9qB++hJgZa3youd4xchGnMhy/NtcxSNThpx6e3cQJ+CWQzzIulBjfutsN1zQuqUaoLO73A8tY0d0RmxVBpL0brdsSkU7nK+1zmuikdL2ecY9XTrUtkT83SCfE9TRjS+4kn1GxXq+ZkJ5+C1bMufL4HUyevuvOmWewe+0eDXCzBzTN+M1ZwzK2wFU6tWkbPcr03nX5GNv3+D3ah4ND7xF+pKNsunszXIwuRx9GLIt7Z3+bLuKy7H5Q2o4q312syQp9UphHxdfrtKfbdiufWN98sd3kSZrinLZt+y9fvr9M +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a module and all its associated issue relationships. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-project.api.mdx b/docs/api/delete-project.api.mdx new file mode 100644 index 0000000..3cd75e3 --- /dev/null +++ b/docs/api/delete-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-project +title: "Delete project" +description: "Permanently remove a project and all its associated data from the workspace." +sidebar_label: "Delete project" +hide_title: true +hide_table_of_contents: true +api: eJy9VttuGzcQ/RWCL0mAlVZ25DTdpxqxGgg1UiOJmwKOEIzIkcWKSzIkV4oq7L8Xw71YsuSgCIq+7IUznPucmR23Dj1EZc1U8oJL1Bjxi/P2LxSRZ1xiEF45YuAFv0FfgkET9ZZ5LO0aGbCWmYGRDLRmKgYGIVihIKJkEiKwhbcli0tkG+tXwYHAIc+4Aw8lRvSBF3c7rkiFg7jkGTdQIv2teMaDWGIJvNjxuHV0GqJX5p5nfGF9CZEXvKqU5PWRua1l0yuecY9fK+VR8iL6CjOO36B0GgPJnTTfLf/0is7WoCtSdnExwtfj0WiA5z/PB+MzOR7AT2evBuPxq1cXF+PxaDQakZFVWYLf8qIT1sclaT807JLFrVMCdM90ezu94nVdZyfDEHR1/51AHDn+qYsya2/+C+f7O/vOl9tBn7GTTu5Tn/Jxc2hNXdezjEe4p6x3OQp8lvGAovIqblM1XDr1G24vq7hEE5WARuzdjEL0Ox2fn6DNyNXgrAmNb+ejMb0OLXuPwVZeIGuqXbJQCYEhLCqttxTM8ejs+NahNiY8SvoFHdgGPTJjI2VzrSRKZj0Dj0yZNWglh43Ql8dCqaFUCCRQolEoh+w2oGcaxCqwLmvM9WyhlXXCrY9LTDcwkE++c3IDIdm2sJUhS+qMlxiX9qHdUyfGJS94Dk7l67O8z1jId5SzOm/rNOQ7t6pzKgX0665xK695wZcxulDkJGPoNBgcBnuMIN7KSqQfSuTDzSLPtRWglzbE4nXTU4dXr4nM6706+UD90CT6dLX0jQKJzLOmuZYIEv1De/05uLyZDhqGR0m/mbIVbhkcCB6ymybRbGsrzzomZRLE9dJYoydl7HTF9vZZUnBOiKbtJjlEB9arvxPnGyvx6PA2xS6ns9zmHQkH4BwlKNoVPuJJRyl5wrombh5BppYAySB1AYu2L57AM77xKpKJn+h9kodKSmiFJr55aIrk3P9owhEGNhF/lDkWKuesj8rcs7mNS3YQUSasREYpSMOs8emg04k2ZL9a/xQxY8oIXUlkz8C5L8qECFon6V+UfMb6kddVSwpI17fMwVZbkI1zAlUasHMbW7aF9XtoCs6xfQWh6W5lFjZFX0WNLS7cUD+y95MPH6laecapd5s4jYaj4dlR4R9f+mw+mz9UUJFRzX+tlFixEMFHdl9RK1DECEFTO0grqhJNbMIKkd1JXKOmZSP04DB73kHGCSLByMDjAj0agbkysUeOF7Q7CGsiiEiOtl2czOXZIzTaQyIsQRGprYFfelKdca0EmoB74t6+u2WXb2+u1y+PZN6ruKzmQ2HLvIQVJjmNonyu7Tx3HtcKN/n19M3k3YfJMH6LKTPOhliC2VNylQCYPbFv7ZKXaOJ/v3q1uBPxWyTLFcFx4+WuHQZ3BJpUKVQcDwOBZ7xol4puJtBRWtRohhN+0+Xdbg4Bb72uazr+WiHtDXezjK/BK5hTad7tuFSBviUvFqADficAz9+30/AFO9jrTnrSwb4hSO+WGZ7xFW6brZKGzw/pPlqtfkB/swbN9ifx1eR68nHCswTxh4NrleZS+0ExOyl8f4Y1WuhJbp5k3+2akVjXPX9DevJGPzQbbvJzVtf1P774O00= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a project and all its associated data from the workspace. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-state.api.mdx b/docs/api/delete-state.api.mdx new file mode 100644 index 0000000..3454af0 --- /dev/null +++ b/docs/api/delete-state.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-state +title: "Delete state" +description: "Permanently remove a workflow state from a project. Default states and states with existing work items cannot be deleted." +sidebar_label: "Delete state" +hide_title: true +hide_table_of_contents: true +api: eJzFVm1vGjkQ/isjf2krLSxJSa/Hp4sarkIXtVHTXE9KUWTWQ/DhtV3bC+HQ/vfT2OwCgVRV7nT3Bbye8bw+87JmxqLjQRo9EmzABCoMeOcDD8gyJtAXTloiswG7QldyjTqoFTgszQKBw9K4+VSZJcQ3MHWmBA7WmT+xCF24wCmvVEhUD1yL5riUYQb4IH2Q+j6KARmw9FBwrU2ACUKyRnRZxix3vMSAzrPB7ZpJssfyMGMZ07xE+koq76RgGfPFDEvOBmsWVpaoPjip71nGpsaVPLABqyopWH3gY5ICowuWMYffKulQsEFwFWYMH3hpFXqSO0znDf/ogu4WXFWk7Oysh2/7vV4HT3+edPonot/hP5286fT7b96cnfX7vV6vR0ZWZcndig0aYU3YkvZ9w84hrKwsuGqZbm5GF6yu6+xoOLyq7r8TiAPHvxg395YXCJuXP+B8+2bX+XLVWbb3x5zcpT7l43Lfmqe9JCz9w5RfR+D+aMIj97+Ubr/V/FQgEkuT6nHGAr+nEkhWezbOmMeicjKsYmGcW/kbrs6rMEMdZMGTwNsxxe8jXZ8eoY3Jc2+N9snV016f/vZt+oTeVK5oqxJ8VRTo/bRSakVR7fd6h69ScA9KOvGfHPLvWweFQ0GfXHlYokMgMdaZhRQowDjgDkHqBVdSdJPQ14dCqXFJ70mgQC1RdOHGowPFi7mHJulgWza/kXUkDJ9nGF+gpxi4JihL7qNtU1NpsqTOWIlhZrZNNTaxMGMDlnMr88VJ3oLc52uCeZ1vStvn6203q/PUMPN1A/Y6JzShWzTdsHKKDdgsBOsHOUnvWsU1dr057OHOiKqIHwSJ7ctBnitTcDUzPgzeJsTuP70kMqt3EHdNJZcgcxx3bS3ySGZZquEZcoFuW8V/dM6vRp3E8AgOVyOY4wr4nuAuXCUIwMpUDhomqSHMEFppkPTEXB7HfmufIQWn1CuUWUaH6MI4+VfkfGcEHlzexNjldJebvCFhh1tLCQpmjo944lVMXmFsiptDLmJxcQE81hME08LKs4wtnQxk4hf6P8pDYCuURB3ebcslOvcfmnDQVlPEH2UOfGWtcXHkT0yYwV5EoTACIW4TtCgkn/Z6ANG68KtxTxEzkLpQlUB4wa29k9oHrlSUfifFC2j3iAYtMSBNRYPlK2W4SM4VKOOKMzFhwzY1bmc0cWthV4FPdS/11MToy6Bw0zGuqB7h0/D6M6GVZYxqN8Wp1+11Tw6Af/joq/6qf5deBiDMf6tkMafp4ALcV1QKFDHqxbEchCmqEnVIYeUBbgUuUNGy59vmMH7ZtIwjRGojHYdTdKgLzKUObed4RQtZYXTgRSBHN1UczWXZo26004mw5JJIGwz80pLqjClZoPa4I+79hxs4f391uXh9IPNehlk16RamzEs+xygnKconykxy63AhcZlfjt4NP1wPu+EhxMxY40PJ9Y6Si9ia4ei+u44+og7/8+q7aVEBHwI5Kalzp4CsNxPllvorgYpwtJ0qLGODzTLXDBa62l+U0xpBnNtVirYKmgMkeb2ecI83TtU1XX+rkFaY23HGFtxJPiGI366ZkJ7Ogg2mXHn8TihfftrM21ewt2wfdbMZH5pGQ7NvsYzNcbW/8tMwe5YNB3vvM+xIO+pzLdjZP5+ju0lbPd7dOS6Gl8PPQ5bFkbU/iOdxzm4OlLujCnZnctJEv+TkUfb1Oo34um75E+nJF+0SkLjJ13Fd138DABgEHA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a workflow state from a project. Default states and states with existing work items cannot be deleted. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-user-asset.api.mdx b/docs/api/delete-user-asset.api.mdx new file mode 100644 index 0000000..c68dd11 --- /dev/null +++ b/docs/api/delete-user-asset.api.mdx @@ -0,0 +1,74 @@ +--- +id: delete-user-asset +title: "Delete user asset" +description: "Delete user asset." +sidebar_label: "Delete user asset" +hide_title: true +hide_table_of_contents: true +api: eJzdVk1vGzcQ/SvEXOIAK63syGm6pxqxGgg1EiGx2wK2YIyWI4vQLsmQXDmqsP+9GHIly5LaYw+92CvOcD7fzOMGjCWHQRk9llCApIoCPTae3CN6TwEykORLpyzrQAHXUUOwhoga/Qf9oLtTTOfWmbmqKMnFGa4woBPGidKsyAlV4xO9FailcFSbFQkVvHA0J0e6JDF3phZhQa+M9R/07UJ5YcnNjau9QOHNPIgUsZitRY1uqfRTvJk8o+/EMjprrMSw1WDbb/zOOmRg0WFNgZyH4n4DirO1GBaQgcaaoIBo9VFJyMCXC6oRig2EtWWZD07pJ8iAo8MABTSNktAe1u8qRja+hgwcfW+UIwlFcA1lQD+wthV5tjpK31F7fM0nK6wadnR5OaAPw8GgRxc/z3rDczns4U/n73vD4fv3l5fD4WAwGHCATV2jW0OxNdXVJHo+CEmEtVUlVp3K3d34Gtq2nWYQ8ImrkaL2MM3AU9k4FdaxRldW/UbrqyYsSAdVYjJ4P22zDXzh44sTsiln7q3RPqV6MRjyv1Nl2nbPN2VJ3s+bqlpzSYeD8xNXXrkSpSPJP7Hy4pkcCW0Ct3ulJEkGIzoSSq+wUrKfjL47NjohVyvv2aAkrUj2xR2jssJyyZhNHWRUdmq+s3Uip9sFxRvkOSdH3jSuJPGMPsY2N43mSNoMagoL8zKPEZxhAQXkaFW+Os9jo3zOIO5135stOtuc209utUVy4yooYBGC9UXOFvq2Qk19b46gMHFGNmX8wT18uVnkeWVKrBbGh+JDgtjrqzcshnYPIt94RlKPTwNlNzwYxZCloVsQSnIvY/dn72oy7iWFg5ZPxmJJa4GvDPfFJLVZrE3jxFZJ6Tj4O2si+Yn9Og3WXXyGHVzwcFfmOSbEB8apv6LmRyPp6PAu1i7ns9zkWxH10FpuUDBLOtCJR7F5pbGpbo6QYfCVUAqMMyCC2UHHQwbPTgUO8Q/+f1KHAVVWinT4+DISMbn/MISjPZgqftA54RtrjYtLembCQryqqCiNJMEtiOs85fRqzlnWF78y05wWZkLpsmokiTdo7aPSPmBVReuPSr4ROw7YoiUWZDu1wuK6MihTciWpFVPezIRObW6ceDZu6S2WJNBase/Ap9lWem5i9VWoqNsKE55H8XX07ZbRChnw7KY6DfqD/vkR8I8vMQv/rrwKgjH/vVHlUviALoinhkeBK8b7M46DNGVTkw6prBjEvaQVVfwW8LvlMD3browTQl4jvR1l50qH3eZ4y2RaGh2wDJxoN8UxXMgOttHeJqIaFYs6DPyyE7UZVKok7WnP3KfPd+Lq0+Rm9e7I5pMKi2bWL02d17ikaCc5ymeVmeXW0UrRc34z/jj6/G3UDz9C7Iw1PtSo95wcPXYOG7GJiZIO/+uXUbcFA/0IXEfF5JBqvumI6Z5XOOOWoZoIidvyQk+QQbH3fOKXBFMJ39xsZujpzlVty8ffG+Jny/00gxU6hTOekvsNSOX5W0Ixx8rTvzTi7GtHy2/F3mvrZBJb/tHMLdsXFmSwpPX+e6+d7pPy9ehmdDviRBvOfZ/FlpGkug+O+qSDfUJLnvgvE+5J9c0m8WPb7vST6B9v7Bg0aXOu07Zt/wb6gSJO +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete user asset. + +Delete a user profile asset (avatar or cover image) and remove its reference from the user profile. +This performs a soft delete by marking the asset as deleted and updating the user's profile. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item-attachment.api.mdx b/docs/api/delete-work-item-attachment.api.mdx new file mode 100644 index 0000000..163af3f --- /dev/null +++ b/docs/api/delete-work-item-attachment.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item-attachment +title: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +description: "Permanently remove an attachment from a work item. Records deletion activity for audit purposes." +sidebar_label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isHfmkLyJaTOlmnTwsarzAWdEHarANSI2DIc8RZIlmSsusZ+u/DUbItv6Rog6FfYps83stzd89dVsxYdDwoo8eSZUxigQHvF8bN7lXA8p6HwEVeog4sYRK9cMqSNMvYNbqSa9ShWILD0swRuIbtA5g6UwIHUgakrA83KIyTHqIZZTRwEdRchSVMjQNeSRXAVs4aj77PEma54yUGdJ5ldyumyKzlIWcJ07xEljHlfYX3SrKEeZFjyVm2YmFp6c4Hp/QjS9jUuJIHlrGqUpLVCXP4pVIOJcuCq7BOjqq2sx9TuovOxRaH8SXbN5kw/MpLW6An1aPm+/bJ+JKO57yoyOTZ2QDfDAeDHp7++tAbnshhj/9yct4bDs/Pz86Gw8FgMCBXq7Lkbsmytb5uLqIPex5CWFoleNGVu70dX7K6fgoSZ/5BEX4Y773CabR8Ny6t/P8Eiu1afwqRtdC34fBF9fgNIA4C/2TczFsuENqX3xH85k03+HLZW2zOjwXZvX0qxsWuN3VdTxIW+CP1WnQVxgFL2FalZ5OEeRSVU2EZG/LCqj9weVGFHHVQgjc27iaE1590fHrkbkJxe2u0bwI9HQzp4xCqSBrd4mzYSYKvhEDvp1VRLAnl4eDkUMOuZRAOJf3khYcFOgRtAqV5riRKIPZxCErPeaFkv1H6+lApcZ7ynhRK1AplH249Oii4mHlYpxPsRsy3uo6E2GEI8mVqKi1ZXSesxJCbLRtHHgw5y1jKrUrnJ+kmcz5dUe7qtK1Xn662LVqnkRx9ulqTZHvS20JKD2Z1SjWEbr7m2coVLGN5CNZnKRnt24Jr7HtzOASckZWIPyjp25dZmhZG8CI3PmRvmmbcfXpF16zu1NQHaqSmKI5X1qbDeLxmSdOVOXKJbtuXf/curse9RmAP8+sxzHAJfEdxH66bQoClqRyshZSGkCNstEFjJ2b0eHVv/DNk4JSosDCLGBAdGKf+jZJvjcSDw9uIXUpnqUnXV9jj1lKCgpnhnkw8iskTxja4OeRUOTfIJfDYJRAMOPSmcgI9S9jCqUAufqLPozJUg6JQqMPbbdPE4H6iCwfk2SC+lznwlbXGBaUf4cGEHHYQBWEkAqUAuJbQxLTDBHTXh9+Ne+oyAaVFUUmEF9zae6V94EURtd8r+QI2G8q6WiIgkQnQB7B8WRgum+AEKtqRyNFWjLaeLQ1za6FrgLijphKfmoi+CgWh9jFHuKZ+hJvRh49UrSxh1LsNToP+oH9yUPiHjz7rz/ov5VUAqvkvlRIz8IG7AI8VtQIhRgwb20EaURFfNLDyAHcS51jQ8ug35DB5uaaMI5dEIz2HU3SoBaZKhw1zvKJVTxgduAgUaNvF0V2W7LFRh4mw5Iqu2hr4bXNVJ6xQArXHjrp372/h4t311fz1gc5HFfLqoS9MmZZ8hlFPYyh9KMxDah3OFS7Sq/Hb0fsPo374GmJmrPGh5LpjZKSlNUoHH1Mb2bY7wIRDHjCtrKSPht4boDGI/FBeYuCq8PvZXEW0aCf/KVt4y2kBvwZCRRHVNwiu2sl0R4RMVUiFt51OLGFZu+msBxQd7WyRzYyi484qfzCm4jPax2kFoZFCNlerB+7x1hV1TcdfKqQd6G6SsDl3ij9Qt9ytmFSevkuWTXnh8RtYvrxpB/greCrs9fzRNFvW6xhL2AyX3f9GaBY+y+7+vw3PcMLOnm9+ZzV/ju1tap/tw8GW/Aw/mo120l2mLkdXo48jlsShu7tKzOKm0H6hkjmqvLtVNFboL4V5VHy1apaUut7IN1dPvtisMW0xaYqgrv8DdA5lyA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove an attachment from a work item. Records deletion activity for audit purposes. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item-comment.api.mdx b/docs/api/delete-work-item-comment.api.mdx new file mode 100644 index 0000000..88bfb2b --- /dev/null +++ b/docs/api/delete-work-item-comment.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item-comment +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Permanently remove a comment from a work item. Records deletion activity for audit purposes." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isHfmkLyJaTOlmnTwsSrzAWdEbarAPSIKDJc8xZIlmSsusZ+u/DUZLf0xVpty+WTB7veM/dPXdaMWPR8aCMHkqWMYk5BnxYGDd7UAGLB2GKAnVgCZPohVOWRFnGRugKrlGHfAkOCzNH4NAIw8SZAjiQFiAtXbhBYZz0EPUro4GLoOYqLGFiHPBSqgC2dNZ49F2WMMsdLzCg8yy7WzFFJi0PU5YwzQtkGVPel/igJEuYF1MsOMtWLCwt7fnglH5kCZsYV/DAMlaWSrJq34kh6YDhFUuYw8+lcihZFlyJCcMvvLA5etI6qN+j9PCKVuY8L8nQ2VkP3/R7vQ6e/jzu9E9kv8N/Ojnv9Pvn52dn/X6v1+vRBcui4G7JslYVqI3l3StdQFhaJXjeiNzeDq9YVVXJURDs7Hvcv2zC9a0ANPI/CAKxbf0pEFqhf4HBmb9QhO/MhlGt5ZvhaOR/EBx22/pTcLRCX4fD5+XjV4A4cPyjcTNvuUBoTn6D8+sz284Xy85ivX7Mye3dp3xc7N6mqqr7hAX+SEwQrwrDgAU0yejZfcI8itKpsIxccWHVb7i8KMMUdVCC1wbu7gms32n59MjePTntrdG+9vK016fHIU6Rz9ZpWdOlBF8Kgd5PyjxfEr793snh8V2zIBxK+stzDwt0CNoECvBcSZRArOgQlJ7zXMlurfT1oVLiYeU9KZSoFcou3Hp0kHMx89AGEuxazDe6jvjX8gFdZGJKLVlVJazAMDWb3hDJOUxZxlJuVTo/SdcB8+mKQlalTZr6dLWpzCqNhObTVcvcVdrASHKzKqWMQTdvOb90OcvYNATrs5RsdW3ONXa9OWxGzshSxD8U5c3JLE1zI3g+NT5kb+rS2z16Tdus2kqi91Q2dRYcT6V1PfG4zZK6BqfIJbpNFf7ZuRgNO7XAXiKMhjDDJfAdxV0Y1cGHpSkdtEJKQ5girLVBbSdG8Xg6r+9nyMApEV9uFtEhWjBO/R0lL43Eg8XbiF1Ka6lJ2y3scGspQMHMcE8mLsXgCWNr3BxySpgb5BJ4rAwIBhx6UzqBniVs4VSgK36k51EZSj2RK9ThclMo0bn/8QoHVFkjvhc58KW1xgWlH2FswhR2EAVhJAKFALiWUPu0U/2014VfjXtqMwGlRV5KhBfc2gelfeB5HrU/KPkC1tNSmy0RkFj96ANYvswNl7VzAlWc1cYmNGI0gW1Il1sL2waILypK8YmJ6KuQE2ofpggjqke4Gbz/QNnKEka1W+PU6/a6JweJf3jok/6k/1BeBaCc/1wqMQMfuAvwWFIpEGLEqrEcpBEl8UUNKw9wJ3GOOU2wfk0O9y9byjiySTTScThBh1pgqnRYM8crGjuF0YGLQI42VRyvy5I9NtpiIiy4oq0mB35Zb1UJy5VA7XFL3dt3t3DxdnQ9f32g81GFaTnuClOkBZ9h1FMbSse5GafW4VzhIr0eXg7evR90w5cQI2ONDwXXW0YGWlqjdPAxtPUc2XYs4ZAHTEsr6VFTeo0yBjHdE5YYuMr9fhxXESf6KvjPvwMaJgv4JRAWigi+xm3VtKE7omHKPUq3TStiCcuaaabtRrS0MynWDYmWtz4m2p4UpWm8pgGD+geZWq3G3OOty6uKlj+XSOPN3X3C5twpPqbSuFsxqTy9S5ZNeO7xK/C9vGk69CvY+hg56nXbdDQ1lHbiYgmb4XL7c4ga4LPs73wNPOMGdvZ82zuj93Nsb8L67DscTMHPuEc9sd5vT01Xg+vBhwFLYpvdHR5mcTZoXihvjirfniNqK/RLbh4VX63qsaSq1vL11pMn1oNLk0maPKiqfwDr6IYm +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a comment from a work item. Records deletion activity for audit purposes. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item-link.api.mdx b/docs/api/delete-work-item-link.api.mdx new file mode 100644 index 0000000..9b81168 --- /dev/null +++ b/docs/api/delete-work-item-link.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item-link +title: "Endpoints for issue link create/update/delete and fetch issue link details" +description: "Permanently remove an external link from a work item." +sidebar_label: "Endpoints for issue link create/update/delete and fetch issue link details" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isHfmkLyJaTOl2nTwsarzAWdEbbrANSI6DFc8yZIlmScuIZ+u/DkX6RY6ct0mJfLJl3vPd77rRixqLjQRo9FKxgAhUGvLkzbn4jA1Y3Suo5y5hAXzppiY8VbISu4hp1UEtwWJkFAteA9wGd5groDkydqYADSQKS1GUZs9zxCgM6z4rrFZMky/IwYxnTvEJWMOl9jTdSsIz5coYVZ8WKhaUlmg9O6luWsalxFQ+sYHUtBWseWjckGTC8YBlz+KWWDgUrgqsxY3jPK6vQk9RBeo/cwws6WXBVk6Kzsx6+7vd6HTz9ddLpn4h+h/9y8qrT7796dXbW7/d6vR4ZWFcVd0tWbESB3GneN+kcwtLKkqs1y9XV8II1TZMdDYKd/4j7lxT97/WemH+S82qr9zHfI8c3XHfmHyzDD1bAKEn57iis+X9SIGxb+2Ox2DB9PRxe1bdfCcSB45+Mm3vLS4T1ze9wfnun7Xy17Nxtz4852aY+5uPdvjVN04wzFvgtdX80FYYBK6Aa9GycMY9l7WRYRnA4t/IPXJ7XYYY6yJIn6ddjitSfdHx6hDYmj7012icXT3t9ehwGKUJSKsgEeQJ8XZbo/bRWakmR7fdODu/u64TSoaC/XHm4Q4egTaDULqRAAcYBdwhSL7iSopuEvjwUSnAqvSeBArVE0YUrjw4UL+ceNikEu2Xza1nfdo7smZpaC9Y0GaswzMwO5iMihxkrWM6tzBcn+TZjPl9Rzpp8Xac+X+1as8kjivl8tYHrJidtxDRvcqoXdIsNytdOsYLNQrC+yElR1yqusevN4VxxRtRl/ENp3t0s8lyZkquZ8aF4nRrvAeoRmTWtKvpATZPK4HgtbbuJRzLLUgfOkAt0ux78u3M+GnYSw4NiGA1hjkvge4K7MEoFAEtTO9gwSQ1hhrCVBklPzOTxet7aZ0jBKcGeMnfRITowTv4bOd8YgQeHVzF2OZ3lJt+QsMOtpQQFM8cHPPEoJq80NsXNIadqeY9cAI/dAcGAQ29qV6JnGbtzMpCJn+h5lIfqrlQSdXiza5bo3P9owgFQpog/yBz42lrjgtS3MDFhBnsRhdIIBEoBcC0g+bSHAETrwu/GPUbMQOpS1QLhGbf2RmofuFJR+o0Uz2C7H22qJQYkIgD6AJYvleEiOVeipLWLDF2zTY1rQS63FtoKCDMaKvGpidGXQVHUPs4QRtSP8H7w4SNVK8sY9W6KU6/b654cFP7hpc/6s/5LehmAav5LLcs5+MBdgNuaWoEiRsga20GYsq5QhxRWHuBa4AIVbaJ+Cw7j5xvIOEIkGOk4nKJDXWIuddgixwtaNEujAy8DObru4mguyx6gUQuJsOKSSOsa+G1LajKmZInaY0vc23dXcP52dLl4eSDzVoZZPemWpsorPscoJynKJ8pMcutwIfEuvxy+Gbz7MOiG+xAzY40PFdctJQMtrJE6+JjatDlGVC8d8oB5bQU9EpinEGMoZ21OgYFL5R9mcBUjhDr8wDK/BqeA94Hck4TZKRSr9Vi5JmSlcqIK2o0WlrFivZ5spgsd7a1+acDQceuLIM6YyEoLMm0MNA9Iz2o14R6vnGoaOv5SIy0r1+OMLbiTfEKlfr1iQnp6F6yYcuXxK0F5/n49dV9A63PiqMubIaJpQGz2J5axOS7bHzQ00J6kf7fPP0G9nT9d8d4W/RTdu4Q+2YaDhfYJdqTlc9zefy4Gl4OPA5bFmbm/CczjoF+/UNEcFd5eCpIW+iU3j7KvVmnHaJotfyI9emO7hazLSJMHTfMfB3Zb7w== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove an external link from a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item.api.mdx b/docs/api/delete-work-item.api.mdx new file mode 100644 index 0000000..5cbdb25 --- /dev/null +++ b/docs/api/delete-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item +title: "Delete work item" +description: "Permanently delete an existing work item from the project. Only admins or the item creator can perform this action." +sidebar_label: "Delete work item" +hide_title: true +hide_table_of_contents: true +api: eJzFVllvGzcQ/isDvjQBVlrZkdN0n2rEaiDUSIwkbgo4gkEtRxYrLsmQXMmqsP+9GFJanU5bP7QvOjj38c3MihmLjgdp9FCwgglUGPB+YdzsXgasWMYE+tJJSyysYDfoKq5RB7WExAxcAz5KH6R+ABIEEoSJMxWEKYJ15g8sQxc+aLUELiqpPRgXaZGzdMiDcVByDRbdxDgSlB54SUa7LGOWO15hQOdZcbdikjyxPExZxjSvkP7NWMZ8OcWKs2LFwtLSqw9O6geWMVLKAytYXUvBmow5/FZLh4IVwdXYZKeVJtfvpfh3yg9SlrTA8Iod2s0YPvLKKvSkd5B+r/mHV/Q256omYxcXPXzT7/U6eP7TuNM/E/0O//Hsdafff/364qLf7/V6PXKyrirulqzYKNukP1nfd+wSwtLKkquW6fZ2eMWa5ol0eFU/fCcRR4F/MW7mLS8R1pL/IPhWZjf4atlZtO+ngtylPhXjYt+bpmlGGQv8gVoqugrDgJVno4x5LGsnwzI226WVv+Lysg5T1EGWPCm+G1GSPtDz+QnaiIL11mifojvv9elr37eP6E3tSlwDSYCvyxK9n9RKLSmd/d7ZsdS+NUKPoL9ceVigQ9AmUD3nUqAgnHGHIPWcKym6SemrY6VbbJLI3yAyaTkR0JcW/eTExNRasKbJWIVharbjJQI6TFnBcm5lPj/L29r4fEXVafJ1R/p8tQVhk0vva+KxsyanRkA338yE2ilWsGkI1hc56e1axTV2vTmeYc6IehPJrmSR58qUXE2ND8WbhKh90Wsis2anRz4RGlKRT3dKCxMeySxL0JoiF+i24Pq9c3kz7CSGg4LfDGGGS+B7irtwk4oMS1M72DBJHQdrqw2SnVj5093a+mfIwDnNM2UWMSB6ME7+GTnfGoFHj7cxdzm95SbfkLDDraUCBTPDA574FItXGpvy5pCLCAcugEcEQDDg1ujwLGMLJwO5+IW+T/JQm5VKog5vt4CIwf2HLhxNwJTxg8qBr601Lu7LsQlT2MsolEYgUAmAawEppj2UE60LvxA+TxMzkLpUtUD4gVt7L7UPXKmo/V6KH6DdpptuiQkBms7oA1i+VIaLFFyJco7AydE128S4nVnKrYVdA74bSyH1xMTsy6Aoa5+nCDeER/g4+PSZupVljLCb8tTr9rpnR41/LPRVf9W/SS8DUM9/q2U5Ax+4C/BQExQoYzQ9IxyEKesKdUhp5QHuBM5R0cHj2+EwerEZGSeINEY6DifoUJeYSx3ayfGSzpLS6MDLQIGuURzdZdnBNNqZRFhxSaR1D/zckpqMKVmi9rij7t37W7h8d3M9f3Wk80GGaT3ulqbKKz7DqCcZysfKjHPrcC5xkV8P3w7efxp0w2OIlbHGh4rrHSNX6YxrT7fDOqxinKjD/3b+rQdUwMdAIcq4gWI6VutNckfTlVqKumi7TVjGivXtsVko9LR316WdEp/phqT9T/OfdK5WY+7x1qmmoedvNdLVcTfK2Jw7ycfU2ncrJqSn34IVE648fid9Lz6uL6CX8FRYm2WhaRFsDiCWsRku05lLK+tZFvfu0OfY3mbt2T4cnYTP8COdb6Pdu+JqcD34PGBZXE77K3cWN+r6B1XrpPLd7Zus0CeFeZJ9tUrLvGla/kR6UqJd94mb4hw1TfMX0G2oOA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently delete an existing work item from the project. Only admins or the item creator can perform this action. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-current-user.api.mdx b/docs/api/get-current-user.api.mdx new file mode 100644 index 0000000..36bf299 --- /dev/null +++ b/docs/api/get-current-user.api.mdx @@ -0,0 +1,63 @@ +--- +id: get-current-user +title: "Get current user" +description: "Retrieve the authenticated user's profile information including basic details." +sidebar_label: "Get current user" +hide_title: true +hide_table_of_contents: true +api: eJy9Vt9vGzcM/lcEvnQDzndO5mSdnxpkWZEtaIO22QakQSDraFuJTlIlnlPX8P8+UDo7/lW0e9j8cHcWKZL6SH7UApzHIEk7e1nDECZI96oNAS3dtxEDFFBjVEF7VoEhvEMKGmcoaIpCtjRFS1pJwlqw/osofHBjbVBoO3ahSaaFtsq0tbYTMZJRK1EjSW1iCQWQnEQY3sJNxBDhroCIqg2a5jC8XcCZ13/g/OzZT4ri9m5ZLOAtLx8fkN0VEDB6ZyNGGC7guN/nl3KW0BJ/Su9Nt6N6iLxtAVFNsZH8RXOPMAQ3ekBFewhc6cmUnpCf6cgiYtDS6C8YxNgF0WirG2lELUkKCtLGMYbyo/1or4Ob6RqjwBg5ZGmygcNIWdlgLIScSZKhENLWgk8gFa3g+2idJ93oL1hnz9iMMAijI/HGGPXEIopaR2/kPGYbyWPAMQa0ClMKfOAiIJ3R0vUGBpGCthMoIEcIQ2hbXQMDLOu31sxhSKHFZQFjHSLdc9CHtu+pG/lvtLGR2nxbswDbGiNHBtc7M3zf5SSr3rfhuzxtF8VZ2itu3l3BsoAO8e8937IA0sRBpy640oRsBT/LxpucFF7n90yaFldZgpOTPr4c9Ps9PP5l1Bsc1YOe/PnotDcYnJ6enAwG/X6/D9upgd/d1MIW/vCrQ1hjDA9uasva4avOf6lcA89AwpTIx2FVbYirLCwf/AS2cfy29jZWKTzBAS35twvzeaamXMQd0TBUg/4Rg7KTky1mECpgnbsuiicMKKwjtsEtWQsXhAxMWjNpdF0C+26Qpq5jRW4TSVMYQiW9rmZHFccQqwYrYM4KM6Yvpqztc0uvS2+kxTK6PSq5Dq5uVfrDhPa8c1hVxilppi7S8GXO4g4LsRiWG3z5nvkrV8th1lzXoUxiKECzpSnKOhF9l4G/e2fXl72ssAPo9aV4xPkm7WtnS9Hxmpi7NoiVkrZpRKytieyn5HQdZu5n4mUHx1y4xj2lA/GCC/pL0jx3Ne4t3iTsKl6rXLUSYU96zwki94g7OmkpJU85n3HjvkwzTtZCKoUxCnIiYHRtUBihgKfAzTmEv/h9UIcLRxmNls6fCy4d7n8MYa9xMuI7mROx9d4FSnPZ0VRsISqUq1FwCvLsSWfa6iKWleI3F74mLLpxhuKF9P5e20jSmGT9XtcvhJdBNkhpBKZqSYCIgJ9ajCS8nBsn63w4hXqGQnKgnRqPvCcXHqOXCoX0Xmw6iLmHebYm9DuC/TBFcc39KN5dvP/A1QoFcO9mnPplvzzaK/z9TTzO/9RRk+Ca/9Rq9SgiyUBi0nIrMGLj1pjUDrVTbYOWMqySxG2NMzQ8dOOaHO5+WFHGASHTSG89tCttac0cP/IE7y4GfNCui1O4UOyw0QYTrei+q4FXaxEPZ63QRtww9/rNjTh7fX01+2nP5kTTtB0lYm/kIyY72VE1Mm5U+YAzjU/V1eX5xZv3FyV9ppQZ7yI10m46QRJqg+F387BxhfsP7qGZewg/E0evmZKhuwtk5r9l4uRq4QJJ7A88I6AAvrYyVbPOYjGSEW+CWS55+VOLga+ydwXMZND5bsL31xXv8sh4xDnTq1LoedB0Q37/lsp0vx5Kry8+8LBtObRNan9MzN19sPWVyM43bG+yfHbPT55CB9UXizw0lsu1fhZ9dcd6rGRtxvNuuVz+A5QdU+k= +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve the authenticated user's profile information including basic details. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-generic-asset.api.mdx b/docs/api/get-generic-asset.api.mdx new file mode 100644 index 0000000..16fa4ef --- /dev/null +++ b/docs/api/get-generic-asset.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-generic-asset +title: "Get presigned URL for asset download" +description: "Get presigned URL for asset download" +sidebar_label: "Get presigned URL for asset download" +hide_title: true +hide_table_of_contents: true +api: eJy9VktvGzcQ/iuDuSQB1lrZyaHYU13DNYwaqeDYTQFHMGhyJBHikjTJla0I+9+L4UpryZKDIIde9OA8OI9vvuEKnacgknb2UmGFU0r3U7IUtLwXMVLCAhVFGbRnHazwghL4QFFPLSm4vb6CiQuQdUG5J2ucUFigF0HUlChErO5WqNnUizTDAq2oCSvMJvealaOcUS2wWmFaepbFFLSdYoETF2qRsMKm0QrbAgM9NjqQwiqFhtrioOtomukP3Lavc/rqwjx6IQnWlru3FEjPovaGIvs67373Nny2EKbhC+rl0VN/XmBs6lqEJVYbI9iW7sZwCmnptRTmRaeLpm3bcYFJTLmSeMpVizguMJJsgk7LXN9Tr/+i5WmTZmSTlqJzejfmAv3NxycHZGNONHpnY5fZyXDIX7txjfpeb7qbm55BIhIpiI2UFOOkMWbJpf10yMsfQgEXlWLqdI73dXYjBBlI8V9hIjxRILCOkecWWpECxlwg0HYhjFaDzunHA+FTqHWM7FCR1aQGcBspgBFyHmHTZ/C9Wlz7+nQgwAxyDmPiGquwbQusKc3cenIy7NMMKyyF1+XiuOxbGcsVN7MtM+pjudqgvy0ZJxQWm0lpgsEKZyn5WJXsZ+CNsDSIbg8yo+BUI/Mf7vOLZVWWxklhZi6m6rfhcLhnesVibLdg9IWHpcPBYTD1UySyGItu8mYkFIWX2fv36HR0edQpvCrf6BLmtASx43gAo66nsHRNgI2StpBmBL036O7JzTkM6D4+xxecMHkY95QT4gMX9PeseeYU7R3e5tqVfFa6ciOiI+E9Nyi5Ob3SyUe5edL5rm6BBCPhmoQCkYcCkoNA0TVBUsQCn4JOHOJX/j6ow5iSRpNNZy/4z8n9jyHsEWRX8Vedg9h470LSdgoPLs1gp6IgnSLgFoCwCrqcdoaaZQP404W3hAVoK02jCN4J7++1jUkYk73fa/UO+h2zQUsuyIZnwItlpqucnCS9IBAc6FqN19YL1QrvYfsCpoGWIT5xufo6Ga7azYxgxPMI1+dfbhitWCDPblen4WA4ON4D/r7RN/vN/qOjTsCYf2y0nENMIiSYNjwKXDEm1DwOysmmJpu6sooEd4oWZHhxx54cxu83lHFAyDRyFGhCgaykUtvUM8eHARYonU1CJk50PcU5XCxesdEWE1EtNIvWGPi9F7UFGi3JRtpyd/H5Fk4vRleLj3s+pzrNmoeBdHVZizllP91F5YNxD6UPtND0VF5dnp1//nI+SM8pd8a7mGphty/5uZfJTm9WOXey6eft1yyT6DlxnJrJt8tptab/O6ZIxgVD4WUFYIHV+n3RbQE+2HoF8VJnxmYHq9WDiHQbTNvy8WND/Iy4Gxe4EEGLBwbj3QqVjvxbYTURJtIPknt/vV51H+CtHDb0bpm6Ny8aLHBOy+3nGq+aX7p375X1C1F0L6Lx9uK9OL/hijZc+e0dNc8raP2Di3XQ8/a66q7gT87xoPpq1W2/tu31O9GbFv1+7LQ5yXHbtv8BlkT4mA== +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Get presigned URL for asset download + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-intake-work-items-list.api.mdx b/docs/api/get-intake-work-items-list.api.mdx new file mode 100644 index 0000000..0d5e16e --- /dev/null +++ b/docs/api/get-intake-work-items-list.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-intake-work-items-list +title: "List intake work items" +description: "Retrieve all work items in the project's intake queue. Returns paginated results when listing all intake work items." +sidebar_label: "List intake work items" +hide_title: true +hide_table_of_contents: true +api: eJztnVtz3Diy578Ko156ZkOySh67p4+e1pbdtluX1kiyvXO6HXVQJFSEigTKICG57NB338jELRNV8q17N2b3zIst/PMHEARJAAVmEp8mZiWtGJXRr5rJwWQhx5nSo1jK2a2xy5kaZT/MOjWMk51JI4faqhXAk4PJuRytkjeyEl1XAVwhXCldja2sVtZcy3r8AQQor3rvpJMPqnM5OquHaiUWSotRNpWVg+vGobptpa7gUEovsNCQMZf9YLIzWQkrejlKO0wOfvs0UVCV907a9WRnokUvJweT2tnB2MnOZKhb2YvJwafJuF6BZRit0ovJXXkuZ74yyujKZ66ujK0WcsS6aPlhrAY5VuYqVnayM5EfRL/q5ADFn8oP45lYyEN/5INPkxvROTjiw+nB/sEU6uL6Xtj15ABhOH1ZpYry2hymKvRiPKh+AHY2qI/yAP/Srp9Le2CurgY5/jC5u7vb2d4O8sNK6OZb2uHQ9L3YHSQ0MlwauBr+rDtMXynZNUM1msqXDRfbymFl9CCLJnmOwJNhUAstvRTbRCSRNovPUFEjr9wrXXeukdWV67qEVY0cheoGOJcT141q1UksaVBGbz/qTifmsht2hlGMklUhFuDPzpdwXy3CcfFG6WM+bCfMdv9V8W34Z1yVfDVUqNT9l+OpGFT9sz80aRTV7EC1dugBaYtgtipVeXtTGN2tqzkl73Ymb9XYnqfm2HLIfD02LwRkJo15753gG+CW0a1afa75V9LO4DHadgGUHuVC2s0rcIqPHHn+q5W0/hn+SyOvhOvGg+rhdKfqxYeDan86/WvR/M88RNrh4RTuWPFB9a4n8v50Suq+EmNLqu671Jn63DO9M/H9xuRg4pxqtvR1vpTq1bPJzsTK905Z2UwORutk+QTj34F/9YxexMePp/KnR9Pprnz4H/PdR/vNo13x9/0fdx89+vHHx48fPZpOp9Pi6cbC4rDgj84r9qQa1ytViy5Br1+/eja5tzmGzi2+5TF6a+xyWIlaViHnV5x8ykNPvl/v3iZ920lS633neMtrc3d3925nMooFDGuTVzjyTd7tTAZZO6vGNQ52T1bqSK6fuLGVelS18IX+9g4a6FeQH26xvYMT9X0CntnD6RT+q40epcY7UqxWXcixdz1Atk+brWrmcElgALYwZRiVL21hjVvJZjZfb7sVtes6Me+kb+E7aKv57BuzjGYU3aw2zld281GF4XlWp5F34y5YWXnzOTvmx5E1Du6ZmhvTSaFTMV/GPlNRfyZQxPA5YLN4gsgPoxUz6DGHr2q9zcKEtQL6Q5xRbbvAG4PPyspW6kHdyGqQVolOfZR+hrQxQ/N9sZ8cyKZSw+DSUPngd/27PrPmRjVy8KN4mb9qxCjCaAYzL9nPZZMLUtr3bcrond81NIIbqtGKeqn0YqeC6cNoFfTKvRwFloW1xMw4/6x6ocVC9lKPDzbuZdV8uTuFFhXNr7pbpybG4mf+JPFx6rpfr/B5/XzLPv8wSmylfPqkebEhsZHoyJZnJrw1770CceZWNGy9rjs57FS9aRz88bsOk6I8//LtiWOzn+XU7E7AAq1cWTlIPWIF/7QWxdp9S1Meq0U73kr4159aeaP2SqtedL7WoxV6uJKWN6Ec4ESU6EIJ5GbDNjVuxCZw0Jw9/Pipod3MalS9+giTY2P91OxGydsBW8/KK2mlrmXVGbN0q+HPayIr4brOxPjZ7I0Y5e6oermtDLdq/lgZO5NRjXClJsdiGKsT06grJZvqyehH305+Y/Eb3Zcf6jdzx+Me4qU6FZi7Fx+OpV6M7eTg4ePH5fj/pUKeERhGqlHYcQaV+/7aS938wRLgVprBDQP3CtTK2HFmbCPpUOZ/ELIyjYNS/HghrRbdbDDO1ltrwg+6pRlTGdvv1S/mX1mzsHIYZoMWq6E1oz8XYetW3fzBG6QzC0MbCLiPRuOJSg1T698mT66sqsXek7lqrgX8volCXVtBkk2jhtmTuZhTsVsoWGvIwtALmuup6MXS0LReOMXS164jaTUMwpF0J/S4tpIoVnz8KG5U11HRXbt+7uiRD4WyhiYHMe+Eriki3UiTRosl/hgKwjOxFJYm7UwOswvRCdET+VrNjRvJST0zTnSk4Ofd7IlQjrTtz1bK0dwS5YWYGwtXJikvhRX0xH8xrdBaDnNnF0R19HociX7FDn3UCjsaR6p7pBaiUzSth1YMJM+xWBhySY/V3MqivY9NT1NO6IYW4Oaun4uhVVQbxJIwJ6ITc0PTKzey9CAtuRFO4MajzXNiFqJRQ0sZo2G4Ikc5hZtgTqpx2lyLXmqKKNFLctFPjRPLujXjmLVfnViIxriFIUc7M3Y0u6fmhtT6QpjZJWubS6tWhrb3pdOKtO5bpZvWyCUovQxPmmBJXbfG+t/kWVs41fkLnaRRLRxTrFg4oTTXFjCMa3hkpDbD7ImyuJi0CRyKUfTC1tuzHxrbmPl22y/u2q23Wo7F7FyZ6+3ZTqRuzMfttnNlZi9E18lwa24AF6Ibt2e9EHr2i/M921bjsVPby7x0tevvyfh6aJ1Q/IiOt8fgdO1XjJI0qqVZshKfipaVgunZU5ieWjEwg52Lhp39U9nJnqfVR3qbQO9Z716Ieceq8dSI2Rs1sPZ6ahamENRAyzoU/dyqZiFnT8Wa6ysze2GhxkzWtdNMsKJmZ3Qo1lJrnmnN2/uwVbVYGK60TrTsRj9UrhENXGQrP1LdDCPccOwWPrRyGFlzHDol2JU7dFBVetRnQvfCLodW3Ggm3w5mU5gdWsme6GdS3+AUJAujNWqkioFJOKvp86Y3mlf1ubJOyxVts+cdjEg3ojH0AD/DTOhUdrx6oIpOsmfsRSfq8pq+MGbY0OAKzy6dXTJRatGw4pxoZAdLGFwcZS+6AlyL9051TFsL1l29FJ26Eh+YclMg0vZmUF1Hr9cr3Sih0//QAw9bzEfafNginwgr9WJbeWf4aiWOwIXxUnbd7BBWozZtb+SN2KorXcNDsK12b5UWvaiZxd0o2v6v3ovOsfvoF9ELfhv94rT0U6ogHEk9unq53js2Tg1pZC+tJwZWyiRv2CMrOqkbdU1rcSxmZ4I+eMeqpzU4hnFGL2THTvPY3Eo7O7PQAlQ/EbVUhgla8JENFMfzWLUwI1dGpdV7J5k4it5Yw7N+FGPHep0TqeFplCyrtIrd6Cdy7MQSsjLxg6pNeROcQDV4F3xidD2WyiitletSg9/fphAHaa2gp3sq4rw5CvJ29k/DHtbTMDFJSWt0K7gytrNnYmlGGExcJ9r7rIcSanufFQ5+IfjgdOocrcyv10qLBT36mYDbnQkWJiBqTs/+rDVSK/rUwjxsV7hdfycVhpm5ml2shNKFbmZvZNeygp0E+VzVXNWjmD2Bbo7eNOdCL5WevdKdpFfhXNbqSjJhwedf53IwnRsZo8zsqRWaHfdC6FFY1oAgKT4YgmRmOHQUupmdCcee3IvaWDnM14PDl55JVuOSVvBinD0VdmxharHm+i+m1QOXjtQ4FtKxq1VR4GVrelFgvuOjjXdxq67G2aGzluuXcuFq+NGyosVeto51W5fq2vGB4RLu79FwZTTseX0Dze742Py2VaNsjWWzn7dKa7WStNv/p1i60T+EcK3q0c9gBv8EZ+mZuPGDD5EcjOzPXtvU+WbbiajfO2HVhhynGkSrT5xtDBfPRNf788nauRlb6X8cZ/FibW4L6dKaruPSGzOMBh9cFPaOjV6spbDztcTaDAp+sJC/u174zg9TfZjPYUKLZm1T6v3oO6yQMHOZUkO7EHPftJge1zazT8WibUSTk60Nz7dPLgmpF0tfeZ+0WvjFBkxKZV06xlM1tEuZWZhnqZg6bJWfG/uEUXPRDfnEDk1net9LQfKZ6MVQ+/EJ02345YsJ1aVin7m5IImhFTo3ws+iFws35OO+EB/T3y/l3Jp0/Jdmdtiq2YnSbZb0YnZkcKkoCDepyV7ZpRuHdK6/wDJHPs4vYi1WYSkF09K6IXbmIByJeW7FI9HXrRjzCR7BPL9VOTm2vdBNuihHrdDNepF50y1FPvqRFYM2a2Fz/Y5gNWV27PqVs1mrW5XP7sjdCpWu5Ymo8+1yAj/d87U6EUsYKm1Oa9Wlo5+4oc733amqzaCSEX7qL91HLUnbgTaouSLV/bUnf1uRWuqs1aafncl8kc5ghiW0SPjZGp4ukc/rH2LMVf0H/JzRIj1c/1h/XHfGNqmC52otmlT6hVi2ostPxgUMpkvv8uIFafJ1vGiFXrT5drxQeiFWxqb78cLKRsul6dbk/C6FWuXH5FLAM6RT+13OVaeGbJatzRfislX9qk2X6dIs1yYnyDFed0LouaAt8dq6/n0q9/Uw7p7KfMO+UfimQqeqv+lEo25SRwYSdt4DSepFfp7+KZdilFbpONH3opU3vvowXYS+8MlHExZPovJU2t75CxKlQ6GFX1TMykrO3kjrfy9H9WdhDRNORCOVZWWdy/XyWoSfAFG8MG5sZy+ksQvF6Itx9lJ2YbEri0J3fohyw2hF5/vvTihfnSQ+tWqIK25ENEupZy+VHyaS/kzYW3+nJem5q/1zlZSXZi7syKRjpRsZhogsGtvMXppbfugT2c2Ns0WFzqRFp4esXKwbjecHDd/A4OHPPCswd/XPZRCeiwGW8LNwAm+p/aASlFN5e2Wcbjr//AT1TNTqCot+7uC11d6THkpqcHk4SroxFi9jFKCmyxZPOkrgljDk9FPZLazAC5IU6x/lmAavxKETN4JqbhhkR8txdStgvYNKjVgVyqD0QpLCD1s1KI1daFTMSupWMOqZm7MqvVBzC4twlkhOWu0nREF5KbtB6aXKyquhkzBLP6EN8gp6Oj/KBOUXaVlBR9C1KQ3NRERlzQ1JrhVJHathbsgxjq/dvLv2c8YoGd0wxH2QPdx1i6ydiMaqhqb9wmNKWiVb0ZNSTpTGniYmjRY410/poTa3Of3r0BHrmbCKXNEz0yyM9T/wowTLvORWOVcLYj33P/pCCscAQdN6BjXWhmpWXMubQhlpw16o/kpaszLkAl0szeqaHspcKXqk0dTL1nTkybgUXac0aahLZX2HE9Kvu7XQ5oY23hvRuI80CZNUUgT0/fSKvlGdVo404BvTLQy/a94KOwhyAf5TLKyck7SzqoZO5sXJ5WRn4pdnYL1daOjbFTZVUA/b8PIkpa0aRv/rJ0qmZoSBFYmcPpJ24aDbztKJaCVNdY26kQNVwAnKn2aS1mYcSa5z6bRfjA6d1t6TFV6flHT1MvRuUXpq3EIoHX+kRPmwFWOLXVxW/I/7mPYdKhWuvA9jTP8slsJcGaqoa0WTTosr/1ItSi9EJ1ahdbPWzxU7Eqw/iq4WGjt4otL6vjTadK5zRDoSYak1CQraFDwcqGgGK+iJHN2Ka9FJRXOeiGtnDRPseycHQWt+oppbnMpF4VQ4Syt0qhw90KmxV6ZbMsX1kl7BM7GAn/0Lw7RO0FLP1FgLZWl1z0yr/SQuK3acnfjlAiKfC2tGoxf0mBdCrQQt7VK0ijXZpbDilma5hCJGsaLVegv+fDTZ+QXb1xd7Tzox4K8L+Nuqj0aHRB7GX1+QIfz1xd5LcSuU8n+Tofz1BRmwX18eggNh+VqdO878j+q/+Nvx/6p2K678rgkEb8wpAmkG5HfoFMsqg/27dQp6hUH4vp0yKFDEv4IniBc4Au8TGQJCgVy7jiPXrmMIvrunCAoMCa/zKRQkhuV3/JTMKoPju3+KRo2C6BFAIExzIPoIMCqKDAXXAUpBmgHemYAiXqEQOhgQBNMcIC4HDCQ6yxCcESgbJIahhwKFUKBIdFogUJQoFj0ZCBYlikX3BoJFiWLe54FAXqAIdYMgIJUZ7tizBklqDg4ThAgKg4ITBaWCxDD0rKAQChzxzhYM8hLF0AODMJhmQPLJoFQSGWp6Bpmem9F3gwIocCS6czAsihwFLw+GgUAR7/hBEC9wBHxBGAICR8A9hCEgMMR7jFDGKwyKXiQUixoHvW8J47xEseBwQqigMCg4oVAqSAxDzxQKocCQ5KxCsSRSlPiwEJaoFM6+LYTNIkWjywsBo0Sx4AdDqKAwCHxjKAJpCkRvGcJEyWPR0aIRniFpDkSnGkZFsUC9rw0nvVaA6IHDOZQ4Ft1yGBjFAt3mrcPzbSPuKSR59GwvIZnvy+5dfu7J7I33ZEWPoO0Z0XRPtugutD1ntN6TObgTbc8bjPdkpd5G2/NT4p5C0CNpe2403ZvNuyvdl9NbP5MZ3JnuzwzWezIHd6fteYPxnqzBG2p71mAssrryTnLl3RP8pxgVNA4GryoGBo2B6FtFKRQ2keR+tcEmS5HJu2Zx3GschLeqjAKhRNRHWTDqI++SqF8XQ4nOM0SPL0ZHsUDBEYxzoBSQGnglQWAI8xejKDOUWZIrWZEj6UUGcDLjKCgFhI5nnEKpwNAbjWMolVjxjHiFQ95tjVFeKjHvy1aAXuQodXFjODXwLMn7jfFJ5bD3imOklziGrnKMQqWA0H2OUygxjPrUUZbqRQZ4Bc5RULZA3gNvE/U6z4C+eQxFpYDQX49TKHEsOPExLmgMjK59FIwaB4PDHwODxsHsBsjYLDOc+AdSnMgbODoOljCKDE3+hBRNIkejmyFDo8jR5H3I2KQWMHolchIljiVXRUYmtYS9C2PBerFEvWdjgXqxQMHhkXOgMCg4QVIqSAV2U5TlFQ4lb0kGJpXB27woabZt9q0FgJ/ltoygb80QPDC35Qmmrdmye+a2nNm6NXNy39yWNxm3ZkXvzm3Z0LA9S3T83JotGrdmDX6h2zIGU5ENnEY5DQqHvCMpo7zEsOBdSrEgcQxdThmFCoO2uKHSHFvM27NnP9Wt2bOZZ0+OrCxXUhnsHVwp6BUOqZ41DKQ5kN1gGZflAif+sTwDMbAs3nWWsl4pIHSn5RRKG5gbSsqVB0S/W06hVGLBGbcgg1rAwUmXs0EsUO+7y0mvcTB69DIyigUKjr6cA6WAovMvB6NawMkpmNNJ5njwFmZs0DjofYgZ56US847FBejFTRT9jTdYVDdg74dcwl5lsPdPpqBXOBR8lhkWNA7G9SaSLgD0beYMSiVWOjwXWUrz/dm9R/S92b35/uzJZfreEhLBC3GOt5dzvK2CozVlgsQw731NKa8UUPTI5mBUOew9tRnpJY4x921GM8tGpuTaXeZJho0sweu7zBBkjmd3cIZnucCznzjns84yUA9ymoHqPAP6ljMUlQJaFAuLXikg74POMa9xMHmmMzSpDI4e6xSN2gaoil/HUdsAk3d7SSdDkSU4vnM8iBwl/vCMJjrPAJ7yjASBI9R5nqHUUGZBv/qCRq0E0du+AFErQfTBL0DUStB75hekF0s0OOwXbFA5TB35GU8NLAvx8acZiMxxcP5nIAgc8fEADPISx3yQAMO8VGIQOVBgIDEshRNQMIkMzVEGlM0qh0P0AUODxsAQk0C5IHmsCFRArtBKEMMXChC1DZAFNZQ5mLHMmmIeilxJ38yQloJKcQP1QRIl69US9sETBevFEg0xFQUb1BLGWIsCRa0EMQKjAFErQR+XUZBe9OhmuAbCm7LHYxwHQjFBTBjWkY2YJOY+LoqmFDFi3Ee2YpKYIRAkWyHFjGYuqdXMJTGHSJEMBIEgGDySAUxmc4gmSfaQpgDGlxAA0xRYOmJdssIxAIVYMU0BDEkhAKYJgEEq2Y5JYvZRK9nu0wTAOJZsx2Q2Y2BLsmKKGmOgCyGiRDAf/ZIZn85AjIdJRBQI0ka3gZQiRtXlM4AEMUEETbZBihp9RA2xeyEjKcgmMUnJEATeJDskssnH4SSjTxJzDszJTNYoGMJ1CBYUCt00xH5DbtIQ0ZOsIZ2BEOOTgJCmgI/6IYQXCBIDgTITlQxhcFACMEWNIViIAEGhEAYQEQTTFAghRQQJCoFCmFFmgkAQH3mUCZ8mQI5FylDWCEgilDJJRIpi4BKhME0BCGUidkhmM8Y2JSumqBFjnYgZ0xTw0U+E8AJFICCKAJAkZoyQymZMZnMImUr2kCYACaLKFBE5GmKrGBm0DELEVSIgQUxW5LsREtmU47ESkCWCxSCtTEWFQDFwK0NRyRAGcyUAU8QYgruyPQgEifFemYlKhnwMWCJ8MptjUFgCokCRECdGmKAQCGLHMgApYgyxZNkeBILE8LLMRIVANOQsg1TNsA9FS5RPUrOPTSOAFwjiw9Uy4dMEwAC2bMckMfuItmz3aQJAjFs2Q4oa6UliKhtJDFxCiEZAjIzLDCaJOYTKZSAIGUnRc4lJCoFyRF3GspbBEGeXoJCmAETeETskiZmG4mWKqhTGED2CYdoDPGgPGS5xLETyMS5oHPTxfYzzUonFoL8CjTLHMRqQkahwKEQIMixoHExxgwxNKodZPCHLwCxFphhryDNEtYQxBrFAUfPgRmQiohtqAceIRQ5HdQNOkYwlnwxFFh/kyGmvFSCGPnIOpQLz8ZCc81oBxihJjka1hGP0ZEFHucBTWCXHk1zgGG/JUZQKzAdhcs5rCBahmcAVEsVCoAehgkKhEABCoKBQKAaDECpKFKPBngSlMsVDUAkhg4JQGRkKWKkx0MeLUswrDIoxpBSLGgMxspRSKFAkBpsSKEocs2HewASGpKBUiiWRoz5WlYFeYlgMYKVc1Djow1oZ5yWO+VhXhnmJYjEAlmBRYliKiqVgEinqg2UJ5gWKpPhZQiWNgSGqlnJBolgMtSVYlChG4m8JSVQO+7hcRnqJYj5Yl0BeoAiJ3yUcURkMcb0UgzQD1orZ14qZfegvAbzAkBgNTKmoMRBjhCmFAkNS2DDFkkhRH01MMC9wJPgR0zQHQsgxg4LGQAhEphCkGYChyZRAgSMQrcwQECgCAcwEgCQ1Y0QzsWOaATHGmUJRYyBGPlMKBYpAMDQBIMnM4UUySVKzD5cmgBc4EiOoGRZFjvrAagZ6qcRGdrsHhUEpAptySWQoBmZTDAWGQKw2JSDNgBi9TaGoUTDEdBMsKAzCOG/KoECRFPpNqKRREAPCCYRpDmCIOENQYRCGjVMGBY5gJDljUGFQjC6nWNQo6GPOCeUFivgwdIJ4gSEYmU4RFBB5cXIJhhcnl5jcErUO5i0yxX04OwG9wJEQ4c6ooDEQ4t4pBGkOgIcPI0CgSAqOJ1TSKAgh84SBJDf7GHqGeIljIbCecUHjIIbbMwwVCoUQfAIFBSEalg8ITXMgBOozKGgMpOH7FKY6yxAC+ykbpAILPidMYIife1PGKxyCjwIwBgSGhO8EUChIHFPXijHqWnEgfE6AQUFjYPrIACWTWKD47QEOosSx/EEChma5xPuC460fv11Aoagx0H/RgGJe4VD6ygEDk8ph/PoBA1HhUPwiAuOiyFD/oQTKeaWAwscTOBdEjuI3FRiHCoPwOwuUQYEjyrGzhDQH/McYGOOlAoMvNHAKFAalrzZQLokF2gnHsU7wqsfvOzAqaBz0X31gnJcKLH8KgrNZZxnSRyIonUSG+m9HUM4rDPLfk6CQVwoIvjHBIVA4FL87wbgoMhQ+R0EpSBdAF3zhuYJQ+mgF2FMimfw3LKLNp6KRLHXkVDSSJY6cikb/zYtg84looqseJBnNZPkip7zx8hDVy0OyHchl2ELiOWwfAXtwSDvwHUTifky414XfwO3h/qO/P/rpbz8++vvOBDebAXE3qT+RLVu273tV7viysdNF3K3le7Lft1HL07Xf2Qq3W/uqveRu6YZoX6TNrf7KGt/d0f3YfvMbv5ACci1pHd4Vm7gcq1FO/I5nxV43fqOj791TyOf+Q5sKhSL+vavQ/wO7Cp34a/UHtxUKpRT7CpHMs1F+wLO472HdLKE6vywLace++8ZCXl6eHH/jHkdbd+YTFvYL/u78fgM3ulPPXNTLzkDmVQcfO4GbVOnduIEQbv/rBpThocE7Af4WGuJfZPNVHzwKB4GO/6n/E8eCcEQc8vyfKJPD+9811VlI+lxYHz9Owl8oprrhinlMeFOsalhMD/UuL9cFNk0agf5/2AXq/8h2T/8Nx9ROiq/q3DdOtofdFO3XbAV5/8GL3r4YtEnfvBNH8C8M2/52v3/c9tsSbqvbBiroXtNfpP2mw985H8DMf2g64Eugs4G8OeONGpzfBTeM6L9rGPZx31Sw4wH4DOH1q6pRw6oTa5whXKkOvQcWf9rM4L4h876h+wLPD0dQ3BS127b56peyH2K2ux2/yyy/WJtDhtM4nmFvmv/aPk7sTPxGoX9kwEjHw58QMYEmYrgg8jePC2jyNQX90tc5N9MLaBc/Smw+PHdFc97/kP03mfatjNq6NS/5Gbf/kPx8m37H1PEV7jX7dTPHeyZyn9vGegbqaiW/YgguMs4VfqX7c403X4/bLstmO1pl/J7U2x5Ih5/FmexMWrWAb8r2slG4PV+H3wDWsAXg1zx1vhx8tvAvfBagTJBeqoV/CeBLB+kE/0Kx8+/vjsNbOx0+y3fqdx+Ml+osnEZ6fvg1jOZ/hYmyfO/g9x6fen3HKkR5jhehYNiO/XvmlalD+0PP5bfMDLflV8OsseKKZiYbcv8rzH2/bZr6xQfw26atny/uT5rGbhkRvmFauyX3Slipv+rAm9vuDri0L2dlh//1RfgM35xx2yJW2bE8x625tw/ESs/Nh3+v3NzfVeQlg42BZ/fhzu7+znRnf+dhHl5yH7kxvuw+xF/t8DGM4MO+uw/KuYQ7Psy9pjiF08Z8DAIiT+pariKCxTxzq07Vvn9KVxs3t39r7PLVKHv6i/7dfb3zlo4cTtoffzbCphTf33Tf3/35rDPZhx3uvzjx+Ffoc+WH0YrvWSX4d/eLPRHcvF+1JqCgV/uugzTxqZmN5o/3tqHK78onEHvdyV2J1/CWaBLukxl0LLC+iL804ysHLT+Ms9rZAXcexdRKLOTMysF1iK+svMkEpgoi/zW4+YwVP5pRdLNYD5+C3ENKxczknM4EfO5glA05uXM5rIwewlKfgDkZ9pEFG7sitN2Izl81UqWDsCqyUdeDPOfn1T7Yfzzl7XQweTg92D+YFo2D8hTlzXYMT8Jm8x1ciW6QO+FaHTyc8mY6+KlsKF8fekkP4KbJlwEGDOhQJo8fT+VPj6bTXfnwP+a7j/abR7vi7/s/7j569OOPjx8/ejSdTqdxFetgcoGNWkHrTfhgO3k4ffhod7q/u//4cv/hwXR6MJ3+5+TuHXSbru/xN1e+EJW/EhVcispfizu8M/nwlHl89WOuKn9zV/BQV3657m5n8mi6D1eQ533iwAEaHMBwWam2svFrTkN1K62stBlhaQkWpJrK2EpYWIe6EZ1qHvhC/7ZZ6Jm0vRrgNWjVSK1k86B6PUhbdaJeDlV8rKpVwoZQ1qPNsi5biTnkACdopR8jqlsxYN3QA/0BvhDs5dgauFgL3IRyJaB3n+yJldq72d9LHdyw92no3OJuL3SXw96n8NdMNXd7vul2sZsa9uDmlvYGF0J/+zRxtpscTNpxXA0He1DyA3gPIB8MZmPOcGZN4+rwHofmPNjb60wtutYM48FP/r4p1g7BjOP+IGvwrlpf1K3s/VP6ZKWO5JpfNrpIi2Z8EQLHk6LB+Uy4Mf/X7pOzV7seKO6Ds1fVUq4rwQp+UIXFyGptnK0ipHQ1trJKpVX+OHgRf4WqPby3fgYO8BB6687c+qmZG1tj1UckD00jN8TX2HZ7oO2ZvWiSu2K12sMeZikLBiW8eLVZ+XazuBA+OZeiqURdy2GoRpPuJ+hEby0seR1M3sL/Wxm4y+oOwr8O83OCJ/d/sQobj79v8eLKVYNbrQx8UGxRzc3YVqxFq9o0soJLgAvA/pzYww+2B9XPxt5n3AlL0LL6QaxWMwUrml2Hpc9U80O1gq8gwRcG492CDRIf5Wol1p0RjT+5WqobWQmoaMBglTo9sZVYrSp6gME/8LAejq0fXTFaiS/jZHX+/OIS7tYJ8ceYTB9MH+xv3PibmWAN/o0a1FjBPf/eqXpZ4ZJOtXDwKOCSues6fBwaU7te6tE3qxir3xp5IztYQx9S5/DuL7HL2GKEbmQ3vaSH/if1HH99gEvSehR+VheeYqwuLGGz3oj0RGHqPQn3wP9MJnhFomoJg38u7sXp6+rJi7Pjm79tlLlQY+vmD2rT7/ViKbEcf6C9eWfmezAGK3m7d/zq8PnpxfMH44cRr8zKgLurJgc5hpFpc1jaeD0OZ4u/5Cfn4N4g4b7oOpIl3k6hz/5hiKW+d9LJB9W5HJ3VQ7VKg2IYzKvbVmocIeGZgEI3qgPNHfopeNkOZ6pwVQhb5VMYUn6DThburH36mgrO5QAGlvwWC6U8tkziPDkMLpOdCUzVYByAQj99motBvrbd3R3I752EycBvnyaNgh1XYBoa5jf3NlmYCOADjhMpfI4WcsRThplUNUicIOR55tbzXUqYh6SZapj9TXAk+/rqHJq+F7uDhK6Azk6s7DB9pWTXYP8mcZUDLq2Nk9PP1szzf37Nco1i5/bVVfJZv79Kp7hwSq4NTI/gLpbVXxp5JVw3HlQPpztVLz4cVPvT6V8/X5+VtDjvZTV6Bwmr/K+ib7q1/nIeZm1/hSkB3NGwCnxPDeJcRK/p0VPN8hPxbU1E6vA2jQ3hkfuOemBOnHqHaRK0iDf5JRuSSaz8b09l9N41bDyNqzJxwvniOWyEByMsn4ktcaIV/iDvjHmF6KTMHx7+habZin/65Od4d3eJ96Z7c6RZoKehbd7d3d39b01VCEw= +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all work items in the project's intake queue. Returns paginated results when listing all intake work items. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-labels.api.mdx b/docs/api/get-labels.api.mdx new file mode 100644 index 0000000..3bcc3dd --- /dev/null +++ b/docs/api/get-labels.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-labels +title: "Endpoints for label create/update/delete and fetch label details" +description: "Retrieve details of a specific label." +sidebar_label: "Endpoints for label create/update/delete and fetch label details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific label. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-project-members.api.mdx b/docs/api/get-project-members.api.mdx new file mode 100644 index 0000000..f2c3eaf --- /dev/null +++ b/docs/api/get-project-members.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-project-members +title: "List project members" +description: "Retrieve all users who are members of the specified project." +sidebar_label: "List project members" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all users who are members of the specified project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-project-worklog-summary.api.mdx b/docs/api/get-project-worklog-summary.api.mdx new file mode 100644 index 0000000..a26bee8 --- /dev/null +++ b/docs/api/get-project-worklog-summary.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-project-worklog-summary +title: "Get project worklog summary" +description: "Get project worklog summary" +sidebar_label: "Get project worklog summary" +hide_title: true +hide_table_of_contents: true +api: eJy9V1tv2zYU/isHfFkLyJaTOl2npwVNFhgrOqNJ1gGpEdDUic2aIlmSsusa+u/DoWT5Iqcd+rCX2Oa58Ny+7zAbZiw6HqTRo5xlbIbh0TrzGUV4XBm3UGb26Mui4G7NEpajF05a0mYZu8EAjS40urDTtdzxAgM6z7KHDZNkYXmYs4RpXiD9au6ROUuYF3MsOMs2LKwtSX1wUs9Ywp6MK3hgGStLmbPqOIpxE8HoiiXM4ZdSOsxZFlyJCcOvvLAKPfm9rr83+qMrOltyVdJlFxcDfDMcDHp4/tu0NzzLhz3+69nr3nD4+vXFxXA4GAwGFGSTXbZ11uYfbz8M7BLC2krBVat0fz+6YlVVJSfL4VU5+04hOol/NG7hLRcIjeV/SL612U++WPdW7fmpJPelz+W4OoymqqpJwgKfUfdjqDAKWMDHek48myTMoyidDOs4H5dW/onryzLMUQcpeH3Bw4SK9Rcdn5+QTShpb432dZbngwF9CKMD6kBfubWqsUg/ezLbdCvMneM0sjJg4ffOzZTa1kn6Fp3kSn5DB0/GPQcBWMkwBz6bOZzxgDnkZY0zsOhAel9SOa0j/AVZxx9PCQ8/hMFxTKMrME8Q5nWzgDKJE9PcuedQ6oAzdB0PdyZwtQtSmdkM85hgmEu/cwtSg0dhdO5ZVe1P3cPuumSXCo2BDAp3UG1m4LaZs4oQ8Qyoj2s6XTeVqxI2HJxRWkcDeTAkIBzm9JMrDyt0CNpEzlrKHHMwDrhDkHrJlcz7tdNXXadjdIX0nhzmqCXmfbj36EBxsfCwLQD1tVHzja9h11eTPEgfY0HNp6qtc8snsbIFhrlpSDkSapizjKXcynR5lraA8+mGIFelja1PNztmrdJAfe01hfQpARzdckvLpVMsY/MQrM9Sct23imvse9MZkLEzeSniDwLlzjJLU2UEV3PjQ/amZspD03ckZtUe5m8Jg/XQn0b+DpxRTBNFnubI8zi8DWn+07scj3q1wtEkjEewwDXwA8d9GNfdh7UpHWyVpI7Vb71BfU9s42n22ZEEXXBOAFVmFROiA+Pkt6j51uTYObyPtUvpLDXpVoQ9bi01KJgFHunEo9g8YWxdN4echuMD8hy4EOg9BAMOvSmdQM8StnIyUIgf6fOkDo2ZUBJ1eLtDSkzufwyhg/664kedA19aa1yQegZTQ9S6X1EQJkegFgDXOdQ5HcCfZH34w7jnhAlILVSZI/zCrX2U2geuVPT+KPNfoH3QbKclFiTCH30Ay9fK8LxOTqBcInAKtFEjgO92JLcW9i8gwqhoxJ9MrH5DmHdzhDHhET5c397RtLKEEXbrOg36g/5Zl8g7Rp/0J/239DIAzfyXUooF+MBdgFlJUKCKPZVKRTjkRpQF6lCXlQd4yHGJitaUb8lh8mJLGSeERCM9h0/oUAtMpQ4tc7zssySuZy7iem5QHMNlyREb7TERFlySqJmB31tRlTAlBWqPe+5u3t/D5c343fJVx+dMhnk57QtTpAVfYPRTX5ROlZmm1uFS4ip9N3p7/f72uh++1lxsjQ8F1/uXfPf1e9CSvRfJD8waTgn4NVBUkqi2zmDT8P8DESJNATV+twNYwrLmGbhdA3R08MQ+3AQsYbSbibTJ62Yz5R7vnaoqOv5SIj0BHyYJW3InaUnFfZFLHxcWy5648vidRF98aPbiSzh4op9Mccv1moqwfZeyhC1wffiPAm2en4qh81r+iTjql+2kSrZriCpSiy6FQBv2jDoPT9p+7Ua/ub5jSdwJh5tuERdZ84W8nwxof+nV19NfKs1J9c2m3qFV1erXomct2i1ba1NtJlVV/Qtzk+z/ +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Get project worklog summary + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-workspace-members.api.mdx b/docs/api/get-workspace-members.api.mdx new file mode 100644 index 0000000..e9eb799 --- /dev/null +++ b/docs/api/get-workspace-members.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-workspace-members +title: "List workspace members" +description: "Retrieve all users who are members of the specified workspace." +sidebar_label: "List workspace members" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all users who are members of the specified workspace. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-workspace-work-item.api.mdx b/docs/api/get-workspace-work-item.api.mdx new file mode 100644 index 0000000..7f45db7 --- /dev/null +++ b/docs/api/get-workspace-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-workspace-work-item +title: "Retrieve work item by identifiers" +description: "Retrieve a specific work item using workspace slug, project identifier, and issue identifier." +sidebar_label: "Retrieve work item by identifiers" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve a specific work item using workspace slug, project identifier, and issue identifier. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/introduction.mdx b/docs/api/introduction.mdx new file mode 100644 index 0000000..d40227f --- /dev/null +++ b/docs/api/introduction.mdx @@ -0,0 +1,291 @@ +--- +title: Plane API Documentation +sidebar_label: Introduction +description: Use the Plane API to programmatically read and write changes to your Workspaces, Projects, Work Items, and much more. +sidebar_position: 0 +--- + +{frontMatter.description && ( +

{frontMatter.description}

+)} + +:::info +The Plane Cloud API is available at `https://api.plane.so/` +::: + +## Quick Start + +### 1. Get Your API Key + +To make requests to the Plane API, you'll need an API key. This key is used to verify +your client's identity and permissions. The key must be passed as the value of the +`X-API-Key` header. + +Let's get you an API key! + +:::tip +You must have a Plane account or be registered to your instance to generate a key. +::: + +1. Log into your Plane account and go to **Profile Settings** + ![Profile Settings](/images/api-reference/profile-settings.png#center) +2. Go to **Personal Access Tokens** + ![API Tokens](/images/api-reference/api-tokens-plane.png#center) +3. Click **Add personal access token** + ![Add API key](/images/api-reference/add-api-key-plane.png#center) +4. Enter a title and description to help you remember why you created this key +5. Optionally set an expiry date for the key, after which the key will no longer be valid + +:::danger +Treat your API key like a password. Keep it secret. Keep it safe. Store your API key +securely and keep it confidential to prevent unauthorized access to your account. Do +not share it or expose it in client-side code. +::: + +### 2. Execute an HTTP Request 🔄 + +When issuing HTTP requests to the API, always set the `X-API-Key` request header to +your API key. For example, using `curl`: + +```bash +curl -L 'https://api.plane.so/api/v1/workspaces/:slug/projects/:project_id/issues/' \ +-H 'Accept: application/json' \ +-H 'X-API-Key: ' +``` + +Run the above command to receive your first response from the Plane API. + +### 3. Congratulations 🥳 + +Congratulations! You've successfully run your first HTTP request using the +[Plane](https://plane.so) API. Next, browse the rest of our documentation for more +examples of how you can integrate your project! 😎 + +___ + +## General API Usage + +### Base URL + +All requests to the Plane Cloud API must be made to the following base URL: + +``` +https://api.plane.so/ +``` + +:::info +If you're using a self-hosted instance of Plane, your API base URL will differ based +on your custom domain and setup. +::: + +### Security Recommendations + +- **Keep the API Key Secret**: Treat your API key like a password. Do not share it or expose it in client-side code. +- **Regenerate Key If Compromised**: If you suspect that your API key has been compromised, generate a new one immediately and update your applications. + +### API Key Errors + +- If the **`X-API-Key`** header is not included, the API will return an error indicating that authentication is required. +- If the provided API key is invalid or expired, the API will return an error message indicating an authentication failure. + +### HTTP Methods + +HTTP defines a set of request methods, also known as HTTP verbs, to indicate the +desired action for a given resource. + +Below is a list of methods commonly adopted by Plane's API: + +| Verb | Description | Example | +|--------|----------------------------------------------------|------------------------------------| +| GET | Requests a representation of the specified resource| Fetch all work items from a project | +| POST | Submits an entity to the specified resource | Create a project | +| DELETE | Deletes the specified resource | Delete a work item | +| PATCH | Applies partial modifications to a resource | Edit a module | + +### Status Codes + +Below are the most commonly encountered success responses: + +| Status Code | Description | +|----------------|----------------------------------------------------------------------------------------| +| 200 OK | The request succeeded. Generally used in GET or PATCH requests. | +| 201 Created | The request succeeded and a new resource was created. Generally used in POST requests. | +| 204 No Content | The request succeeded and no body is returned. Generally used in DELETE requests. | + +### Error Responses + +Below are the most commonly encountered error responses: + +| Status Code | Description | +|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 400 Bad Request | The server cannot or will not process the request due to something that is perceived to be a client error. | +| 401 Unauthorized | Although the HTTP standard specifies "unauthorized", semantically, this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. | +| 404 Not Found | The server cannot find the requested resource. This means the URL is not recognized. | +| 429 Throttling Error | The server has received too many requests from your client within a short period of time. Retry the request later. You can read more in our [rate-limiting](#rate-limiting) section. | +| 500 Internal Server Error | The server has encountered a situation it does not know how to handle, and failed to process the request. | +| 502 Bad Gateway | The server received an invalid response from another service which was required to handle the request. | +| 503 Service Unavailable | The server is not ready to handle the request. Common causes are a server that is down for maintenance or overloaded. | +| 504 Gateway Timeout | The server was unable to receive a timely response from a downstream service. | + +--- + +## Pagination + +The Plane API implements a cursor-based pagination system, allowing clients to +efficiently navigate through large datasets. The system uses a cursor parameter to +manage the position and direction of pagination. + +### Query String Parameters + +Paging is controlled by clients via the following query string parameters: + +- **`per_page` (optional)**: Number of items to display per page. Defaults to 100. The maximum allowed value is 100. +- **`cursor` (optional)**: Cursor string (see below) to navigate to a specific page. If not provided, pagination starts from the first page. + +### Cursor String Format + +The cursor string is formatted as **`value:offset:is_prev`**, where: + +- **`value`** represents the page size (number of items per page) +- **`offset`** is the current page number (starting from 0) +- **`is_prev`** indicates whether the cursor is moving to the previous page (**`1`**) or to the next page (**`0`**) + +### Example: Fetching the First Page + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?per_page=20 +``` + +#### Pagination Response + +The paginated response includes the following fields: + +- **`next_cursor`**: Cursor string for the next page +- **`prev_cursor`**: Cursor string for the previous page +- **`next_page_results`**: Boolean indicating if there are more results after the current page +- **`prev_page_results`**: Boolean indicating if there are results before the current page +- **`count`**: Total number of items on the current page +- **`total_pages`**: Estimated total number of pages +- **`total_results`**: Total number of items across all pages +- **`extra_stats`**: Additional statistics, if any +- **`results`**: Array of items for the current page + +Here's an example response for the first page of results: + +```json +{ + "next_cursor": "20:1:0", + "prev_cursor": "", + "next_page_results": true, + "prev_page_results": false, + "count": 20, + "total_pages": 50, + "total_results": 1000, + "extra_stats": {}, + "results": [ ... items ... ] +} +``` + +### Example: Fetching the Next Page + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues?per_page=20&cursor=20:1:0 +``` + +#### Pagination Next Page Response + +```json +{ + "next_cursor": "20:2:0", + "prev_cursor": "20:0:1", + "next_page_results": true, + "prev_page_results": true, + "count": 20, + "total_pages": 50, + "total_results": 1000, + "extra_stats": {}, + "results": [ ... items ... ] +} +``` + +### Pagination Errors + +- **Invalid Cursor Format**: If the provided cursor string is not in the correct format, the API will respond with an error message indicating an invalid cursor format. +- **Pagination Limits**: Requests exceeding the maximum **`per_page`** limit will receive an error response detailing the maximum allowed value. + +--- + +## Rate Limiting + +To ensure fair usage and maintain the overall quality of service for the community, +the Plane API implements rate limiting. Rate limiting restricts the number of +requests a client can make within a certain time frame. + +### Rate Limit Details + +- **Limit**: Each client is limited to 60 requests per minute +- **Reset Interval**: The rate limit counter resets every minute +- **Scope of Limitation**: The rate limit applies to all requests made with a given API key + +### Identifying Your Rate Limit Status + +Your current rate limit status is communicated in the response headers of each API +request: + +- **`X-RateLimit-Remaining`**: The number of requests remaining in the current rate limit window +- **`X-RateLimit-Reset`**: The time at which the current rate limit window resets (in UTC epoch seconds) + +``` +X-RateLimit-Remaining: 45 +X-RateLimit-Reset: 1700327957 +``` + +--- + +## Fine-Tuning Response Fields + +The Plane API provides flexible data retrieval capabilities through two powerful query +parameters: `fields` and `expand`. These parameters allow clients to tailor the +response data to their specific needs, optimizing both the payload size and the +clarity of the response. + +### Fields Parameter + +The `fields` parameter enables clients to selectively retrieve only a subset of +fields for a given resource. + +:::tip +The `fields` parameter is particularly useful for reducing response time, size, and +bandwidth, especially when your client requires only specific pieces of data. +::: + +The **`fields`** parameter accepts a comma-separated list of field names that the +client wants to be included in the response. For example, to include only the `id`, +`name`, and `description` fields, send the following query string parameters: + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?fields=id,name,description +``` + +#### Fields Parameter Error Handling + +Invalid or unrecognized field names passed in the **`fields`** parameter will result +in an error response, indicating which fields are invalid. + +### Expand Parameter + +The `expand` parameter allows clients to request additional related information to be +included in the response. This is useful for retrieving detailed information about +nested resources without making separate API calls. + +For example, to return the resource data along with expanded information about the +`assignees` and `state`, send the following query string parameters: + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?expand=assignees,state +``` + +#### Expand Parameter Error Handling + +If **`expand`** is used on fields that cannot be expanded, an appropriate error +message will be returned. diff --git a/docs/api/list-archived-cycles.api.mdx b/docs/api/list-archived-cycles.api.mdx new file mode 100644 index 0000000..a87a1a9 --- /dev/null +++ b/docs/api/list-archived-cycles.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-archived-cycles +title: "List archived cycles" +description: "Retrieve all cycles that have been archived in the project." +sidebar_label: "List archived cycles" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all cycles that have been archived in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-archived-modules.api.mdx b/docs/api/list-archived-modules.api.mdx new file mode 100644 index 0000000..c50446e --- /dev/null +++ b/docs/api/list-archived-modules.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-archived-modules +title: "List archived modules" +description: "Retrieve all modules that have been archived in the project." +sidebar_label: "List archived modules" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all modules that have been archived in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-cycle-work-items.api.mdx b/docs/api/list-cycle-work-items.api.mdx new file mode 100644 index 0000000..69ea754 --- /dev/null +++ b/docs/api/list-cycle-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-cycle-work-items +title: "List cycle work items" +description: "Retrieve all work items assigned to a cycle." +sidebar_label: "List cycle work items" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all work items assigned to a cycle. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-cycles.api.mdx b/docs/api/list-cycles.api.mdx new file mode 100644 index 0000000..2b20a21 --- /dev/null +++ b/docs/api/list-cycles.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-cycles +title: "List cycles" +description: "Retrieve all cycles in a project. Supports filtering by cycle status like current, upcoming, completed, or draft." +sidebar_label: "List cycles" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all cycles in a project. Supports filtering by cycle status like current, upcoming, completed, or draft. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-properties.api.mdx b/docs/api/list-issue-properties.api.mdx new file mode 100644 index 0000000..1e266af --- /dev/null +++ b/docs/api/list-issue-properties.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-properties +title: "List issue properties" +description: "List issue properties" +sidebar_label: "List issue properties" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List issue properties + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-property-options.api.mdx b/docs/api/list-issue-property-options.api.mdx new file mode 100644 index 0000000..a828774 --- /dev/null +++ b/docs/api/list-issue-property-options.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-property-options +title: "List issue property options" +description: "List issue property options" +sidebar_label: "List issue property options" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List issue property options + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-property-values.api.mdx b/docs/api/list-issue-property-values.api.mdx new file mode 100644 index 0000000..aadc791 --- /dev/null +++ b/docs/api/list-issue-property-values.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-property-values +title: "List issue property values" +description: "List issue property values" +sidebar_label: "List issue property values" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List issue property values + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-types.api.mdx b/docs/api/list-issue-types.api.mdx new file mode 100644 index 0000000..da2c70b --- /dev/null +++ b/docs/api/list-issue-types.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-types +title: "List issue types" +description: "List all issue types for a project" +sidebar_label: "List issue types" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJnazTp3ltVhjLWqNN1gGpYdDi2WZNkSxJOfEM/ffhSL/IltK3DfuSyOTx4d3x7nnIDdUGLPNCqyGnGZXC+YlwroSJXxtwNKEcXG6FQROa0WvhPGFSkmBEghGZaUsYMVZ/gtzThBpmWQEerKPZ3YYKXGiYX9CEKlYA/oq2E8FpQl2+gILRbEMRjmbUeSvUnCZ0pm3BPM1oWQpOq1NnRhGFDF/RhFr4XAoLnGbelpBQeGCFkeAQ9yp+b+2Hr3BsxWSJm11c9OBFv9frwPnP007/jPc77Kezy06/f3l5cdHv93q9HjpZFgWza5rtwHbxxt2PHRtgYkTO5N7o9nb4ilZVlbSmw8ly/oVENAL/oO3SGZYD2a78huD3a+rBF+vO/X68Lcj67GMx3h97U1XVOKGezfH0g6tk6KEgN6Ggxgl1kJdW+HUojoERv8N6UPoFKC9yFtHvxpiptzh83jI3xoid0crFEM97PfyXa+VBefxkxsjtivSTw2WbZnr1dFewFtvAi4gm+NdrER1g/K2S65jycEQSPPAJ819czpmHjhcFZlSVUrKphN2xNTAPfeJqoMxatqYJFR4K9w19UyU0t8C+07mGM6Xh/w4joV54jJZeM+fJH5qLmQBOBh5LPPZCE7hgD9eg5n5Bs/OLi9NeaOkVqed6gkcactMIQ7gJGJHXlk61lsAUjZMcZqyUvmW+JSfCTVjuxQra4SSsQNamVFlMwR5lS5dYAC3Q8ODBKiYnTpc2b03Naf00UrXHaK/pr67flc10/f0tcQpfq6D/Au6xYvp1jYm/r7Pdd7ZyVefTu1iX48N2Q1Q+JLPBaBgo/YQYhwdlRE/6vTP04YQ8jziN5BY4/mTSkXuwQJT2KB0rwYETVFcLRKgVk4J3I+jzJugIbCGcQ0AOSgDvklsHlkiWLx3ZhUTM3sxtsfpNrEMQwZeZLlUkkgL8QuNVYQ5R6rFYaMqMSFdn6T7tLt2gGFTplsFcujlwWZWG20Mn5ChF3QG72t0WSitpRhfeG5eliNs1kinoOt2QoJHVvMzDD5SLw8osTaXOmVxo57MXUcBP7jE4TauaGr1HdYgC0K5JB/oN08i/iLQAxkNLb7X8r85gNOxEg5NDHw3JEtaEHQF3ySgeNFnr0pKdkVDEL4Ds0UjcJ5xYuy4eZA03OMc6l/o+BIQD2oq/g+VLzaExeBtyl+JYqtPdFHSYMXhAXi/hxCYMhcPLtYE91dKMvgPGCctzcI54TSxEAsPL5L0VHl38gP9bbYJYSQHKvzw0RQjuf3Sh0dMx4ycnR1xpjLZeqDmZar8gRxklueZA8AgIU5zEmI46Hee65DdtH5tMiFC5LDmQJ8yYiVDOMykD+kTwJ2R/z95VS0hI6HRwnhi2lprxGFwOYgWEoaNbM7y1H65uzBhS3wC5AfVNzXTI/pb8bhZARtiP5N3V+xusVppQ7N2Yp1631z1rFH5z0Uf1Uf0pnPAEa/5zKfIlcZ5ZT+YltgJmbFZKGdqB67wsQPmYVubJHUdZxSub25PD+OmOMlomkUY6FmZgQeWQCuX3zPGsS5NwcWR5kPxtFwd3aXLCRjUmgoIJnNrWwC/7KVR9kYNyUIN7/eaWDF6PrlfPG5hz4RfltJvrIi3YEgJO3CidSj1NjYWVgPv0evjy6s37q65/8OFkjHa+YKq2SXib1d5lp+dQuyB/2ztuyyceHjx6JMKVJni/2RL/HZIhVgAe+oH8aUKz7ctkx/84dPTqq0kATSgKLLI1Qm42U+bg1sqqwuHPJeCT5G6c0BWzIt4A7jaUC4ffnGYzJh18Idin77ba94wcPRlb49uRvEIC372TaEKXsD5+uKLk/JAPjdfbD/gRX1rjKtnpD2YkTg3yHIyvLWq8hVD29jr++uqGJkEMjiVuGRRs+4HorQ7V1S5uj38xNa3mm00Uz6ra28epR1fs5TVaY27GVVX9A7caw/k= +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List all issue types for a project + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-worklogs.api.mdx b/docs/api/list-issue-worklogs.api.mdx new file mode 100644 index 0000000..2c3d1b3 --- /dev/null +++ b/docs/api/list-issue-worklogs.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-worklogs +title: "List worklog entries" +description: "List worklog entries" +sidebar_label: "List worklog entries" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJnTTTp3ltVhjLWqNt1gFpENDi2WZNkSxJ2fEM/ffhqBfLlt11GbAvfuEd7/2eO26pNmCZF1qNOU2oFM4/COdyeFhru5R67mhEObjUCoNcNKE3wnlSUQkobwUgk2GWZeDBOprcbalAVsP8gkZUsQxoQku5gtOIunQBGaPJlvqNQZrzVqg5jehM24x5mtA8F5wWEbXwLRcWOE28zaGIjoo2Vn+F1P9r4fueTUopZPyGHuqNKDyyzEhwKPe6/F3xj9/g2YrJHJVdXAzgajgY9OD8p2lveMaHPfbq7LI3HF5eXlwMh4PBYIBG5lnG7IYmtTBi2tr3DRsRvzEiZbJhur0dv6FFcSIcTubz7wSi4/hnbZfOsBRIdfMHnG/utJ3PNr11c37MyTb1lI/rfWuKoriPqGdzLKxgKhl7yMjnukDvI+ogza3wm1B6IyN+g80o9wtQXqSsVHB3j8F6j8fnR2j36LQzWrnSy/PBAL9SrTwojz+ZMbK6EX91eG3bjTCzlm1oRIWHzLXO9RTThm1iseO8KLUI/s9lioYx/l7JTd0CNLXAPPAH5r97nTMPPS8yOCYjN/y/yYioF17irRvmPPldczETwMnIdwrsWAHmlh0QhfIwB0sjmrFHkeUZTc7Phq+GVy8vh68imglVHvaa06tWLKabHwmlyqVkU7T6IAxPuX4qAr9s0MMWJj0lx00XPFWA1PP5Dzt2cLvYuTZG1MZeu9Hz0WSM7djBjzAS9KwzFYqIDgdnqP+g1/f6j6QWOP5l0pE1WCBKe0S6leDAibaEWSBCrZgUvF8KfdkVOgGbCedQIAclgPfJrQNLJEuXjtSIRkzD5ipZw66sCluIcMEWUJh0TmbaEr9ooJpiJDLwC42zcw6hvxGIExozI+LVWdxk0cVbRLMiru66eLsrkCIOs9HF23pGFnE9f2PEUbCrerDmVtKELrw3LolRTd9IpqDvdAdSJ1bzPA1/EPt2N5M4ljplcqGdT67KgXSQUSTTogWtHxHqStQ6DrA7DAxkBEGUtADGQ1NXs+nP3mgy7pUMB1UxGZMlbAjbE9wnk7ISyEbnltRMQoVMNNJIqSek9DjI77AYFZxjE0i9Dg7hgbbir8D5WnPoHN6G2MV4Fuu4JkGPGYMJ8noJBzzhKCQv1aaMGzYZTegHYJywNAXniNfEgtO5TcMStbbCo4mf8fsoD5ZcKgUo/3rXNcG5/9GEDgCUET/IHHG5Mdp6oeZkqv2C7EWUpJoDwRQQpjgpfdqDAqT1ya/aniJGRKhU5hzIM2bMg1DOMymD9AfBn5FmJa2rJQQkQAE4TwzbSM146VwKYgWEoaEVGzb7bhVhxpC2AgSPAkt8pkP0K7T8tAAywX4kH64/fsJqpRHF3i3jNOgP+medwu9e+qK+qD+EE55gzX/LRbokzjPryTzHVsCIzXIpQztwneYZKF+GlXlyx2EFEvcM14DD/fMaMo4QEUZ6FmZgQaUQC+Ub5HjRp1HYglgaFoWqi4O5NDpAoxYSQcYEkqoa+Lkh4WQSKSgHLXFv392S0dvJzeplR+Zc+EU+7ac6izO2hCCnVBRPpZ7GxsJKwDq+Gb++fvfxuu8fS1w22vmMqZaSEw+Xg02l2fhO8Vco4uHRox0CwbW0eVuh/x1CIOYdU72bADSiSbVf10MAj/beLuUcwOPWa6n1FMNlF1EblWy3U+bg1sqiwONvOeCqfXcf0RWzolxT7raUCxemF01mTDr4jsPPP1RD8gU55WcN8Qrhu976aUSXsGm/8HDcPEnv3hPsCRa0gvlkGzqvoSfYUb5c7ouonn+YiZI0SlMwvnWp87DAsdusFW+vP9EoDKP9EbsME7T6gdKPGtSetqV6/MTQHGXfbsvhXRQNf0k6eaMZ71UFoPVFUfwN17Gfxw== +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List worklog entries + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-labels.api.mdx b/docs/api/list-labels.api.mdx new file mode 100644 index 0000000..19b650f --- /dev/null +++ b/docs/api/list-labels.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-labels +title: "Endpoints for label create/update/delete and fetch label details" +description: "Retrieve all labels in a project. Supports filtering by name and color." +sidebar_label: "Endpoints for label create/update/delete and fetch label details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all labels in a project. Supports filtering by name and color. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-module-work-items.api.mdx b/docs/api/list-module-work-items.api.mdx new file mode 100644 index 0000000..c05bf3f --- /dev/null +++ b/docs/api/list-module-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-module-work-items +title: "List module work items" +description: "Retrieve all work items assigned to a module with detailed information." +sidebar_label: "List module work items" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all work items assigned to a module with detailed information. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-modules.api.mdx b/docs/api/list-modules.api.mdx new file mode 100644 index 0000000..53d3c26 --- /dev/null +++ b/docs/api/list-modules.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-modules +title: "List modules" +description: "Retrieve all modules in a project." +sidebar_label: "List modules" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all modules in a project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-projects.api.mdx b/docs/api/list-projects.api.mdx new file mode 100644 index 0000000..ea463d3 --- /dev/null +++ b/docs/api/list-projects.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-projects +title: "List or retrieve projects" +description: "Retrieve all projects in a workspace or get details of a specific project." +sidebar_label: "List or retrieve projects" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all projects in a workspace or get details of a specific project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-states.api.mdx b/docs/api/list-states.api.mdx new file mode 100644 index 0000000..65278a0 --- /dev/null +++ b/docs/api/list-states.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-states +title: "List states" +description: "Retrieve all workflow states for a project." +sidebar_label: "List states" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all workflow states for a project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-activities.api.mdx b/docs/api/list-work-item-activities.api.mdx new file mode 100644 index 0000000..0d18069 --- /dev/null +++ b/docs/api/list-work-item-activities.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-activities +title: "Endpoints for issue activity/search and fetch issue activity details" +description: "Retrieve all activities for a work item. Supports filtering by activity type and date range." +sidebar_label: "Endpoints for issue activity/search and fetch issue activity details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all activities for a work item. Supports filtering by activity type and date range. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-attachments.api.mdx b/docs/api/list-work-item-attachments.api.mdx new file mode 100644 index 0000000..711e2a7 --- /dev/null +++ b/docs/api/list-work-item-attachments.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-attachments +title: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +description: "Retrieve all attachments for a work item." +sidebar_label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all attachments for a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-comments.api.mdx b/docs/api/list-work-item-comments.api.mdx new file mode 100644 index 0000000..3344f22 --- /dev/null +++ b/docs/api/list-work-item-comments.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-comments +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Retrieve all comments for a work item." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all comments for a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-links.api.mdx b/docs/api/list-work-item-links.api.mdx new file mode 100644 index 0000000..e06511b --- /dev/null +++ b/docs/api/list-work-item-links.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-links +title: "Endpoints for issue link create/update/delete and fetch issue link details" +description: "Retrieve all links associated with a work item. Supports filtering by URL, title, and metadata." +sidebar_label: "Endpoints for issue link create/update/delete and fetch issue link details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all links associated with a work item. Supports filtering by URL, title, and metadata. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-items.api.mdx b/docs/api/list-work-items.api.mdx new file mode 100644 index 0000000..6fd5271 --- /dev/null +++ b/docs/api/list-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-items +title: "List work items" +description: "Retrieve a paginated list of all work items in a project. Supports filtering, ordering, and field selection through query parameters." +sidebar_label: "List work items" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve a paginated list of all work items in a project. Supports filtering, ordering, and field selection through query parameters. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-cycle-work-item.api.mdx b/docs/api/retrieve-cycle-work-item.api.mdx new file mode 100644 index 0000000..25306e0 --- /dev/null +++ b/docs/api/retrieve-cycle-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-cycle-work-item +title: "Retrieve cycle work item" +description: "Retrieve details of a specific cycle work item." +sidebar_label: "Retrieve cycle work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific cycle work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-cycle.api.mdx b/docs/api/retrieve-cycle.api.mdx new file mode 100644 index 0000000..077668d --- /dev/null +++ b/docs/api/retrieve-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-cycle +title: "Retrieve cycle" +description: "Retrieve details of a specific cycle by its ID. Supports cycle status filtering." +sidebar_label: "Retrieve cycle" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific cycle by its ID. Supports cycle status filtering. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-intake-work-item.api.mdx b/docs/api/retrieve-intake-work-item.api.mdx new file mode 100644 index 0000000..e71ee0d --- /dev/null +++ b/docs/api/retrieve-intake-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-intake-work-item +title: "Retrieve intake work item" +description: "Retrieve details of a specific intake work item." +sidebar_label: "Retrieve intake work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific intake work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-issue-property-option.api.mdx b/docs/api/retrieve-issue-property-option.api.mdx new file mode 100644 index 0000000..c7ec8c2 --- /dev/null +++ b/docs/api/retrieve-issue-property-option.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-issue-property-option +title: "Get issue property option by id" +description: "Get issue property option by id" +sidebar_label: "Get issue property option by id" +hide_title: true +hide_table_of_contents: true +api: eJy9WG1v2zYQ/isEv7QFZMtJna7Tp2VtVhjL2qBt1gGpYdDi2WZDkSxJOfEM/ffhSEmRLacvabEvsc175cPjPcdsqTZgmRdaTTjNqAVvBaxhJpwrYWYsiv1mpg2q0IRycLkV8VdGX4EnQZM0miRqkvmGCE4TaphlBXiwjmZXWyrQyjC/oglVrACa0WgwC9ouX0HBaLalfmNQ6LwVakkTutC2YJ5mtCwFp1VCLXwuhQVOM29LqJKDvo3VnyD33+18d5cX0QuZvKT7cRMKt6wwEhz6PYvfa/3JS1xbM1lisJOTETwfj0YDOP51Phgf8fGA/XL0bDAeP3t2cjIej0ajESZZFgWzG5o1zojpRt9N7JT4jRE5k63S5eXkJa2q++GIx/nDeMSzPgDIPZGdLJdfCNkL8UHba2dYDqS2/AbYW5su7MVmcNOuH4K3K70P3ZvdbKqqmibUsyXWdEiVTDwUpMZFgKPThDrISyv8JtT9qRF/wua09CtQXuQshriaIlxvcPn4gGyK23ZGKxf3eTwa4UeulQfl8SszRtYW6SeHZts+xnqOpYF38S6/bEsF//rRYwKMv1Fy05wu5SDBA58x/0VzzjwMvCgQVlVKyeYSmrPr+cwtsO/02fNRGv5jPhLqhcck6TlznvyluVgI4OTUY3nGOu47LtjtOailX9Hs+OSkSqjT1s+05WA76qos5mB38tAlInIQ4E4RHrgoUi91aMzhFHvmws1Y7sW6m+1cawlM0SjmsGCl9IflcOvBKiZnTpc2P7jl/ePsQdD6OFxiX7VvymG++f4K3XffqYyf4e6+Ivl9g+DddDvQd9+suof/lD03nf5hiTBb95evme7F3aHlq3hnpneQTXBSaMjjTajw04tJoKu91js5NFM4hHg8OsLE9jr1Tu8kuQWOP5l05AYsEKU9OlsLDpxoS5gFItSaScGH0enTvtMLsIVwDh1yUAL4kFw6sESy/NqRZp/EtGqu9jXu+9rbD+az0KXiFLdegF9pHL6WELo0EmdGU2ZEuj5K25py6RbZp0rrOnHp9m68qdIwhg3uWnyQNmxfpTWE6bYdt6oU+RDsupnNSitpRlfeG5elGH5oJFMwdLpHjRdW8zIPP5DB7iyzNJU6Z3Klnc+ex5Fm1/QcxbTqEOQ7JKzISYdpsq1DFsQ0iRPGChgPTbWeMf4ZnF5MBlFhrz4uJuQaNoTtOB4iYWNNkI0uLWmUhCJ+BaT1RmKccLiHqfqOaTHAMd4TqW/ChnBBW/Fv0HyhOfQWLwN2Ka6lOm1EMGDG4AF5fQ17OmEpHF6uDbQsQDP6FhgnLM/BOeI1sRCbuKMJvbHCY4of8POgDpZiLgUo/+Lu/oTN/Y8p9DpBRHzv5IgrjdHWC7Ukc+1XZAdRkmsOBI+AMMVJ3NNOU0DZkPyh7X3ChAiVy5IDecSMmQnlPJOS1TfnEWlfNU21BEBCUwDniWEbqRmPm8tBrIEwTLRWW2jbGSmZMaQbANsIErVa6IB+3Tzfr4Bc4H0kb8/evcdqpQnFuxtxGg1Hw6Ne4feNPqqP6m/hhCdY859LkV8T55n1ZFniVUDEFqWU4TpwnZcFKB9hZZ5ccViDxLbi2uYwfdy0jANCbCMDCwuwoHJIhfJt53gypEmYZVnkvPoWh3RpsteNOp0ICiZQVNfAb60IZyORg3LQcffq9SU5fXVxvn7a87kUflXOh7ku0oJdQ/ATA6VzqeepsbAWcJOeT16cvX53NvS3PpyM0c4XTHWDfPUZvDfUtSP8N5jWvcXDrcfsRBjTwk62NVdcYWPEasACuOMLmtCsfj01lIFLO2/ifdaoFTqvxIZ7E5p1X+rI69jkMfp2O2cOLq2sKlz+XAK+sK6mCV0zK+J8cLWlXDj8zmm2YNLBF0B5/LZm1yfkPgAaRlDY7ZvHHk3oNWx2/qeA9PSgwDuP/gek0IH5R3LoPLQflkR7lA/OovcWf0Ai8d08rZKGtbEgoug0z8H4jlHvUYvDQjskvTp7T5NAobuDwXXg/foLej+YUHdGiOHxL0JzUH27jSNHVbX6UXSvRTuURG3EZlpV1X8/vbTt +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Get issue property option by id + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-issue-property.api.mdx b/docs/api/retrieve-issue-property.api.mdx new file mode 100644 index 0000000..b78daf1 --- /dev/null +++ b/docs/api/retrieve-issue-property.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-issue-property +title: "Get issue property by id" +description: "Get issue property by id" +sidebar_label: "Get issue property by id" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Get issue property by id + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-issue-type.api.mdx b/docs/api/retrieve-issue-type.api.mdx new file mode 100644 index 0000000..973967d --- /dev/null +++ b/docs/api/retrieve-issue-type.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-issue-type +title: "Retrieve an issue type by id" +description: "Retrieve an issue type by id" +sidebar_label: "Retrieve an issue type by id" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve an issue type by id + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-module.api.mdx b/docs/api/retrieve-module.api.mdx new file mode 100644 index 0000000..1fddee7 --- /dev/null +++ b/docs/api/retrieve-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-module +title: "Retrieve module" +description: "Retrieve details of a specific module." +sidebar_label: "Retrieve module" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific module. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-project.api.mdx b/docs/api/retrieve-project.api.mdx new file mode 100644 index 0000000..a936b6d --- /dev/null +++ b/docs/api/retrieve-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-project +title: "Retrieve project" +description: "Retrieve details of a specific project." +sidebar_label: "Retrieve project" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-state.api.mdx b/docs/api/retrieve-state.api.mdx new file mode 100644 index 0000000..c27238a --- /dev/null +++ b/docs/api/retrieve-state.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-state +title: "Retrieve state" +description: "Retrieve details of a specific state." +sidebar_label: "Retrieve state" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific state. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-work-item-activity.api.mdx b/docs/api/retrieve-work-item-activity.api.mdx new file mode 100644 index 0000000..21eae65 --- /dev/null +++ b/docs/api/retrieve-work-item-activity.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-work-item-activity +title: "Endpoints for issue activity/search and fetch issue activity details" +description: "Retrieve details of a specific activity." +sidebar_label: "Endpoints for issue activity/search and fetch issue activity details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific activity. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-work-item-attachment.api.mdx b/docs/api/retrieve-work-item-attachment.api.mdx new file mode 100644 index 0000000..ca7b46e --- /dev/null +++ b/docs/api/retrieve-work-item-attachment.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-work-item-attachment +title: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +description: "Download attachment file. Returns a redirect to the presigned download URL." +sidebar_label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Download attachment file. Returns a redirect to the presigned download URL. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-work-item-comment.api.mdx b/docs/api/retrieve-work-item-comment.api.mdx new file mode 100644 index 0000000..5f9ccf3 --- /dev/null +++ b/docs/api/retrieve-work-item-comment.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-work-item-comment +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Retrieve details of a specific comment." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific comment. + + + + + + + + + + + + +This issue has been resolved by implementing OAuth 2.0 flow.

","comment_json":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"This issue has been resolved by implementing OAuth 2.0 flow."}]}]},"actor":{"id":"550e8400-e29b-41d4-a716-446655440001","first_name":"John","last_name":"Doe","display_name":"John Doe","avatar":"https://example.com/avatar.jpg"},"created_at":"2024-01-01T10:30:00Z","updated_at":"2024-01-10T15:45:00Z"}}}}},"description":"Work item comments"},"400":{"description":"Invalid request data provided"},"401":{"description":"Authentication credentials were not provided or are invalid."},"403":{"description":"Permission denied. User lacks required permissions."},"404":{"description":"Issue not found"}}} +> + +
+ + + \ No newline at end of file diff --git a/docs/api/retrieve-work-item-link.api.mdx b/docs/api/retrieve-work-item-link.api.mdx new file mode 100644 index 0000000..9fd3e82 --- /dev/null +++ b/docs/api/retrieve-work-item-link.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-work-item-link +title: "Endpoints for issue link create/update/delete and fetch issue link details" +description: "Retrieve details of a specific work item link." +sidebar_label: "Endpoints for issue link create/update/delete and fetch issue link details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific work item link. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/retrieve-work-item.api.mdx b/docs/api/retrieve-work-item.api.mdx new file mode 100644 index 0000000..8cbb1fd --- /dev/null +++ b/docs/api/retrieve-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: retrieve-work-item +title: "Retrieve work item" +description: "Retrieve details of a specific work item." +sidebar_label: "Retrieve work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve details of a specific work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/search-work-items.api.mdx b/docs/api/search-work-items.api.mdx new file mode 100644 index 0000000..daeb744 --- /dev/null +++ b/docs/api/search-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: search-work-items +title: "search_work_items" +description: "Perform semantic search across issue names, sequence IDs, and project identifiers." +sidebar_label: "search_work_items" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Perform semantic search across issue names, sequence IDs, and project identifiers. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/sidebar.ts b/docs/api/sidebar.ts new file mode 100644 index 0000000..dddb22f --- /dev/null +++ b/docs/api/sidebar.ts @@ -0,0 +1,714 @@ +import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; + +const sidebar: SidebarsConfig = { + apisidebar: [ + { + type: "doc", + id: "api/the-plane-rest-api", + }, + { + type: "category", + label: "Assets", + items: [ + { + type: "doc", + id: "api/create-user-asset-upload", + label: "Generate presigned URL for user asset upload", + className: "api-method post", + }, + { + type: "doc", + id: "api/update-user-asset", + label: "Mark user asset as uploaded", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-user-asset", + label: "Delete user asset", + className: "api-method delete", + }, + { + type: "doc", + id: "api/create-generic-asset-upload", + label: "Generate presigned URL for generic asset upload", + className: "api-method post", + }, + { + type: "doc", + id: "api/get-generic-asset", + label: "Get presigned URL for asset download", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-generic-asset", + label: "Update generic asset after upload completion", + className: "api-method patch", + }, + ], + }, + { + type: "category", + label: "Intake", + items: [ + { + type: "doc", + id: "api/get-intake-work-items-list", + label: "List intake work items", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-intake-work-item", + label: "Create intake work item", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-intake-work-item", + label: "Retrieve intake work item", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-intake-work-item", + label: "Update intake work item", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-intake-work-item", + label: "Delete intake work item", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Cycles", + items: [ + { + type: "doc", + id: "api/list-archived-cycles", + label: "List archived cycles", + className: "api-method get", + }, + { + type: "doc", + id: "api/unarchive-cycle", + label: "Unarchive cycle", + className: "api-method delete", + }, + { + type: "doc", + id: "api/list-cycles", + label: "List cycles", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-cycle", + label: "Create cycle", + className: "api-method post", + }, + { + type: "doc", + id: "api/archive-cycle", + label: "Archive cycle", + className: "api-method post", + }, + { + type: "doc", + id: "api/list-cycle-work-items", + label: "List cycle work items", + className: "api-method get", + }, + { + type: "doc", + id: "api/add-cycle-work-items", + label: "Add Work Items to Cycle", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-cycle-work-item", + label: "Retrieve cycle work item", + className: "api-method get", + }, + { + type: "doc", + id: "api/delete-cycle-work-item", + label: "Delete cycle work item", + className: "api-method delete", + }, + { + type: "doc", + id: "api/transfer-cycle-work-items", + label: "Transfer cycle work items", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-cycle", + label: "Retrieve cycle", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-cycle", + label: "Update cycle", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-cycle", + label: "Delete cycle", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Labels", + items: [ + { + type: "doc", + id: "api/list-labels", + label: "Endpoints for label create/update/delete and fetch label details", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-label", + label: "Endpoints for label create/update/delete and fetch label details", + className: "api-method post", + }, + { + type: "doc", + id: "api/get-labels", + label: "Endpoints for label create/update/delete and fetch label details", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-label", + label: "Update a label", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-label", + label: "Delete a label", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Modules", + items: [ + { + type: "doc", + id: "api/list-archived-modules", + label: "List archived modules", + className: "api-method get", + }, + { + type: "doc", + id: "api/unarchive-module", + label: "Unarchive module", + className: "api-method delete", + }, + { + type: "doc", + id: "api/list-modules", + label: "List modules", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-module", + label: "Create module", + className: "api-method post", + }, + { + type: "doc", + id: "api/list-module-work-items", + label: "List module work items", + className: "api-method get", + }, + { + type: "doc", + id: "api/add-module-work-items", + label: "Add Work Items to Module", + className: "api-method post", + }, + { + type: "doc", + id: "api/delete-module-work-item", + label: "Delete module work item", + className: "api-method delete", + }, + { + type: "doc", + id: "api/retrieve-module", + label: "Retrieve module", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-module", + label: "Update module", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-module", + label: "Delete module", + className: "api-method delete", + }, + { + type: "doc", + id: "api/archive-module", + label: "Archive module", + className: "api-method post", + }, + ], + }, + { + type: "category", + label: "States", + items: [ + { + type: "doc", + id: "api/list-states", + label: "List states", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-state", + label: "Create state", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-state", + label: "Retrieve state", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-state", + label: "Update state", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-state", + label: "Delete state", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Members", + items: [ + { + type: "doc", + id: "api/get-workspace-members", + label: "List workspace members", + className: "api-method get", + }, + { + type: "doc", + id: "api/get-project-members", + label: "List project members", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "Users", + items: [ + { + type: "doc", + id: "api/get-current-user", + label: "Get current user", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "Projects", + items: [ + { + type: "doc", + id: "api/list-projects", + label: "List or retrieve projects", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-project", + label: "Create project", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-project", + label: "Retrieve project", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-project", + label: "Update project", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-project", + label: "Delete project", + className: "api-method delete", + }, + { + type: "doc", + id: "api/archive-project", + label: "Archive project", + className: "api-method post", + }, + { + type: "doc", + id: "api/unarchive-project", + label: "Unarchive project", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Work Items", + items: [ + { + type: "doc", + id: "api/get-workspace-work-item", + label: "Retrieve work item by identifiers", + className: "api-method get", + }, + { + type: "doc", + id: "api/search-work-items", + label: "search_work_items", + className: "api-method get", + }, + { + type: "doc", + id: "api/list-work-items", + label: "List work items", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-work-item", + label: "Create work item", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-work-item", + label: "Retrieve work item", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-work-item", + label: "Partially update work item", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-work-item", + label: "Delete work item", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Work Item Activity", + items: [ + { + type: "doc", + id: "api/list-work-item-activities", + label: "Endpoints for issue activity/search and fetch issue activity details", + className: "api-method get", + }, + { + type: "doc", + id: "api/retrieve-work-item-activity", + label: "Endpoints for issue activity/search and fetch issue activity details", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "Work Item Attachments", + items: [ + { + type: "doc", + id: "api/list-work-item-attachments", + label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-work-item-attachment", + label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-work-item-attachment", + label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details", + className: "api-method get", + }, + { + type: "doc", + id: "api/delete-work-item-attachment", + label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Work Item Comments", + items: [ + { + type: "doc", + id: "api/list-work-item-comments", + label: "Endpoints for issue comment create/update/delete and fetch issue comment details", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-work-item-comment", + label: "Endpoints for issue comment create/update/delete and fetch issue comment details", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-work-item-comment", + label: "Endpoints for issue comment create/update/delete and fetch issue comment details", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-work-item-comment", + label: "Endpoints for issue comment create/update/delete and fetch issue comment details", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-work-item-comment", + label: "Endpoints for issue comment create/update/delete and fetch issue comment details", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Work Item Links", + items: [ + { + type: "doc", + id: "api/list-work-item-links", + label: "Endpoints for issue link create/update/delete and fetch issue link details", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-work-item-link", + label: "Endpoints for issue link create/update/delete and fetch issue link details", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-work-item-link", + label: "Endpoints for issue link create/update/delete and fetch issue link details", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-issue-link", + label: "Update an issue link", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-work-item-link", + label: "Endpoints for issue link create/update/delete and fetch issue link details", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Work Item Properties", + items: [ + { + type: "doc", + id: "api/list-issue-property-options", + label: "List issue property options", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-issue-property-option", + label: "Create a new issue property option", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-issue-property-option", + label: "Get issue property option by id", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-issue-property-option", + label: "Update an issue property option", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-issue-property-option", + label: "Delete an issue property option", + className: "api-method delete", + }, + { + type: "doc", + id: "api/list-issue-properties", + label: "List issue properties", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-issue-property", + label: "Create a new issue property", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-issue-property", + label: "Get issue property by id", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-issue-property", + label: "Update an issue property", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-issue-property", + label: "Delete an issue property", + className: "api-method delete", + }, + { + type: "doc", + id: "api/list-issue-property-values", + label: "List issue property values", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-issue-property-value", + label: "Create/update an issue property value", + className: "api-method post", + }, + ], + }, + { + type: "category", + label: "Work Item Types", + items: [ + { + type: "doc", + id: "api/list-issue-types", + label: "List issue types", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-issue-type", + label: "Create a new issue type", + className: "api-method post", + }, + { + type: "doc", + id: "api/retrieve-issue-type", + label: "Retrieve an issue type by id", + className: "api-method get", + }, + { + type: "doc", + id: "api/update-issue-type", + label: "Update an issue type", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-issue-type", + label: "Delete an issue type", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Work Item Worklogs", + items: [ + { + type: "doc", + id: "api/list-issue-worklogs", + label: "List worklog entries", + className: "api-method get", + }, + { + type: "doc", + id: "api/create-issue-worklog", + label: "Create a new worklog entry", + className: "api-method post", + }, + { + type: "doc", + id: "api/update-issue-worklog", + label: "Update a worklog entry", + className: "api-method patch", + }, + { + type: "doc", + id: "api/delete-issue-worklog", + label: "Delete a worklog entry", + className: "api-method delete", + }, + { + type: "doc", + id: "api/get-project-worklog-summary", + label: "Get project worklog summary", + className: "api-method get", + }, + ], + }, + ], +}; + +export default sidebar.apisidebar; diff --git a/docs/api/the-plane-rest-api.info.mdx b/docs/api/the-plane-rest-api.info.mdx new file mode 100644 index 0000000..758490c --- /dev/null +++ b/docs/api/the-plane-rest-api.info.mdx @@ -0,0 +1,154 @@ +--- +id: the-plane-rest-api +title: "The Plane REST API" +description: "The Plane REST API" +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Heading from "@theme/Heading"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiExplorer/Export"; + + + + + + + + + +The Plane REST API + +Visit our quick start guide and full API documentation at [developers.plane.so](https://developers.plane.so/api-reference/introduction). + +
+ + + + + + API key authentication. Provide your API key in the X-API-Key header. + +
+ + + + + + + + +
+ Security Scheme Type: + + apiKey +
+ Header parameter name: + + X-API-Key +
+
+
+ + + OAuth2 authentication supporting both authorization code flow and client credentials flow. For client credentials flow, include 'app_installation_id' parameter in the token request payload to receive a bot token for workspace app installations. + +
+ + + + + + + + + + +
+ Security Scheme Type: + + oauth2 +
+ OAuth Flow (authorizationCode): + +
+ Token URL: /auth/o/token/ +
+ Authorization URL: /auth/o/authorize-app/ +
+ Scopes: +
    +
  • + read: Read access to resources +
  • + write: Write access to resources +
  • +
+
+ OAuth Flow (clientCredentials): + +
+ Token URL: /auth/o/token/ +
+ Scopes: +
    +
  • + read: Read access to resources +
  • + write: Write access to resources +
  • +
+
+
+
+
+
+

+ Contact +

+ Plane: [support@plane.so](mailto:support@plane.so) + + URL: [https://plane.so](https://plane.so) + +
+

+ License +

+ GNU AGPLv3 + +
diff --git a/docs/api/transfer-cycle-work-items.api.mdx b/docs/api/transfer-cycle-work-items.api.mdx new file mode 100644 index 0000000..899e935 --- /dev/null +++ b/docs/api/transfer-cycle-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: transfer-cycle-work-items +title: "Transfer cycle work items" +description: "Move incomplete work items from the current cycle to a new target cycle. Captures progress snapshot and transfers only unfinished work items." +sidebar_label: "Transfer cycle work items" +hide_title: true +hide_table_of_contents: true +api: eJztWN1v4zYS/1cIvrQFJMtJHO/GT5cmuZ5x262Rj+sB2SCgxZHNRiK5JGWva+h/PwwpyfJX0tu7Hu5hXxKLHA5n5jefXFOlwTAnlBxzOqLOMGkzMM/pKs3heanMy7NwUFgaUQ42NUIjLR3Rn9UCiJCpKnQODgiSEk9KMqMK4uZA0tIYkI54ZsQpwoiEJXHMzKBe7ZErpl1pwBJt1MyAtcRKpu1cOcIkJ41EliiZr0gpMyGFnQPv3NijEdXMsAIcGEtHj2sqUEbN3JxGVLIC6IgGlQSnEbXpHApGR2vqVhr3rDNCzmhEM2UK5uiIlqXgtIqogc+lMMDpyJkSqugga23Ub5C6f5v5tkkngQsZX9PdeyMKXxha2iLfm/C7ph9f49qC5SVedn7eh/eDfj+G04tpPDjhg5i9OxnGg8FweH4+GPT7/T4KWRYFMys6apgR3b19W7BL4lZapCxviR4exte0qo6Yw+bl7BVD7Cn+qzIvVrMUSH3yDyjfnukqX6ziZbt+SMnu7jEdl9vSVFX1FFHHZuhY9AqdyNKnICNY96PiKxQhVdKBdPiTaZ2L1AdV8ptF7ut9W6gpGnJPjDswguXidzAkU6b1frRbN8Sm4JYAMsSQ7X2Sn+TfmOQ52A0VKcQshPYOOYZtXnJkuWC54J7mk8RoM5D7LzsXmpSaMwfWC2K1EdIRAyzPVdDN35Tlahniz2AmcSKAJGH53Mbbm5Gwa4TxNVGZzyDdVIEJpLEHEdaWYIlTtNoK0sftqxE54XK8+74+6hEc4/HbgGD9D92y62dH6TcQdVxvV2Xah3SYZmwQw0V/GA8Y4/HF2UU/PuVZ/6x/xgYnKexHQuOntXPt+0CwRNDeB+CWt32Jl8tljMaNS5ODTBUH/s39vrnfn+d+RZk7oZlxiXc7zhz75nDfHO7PcrgDHRm1kJZGuJVv/C61+DusLks3B+nqvEhHj0/YqvyCy6cH9nw5t1pJG2xx2u//RzV92zkKsJbN4JBf7ARDmabYADcHWoA2eyHoXsetIe2i1cqwYdTtjxomxHMhng1pKI+ImZX5xj9VtgUV+i62+n6txm2/56uDuwUcOLEt73yFIg7+q0iAMcq8jcMNkh1E4SMsGxNxIixpffEPwHLTXN6CUovzCtc3MQpMDyuwnINsedXwjK/xgkJYW3fiDdd7dVWPctzzPy7tPU52ntlyDgZ83qpRZ/jZQVNYwnIDjK9IMygeU8op0gpQa/imbs6sMEd086QfMtu7XvG/Hxlvsk7wsxPUcWcm2MoUJDXA8ZPllixRc6kcTkQLwYETZbz6Qvoa0wtMz/aZTsB48ytJOEgBvEceLBiSs/RlAz3RLZmteQ32eSEUtRKA6lhVmhTIklkvW6ZKiZJgmQY3V5intbI+LnBgG9GEaZEsTpJ25rHJGqeeKqknPZusN8NtlYSCmqybxF8ljeXj4AIJjl1gFs0cXpqcjujcOW1HCd7W0zmT0LNqD9iJUbxM/Qcm683JUZJgDc7nyrrR+zC/bh/9gNsU03hTC+4wI4RIPFwR2hzA/DaNwiA7B8bBbEbZf8aXk3EcCHacYzImL7AibItxj0yCQ5CVKg1piIT0YdJyI+Eej+zhqrRJZXjBKfYQ2Hr4DFi6uTLid095pTjsLT542yW4lqik2YKYaY0AOfUCOzR+yYOXKh3shnFLR/QWGCcsFCanWifDsrA0wqGIv+L/gzToemkuQLqrTfB45f6HIuzFfrD4DnLEllor4zCjTJWbky2LEhylCELgX6WCTlsZAfd65K/KHNuM6j4UyHdM62chrWN5aD+fBf+OtC9Yjbd4g7StkWarXDEelEtBLIAwFLQmw85p83LBtCbdC2zIAlgvbzfvFjdNXdvr5s4y9v48Gw7i83cn7+LB+fA0np5laXyaXgzPsuGQZWyIvitkpjycTdM5BzLBACe3N3f36P40opgMguH7vX7vZC+S9g9hf/8PYYUjGESfS5G+EOuYcWRWYmwhBNgi+PjiKi0LkC7gxBx55LCAHOu+bbPN0/dNDjqwiXkpNpCBAZlCIqRrU9EP2Otj98FS333UacGLS6Od9NZJbVAwgVu1U/2l3aoimosUpIUOu58+PpDLnyYfFmd7PGfCzctpL1VFUrAX8HzCRck0V9NEG1gIWCYfxlc3H+9ueu6L81Bjni+Y7FzSltq6eLcN2C4gnXbr/+6Zt06KDr44tILAWhEstq5r2iNmdPQ6dLRNXaMRHdWvi01pw6Wtl9tQ3XC581a8U+BoRHHKwlqEd63XU2bhweRVhcufS8C25vEpogtmBJtiVDyuKRcWf3M6ylhu4RWDf39bdwA/kGPqNoVLYlFqnj5pRF9g1X3mxiL6VfduvUN/hQQdm361DHtPwl8hR3i+faqipqojEmHrKtwZ3yODzdG339JQocDiMk1BuyOH/WCC/Ujbd01+ubunEZ3Wz8WFL9u0wznqfviB1df07U7lxTci9Q9U56AFuk1LEBb/ougHydfr0ANVVUsfto6eaLukQI1gPFVV9S9EOEfS +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Move incomplete work items from the current cycle to a new target cycle. Captures progress snapshot and transfers only unfinished work items. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/unarchive-cycle.api.mdx b/docs/api/unarchive-cycle.api.mdx new file mode 100644 index 0000000..9479d50 --- /dev/null +++ b/docs/api/unarchive-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: unarchive-cycle +title: "Unarchive cycle" +description: "Restore an archived cycle to active status, making it available for regular use." +sidebar_label: "Unarchive cycle" +hide_title: true +hide_table_of_contents: true +api: eJy9VuuPGjcQ/1dG/pJEWljuwqUpn3q6oxHqKUFJaCpd0MnYA7h47Y3thVC0/3s13gdwcFF7UvuFx8x4nr957JjN0fGgrBlJNmCF4U4s1RofxFZoZAmT6IVTOUmwAfuIPliHwA3UghKiJAQLXAS1RvCBh8InkPGVMgtQAfiaK81nGmFuHThcFJo7KDx2WcJy7niGAZ1ng/sdU2Qm52HJEmZ4hvRvxRLmxRIzzgY7FrY5UX1wyixYwubWZTyQ84WSrEyYw2+FcijZILgCy+S8Umf/RBEelPx3yo/zMa60wOiWPbabMPzOs1yjJ73D6nctP7ol2prrgoxdXfXwbb/X6+Dlz7NO/0L2O/ynizedfv/Nm6urfr/X6/XIySLLuNuyQaMM8kPrx45dQ9jmSnDdCk0mo1tWlk+kw+ti8YNEnAT+xbqVz7lAqF/+g+DbN4fBZ9vOpqWfC/KQ+1SMm2NvyrKcJizwBUGK3RA+PZsmzKMonArbCLTrXP2G2+siLNEEJXil9H5KCfpA5MszvCkF6nNrfBXZZa9PXydNYgsnENpukuALIdD7eaH1lrLZ712cPjw2CMKhpL9ce9igQzA2UDnXSqIE64A7BGXWXCvZrZS+PlU6Rpcp70mhRKNQdmHi0YHmYuWhKRvkrZivdZ2J7PMS4wv0ASW4Js4N99G3uS0MeVImLMOwtDRRJGoMGPs8LNmApTxX6foibUvm0x0VrUxroPp0t+/NMm0y2IljhpirMm0TmxJk0K2b6VE4zQZsGULuBymZ6uaaG+x6e4KesbOyEPEPlXz/cpCm2gqul9aHwduq946f3hGblQeI+kR9U0HiPK7ahuKRzZKqCZfIJbp9G/7RuR6POpXAI2yMR7DCLfAjxV0YV3iArS0cNELKQFgitNqgshMLex7brX+WDFzS5NN2EwMignXqryh5YyWeECcxdynRUps2LOzwPKcCBbvCRzKRFIsnbF7lzSGXsXm4BB6bhXZKgzHPErZxKpCLX+j7rAwhT2iFJtzseycG9z+6cDIrq4w/qhz4Is+tC7QiZzYs4SijIKxEoBIANxKqmI4GAvG68Kt1TzETUEboQiK84Hn+oIwPXOuo/UHJF9Du3QYtMSFNe0POt9pyWQUnkBY7J0drMVrk+6nL8xwODfhqCCgztzH7Kmisx8eY+hE+Dj99JrSyhFHvVnnqdXvdixPgnz76ar6a35VXAQjz3wolVnR0uACLglqBMkaDNraDtKLI0IQqrTzAvcQ1ajp7fDscpi+bkXGGSWOk43CODo3AVJnQTo5XdMAIawIXgQKtuzi6y5JH0+hgEmHGFbFqDPzSssqEaSXQeDxQ9+79BK7fje/Wr090LlRYFrOusFma8RVGPZWhdKbtLM0drhVu0rvRzfD9p2E3fA+xMrn1IePmwMikGalw9vLbxTDRhP/mCKyHT8DvgdxXNJOrUHf14rinyUlwIYTslwdL2KC+QJr9QaSj6+7RCol8OinbLcISRucBDXwytNvNuMeJ02VJ5G8F0kFyP03YmjtFIcRdI5Wn35IN5lx7/EHCXn6st+wreCrWZjsYmvzNbcQStsJtdQHTjnqWxaMT9Tm296l8tg8n1+Iz/Kguu+nhbXE7vBt+HlKFC4LI4Y5dxRVa/6BqnVV+uG4rK/RJYZ4V3+2q7V2WrXzFevJFu98raYpzWpbl30YMpZM= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Restore an archived cycle to active status, making it available for regular use. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/unarchive-module.api.mdx b/docs/api/unarchive-module.api.mdx new file mode 100644 index 0000000..7d9465d --- /dev/null +++ b/docs/api/unarchive-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: unarchive-module +title: "Unarchive module" +description: "Restore an archived module to active status, making it available for regular use." +sidebar_label: "Unarchive module" +hide_title: true +hide_table_of_contents: true +api: eJy9VttuGzcQ/ZUBX5IAK63syGmqpxqxGhh1UyGJmgKOYNDkyGLFJTe8yFGF/fdilrsryZKDwL286EIO53JmzsxsmC3R8aCsuZRsxKLhTizUCm8KK6NGljGJXjhVkggbsffog3UI3EAjKSGJQrDARVArBB94iD6Dgi+VuQMVgK+40vxWI8ytA4d3UXMH0WOfZazkjhcY0Hk2ut4wRXZKHhYsY4YXSP+WLGNeLLDgbLRhYV3SqQ9OmTuWsbl1BQ/kflSSVQ99/jX5d3nBMubwS1QOJRsFFzFj+JUXpUZPasfpdxK/vKCjFdeRTJ2dDfD1cDDo4emPt73hiRz2+A8nr3rD4atXZ2fD4WAwGJCLsSi4W7NRq6vFpra979U5hHWpBNetzHR6ecGqqsqOQ+DsnyjCjZL/BIpJ0vLdWDTy/xIY5a71x9Bohb4Nh9fx7htAHAT+ybqlL7lAaF5+R/Ddm93gi3Xvvjs/FuTu7WMx3u97U1XVLGOB3xEBmnL1bJYxjyI6FdY1L85L9Quuz2NYoAlK8KT1ekYI/UbHp0fuZhSpL63xKbTTwZC+DkhtoxMIHf0l+CgEej+PWq8JzuHg5PDhvkEQDiX95drDPToEYwPlc6UkSrAOuENQZsW1kv2k9OWh0gm6QnlPCiUahbIPU48ONBdLD23eoOzEfKPrSGQN9cmPuY1GsqrKWIFhYanbSdQYsO5AYcFGLOelylcneZcen28oQVXeFKXPN1seVnkLVi8xmG6XVd6BmFN9oFu1jS06zUZsEULpRznZ6peaG+x7e1AqE2dlFPUfSu/25SjPtRVcL6wPo9eJaPtPr+iaVTvV84FIktJ/vIY69vD6mmWJcQvkEt2Wc3/0zieXvSTwoA4ml7DENfA9xX2YpNzD2kYHrZAyEBYInTZIduokHq/jzj9LBk6pzWl7XwdEB9apv2rJN1biweG0xi6ns9zm7RX2eFlSgoJd4gOZ+qhOnrBlws0hlzVRuAReE4PGnWt441nG7p0K5OIn+j4qQ6UntEIT3mx5Ugf3P7pw0BgT4g8yBz6WpXWBpvetDQvYQxSElQiUAuBGQoppj/x014efrXvsMgNlhI4S4RkvyxtlfOBa19pvlHwG3UrQVksNSE1+9AFKvtaWyxScQNo5ODnaiNGOsW2xvCxh1wC1i4pKfG5r9FXQhNrHBcKE+Ajvxx8+UrWyjBF3E06D/qB/clD4h48+m8/md+VVAKr5L1GJJe1DLsBdJCoQYtRUazpIK2KBJiRYeYBriSvUtJP5rjnMnrct48gltZGewzk6NAJzZULXOV7QbiWsCVwECrRhce0uyx50o51OhAVXdNXUwE/dVZUxrQQajzvq3r6bwvnbydXq5YHOOxUW8bYvbJEXfIm1nmQov9X2Ni8drhTe51eXb8bvPoz74WuoM1NaHwpudoxM25YKx9fSTR0nmvAfbahN+wn4NVAAirpyCnbTzI5r6p1UMFQj2/nBMjZqFo52hNDR3jL3cIrUArTwdoOEZYy2Aer5ZGmzueUep05XFR1/iUgLyPUsYyvuFMVQjxupPP2WbDTn2uM3IHv+vhmqL2B3Vz4adTspDE2BdiliGVviOi3qNK+eZHpvN32K7S2oT/bhYE18gh9ppZvtLhoX46vxxzHlOlKx7M7bZT1Omx+UtqPKd0dvskKfFOZR8c0mTfKq6uTT1aMvulmfpCnOWVVVfwPhrtrg +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Restore an archived module to active status, making it available for regular use. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/unarchive-project.api.mdx b/docs/api/unarchive-project.api.mdx new file mode 100644 index 0000000..37abea5 --- /dev/null +++ b/docs/api/unarchive-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: unarchive-project +title: "Unarchive project" +description: "Restore an archived project to active status, making it available in regular workflows." +sidebar_label: "Unarchive project" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1vGzcM/iuEvrQFzj4ndbLuPi1ovMJY0BltvQ5IjUCWaFuzTlIlnV3PuP8+8N5ix04xFNi++EWkKD4kH5J7Zh16HpU1Y8kyVhjuxUpt8MF5+xeKyBImMQivHOmwjH3AEK1H4AYaVQmNLkQLXES1QQiRxyIkkPO1MktQEfiGK83nGkEZ8LgsNPewtX690HYb+ixhjnueY0QfWHa/Z4peczyuWMIMz5H+1e88KMkSFsQKc86yPYs7R9IQvTJLlrCF9TmPhKZQkpVPEUwab8e3LGEevxbKo2RZ9AUmDL/x3GkMZHdU/270x7d0tuG6oMeurgb4ZjgY9PDy53lveCGHPf7TxXVvOLy+vroaDgeDwYCcLPKc+x3LWmNdrKrXjx27gbhzSnDdKU2n41tWlmVyNhxBF8vvBOIE+Gfr18FxgdDc/BfguzuH4PNdb9udnwN5KH0O4/bYm7IsZwmLfEnZb3MU2CxhAUXhVdxVVXHj1G+4uyniCk1Ugtdm72cUot/p+PKMbEZQg7Mm1NguB0P6OilsW3iB0HFAQiiEwBAWhdY7iudwcHF68fhBEB4l/eU6wBY9grGRErpREiVYD9wTBzZcK9mvjb4+NTpBn6sQyKBEo1D2YRrQg+ZiHaBNHLhOLTS2ziD7tMLqBoaIEnyLc8tD5dvCFoY8KROWY1xZ6gMSNUasSBlXLGMpdyrdXKRd0kK6p7SVaVOqId0/srNMmwimVB3oNy2nC69ZxlYxupClZLPvNDfYD/akUCbeykJUfyi3jzezNNVWcL2yIWZvapodX70jMSsPSucjUaTO/fkC6rjDKzFLar6tkEv0j4z7s3czGfdqhSdFMBnDGnfAjwz3YVInHna28NAqKQNxhdBZg/qdKoPni7jzz9IDl9TkqG2SgA6sV39Xmm+txJPDaRW7lM5Sm7Yi7HHnKEHRrvGJTnVUJU9YV8fNI5cVS7gEXrGC2n1bTIElbOtVJBc/0/dZHSoxoRWa+PaRJBW4/9GFk7ZYR/xJ5iAUzlkfaXrNbVzBUURBWIlAKQBuJNSYjphPsj78av1zwgSUEbqQCC+4cw/KhMi1rqw/KPkCumnYVksVkJbH4PhOWy5rcAJp5nJytFFbWH/QYLlzcPhAqNmuzMJW0VdRY9MnJsRH+DD6+ImqlSWMuFvHadAf9C9OCv/00hfzxfyhgopANf+1UGJN+4CPsCyIChQx6qgVHaQVRY4m1mHlEe4lblDTVhK65jB72baMM0JqIz2PC/RoBKbKxK5zvKK1QlgTuYgEtGFx5S5LnnSjg06EOVckamrgl05UJkwrgSbggbl376dw825yt3l9YnOp4qqY94XN05yvsbJTP5TOtZ2nzuNG4Ta9G78dvf846sdvscqMsyHm3Bw8Mm2HEjyzmO0roGjif7qjNV0o4rdIOBQ15xrzvhkV99RCqW6oVB7HBUtY1mwd7cSgo6ONrvGVJYzGPvV3Mrffz3nAqddlScdfC6RV436WsA33irytRotUgX5Lli24Dvid6Lz80EzPV3C0Cp7F1o4FQy2/3X9Ywta4O15IaUj9kA8nW9kP+FFvULPDCX47uht9GlFUC0rL4YBbV/Or+UGxO2v8cNbVr9AnwTyrvt/Xo7MsO/1a9OyNbrjW2oRzVpblP4bIWz4= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Restore an archived project to active status, making it available in regular workflows. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-cycle.api.mdx b/docs/api/update-cycle.api.mdx new file mode 100644 index 0000000..014e611 --- /dev/null +++ b/docs/api/update-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-cycle +title: "Update cycle" +description: "Modify an existing cycle's properties like name, description, or date range. Completed cycles can only have their sort order changed." +sidebar_label: "Update cycle" +hide_title: true +hide_table_of_contents: true +api: eJztnW1z3EaS578KAm9m94IUSZmSbb46iZIlmaTMESn5ZjyO3myg2Cg2uqpdAEi1FPzuG1mPmdVN79izcXcRWxETY9U/f1UACo9EZ+L/tdZrYWCUWr1r65N6WrcwilmzaXpR79WtGBoj1xiuT+oL3cqbTQWqEp/lMEq1qCz4l6FaGxxnlGKoerkUlYKV2KtI971KmwrHrgyohXhSnerVuhejaN0YQ9WAqrTqN1UHd6IaOyFNNWgzVtq0wlRNh/3aJ/VevQYDKzEKM9Qnv3ytJa7bGsau3qtxudha1nv10HRiBfXJ13rcrFEdRiPVot6rb7RZwYibO8m2ftirjfhtkka09cloJvGwt3tQo29FM85k+8cG55N46Uap3r2q8+Xu1eIz4KwMOO5r92/Pv3uF2h30Ey7s2bND8d3x4eG+ePr9fP/4qD3eh2+Pnu8fHz9//uzZ8fHh4eEhruS0WoHZ1CdhsGpNl85X7EU1btaygT5CHz++e1U/PDwyHUM/LX5nIrY2/GdtlsMaGlH5nv/Exsc+dONXm/37qO/aSBp9bBvv+do8PDz8ulePsMBDqj61R2T9q1tHMYwvdbvBVWi0GoUa8Z+wXveysWfOwe2Ao3/dngs9x4ncWo0rYST08osw1Y02lT3p4tk0VPdy7CqhOlCNaCt9r4QZOrmuVqBgIVZCjU/+of6hXn8ehWoH16tqjLAr43q783h/WItG3simuhEwTkYMlVRNP7W4sDjuPxQMg1woHLgC1VYrPM/9tlWjgWaJPK6pW1Qvb4T7F1kjPC/jRQCnwB0m2+fHSqpzoRZjV58c7dWjHHsM2ymv3mOfvXoFnwPy9Nmz/EjaHpIP8orAD3v1MIIZZzgdv3u22vkapV2+mvoe5jikuxzUQrX/4gg42+1svvmnrhji8yiMgn426Mk0O5fKF7BjyuIYsv1T/XFDvmhlFy7UtMLz4sWNkQ0cvJjL9hZUvReFpjFAmm0rh9mLOcyp2C8kXrGTMKyA9noJK1hq2laLSbL27dSTthwGmEi7BzVujCCKgS9f4E72PRWn22k1n+iST0EaTZsDzHtQDUXENNKmVrA0myS8giUY2jQzMcyuoAdYEflWzvU0ko16pSfoycCv+9kLkBOZ2x+MEKO+J8obmGuDeyYqb8EA3fAfdQdKiWE+mQVRJ7o/zmC1Zos+68CMeiKreyYX0EvaVkMHA+lzDgtNdum5nBuRzfe5XtHWBKqlA0zzaTWHoZNUG2BJmAvoYa5pez2NrD0IQw6ECzzw6PRc6AW0cugoo5XRd5Is5T0eBHOyGu/bW1gJRREJK0F2+ns9wbLp9Dgm7acJFtDqaaHJ0i61GfX+e31H1voK9Oyazc21kWtN5/t6UpLM7s9StZ0W+GjzYiX8mQasqZpOG1gIpi0m2bsdHaVRLiamGFhMIBXXFkKNUuEpI5QeZi+kEcNO4BRGWIFpdnc/1abV892xH6fbabMzcg6zD1Lf7u52IVSrv+yOfZB69gb6XvhDcwu4gn7c3fUK1OzHyV3ZdgbPJ7l7zOupmVaPdPw4dBNIvsSJz8cwqQZvV0Qa5VIv2YgvoWOj2PbsJahWGBhYwMyhZVv/UvRixdvyCz1M8OrZ7F/BvGer8VLD7JMc2Hy91AudCXKgY53Cam5kuxCzl7Dh+lrP3hhcYyarZlJMMNCwLTqFjVCKd9rw+T7tZAMLzZVugo4d6KdyaqHFnWzEF6rrYcQDjh3Cp0YMI5uO00kC23OnE64qXeorUCswy6GDO8Xk+0FvC7NTI9gZ/UqoO2GYMBotR6rolVR8TV+3K634qr6WZlJiTefsdY93pDtoNV3AD9qMs/ei56uHKvSCnWNvemjyffpG62FLwz08u57MkolCQcuGm6AVvZ7YOr6ZYBQr6DNwA79NsmfaBtjl6i308gY+M+UuQ4RZ6UH2Pd1f71QrQcX/4hV42BE+U/rzDvkCjFCLXeNd2j9Qwx04C16Lvp+dynGzI/ZJ3MFOXaoGT4Jda/ezVLCChkWmO0nn/91v0E/sOPoRVsAPox8nJdwjlRfOhBqnZrk5ONeTHOKdPY9eaDXKRvCJPTPQC9XKW7oW5zC7BHrincsVXYNzvM+ohejZZp7re2FmlwZngOoX0AipmaCA39lQmXgfIxd65MoolfxtEkwcYaWN5l2/wNizq86FUHg2CtZVGMkO9Asx9rDErkz8LBudHwQXuBr8EnyhVTPmyiiMEZtcu5Ot0Jk4CGOAbu57CM/NQRD3s79pdrK+9w8msWm06oArYzd7BUs94s1k6qF7LHoqcG0fi+LCr4DfnN5PE12Zn26lggVd+iXg4c4Egw8gck63/rLTQkl61uJz2D5M++5IygIzfTO7WoNUma5nn0TfsYEngfIH2XBVjTB7gZc5etB8ALWUavZO9YLuhQ/4h7lgwoI/f30Qg+6nkTFSz14aUGy5V6BGMGwCUZL8ZoiSntlbR6br2SVM7My9arQRw3wzTKqlshyXdAWvxtlLMGOHjxYbrv+oOzVw6UyOYyadT43MBrzu9AoyzF346ORd3cubcXY6GcP1a7GYGvyjZU2Hve4mdtm6lrcTvzFc4/E9aq6Mmp2vn3DaJ35v/rmTo+i0YU8/P0ul5FrQy/7fYDmN7iTEfdWM7glmcGdwkl7Bnbv5EGnCO/urjyZefFPsAprfJjBySw6PGkRrLibTai5eQr9y25O0D3rshPvjOIlXG32fSddG9z2XPulh1PbEtcLBuVaLjQAz3wi7NoPEP1jIv/sVuIufba3885xtKGg3JrZ+G90Fyzf0XMTW0C1g7qbWtseNSexLWHQttKnZGX9+u+aSkGqxdCvvmkaBe9lgm0KaKS7jpRy6pUgsPmfJ0DrtpHs2dg0t59APacNOda9X7iqFzVewgqFx9yfb7vxfvrYh+zjsq2kOpDF0oNIk/AArWExDWu4b+BL//VbMjY7Lf6tnp52cXUjVJUktZmfavhXywl2csndmOY1D3NYf8TVHWs6PsIG1f5Vi28JMQ7iYo3AG8zSLZ7BqOhjTBp7hc34nU3PsVqDauFPOOlDtZpF43S8hLf3MwKD0BkxavzN8mzI7n1brySSt6WTaurPpHmTclxfQpMPlAv90T/vqApZ4qzSprWQfl34xDU067t7LRg8yBvFP/eX0RQkyd6gNci7J6v60Iv82EGfqslN6NbsUaSdd4hMWKIj45QbPLkjb9VcY06r+Ff+cURBPrr9uvmx6bdq4gh/kBto4+hUsO+jTmXGFN9MlqHgYXAmd9uMV/hLTpcPxSqoFrLWJx+OVEa0SS91vyPZdg1yn0+Qa8BxScf6u57KXQwqLzqQdcd3J1bqLu+laLzc6NcgyPvYAag50Jj6aafVbHPfjMO6/F+mA/SSFnde46p96aOVdvJChZC/eA2mqRTqf/iaWMAojVXjQd6IRd2718XERr4Uvvmj/8iQoL4VZTW6HBOkUFLiXiklZi9knYdzfy0H9AYxmwgW0Qho21gexWd6C/xMgiFd6GrvZG6HNQjL6apy9Fb1/2ZVEUL27RU3DaKB31+8epFudKL40cghv3Iiol0LN3kp3m4j6KzD37kiL0uupcedVVN7qOZiRSedStcLfIpKoTTt7q+/5oi9EP9eTyVboUhj781VSrjatstuHE9/izcNteVLw2dWdl154DQO+Vk/ChcbHPkmU9+L+Rk+q7d3549VLsD/E1Hv16wl/Jjl4scKRWvt6OEiq1cbuxiDgmi47u9FBGjthH618+6XoFwbsDomKcadyaOPPu0MPd0C1aRhET8eZmg7wfQeVWlhnyiDVQpDBTzs5SGUvoUHRa/zpilGvpjlbpTdybvAlnCHSJIxyD0ReeSv6QaqlTMq7oRf4lH5BJ+QdXuncXcYrPwrDBjrDS5tUOE1ElEbfkeZGkta5HOaaLOP8dpr3t+6ZMUhatQyZPosVHnWLpF1Aa2RL2+7FY2waKTpYkVEupLJXmtDUCuyzfmwPjb5P7Z+GnkQvwUiyRy91u9DG/YEfJHzNSw6VD3JBoh/cH32+Ze8BQNtqhmusNNUM3Iq7TBnpxF7J1Y0weq3JDrpa6vUtXZS+kXRJo26Wne7JmXENfS8VmahradwFx7c/9htQ+o5O3idopy+0iQ+pZAi89tM9+kn2Sk5kAj/pfqH5UfMzmAHIDvg7LIyYk/ZkZIMXmTcX1/Ve7V7P4Pt2UHhtl3aqvHra+R9PYtvIYXR//QRJN4zQ+EYitc+EWUx42U7SBXSCtvpW3omBKpORo9vMKG30OJJeH8Sk3Mtof9E6eLG2+yc2p2bpr25BeqmnBUgV/kgJ8mkHY2cvcUlxf9yHtrugUuEGRjrED7AEfaOpIm8lbU4KbtyPakF6Az2s/ewmbTWXbEn4/hH6BpS9wBOVru9brXQ/9RORzsC/ao2CxDldAVuHMz0YoBtydg+30AtJe17A7WQ0EwwmHABd8wvZ3ttHuSC8h8nQFXovJ7qg99rc6H7JlGkl6B68hAX+2b/QTOuBjnopxwakoat7qTvlHuKSYsbZhXtdQOQPYPSo1YIu8wrkGuho19BJNmXXYOCedrnGIUZY09X6GZaCNXv3wvbj1cGLHgb71wX+28gvWvlGuo1/vCK38I9XB2/hHqR0/ya38o9X5Ib98foUU0HyX9B5Ssf/qv6D/zr+H9V+xZV/KALhL+YUwTYD0m/oFEsqg91v6xR0CoPs7+2UsQJF3E/wBHECR/D3RIagkCG3U8+R26lniP3tniJWYIj/OZ9CXmJY+o2fkkllcPjtn6JBo6DNCCCQbXMg5AgwKogMxdQBSmGbAS6ZgCJOoZBNMCCIbXOApBwwkOisg09GoKyXGGYzFChkBYqEpAUCBYliIZOBYEGiWEhvIFiQKOZyHgjkBIrQNAgCUpnhEzvXsEnDPmGCEF5hkE+ioJSXGGYzKyhkBY64ZAsGOYliNgODMLbNgJiTQakoMlSvGKRXPGxzNyhgBY6EdA6GBZGjmOXBMBQo4hI/COIEjmAuCENQ4AimhzAEBYa4jBHKOIVBIYuEYkHjoMstYZyTKOYTTgjlFQb5JBRKeYlhNjOFQlZgSExWoVgUKUpyWAhLVAqn3BbCJpGiIeWFgEGimM+DIZRXGIS5MRTBNgVCtgxhguSwkGjRgmNImwMhqYZRQcxQl2vDSadloM3A4ZyVOBbSchgYxAzdla3D++0iHhkkZvTsHiGGH+vuUn4e6eyCj3S1GUG7O9rQI91CutDuniH6SGefTrS7rw8+0pVmG+3uT4lHBrEZSbt729Cj3Vy60mM9XfR3OmM60+OdMfpIZ5/utLuvDz7S1WdD7e7qg1nXKT+Spvzo8flTjPIaB31WFQO9xkCbW0UpK2wjMf1qi42RrJNLzeK40ziIv6oyCoUckV9Exsgv/JJE87oYSnTeIWR8MTqIGYqJYJxDJYPkwFcSBYawfDGKskDeJaaSZT2innXAJDOOopJBNvGMU1bKMJuNxjEr5Vh2jjiFQy5tjVFOyjGXy5aBTuQoTXFjOA3wLjH7jfFR5bDLimOkkzhmU+UYZZUMsulznLISw2hOHWWpnnXAn8A5isoOyGXgbaNO5x1sbh5DrZJBNl+PU1bimE/iY5zXGBhS+ygYNA76hD8Geo2DKQ2QsUlmOMkPpDiRt3CbOJjDVmRozCekaBQ5GtIMGRpEjsbsQ8ZGNYNtViInrcSxmKrIyKjmsEthzFgn5qjLbMxQJ2YoJjxyDhUG+SRISnkpw+6ysZzCoZgtycCoMnhXFiXttiu+cwDMs9zVEfWdHXwG5q4+PrSzW0rP3NUzRXd2jumbu/rG4M6uNrtzVzcb2N0lJH7u7BaCO7v6vNBdHX0o64ZJo5xGhUMukZRRTmKYzy6lmJc4ZlNOGWUVBu1IQ6U9doR3d095qju7pzDvHhNZWa+oMtgluFLQKRySKzYx2OZASoNlXJIznOTH8g4kwLq41FnKOiWDbDotp6y0hU1DTk35Am3eLaeslGM+GTcjvZrBPkmXs17MUJe7y0mncTBk9DIyiBmKib6cQyWDQvIvB4OawTEpmNNR5rjPFmas1zjocogZ56Qcc4nFGejEbdTmG2+xVt2CXR5yDjuVwS4/mYJO4ZDPWWaY1zgY3jeRdgbY3GbOWCnH8oTnrEsefry7y4h+tLsLP949pkw/OkIk+CDTxOdrmvhc+URryniJYS77mlJOyaCQkc3BoHLYZWoz0kkcY+nbjGaRrU4xtTvvEwNbXXzWd97ByxxP6eAMT3KGpzxxzieddaAZ5LQD1XkHm1vOUKtk0CJ7seiUDHI56BxzGgdjZjpDo8rgkLFO0aBtgTL76zhoW2DMbs/pGMi6+MR3jnuRoyQfntFE5x0wU56RKHCEJs8zlAbyLjavPqOtloM22z4DrZaDNgc/A62Wgy4zPyOdmKM+YT9jvcphmsjPeBpgXUiOP+1AZI5j8j8DUeCIqwdgkJM45ooEGOakHMPKgQxDiWGxnICCUWRoqjKgbFI57KsPGOo1BvqaBMp5yWFZoYLlMi0HbflCBlptC2RFDXkPFsy7xpqHrFfUtzvEV0G5uIW6IomcdWoOu+KJjHVijvqaioz1ag7bWosMtVoO2gqMDLRaDrq6jIx0okO3yzUsvC07PNRxWCg0SMiWdaSgbZLwKrwUjS0StHUfKWqbJIyFICmKLRbUc0Gjei5I2FeKJMALBLHFIwmwzRT21SQx7tsUsPUlBLBtCiwnEl2ywW0BConaNgVsSQoBbJsAtkglxW2ThF3VSoq7NgFsHUuK22YK28KWGLUtGgyFLoQIEsFc9UtiXDsBoR4mEkEgSBfSBmKLBGWftgAbJIQVNCmGLRp0FTUk7oSExCKbyEQlQVh4E+PYSCFXhxODrknCqTAnMUmjoC/XIZhXKHTXkvgdOUh9RU+M+nYCfI1PBHybAq7qhxBOIEgoBEpMUBJki4MiYFs06IuFCOAVCtkCIoLYNgV8SRFBvEIgX2aUGC8QxFUeJcK1CZBqkRKUNAKSCqVEEpGitnCJULZNASxlInFsprCtbYpR26JBW+tEwrZNAVf9RAgnUAQLogiATRK2FVIpbJsp7EumYty3CUCKqBJFRI762ipGei2BWHEVCWyQkIF0NGIjhVI9VgSSRLBQpJWooBAoFG4lKCgJssVcEbAtEvTFXSnuBYKEeq/EBCVBrgYsEq6ZwqEoLAJBoIivEyOMVwiEtWMJwBYJ+lqyFPcCQUJ5WWKCQiBacpZAqibYlaJFyjVp2NWmEcAJBHHlaolwbQLYArYUt00SdhVtKe7aBMAatxTGFg3SjbStFCQ1cBEhGgFtZVxibJOEfalcAryQkFg9F5moEChV1CUsaQn0dXYR8m0KYOUdiWOThGkpXqKoSmFbokcw23YAL9qzDJc45iv5GOc1Drr6PsY5KcdC0V+GBpnjthqQkVbhkK8QZJjXOBjrBhkaVQ6zekLWgUWyTqHWkHcIag7bGsQMtZoDtyoTLbqlZnCoWORwULfgWMmY8zGQdXFFjpx2Wgba0kfOWSnDXD0k55yWgaFKkqNBzeFQPZnRQc7wWFbJ8ShnuK235KiVMswVYXLOaRbMSjORyySK+UIPQnmFQr4AhEBeoVAoBiFUkChGiz0JSmWK+6ISQnrFQnllKGK5xkBXL0oxpzAo1JBSLGgMtJWllLICRUKxKYGCxDHjnxuYwJBYlEqxKHLU1aoy0EkMCwWslAsaB11ZK+OcxDFX68owJ1EsFMASLEgMi1WxFIwiRV2xLMGcQJFYP0uoqDHQV9VSzksUC6W2BAsSxUj9LSGJymFXl8tIJ1HMFesSyAkUIfW7hCMqg7Gul2LYZsBGsvhGsrAr/SWAExgSqoEpFTQG2hphSlmBIbFsmGJRpKirJiaYEzji84hpmwO+5JhBXmMgFiJTCNsMsKXJlLACR7BamSEoUAQLmAmATRq2Fc0kbtsMCDXOFAoaA23lM6WsQBEshiYANlnY/5BMmjTsyqUJ4ASOhApqhgWRo66wmoFOyrGRHe5eYVCswKZcFBlqC7MpZgWGYK02JbDNgFC9TaGgUdDXdBPMKwyydd6UsQJFYuk3oaJGQVsQTiDb5oAtEWeIVRhky8YpYwWO2EpyxliFQaG6nGJBo6CrOSeUEyjiytAJ4gSG2Mp0iljBIm8urjHw5uLaNndUrWN4h0xxV85OQCdwxFe4M8prDMS6dwphmwOY4cMIFCgSi+MJFTUKYsk8YbDJw66GniFO4pgvrGec1zhoy+0ZZhUK+RJ8AnnFQrQsHxHa5oAv1GeQ1xhIy/cpTHXWwRf2U9ZLGeZzTpjAEPfsTRmncAg/CsAYFBjivxNAIS9xTN5KxshbyQH/OQEGeY2B8SMDlIxihtpvD3DQShxLHyRgaJJzfJVxfPbDtwsoFDQGui8aUMwpHIpfOWBgVDlsv37AQKtwKHwRgXFBZKj7UALlnJJB/uMJnPMiR+03FRhnFQbZ7yxQxgockRPbSmxzwH2MgTFOyjD8QgOnUGFQ/GoD5aKYoT1MHOuBr3r4vgOjvMZB99UHxjkpw9KnIDibdNYhfiSC0lFkqPt2BOWcwiD3PQkKOSWD8BsTHEKFQ+G7E4wLIkPxcxSUwnYG9D4XnisWih+twHhsxJD7hkWIuVYIklcdqRWC5BVHaoWg++aFj7lGCNG3HqQZwuT1RWq54PWpVa9PiR3HtbeQeI32EQ8PKXAJY9OJ1tp1fLROJR+cz4ozv0g2MIRIninECya4jNSOaavTncZFIepMS2iM24PUTw+fHu0f4v9qavoR9W+sTp016qOn3xw/e/7td98f1juMO+qFHLtpvu2GE7xqvMEM94EBt6bWe4cZzXzev7+/30e/kP3J9EI1uhVtcZ4pzjPFecY1i/NMcZ4pzjNJLM4zxXmmOM8U55niPFOcZ4rzTHGekcV5pjjPFOeZ4jxTnGeK80xxninOM8V5pjjPFOeZ4jxTnGeK80xxninOM8V5pjjPFOeZ4jxTnGeK8wxJMCBIcZ4pzjOyOM8U5xmnFeeZ4jxTnGeK80xxnsk1DhbnmR0671CcZzhVnGeK84wPFOeZhBfnmeI8k+DiPFOcZ4rzTHGeYUoGFecZChbnmeI8s7t7cZ4pzjO0Q3GeycHiPJNrOVicZ4JenGeK80xxninOM8V5pjjPFOeZ4jxTnGdorRMJF+eZ4jxTnGeK80xxninOM8V5pjjPFOeZ4jxTnGeK80xxninOM8V5pjjPkFptShTnmeI8U5xnivNMcZ4pzjPFeaY4zxTnmeI8U5xn/hudZ1ZTP8o1mPHAOs60+AXE4jVTvGaK14wsXjPFa6Z4zRSvmeI1U7xmitcMkYvXTPGaKV4zxWsmisVrpnjNUKF4zRSvmeI14xrFa6Z4zRSvmeI1QzPxY7N4zRSvmeI1w3N9i9dM8ZopXjPFa6Z4zRSvmeI1U7xmitdM8ZrZ1lmH4jVTvGaK14wsXjPFa6Yi1hPFa6Z4zRSvmeI1U7xmCF28ZhhWvGaK10xSMqh4zRSvmeI1U7xmdnYtXjPFa6Z4zTApx4rXTPGaKV4zj3cvXjPFaybXeYfiNbMzkHUpXjPFa0YWr5nEFa+Z4jVTvGYSULxmitdMRIrXTAKK10zxmileM8VrpnjNFK+Z4jVTvGaK10zWpXjNFK+Z4jVTvGaK10zxmqFU8ZopXjPFa4bVdBOseM0Ur5niNVO8ZorXTPGaKV4zxWumeM0Ur5n/6V4zOG2DaPBBYlOf/PK1frGWZ2LzYsKXM6M3aalPfvn1Ye9r/RPKT3fEft2rjRjWWg1uXp8eHuJ/GkzXVSP+E9br3vc4uB2czco/a2fjbFeGZGpjLWgavVobga+Q5J2o1kZj32olRiObwfrMoMVI9JexljaXWCXfiiHuqRFkT01r7rVZVnIUq6rBY3Oo5ptqGGGchj1cxMKIYajEYO9IYtj7hwrL2Z/j+zjsapyvDXr22FmPaxa9bOzKDWsj1Vite1D4mmHb32a3rwr3csFph/Yn1W+iEcyoRzx0hmFyw/gBpBrFwn6eaKtHgz5AfS/aP9ZL4/E1/sFe9mz4g30m9Wd6zaFZ9nrxh/q4uYu7l3RS02pu+yQ3Hj3N7aXgd2bmXx0pbPe/vEbo3STaGYz/tMHQ9l5w17g/P0a6PJ/DMFYX1gRKtNWL0V293JT9C8NveSI95hD1P8UT6k6K+xleVPC4wbWyGemmdbe4/+o4+v/EJypcdWeDgvXQ6dFtC5imk3d/7IDZmqBeLzSdoOJJVTypiidV8aQqnlTFk6p4UgWleFIVTypZPKmyaPGkKp5UxZOqeFJFvXhSFU+q4klVPKmKJ1XxpCqeVMWTqnhSFU+q4klVPKlopnPxpCqeVMWTqnhSFU+q4klVPKmKJ1XxpCqeVMWTqnhSFU+qhBVPquJJVTypiidV8aQqnlTFk6p4UmUaB4snlVOLJxWliifVzm7Fk6p4Uj0e5t2LJxWliidVUosnVfGkeiz8ePfiSVU8qYonVfGkKp5UxZOqeFIVT6riSRWDxZOqeFIVT6riSVU8qYonVfGkKp5UxZNqKJ5UxZOqeFIVT6riSVU8qYonFZMYVjypiidV8aQqnlTFk6p4UhVPquJJVTypiidV8aQqnlTFk6p4UhVPqv/3nlR79Z0wA3cQSf4zK/gsV+gy8fTo+Nvj7755fvztXo3lMFbcj+p3xMJlvvnjrkA7nC+Cm8t/x3CPGbu83NTOv8OaOv0ZLyN0YxrWsNt55L/sre/Vn9xCNMVC4yxpRIseINZI5tfM82WnlxjzDrP+Xc+eHYrvjg8P98XT7+f7x0ft8T58e/R8//j4+fNnz46PDw8P0dnL+4xdOVeoo2q/+utR9fTw6fHWV1d+kGYYg32UvqnGTlSYBjQKU93oxr6vqbSqMFGvuhEwTu4rfLkR2fEjRmRWPzp2PcZpqE/qJn51lrtLHT3b5QP13S5LqaNt76fjXdZOT7edmw65gRFZ9+ujw5NvDk8OD/9ec4OitB2H10fPTo6fWcbbne0yF/OdcZ8eHx7hzuMU9zyrGiNa+6tPP1T3wohK6RGNvjANvK20qcCISqo76GX7xA36zfagl8Ks5DBYtzChpGifVB8HYaoemuVQhQOwWkds8GMdb4913UWvN9FWRjjHnuoeBrtu9s3sE2uStxJjp/HIXKNLHtqOAbrt1Aewlgd3RwfxpBsOvg79tHg48KfwcPDV/2sm24cDa6GG2vLhAA8WYfBaZz3kJtPXJ3U3juvh5ADHfYI2Z+LJoLeO5kuj26nxvkm058nBQa8b6Ds9jCffuZOEdz3HcI3ec8HA7goN5dzZuNvGLl4IwIbrvVriSJ2A1l6R/Vn4f/ZfXL7bd0B2HFy+q5ZiUwEb+EnljeWqjZ5MFSCp7MkZR6vccuxO3G2ll5zwcAFP8ULV63u7QShoI79Y8lS3Ykv8aOfuALUDfRBCYh/W6wN76i5FxljJ7rxGr9284YWwPqk/CGgraBq0uxt1PJ7wOnJvpL1U/Iz/3cngUdb0+LPoaTpP7Mb9X1yFrRPdzXi256phWq+1sa6Icz12FZvRqtGtqHAXWMs+t03s5MfYk+oHbR4L7nlzQVH9BdbrmcQLXt/b0Wey/Uu1xuoArLwLR4udkGjbuIZNr6F1G9cIdDoEXFGPob9gPF8rWK8ruoDBnfBot+j9L1/qduOdIYm55SOf94ryjjvHt/tPv8cr67Ojk6ffPTn89ujvu+4jO6l0W66/uYHvnt08P95/9u3Rt/vHz54/3Z9/c9PsP22+f/7NzfPncAPPd7pexlXjXpnEnC0YeeX+XQ94yt9oezSGR7ZOVJd4fao+vL66xrO3Js9t9eGTwydHW5Oz3Qn9JT/JQY4VXgN+m2SzrOzMVYsJLw14BN1MfW8vD61uJrSCdIcZjNUvrbgTPfo/DvFi+eu/hUvojiBeVveNuBFGqEYcSDXGK+m/o5kkem+Ce+7yu9muLt4o2dWZXJnFCiSG/Dnxv2MIrdJkI9RAj5o37z9WL95cnt99szWmMyV90ujVwQqWwo7jFnQw7/X8YI0fYhL3B+fvTl+/v3r9ZPw82iN1rfG1mNryXfV2pVuefNFftLYPnZsKVCU+y8GezrbPX4YquWpWvVyKCkfeoyate3jDtosxoBbiSXUaHmncGEPVgKq06jdVB3cCz1JpKjTTq6yZXtVg/o5ocdb95XsUn0fcYGkPODs5X/199he89+ABhsdUutfWe/UJ3m3r+MRspXTDxV1q18bK+KVDfCLFuyOO+fXrHAbx0fQPDyj/NgmDdq6/7tV3YKR7Vv/la91K/FobPtTeQD+I35nQf/vgHz/+vXpss8KtVOFt0j/01vVevRR4bq+X9ob+p5Z46S1T3736k8tOs/an1+HneFn1u+VPrIft+fDrw154wsB94EKnbpn71xtrBRS6Upvcz/v39/f7+JfK/mR6ofBm5DbIDfGiacR6fKSz9djFZ6P4uHf54vr0bb1Xz3Vr/yRa2WeImgy9RxvW8tc+YPDHpqV9KvL/wO3ZOQX0CcqtLf4/rvtO/OtX90D28BB5F3q0R3xkczTujV8fHh7+E4hdhA4= +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Modify an existing cycle's properties like name, description, or date range. Completed cycles can only have their sort order changed. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-generic-asset.api.mdx b/docs/api/update-generic-asset.api.mdx new file mode 100644 index 0000000..67a2373 --- /dev/null +++ b/docs/api/update-generic-asset.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-generic-asset +title: "Update generic asset after upload completion" +description: "Update generic asset after upload completion" +sidebar_label: "Update generic asset after upload completion" +hide_title: true +hide_table_of_contents: true +api: eJztWFtv2zYU/isEX9oCsuWkTtf5aVmatcGK1shlHZAGAS0eW6wpkiUpO56h/z4cUpLlS9q1D3vKiy2Rh+f6nQu1ptqAZV5odcHpiJaGMw/3M1BgRXbPnANPE8rBZVYYJKMjehOISE1EAhFhUw+WlEZqxkmmCyMhkCfUMMsK8GAdHd2uqUAWhvmcJlSxAuiIBg73gtOEuiyHgtHRmvqVwT3nrVAzmtCptgXzqGMpOK12lToNWly8oQm18LUUFjgdeVtCQuGBoToOuZ7H50B98QZXFkyWKOjkZACvh4NBD45/nfSGR3zYY78cveoNh69enZwMh4PBYIAKlkXB7IqOGla1/UHyjkrEr4zImKxJbm4u3tCqqpKDTnCynH3DAXsGf9J27gzLgNQn/4PZ7Zmu4cWqt2zXDxnY3X3MwuW2NlVV3SXUsxnGPMbG0buoIzj/u+YrVCHTyoPy+MiMkSILSEy/OOS+3veFnnyBbB+QV2AFk+IfsGSq7Q4wW0iqqUAECa0IU5w4z3zpSMEUm0EByvc/q8/qHVNcgiNGO9+rj9aUMTdcELExNwhxRKhMllyo2We1lwOkYHYu1CyILcAzzjwjU6FQ56BQH9PEYip6EQMm3H3kg/Fs7Z9oLYGp4IApK6VvYr0DjRx8Dpb4vEFnzhyZACjiyiwD56allCvSSqiqhHrhJcoYM5/lwN9GJ4bQxYS/jLFDJHahtU+4CUcHZjsmodp7kG4AV6MkeDp4PThvO64hkbZQ89BbLpc9LBO90kpQma6d9wSjJxh9G0ZFKb0wzPo0wAcd+wScJ+B8DziotoOstMKvwmxzasSfsDotfQ7K13WJjm7vsOV/xOXjA3uhLTqjlYsGHQ+G+HdovIkQ4FteRH8MB0cHjmyJIpkFjq9MOrIEC0RpT4zVC8GBE20Js0CEWjApeD8yfbnPdAy2EM4hQw5KAO+TGweWSJbNHWlGEGJaMlfzetQmVGOqSxVRUIDPNY/DUZaH6dHndERTZkS6OEpb4Lt0jZNGlcYESNfNEFmlOMSAXTQDZ2klHdHce+NGKfLpG8kU9J3eS+Sx1bzMwguGbHNylKZSZ0zm2vnR6zgJbh99j9sUg9kg4gqrRwzpYVy0acXCNk3iWJgD42A3g+HfvdPxRS8S7DhwfEHmsCJsi3GfjGNUyUqXljREQoV8bLmRKCeE5zA2N2UPBRzjDC71MhiEC9rW1eNMc9hbvAm+S3Et1WmzBT1mDAbI6zns0ISlELxMm+g3CwyxcAmMExYgT7wmFpwubQaOJnRphUcVP+H/QRpEVSYFKH+2yYBg3P+owl6piR7fiRxxpTHahnIz0T4nWx4lONAQDEEo5NGmrbTGvT75Q9vHNpO6TwB5xoy5F8p5JmXgfi/4M9Je1Rq0BIe09dCwVWgtwbgMxAIIQ0Vrsp3GZAzpCsBCUCUUZ/vLzS2gLrmP1WehpjrEqm4O1zmQMWYvuTy/ukZs04RipkevDvqD/tFemuwfwk77l3DCE8yQr6XI5thlrSezEhMH/YvFNSQP11mJ/blu3Z7ccliAxG7p2lJy97wpMAc2sej0LEzBgsogFcq3deYFtl68BrEsXIPqnA/q0mSndnXqFhRM4FaNmN/arSqhUmSgHHTYvf1wQ07fjt8vXu7xnAmfl5N+pou0YHMIfKKgdCL1JDUWFgKW6fuLs/MPV+d9/+BDHHFAKZjqCPnBzwJbMepcBX+UT12jPDx41Ftg6Y42ruvmcYsFFnGC0Ng0EJrQUX11jj0EFzqfIvC+ivUeGazXE+bgxsqqwuWvJeAN+fYuoQtmBZsgOG/XlAuHz5yOpky63bmoa+Tzy7pVviCdLxcHbWmahMIG0FzaaULnsOp+O8GG9VPy9z4k/IQW8dJ/VyVN90JvxK2zKLN3jQw2R79/c8Ne2o4D49Prs3c0oZP6y0EReg7tkCfdlzBzhYa03WbnoYvWD6jjQbO6HTcagb/o4IPk63Vs4FXV0setR0+0LT5So4fvqqr6Fxk47kg= +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Update generic asset after upload completion + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-intake-work-item.api.mdx b/docs/api/update-intake-work-item.api.mdx new file mode 100644 index 0000000..1adb31c --- /dev/null +++ b/docs/api/update-intake-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-intake-work-item +title: "Update intake work item" +description: "Modify an existing intake work item's properties or status for triage processing. Supports status changes like accept, reject, or mark as duplicate." +sidebar_label: "Update intake work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Modify an existing intake work item's properties or status for triage processing. Supports status changes like accept, reject, or mark as duplicate. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-issue-link.api.mdx b/docs/api/update-issue-link.api.mdx new file mode 100644 index 0000000..c38dcf8 --- /dev/null +++ b/docs/api/update-issue-link.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-issue-link +title: "Update an issue link" +description: "Modify the URL, title, or metadata of an existing issue link." +sidebar_label: "Update an issue link" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Modify the URL, title, or metadata of an existing issue link. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-issue-property-option.api.mdx b/docs/api/update-issue-property-option.api.mdx new file mode 100644 index 0000000..4048581 --- /dev/null +++ b/docs/api/update-issue-property-option.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-issue-property-option +title: "Update an issue property option" +description: "Update an issue property option" +sidebar_label: "Update an issue property option" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Update an issue property option + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-issue-property.api.mdx b/docs/api/update-issue-property.api.mdx new file mode 100644 index 0000000..f1956f5 --- /dev/null +++ b/docs/api/update-issue-property.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-issue-property +title: "Update an issue property" +description: "Update an issue property" +sidebar_label: "Update an issue property" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Update an issue property + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-issue-type.api.mdx b/docs/api/update-issue-type.api.mdx new file mode 100644 index 0000000..f333bf1 --- /dev/null +++ b/docs/api/update-issue-type.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-issue-type +title: "Update an issue type" +description: "Update an issue type" +sidebar_label: "Update an issue type" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Update an issue type + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-issue-worklog.api.mdx b/docs/api/update-issue-worklog.api.mdx new file mode 100644 index 0000000..627464b --- /dev/null +++ b/docs/api/update-issue-worklog.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-issue-worklog +title: "Update a worklog entry" +description: "Update a worklog entry" +sidebar_label: "Update a worklog entry" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Update a worklog entry + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-label.api.mdx b/docs/api/update-label.api.mdx new file mode 100644 index 0000000..8dad035 --- /dev/null +++ b/docs/api/update-label.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-label +title: "Update a label" +description: "Partially update an existing label's properties like name, color, or description." +sidebar_label: "Update a label" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Partially update an existing label's properties like name, color, or description. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-module.api.mdx b/docs/api/update-module.api.mdx new file mode 100644 index 0000000..fe68814 --- /dev/null +++ b/docs/api/update-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-module +title: "Update module" +description: "Modify an existing module's properties like name, description, status, or timeline." +sidebar_label: "Update module" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Modify an existing module's properties like name, description, status, or timeline. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-project.api.mdx b/docs/api/update-project.api.mdx new file mode 100644 index 0000000..aa49acb --- /dev/null +++ b/docs/api/update-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-project +title: "Update project" +description: "Partially update an existing project's properties like name, description, or settings." +sidebar_label: "Update project" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Partially update an existing project's properties like name, description, or settings. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-state.api.mdx b/docs/api/update-state.api.mdx new file mode 100644 index 0000000..61d492e --- /dev/null +++ b/docs/api/update-state.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-state +title: "Update state" +description: "Partially update an existing workflow state's properties like name, color, or group." +sidebar_label: "Update state" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Partially update an existing workflow state's properties like name, color, or group. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-user-asset.api.mdx b/docs/api/update-user-asset.api.mdx new file mode 100644 index 0000000..3ec5012 --- /dev/null +++ b/docs/api/update-user-asset.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-user-asset +title: "Mark user asset as uploaded" +description: "Mark user asset as uploaded" +sidebar_label: "Mark user asset as uploaded" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Mark user asset as uploaded + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/update-work-item-comment.api.mdx b/docs/api/update-work-item-comment.api.mdx new file mode 100644 index 0000000..51346bb --- /dev/null +++ b/docs/api/update-work-item-comment.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-work-item-comment +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Modify the content of an existing comment on a work item." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Modify the content of an existing comment on a work item. + + + + + + + + +Updated comment content

","external_id":"1234567890","external_source":"github"},"description":"Example request for updating an issue comment"}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","description":"Serializer for creating work item comments.\n\nHandles comment creation with JSON and HTML content support,\naccess control, and external integration tracking.","properties":{"comment_json":{},"comment_html":{"type":"string"},"access":{"enum":["INTERNAL","EXTERNAL"],"type":"string","description":"* `INTERNAL` - INTERNAL\n* `EXTERNAL` - EXTERNAL","title":"AccessEnum"},"external_source":{"type":"string","nullable":true,"maxLength":255},"external_id":{"type":"string","nullable":true,"maxLength":255}},"title":"PatchedIssueCommentCreateRequest"},"examples":{"IssueCommentCreateSerializer":{"value":{"comment_html":"

Updated comment content

","external_id":"1234567890","external_source":"github"},"description":"Example request for updating an issue comment"}}},"multipart/form-data":{"schema":{"type":"object","description":"Serializer for creating work item comments.\n\nHandles comment creation with JSON and HTML content support,\naccess control, and external integration tracking.","properties":{"comment_json":{},"comment_html":{"type":"string"},"access":{"enum":["INTERNAL","EXTERNAL"],"type":"string","description":"* `INTERNAL` - INTERNAL\n* `EXTERNAL` - EXTERNAL","title":"AccessEnum"},"external_source":{"type":"string","nullable":true,"maxLength":255},"external_id":{"type":"string","nullable":true,"maxLength":255}},"title":"PatchedIssueCommentCreateRequest"},"examples":{"IssueCommentCreateSerializer":{"value":{"comment_html":"

Updated comment content

","external_id":"1234567890","external_source":"github"},"description":"Example request for updating an issue comment"}}}}}} +> + +
+ +This issue has been resolved by implementing OAuth 2.0 flow.

","comment_json":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"This issue has been resolved by implementing OAuth 2.0 flow."}]}]},"actor":{"id":"550e8400-e29b-41d4-a716-446655440001","first_name":"John","last_name":"Doe","display_name":"John Doe","avatar":"https://example.com/avatar.jpg"},"created_at":"2024-01-01T10:30:00Z","updated_at":"2024-01-10T15:45:00Z"}}}}},"description":"Work item comment updated successfully"},"400":{"description":"Invalid request data provided"},"401":{"description":"Authentication credentials were not provided or are invalid."},"403":{"description":"Permission denied. User lacks required permissions."},"404":{"description":"Comment not found"},"409":{"description":"Resource with same external ID already exists"}}} +> + +
+ + + \ No newline at end of file diff --git a/docs/api/update-work-item.api.mdx b/docs/api/update-work-item.api.mdx new file mode 100644 index 0000000..8de775d --- /dev/null +++ b/docs/api/update-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: update-work-item +title: "Partially update work item" +description: "Partially update an existing work item with the provided fields. Supports external ID validation to prevent conflicts." +sidebar_label: "Partially update work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Partially update an existing work item with the provided fields. Supports external ID validation to prevent conflicts. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/apps/build-plane-app.mdx b/docs/apps/build-plane-app.mdx new file mode 100644 index 0000000..f198247 --- /dev/null +++ b/docs/apps/build-plane-app.mdx @@ -0,0 +1,728 @@ +--- +title: Build a Plane App (BYOA) +sidebar_label: App development +description: Step-by-step development guide to build and integrate an app with Plane using OAuth-based authentication and authorization workflow. + +siderbar_position: 2 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +:::info +Plane apps are currently in **Beta**. Please send any feedback to support@plane.so. +::: + +## Introduction +Plane apps seamlessly integrate tools and services with Plane so you can +use them without ever leaving your Workspace. Apps are conveniently available +from our [marketplace](https://plane.so/marketplace/integrations), helping you +stay focused and productive. + +## Why Build a Plane App? + +**Stop doing manual work.** +Plane integrations eliminate repetitive tasks like copying updates between +tools, creating work items from support tickets, and generating status reports. +Instead of spending hours on administrative work, let your app handle it +automatically. + +**Connect everything you already use.** +Your team probably uses dozens of different tools. Plane apps create a unified +workflow by connecting your favorite CRM, time tracking app, CI/CD pipelines, +communication tools, and more, together into Plane. One change in Plane can +trigger updates across your entire tech stack. + +**Build exactly what you need.** +Unlike rigid SaaS platforms, Plane's open core nature means you can create +integrations that fit your specific workflow. + +## Prerequisites + +- A [Plane](https://app.plane.so) workspace +- Admin access to your workspace settings +- Familiarity with OAuth 2.0 concepts (authorization code flow) +- A backend server to handle OAuth token exchange + +## High-Level Workflow + +1. [Register your app on Plane developer portal](/apps/build-plane-app/#registering-your-app) +2. [Implement OAuth flow](/apps/build-plane-app#implement-oauth-flow) +3. [Obtain and store access tokens securely](/apps/build-plane-app#obtain-and-store-access-tokens-securely) +4. [Make authenticated API requests to Plane](/apps/build-plane-app#make-authenticated-api-requests-to-plane) +5. [Handle token refresh](/apps/build-plane-app#handle-token-refresh) + +## Registering Your App + +To build an OAuth application with Plane: + +1. Navigate to `https://app.plane.so//settings/integrations/`. +2. Click on the **Build your own** button. +3. Fill out the form with the required details: + + - **Setup URL**: Provide the URL that users will be redirected to when they click "Install" from the marketplace or from the app listing. This URL should initiate the OAuth flow for your application. + - **Redirect URIs**: Provide the URIs where Plane will send the authorization code after the user consents to the app. + - **Webhook URL Endpoint(Optional)**: Your service's webhook endpoint. Plane will send an HTTP `POST` request to this endpoint upon every change to the workspace in which your app was installed. + - **Contact Details**: Add your email or other contact information. + - **Organization Details(Optional)**: Optionally include your contact email, privacy policy URL, terms of service URL, and any other relevant information. This helps Plane validate and approve your application should you choose to [list in the marketplace](#listing-your-app-on-plane-marketplace). + +4. If you're building an agent (with or without using Plane's ADK) capable of performing operations when assigned or mentioned, enable the **Enable App Mentions** checkbox during app creation. +5. Once the app is created, securely store the generated **Client ID** and **Client Secret**. You will need these credentials to interact with Plane's API during the OAuth flow and for making authenticated API requests. + +## Implement OAuth Flow + +### Generating Consent URL (Optional) + +This step is optional. This is needed only if the app should be installed from outside Plane's environment, the developer needs to generate the consent URL using the client ID generated during their app creation flow. + +If this flow needs to be triggered from Plane marketplace as well, then provide the URL in "Setup URL" field on application create screen to redirect the user from marketplace on clicking "Install App" button. + +Below are sample implementations: + + + + ```python + import os + from urllib.parse import urlencode + params = { + "client_id": os.getenv("PLANE_CLIENT_ID"), + "response_type": "code", + "redirect_uri": os.getenv("PLANE_REDIRECT_URI"), + } + consent_url = f"https://api.plane.so/auth/o/authorize-app/?{urlencode(params)}" + ``` + + + ```typescript + import { URLSearchParams } from 'url'; + const params = new URLSearchParams({ + client_id: process.env.PLANE_CLIENT_ID!, + response_type: "code", + redirect_uri: process.env.PLANE_REDIRECT_URI!, + }); + const consentUrl = `https://api.plane.so/auth/o/authorize-app/?${params.toString()}`; + ``` + + + +There are two types of authenticated actions your application can perform: + +1. **User-authorized actions**: Actions performed on behalf of a user after they grant permission to your app via OAuth. +2. **App-authorized actions**: Actions that the app can perform independently within the workspace where it is installed (such as responding to webhooks or automation triggers). + +For both these flows, Plane will make a GET request to the Redirect URI with parameters as mentioned in the following sections. + +We will describe how to configure and use each type in the following sections. + +### App-Authorized Actions (Client Credentials Flow) + +When the app is installed, Plane will send both a `code` and an `app_installation_id` as part of the callback to the Redirect URI provided during consent URL generation. You can use this `app_installation_id` to request a bot token for your app. + +Plane will make a GET request to the Redirect URI with below parameters: + +| Parameter | Description | +|-----------|-------------| +| code | Authorization code (present but not used for client credentials flow) | +| app_installation_id | The unique identifier for the app installation in the workspace | + +#### Examples + + + + + ```python + import os + import time + from plane.oauth.api import OAuthApi + from plane.oauth.models import OAuthConfig + + # Initialize OAuth API + def get_oauth_api(): + oauth_config = OAuthConfig( + client_id=os.getenv("PLANE_CLIENT_ID"), + client_secret=os.getenv("PLANE_CLIENT_SECRET"), + redirect_uri=os.getenv("PLANE_REDIRECT_URI"), + ) + return OAuthApi( + oauth_config=oauth_config, + base_url=os.getenv("PLANE_BASE_URL", "https://api.plane.so"), + ) + + # Get bot token using app installation ID + oauth_api = get_oauth_api() + token_response = oauth_api.get_bot_token(app_installation_id) + + # Get app installation details + app_installations = oauth_api.get_app_installations( + token_response.access_token, + app_installation_id, + ) + + if not app_installations: + raise Exception(f"No app installations found for app installation ID {app_installation_id}") + + app_installation = app_installations[0] + bot_token = token_response.access_token + expires_in = token_response.expires_in + ``` + + + + + ```typescript + import axios from 'axios'; + + // Prepare basic auth header using client_id and client_secret + const clientId = "your_client_id"; + const clientSecret = "your_client_secret"; + const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); + + // Prepare request data + const payload = { + grant_type: "client_credentials", + app_installation_id: appInstallationId + }; + + // Make a POST request to fetch bot token + const response = await axios.post( + "https://api.plane.so/auth/o/token/", + payload, + { + headers: { + Authorization: `Basic ${basicAuth}`, + "Content-Type": "application/x-www-form-urlencoded" + } + } + ); + + // Parse the response + const responseData = response.data; + const botToken = responseData.access_token; + const expiresIn = responseData.expires_in; // Token expiry in seconds + ``` + + + + +### User-Authorized Actions (Authorization Code Flow) + +In this flow, your app exchanges the `code` received as a query parameter on the callback (to your Redirect URI) for an access token and refresh token. The access token is short-lived and must be refreshed using the refresh token when it expires. Both tokens should be securely stored. + +Plane will make a GET request to the Redirect URI with below parameters: + +| Parameter | Description | Required | +|-----------|-------------|----------| +| code | The authorization code that can be exchanged for an access token | Yes | +| state | The state parameter that was passed in the authorization request | No | + +#### Examples + + + + + ```python + from plane.oauth.api import OAuthApi + from plane.oauth.models import OAuthConfig + + # Initialize OAuth API + oauth_api = get_oauth_api() # Using the helper function from above + + # Exchange authorization code for access and refresh tokens + code = "authorization_code_from_callback" + token_response = oauth_api.exchange_code_for_token( + code, + "authorization_code", + ) + + # Parse the response + access_token = token_response.access_token + refresh_token = token_response.refresh_token + expires_in = token_response.expires_in + ``` + + + + + ```typescript + import axios from 'axios'; + + // Exchange authorization code for access and refresh tokens + const code = "authorization_code_from_callback"; + const clientId = "your_client_id"; + const clientSecret = "your_client_secret"; + const redirectUri = "your_redirect_uri"; + const payload = { + grant_type: "authorization_code", + code: code, + client_id: clientId, + client_secret: clientSecret, + redirect_uri: redirectUri + }; + const response = await axios.post( + "https://api.plane.so/auth/o/token/", + payload, + { + headers: { + "Content-Type": "application/x-www-form-urlencoded" + } + } + ); + const responseData = response.data; + const accessToken = responseData.access_token; + const refreshToken = responseData.refresh_token; + const expiresIn = responseData.expires_in; + ``` + + + +### Fetching App Installation Details + +In both user-authorized and app-authorized flows, the `app_installation_id` identifies the app's installation within a specific workspace. It is recommended that developers fetch workspace details after OAuth is successfully completed. Plane provides an `app-installation` endpoint that works with both types of tokens. + +#### Examples + + + + + ```python + # Using the OAuth API to fetch app installation details + oauth_api = get_oauth_api() + app_installations = oauth_api.get_app_installations( + token, # Either access token or bot token + app_installation_id, + ) + + if app_installations: + workspace_details = app_installations[0] + print(f"Workspace: {workspace_details.workspace_detail.name}") + print(f"Workspace Slug: {workspace_details.workspace_detail.slug}") + print(f"Bot User ID: {workspace_details.app_bot}") + ``` + + + + + ```typescript + import axios from 'axios'; + + // Set authorization header with either access token or bot token + const headers = { + Authorization: `Bearer ${token}`, + }; + + // Make GET request to fetch installation/workspace details + const response = await axios.get( + `https://api.plane.so/auth/o/app-installation/?id=${app_installation_id}`, + { headers } + ); + + const workspaceDetails = response.data[0]; + ``` + + + + +#### Sample Response + +The app installation endpoint returns an **array** of installation objects. Typically, you'll want to use the first element `[0]`: + +```json +[ + { + "id": "34b97361-8636-43dc-953e-90deedc8498f", + "workspace_detail": { + "name": "sandbox", + "slug": "sandbox", + "id": "7a2e5944-c117-4a7d-b5f4-058fe705d7d1", + "logo_url": null + }, + "created_at": "2025-05-16T13:50:27.865821Z", + "updated_at": "2025-06-23T08:57:26.976742Z", + "deleted_at": null, + "status": "installed", + "workspace": "7a2e5944-c117-4a7d-b5f4-058fe705d7d1", + "application": "ab235529-388a-4f51-a55a-78272251f5f1", + "installed_by": "63333ab1-c605-42fc-82f7-5cd86799eca1", + "app_bot": "7286aaa7-9250-4851-a520-29c904fd7654", // Bot user ID for your app in this workspace + "webhook": "b1f4b7f1-51e8-4919-a84c-0b1143b51d2c" + } +] +``` + +**Key fields to note:** +- `app_bot`: The bot user ID that represents your app in the workspace +- `workspace_detail.slug`: The workspace slug needed for API calls +- `workspace`: The workspace ID for identifying the workspace +- `status`: Should be "installed" for active installations + +## Webhook Payload Structure + +When Plane sends webhooks to your application, the payload contains information about the event that occurred. Understanding this structure is crucial for processing webhooks effectively. + +### General Webhook Structure + +All webhooks follow this general structure: + +```json +{ + "event": "string", // Type of event (e.g., "issue", "issue_comment", "project") + "action": "string", // Action performed (e.g., "created", "updated", "deleted") + "webhook_id": "string", // Unique identifier for the webhook + "workspace_id": "string", // ID of the workspace where the event occurred + "data": { // Event-specific data (varies by event type) + "id": "string", + // ... other fields specific to the event + }, + "activity": { // Information about who performed the action + "actor": { + "id": "string", + "first_name": "string", + "last_name": "string", + "email": "string", + "avatar": "string", + "display_name": "string" + }, + "field": "string", // Field that was changed (for update events) + "new_value": "any", // New value (for update events) + "old_value": "any" // Previous value (for update events) + } +} +``` + +### Common Event Types + +#### Issue Comment Events + +When someone comments on an issue: + +```json +{ + "event": "issue_comment", + "action": "created", + "webhook_id": "uuid", + "workspace_id": "uuid", + "data": { + "id": "comment_id", + "issue": "issue_id", + "project": "project_id", + "workspace": "workspace_id", + "comment_html": "

Full HTML comment content

", + "comment_stripped": "Plain text comment content", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + }, + "activity": { + "actor": { + "id": "user_id", + "display_name": "User Name", + "email": "user@example.com" + } + } +} +``` + +#### Issue Events + +When an issue is created, updated, or deleted: + +```json +{ + "event": "issue", + "action": "updated", + "webhook_id": "uuid", + "workspace_id": "uuid", + "data": { + "id": "issue_id", + "name": "Issue Title", + "description_html": "

Issue description

", + "priority": "high", + "project": "project_id", + "workspace": "workspace_id", + "assignees": ["user_id_1", "user_id_2"], + "labels": ["label_id_1"], + "state": { + "id": "state_id", + "name": "In Progress", + "color": "#f39c12" + }, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + }, + "activity": { + "actor": { + "id": "user_id", + "display_name": "User Name" + }, + "field": "priority", + "new_value": "high", + "old_value": "medium" + } +} +``` + +### Processing Webhooks + +Here's how to process webhooks in your application: + + + + + ```typescript + interface WebhookPayload { + event: string; + action: string; + webhook_id: string; + workspace_id: string; + data: any; + activity: { + actor: { + id: string; + display_name: string; + email?: string; + }; + field?: string; + new_value?: any; + old_value?: any; + }; + } + + // Process incoming webhook + async function handleWebhook(payload: WebhookPayload) { + console.log(`Received ${payload.event} ${payload.action} event`); + + // Get workspace credentials + const credentials = await getCredentialsForWorkspace(payload.workspace_id); + if (!credentials) { + throw new Error(`No credentials found for workspace ${payload.workspace_id}`); + } + + // Process specific event types + if (payload.event === 'issue_comment' && payload.action === 'created') { + const comment = payload.data.comment_stripped; + if (comment.includes('/your-command')) { + // Handle your custom command + await processCommand(payload.data, credentials); + } + } + } + ``` + + + + + + ```python + from typing import Dict, Any + from pydantic import ValidationError + + def handle_webhook(payload_data: Dict[str, Any]): + """Process incoming webhook from Plane with Pydantic validation""" + try: + # Validate webhook payload using Pydantic models + webhook = WebhookEvent(**payload_data) + print(f"Received {webhook.event} {webhook.action} event") + + # Get workspace credentials (implement your own storage) + credentials = get_credentials_for_workspace(webhook.workspace_id) + if not credentials: + raise Exception(f"No credentials found for workspace {webhook.workspace_id}") + + # Process specific event types with validated data + if webhook.event == 'issue_comment' and webhook.action == 'created': + comment_data = CommentEventData(**webhook.data) + comment_text = comment_data.comment_stripped or "" + + if '/your-command' in comment_text: + process_command(comment_data, credentials) + + elif webhook.event == 'issue' and webhook.action == 'updated': + issue_data = IssueEventData(**webhook.data) + + if webhook.activity.field == 'assignees': + handle_assignment_change(issue_data, credentials) + + except ValidationError as e: + print(f"Invalid webhook payload: {e}") + except Exception as e: + print(f"Error processing webhook: {e}") + + def process_command(comment_data: CommentEventData, credentials): + """Process custom commands from issue comments""" + from plane.api import WorkItemsApi + from plane.models import PatchedIssueRequest + + # Use the Plane API to respond to commands + # Implementation depends on your specific command logic + pass + + def handle_assignment_change(issue_data: IssueEventData, credentials): + """Handle issue assignment changes""" + # Your custom logic for handling assignments + pass + ``` + + + + +## Obtain and store access tokens securely + +Once you have obtained the access token, you can use it to make authenticated API requests to Plane. +Store the access token and refresh token securely in your database. + + +## Make authenticated API requests to Plane + +For making authenticated API requests to Plane, you can use the access token obtained from the OAuth flow. + +API reference is available at [https://docs.plane.so/api-reference](https://docs.plane.so/api-reference). + +We have official SDKs for the following languages to simplify the OAuth flow and make it easier to call Plane's API. + +| Language | Package Link | Source Code | +|----------|---------|-------------| +| Node.js | [npm i @makeplane/plane-node-sdk](https://www.npmjs.com/package/@makeplane/plane-node-sdk) | [plane-node-sdk](https://github.com/makeplane/plane-node-sdk) | +| Python | [pip install plane-sdk](https://pypi.org/project/plane-sdk/) | [plane-python-sdk](https://github.com/makeplane/plane-python-sdk) | + +## Handle Token Refresh + +Token refresh works differently depending on the type of token you're using: + +### Bot Token Refresh (Client Credentials Flow) + +Bot tokens obtained through the client credentials flow don't use refresh tokens. Instead, when a bot token expires, you simply request a new one using the same `app_installation_id`: + + + + + ```python + # When bot token expires, request a new one using the same app_installation_id + from plane.oauth.api import OAuthApi + + def refresh_bot_token(app_installation_id: str): + """Refresh an expired bot token""" + oauth_api = get_oauth_api() # Using helper function from earlier examples + + # Get new bot token using the same app_installation_id + token_response = oauth_api.get_bot_token(app_installation_id) + + # Store the new token securely in your database + new_bot_token = token_response.access_token + expires_in = token_response.expires_in + + return new_bot_token, expires_in + + # Usage example + new_token, expires_in = refresh_bot_token(app_installation_id) + ``` + + + + + ```typescript + // When bot token expires, request a new one using the same app_installation_id + import axios from 'axios'; + + const clientId = "your_client_id"; + const clientSecret = "your_client_secret"; + const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); + + const payload = { + grant_type: "client_credentials", + app_installation_id: appInstallationId // Same ID used during initial setup + }; + + const response = await axios.post( + "https://api.plane.so/auth/o/token/", + payload, + { + headers: { + Authorization: `Basic ${basicAuth}`, + "Content-Type": "application/x-www-form-urlencoded" + } + } + ); + + // Parse the response + const responseData = response.data; + const newBotToken = responseData.access_token; + const expiresIn = responseData.expires_in; + ``` + + + + +### User Token Refresh (Authorization Code Flow) + +When user access tokens expire, you can use the refresh token to get a new access token: + +#### Examples + + + + + ```python + # When access token expires, use refresh token to get a new access token + from plane.oauth.api import OAuthApi + + def refresh_user_token(refresh_token: str): + """Refresh an expired user access token""" + oauth_api = get_oauth_api() # Using helper function from earlier examples + + # Use refresh token to get new access token + token_response = oauth_api.exchange_code_for_token( + refresh_token, + "refresh_token", + ) + + # Store the new tokens securely + new_access_token = token_response.access_token + new_refresh_token = token_response.refresh_token # May be the same or new + expires_in = token_response.expires_in + + return new_access_token, new_refresh_token, expires_in + + # Usage example + new_access_token, new_refresh_token, expires_in = refresh_user_token(stored_refresh_token) + ``` + + + + + ```typescript + // When access token expires, use refresh token to get a new access token + const refreshPayload = { + grant_type: "refresh_token", + refresh_token: refreshToken, + client_id: clientId, + client_secret: clientSecret + }; + + const refreshResponse = await axios.post( + "https://api.plane.so/auth/o/token/", + refreshPayload, + { + headers: { + "Content-Type": "application/x-www-form-urlencoded" + } + } + refresh_response = requests.post( + url="https://api.plane.so/auth/o/token/", + headers={"Content-Type": "application/x-www-form-urlencoded"}, + data=refresh_payload + ) + refresh_response_data = refresh_response.json() + access_token = refresh_response_data["access_token"] + ``` + + + +## Listing Your App on Plane Marketplace + +Apps built using the OAuth flow can be listed on the Plane Marketplace: [https://plane.so/marketplace/integrations](https://plane.so/marketplace/integrations) + +To list your app, please contact the Plane team at [**support@plane.so**](mailto:support@plane.so). \ No newline at end of file diff --git a/docs/apps/overview.mdx b/docs/apps/overview.mdx new file mode 100644 index 0000000..de9bc54 --- /dev/null +++ b/docs/apps/overview.mdx @@ -0,0 +1,46 @@ +--- +title: Overview +sidebar_label: Overview +description: Plane Apps seamlessly integrate tools and services with Plane, enhancing your productivity. +siderbar_position: 1 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +## Introduction + +Plane Apps let you seamlessly integrate your tools and services with Plane, so you +can use them without leaving your workspace. Build your own or install existing apps +from our [marketplace](https://plane.so/marketplace/integrations) to stay focused +and productive. + +:::tip Beta +Plane Apps are currently in **Beta**. Some aspects of the API may change. Please send +feedback to support@plane.so. +::: + +## Why Build a Plane App? + +### Eliminate Manual Work + +Plane integrations eliminate repetitive tasks like copying updates between tools, +creating work items from support tickets, and generating status reports. Let your +Plane App handle these tasks automatically. + +### Connect Everything You Use + +Your team likely uses many tools. Plane Apps create a unified workflow by connecting +your favorite CRM, time tracking apps, CI/CD pipelines, communication tools, and +more. One change in Plane can trigger updates across your tech stack. + +### Build Exactly What You Need + +Plane's [open core nature](https://plane.so/open-source) means you can create +integrations that fit your specific workflow. + +## Get Started + +Next, follow our [quickstart guide](/apps/build-plane-app) to build your first Plane App. diff --git a/docs/intro.md b/docs/intro.md new file mode 100644 index 0000000..30334cb --- /dev/null +++ b/docs/intro.md @@ -0,0 +1,38 @@ +--- +title: Introduction +slug: / +sidebar_position: 1 +description: Complete developer documentation for Plane - self-hosting guides, REST API reference, webhooks, authentication, and tools for building custom integrations and applications. +--- + +# Self-host, integrate, and extend Plane + +Welcome to Plane's developer documentation. Here you'll find everything you need to deploy, customize, integrate, and extend Plane's capabilities for your organization. + +## What's in here + +import { Card } from '@site/src/components/Card'; +import { CardGroup } from '@site/src/components/CardGroup'; + + + + Deploy Plane on your own infrastructure with full control over your data. + + + Complete documentation of our REST API. + + + Set up real-time notifications so your other systems know when stuff happens in Plane. + + + +## Where to start +Not sure where to begin? Here's what we'd suggest: + +If you're setting up Plane for the first time, start with the self-hosting section. We'll get you up and running. + +If you're connecting Plane to something else, jump to the API reference. Get familiar with how our data is structured and try a few calls. + +## When you get stuck +Things break, documentation isn't perfect, and sometimes you just need to talk to a human. +Reach out on Discord - our community is pretty helpful and we're usually around to answer questions. \ No newline at end of file diff --git a/docs/mcp-server/overview.mdx b/docs/mcp-server/overview.mdx new file mode 100644 index 0000000..91548b4 --- /dev/null +++ b/docs/mcp-server/overview.mdx @@ -0,0 +1,90 @@ +--- +title: MCP Server +sidebar_label: MCP Server +description: Use the Plane MCP server to integrate with Plane +sidebar_position: 1 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +## Introduction + +The [Model Context Protocol](https://modelcontextprotocol.io/overview) (MCP) is a +standardized interface that enables AI models to communicate with external tools and +services. When combined with Server-Sent Events (SSE), it provides a powerful +mechanism for real-time data transfer between AI models and external systems. + +:::tip Alpha +The Plane MCP Server is currently in **Alpha**. Some aspects of the API may change. +While MCP is standardized, it is also rapidly evolving. The Plane MCP Server aims to +provide a stable implementation for developers to build robust AI-powered +applications. Please send feedback to engineering@plane.so. +::: + +## Using the Plane MCP Server + +Follow these steps to integrate with the Plane MCP Server. + +### Claude.ai + +- Open **Settings** from the sidebar on the web or desktop app. +- Scroll to the **Integrations** section and click **Add more**. +- Enter the Integration URL: `https://mcp.plane.so/sse` +- Click **Connect** to link your Plane workspace. + +### Claude Desktop + +Add Plane to [Claude Desktop](https://modelcontextprotocol.io/quickstart/user) by +updating your `claude_desktop_config.json`: + +```json +{ + "mcpServers": { + "plane": { + "command": "npx", + "args": ["mcp-remote", "https://mcp.plane.so/sse"] + } + } +} +``` + +### VSCode + +Connect Plane to [VSCode](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server) +by editing your `.vscode.json` or `mcp.json` file: + +```json +{ + "servers": { + "plane": { + "command": "npx", + "args": ["mcp-remote", "https://mcp.plane.so/sse"] + } + } +} +``` + +If you encounter issues with Plane Auth, run the following command in your terminal to +remove stale auth tokens, then restart the server. MCP Remote servers are still +experimental. + +```bash +rm -rf ~/.mcp-auth/mcp-remote-* +``` + +## Activating the Plane MCP Server + +After setup, when activating the server, you will be prompted in your browser to +connect your Plane workspace to the MCP server. + +When prompted to authorize, click **Approve**. + +Next, choose the workspace you want to connect, review the permissions, and click +**Accept**. + +## Congrats! + +You have successfully connected your Plane workspace to the MCP server! diff --git a/docs/sdks/overview.mdx b/docs/sdks/overview.mdx new file mode 100644 index 0000000..8460839 --- /dev/null +++ b/docs/sdks/overview.mdx @@ -0,0 +1,28 @@ +--- +title: SDKs +sidebar_label: SDKs +description: Use Plane SDKs to integrate with Plane +sidebar_position: 1 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +## Introduction + +Plane offers pre-built SDKs in multiple languages to help you integrate with Plane +quickly and easily. + +:::tip Alpha +Plane SDKs are currently in **Alpha**. Some aspects of the API may change. Please send +feedback to engineering@plane.so. +::: + +## Supported Languages + +| Language | Package Link | Source Code | +| -------- | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------- | +| Node.js | [npm i @makeplane/plane-node-sdk](https://www.npmjs.com/package/@makeplane/plane-node-sdk) | [plane-node-sdk](https://github.com/makeplane/plane-node-sdk) | +| Python | [pip install plane-sdk](https://pypi.org/project/plane-sdk/) | [plane-python-sdk](https://github.com/makeplane/plane-python-sdk) | diff --git a/docs/self-hosting/_category_.yml b/docs/self-hosting/_category_.yml new file mode 100644 index 0000000..1e090f8 --- /dev/null +++ b/docs/self-hosting/_category_.yml @@ -0,0 +1,3 @@ +label: "Self-Hosting" +position: 2 +collapsed: false diff --git a/self-hosting/editions-and-versions.mdx b/docs/self-hosting/editions-and-versions.mdx similarity index 94% rename from self-hosting/editions-and-versions.mdx rename to docs/self-hosting/editions-and-versions.mdx index d6f3c01..fcf7e1e 100644 --- a/self-hosting/editions-and-versions.mdx +++ b/docs/self-hosting/editions-and-versions.mdx @@ -1,8 +1,14 @@ --- -title: Understanding Plane's editions -sidebarTitle: Plane's Editions +title: Understanding Plane's Editions +sidebar_label: About Editions +sidebar_position: 2 --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + Plane comes in three editions by how its deployed. Our Cloud is our only hosted edition as of 2025. Additionally, we offer two unique self-hosted editions tailored to meet two sets of unique needs—the open-source Community Edition and the recommended Commercial Edition. ## About our self-hosted editions diff --git a/docs/self-hosting/govern/_category_.yml b/docs/self-hosting/govern/_category_.yml new file mode 100644 index 0000000..2322fb7 --- /dev/null +++ b/docs/self-hosting/govern/_category_.yml @@ -0,0 +1,2 @@ +label: "Configure" +collapsed: false \ No newline at end of file diff --git a/docs/self-hosting/govern/authentication.mdx b/docs/self-hosting/govern/authentication.mdx new file mode 100644 index 0000000..48566d2 --- /dev/null +++ b/docs/self-hosting/govern/authentication.mdx @@ -0,0 +1,23 @@ +--- +title: Overview +description: Plane offers several methods to log in to your Plane instance. Configure these methods in instance god-mode. +sidebar_position: 1 +slug: /self-hosting/govern/authentication +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +## Authentication methods + +### Unique code + +Plane lets your users log in with codes sent over email. This is disabled if SMTP is +not configured for your instance. See [Communication](https://app.plane.so/plane/projects/e3ea12b0-62e3-4b8d-8ada-3379f4efc563/pages/e83af23e-b120-47b0-b241-2bee39037505) +to set up SMTP if you wish to enable unique codes. + +### Passwords + +Your users can log in with passwords that they or you set for them. This is toggled on when SMTP isn't configured for your instance. Disable it if you would like to use another authentication method below. \ No newline at end of file diff --git a/self-hosting/govern/communication.mdx b/docs/self-hosting/govern/communication.mdx similarity index 84% rename from self-hosting/govern/communication.mdx rename to docs/self-hosting/govern/communication.mdx index 7b91181..cee1f6a 100644 --- a/self-hosting/govern/communication.mdx +++ b/docs/self-hosting/govern/communication.mdx @@ -1,19 +1,26 @@ --- -title : Configure SMTP for email notifications -sidebarTitle: SMTP for Email +title: Configure SMTP for email notifications +sidebar_label: SMTP for Email description: Either during your set-up or sometime later, you will want to set SMTP settings to let your users get emails to reset passwords, onboard themselves right, and get notifications for changes, and receive exports of your data. --- - -Plane currently supports SMTP authentication only via email and password. OAuth-based SMTP configurations aren’t supported. - +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +:::info +Plane currently supports SMTP authentication only via email and password. +OAuth-based SMTP configurations aren’t supported. +::: ## Configuration Plane offers an interface to configure Simple Mail Transfer Protocol (SMTP) and SSL for encrypted email communication. -Navigate to `Email` in `/god-mode`and you will see ↓. -![](/images/instance-admin/email-settings.png) +Navigate to `Email` in `/god-mode`and you will see ↓: + +![](/images/instance-admin/email-settings.png#center) - **Host**\ The address of your SMTP server. @@ -30,15 +37,13 @@ Navigate to `Email` in `/god-mode`and you will see ↓. - **Password**\ Specify the password for the SMTP configuration here. - - +:::tip **Google Workspaces** If your Plane instance is not accessible on the internet, Gmail may block profile photos or other embedded images in email notifications. This occurs because Gmail uses Google's secure image proxy to serve images for security purposes. To resolve this issue, you must configure the Image URL proxy allowlist in your Google Workspace settings to include your Plane instance's URL. Refer to Google’s documentation for instructions: [Allowlist image URLs](https://support.google.com/a/answer/3299041?hl=en). - - +::: ## Configuration for popular email services providers @@ -51,4 +56,4 @@ To resolve this issue, you must configure the Image URL proxy allowlist in your 5. Select **Show User SMTP Credentials** to view the user's SMTP credentials. 6. Return to your Plane instance's `/god-mode` and enter the obtained details. -Ensure to review [**email quotas**](https://docs.aws.amazon.com/ses/latest/dg/quotas.html) for your Amazon SES server. Consider managing email recipients using groups to optimize usage. \ No newline at end of file +Ensure to review [**email quotas**](https://docs.aws.amazon.com/ses/latest/dg/quotas.html) for your Amazon SES server. Consider managing email recipients using groups to optimize usage. diff --git a/self-hosting/govern/configure-dns-email-service.mdx b/docs/self-hosting/govern/configure-dns-email-service.mdx similarity index 90% rename from self-hosting/govern/configure-dns-email-service.mdx rename to docs/self-hosting/govern/configure-dns-email-service.mdx index f2e62fc..5e913cc 100644 --- a/self-hosting/govern/configure-dns-email-service.mdx +++ b/docs/self-hosting/govern/configure-dns-email-service.mdx @@ -1,10 +1,19 @@ --- title: Configure DNS for Intake Email -sidebarTitle: DNS for Intake Email +sidebar_label: DNS for Intake Email description: Configure DNS records to enable automatic conversion of incoming emails into work items in your project's Intake section. --- -This guide explains how to configure DNS settings to enable the [Intake Email](https://docs.plane.so/intake/intake-email) feature for your self-hosted Plane instance. These configurations enable your server to accept messages sent to your project's dedicated Intake address, which are then converted into work items in your project's Intake section. +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +This guide explains how to configure DNS settings to enable the +[Intake Email](https://docs.plane.so/intake/intake-email) feature for your +self-hosted Plane instance. These configurations enable your server to accept +messages sent to your project's dedicated Intake address, which are then converted +into work items in your project's Intake section. ## Prerequisites @@ -17,9 +26,11 @@ If any of these ports are currently in use, you can free them by running: ``` ## Generate SSL/TLS Certificate for Email Domain - + +:::warning Mandatory for Docker Compose deployments only. - +::: + Before configuring DNS records for Intake Email, secure your email domain with an SSL/TLS certificate. This ensures encrypted communication between mail servers and improves email trust and deliverability. 1. **Install Certbot** @@ -74,9 +85,9 @@ Add the following settings to your plane.env file: INTAKE_EMAIL_DOMAIN=intake.example.com ``` - + :::warning Important: `SMTP_DOMAIN` and `INTAKE_EMAIL_DOMAIN` must be identical. - + ::: ## Configure DNS records @@ -91,9 +102,9 @@ This record points to the server running your email service. TTL: Auto | 3600 ``` - + ::tip You can alternatively use a CNAME record if you're using a cloud load balancer. - + ::: 2. **Add an MX Record** This record directs email traffic to your mail server. diff --git a/self-hosting/govern/custom-domain.mdx b/docs/self-hosting/govern/custom-domain.mdx similarity index 89% rename from self-hosting/govern/custom-domain.mdx rename to docs/self-hosting/govern/custom-domain.mdx index 8bb862a..f70c3f6 100644 --- a/self-hosting/govern/custom-domain.mdx +++ b/docs/self-hosting/govern/custom-domain.mdx @@ -1,19 +1,28 @@ --- title: Custom domain -sidebarTitle: Custom domain -description: Host your Plane instance in your custom domain. +sidebar_label: Custom domain +description: Host your Plane instance on a custom domain. --- - + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +:::info With the Commercial Edition, you can set up a custom domain right during installation. If you ever need to change the domain later, just contact our support team for assistance until we ship out a feature that lets you handle domain changes yourself. -
+::: - +
+ Community Edition Our steps differ slightly depending on whether you are hosting on a public IP or a private/internal IP. Follow the steps listed below. ## Update configuration in .env file -This step is mandatory for you to host Plane on a custom domain. +:::warning +This step is mandatory to host Plane on a custom domain. +::: Open your project's `.env` file in a text editor. This file contains configuration settings for your application. Locate the following lines: @@ -54,5 +63,4 @@ If your server is behind a firewall or router and has an internal IP address, yo - Once the reverse proxy is properly configured, ensure that your firewall/router allows incoming traffic on the necessary ports to reach your server. By following these steps, you will be able to access your self-hosted instance of Plane using your custom domain name, whether your server has a public IP address or is behind a firewall with an internal IP address. - - \ No newline at end of file +
diff --git a/self-hosting/govern/database-and-storage.mdx b/docs/self-hosting/govern/database-and-storage.mdx similarity index 95% rename from self-hosting/govern/database-and-storage.mdx rename to docs/self-hosting/govern/database-and-storage.mdx index 833c050..897a777 100644 --- a/self-hosting/govern/database-and-storage.mdx +++ b/docs/self-hosting/govern/database-and-storage.mdx @@ -1,8 +1,12 @@ --- title: Configure external PostgreSQL, Redis and S3 storage -sidebarTitle: External database and storage +sidebar_label: External database and storage --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} The Prime CLI lets you easily configure your Commercial Edition instance, providing options to customize the PostgreSQL database, Redis, external storage, and other advanced settings. @@ -23,11 +27,11 @@ The Prime CLI lets you easily configure your Commercial Edition instance, provid Provide the URL of your external PostgreSQL instance if you want to switch from the default Plane configuration. *Default*: `Postgres 15.5` in the Docker container. - + :::warning Don’t use a database on your local machine. If you use `localhost` in the URL, it won’t work. Make sure to use a database hosted on a network-accessible server. Avoid using special characters in your PostgreSQL password. - + ::: - `External Redis URL` Specify the URL of your external Redis instance to override the default Redis configuration. @@ -70,15 +74,16 @@ The Prime CLI lets you easily configure your Commercial Edition instance, provid ] ``` 3. Switch to your external storage by providing the following values: - - S3 access key ID  + - S3 access key ID - S3 secret access key - S3 bucket name - - S3 region  + - S3 region - S3 endpoint URL 3. After confirming your choices, your instance will automatically restart with the updated configuration. - +
+ Community Edition To configure external Postgres, Redis, and S3 storage for the Plane Community Edition, you’ll need to adjust several environment variables in the plane.env file. Follow this guide to set up each component using the correct values for your external services. @@ -97,11 +102,11 @@ To configure external Postgres, Redis, and S3 storage for the Plane Community Ed DATABASE_URL= # Leave this empty if you're providing values for the variables above. If you choose to use the DATABASE_URL, you can leave all the other database-related variables empty. ``` - + :::warning Don’t use a database on your local machine. If you use `localhost` in the URL, it won’t work. Make sure to use a database hosted on a network-accessible server. Avoid using special characters in your PostgreSQL password. - + ::: 3. In the **REDIS SETTINGS** section, update the variables to connect to your external Redis instance: ```bash @@ -129,4 +134,4 @@ To configure external Postgres, Redis, and S3 storage for the Plane Community Ed 6. Restart Plane services to apply the new settings using the `setup.sh` script. - +
diff --git a/self-hosting/govern/environment-variables.mdx b/docs/self-hosting/govern/environment-variables.mdx similarity index 98% rename from self-hosting/govern/environment-variables.mdx rename to docs/self-hosting/govern/environment-variables.mdx index 4c65f98..b721d74 100644 --- a/self-hosting/govern/environment-variables.mdx +++ b/docs/self-hosting/govern/environment-variables.mdx @@ -1,8 +1,13 @@ --- title: Environment variables reference guide -sidebarTitle: Environment variables +sidebar_label: Environment variables --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide provides a comprehensive overview of all environment variables used in the Commercial Edition. These variables allow you to customize your Plane instance to best fit your organization's needs. ## Where to find the .env file @@ -143,8 +148,8 @@ This is where you'll make all configuration changes. Remember to restart the ins |----------|-------------|---------------| | **API_KEY_RATE_LIMIT** | Rate limit for API requests to prevent abuse. Format: `number/timeunit` | `60/minute` | - - +
+ Community Edition This guide provides a comprehensive overview of all environment variables available for configuring your self-hosted Plane Community Edition. Use these variables to customize your instance to fit your deployment needs. @@ -239,5 +244,4 @@ The environment configuration file is located at: | Variable | Description | Default Value | |----------|-------------|---------------| | **SECRET_KEY** | Secret key used for cryptographic operations like session handling and token generation. Should be a long, random string. | | - - \ No newline at end of file +
diff --git a/self-hosting/govern/external-secrets.mdx b/docs/self-hosting/govern/external-secrets.mdx similarity index 97% rename from self-hosting/govern/external-secrets.mdx rename to docs/self-hosting/govern/external-secrets.mdx index a10e680..6affd09 100644 --- a/self-hosting/govern/external-secrets.mdx +++ b/docs/self-hosting/govern/external-secrets.mdx @@ -1,8 +1,13 @@ --- title: Configure external secrets for Kubernetes deployments -sidebarTitle: External secrets +sidebar_label: External secrets --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide explains how to integrate Plane with external secret management solutions, enabling secure and centralized management of sensitive configuration data. The examples provided cover AWS Secrets Manager and HashiCorp Vault integrations, but you can adapt these patterns to your preferred secret management solution. ## AWS Secrets Manager @@ -188,4 +193,4 @@ Make sure to set all [environment variables](/self-hosting/methods/kubernetes#ex key: secrets/data/rabbitmq_secrets ``` -Follow this pattern to manage all the environment variables in the Vault, then access them via ExternalSecret resources in your Kubernetes cluster. +Follow this pattern to manage all the environment variables in the Vault, then access them via ExternalSecret resources in your Kubernetes cluster. \ No newline at end of file diff --git a/docs/self-hosting/govern/github-oauth.mdx b/docs/self-hosting/govern/github-oauth.mdx new file mode 100644 index 0000000..9748ca8 --- /dev/null +++ b/docs/self-hosting/govern/github-oauth.mdx @@ -0,0 +1,32 @@ +--- +title: Github OAuth +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +Plane also supports GitHub OAuth so your users can sign in with GitHub. + +## Configure Plane as an OAuth app on GitHub + +1. Log in to your [GitHub account](https://github.com/). +2. Click your profile avatar and go to **Settings**. +3. Click **Developer Settings** and then **OAuth Apps**. + ![](/images/authentication/github/github-auth-1.png#center) +4. Click **Register a new application**. +5. Configure the following OAuth credentials for your Plane app: + 1. **Homepage URL**: The domain (with HTTPS) where you host Plane, e.g., `https://app.plane.so` + 2. **Authorization Callback URL**: Append the path users should be redirected to after authenticating with GitHub. Use `https:///auth/github/callback/` and `https:///auth/mobile/github/callback/` where `` is your self-hosted instance's domain. +6. Click `Register application` to save it. + ![](/images/authentication/github/github-auth-2.png#center) +7. Find the app you just registered and copy the client ID and client secret for the next steps. + +## Configure Plane + +1. Go to `GitHub` on the Authentication screen of `/god-mode`. +2. Add the client ID and client secret from the GitHub app you just registered. +3. Click `Save`. + +Your Plane instance should now support GitHub sign-in. diff --git a/docs/self-hosting/govern/google-oauth.mdx b/docs/self-hosting/govern/google-oauth.mdx new file mode 100644 index 0000000..de6d546 --- /dev/null +++ b/docs/self-hosting/govern/google-oauth.mdx @@ -0,0 +1,41 @@ +--- +title: Google OAuth +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +Plane ships with out-of-the-box support for Google OAuth, making it the easiest +option for Google Workspace users. + +## Configure Plane as an app on Google API Console + +First, register Plane as an approved OAuth app with Google: + +1. Go to the [Google API console](https://console.cloud.google.com/apis) and create a new project. +2. Navigate to the **OAuth consent screen** under **APIs & Services**. Choose your configuration and target users, then click **Create**. + ![](/images/authentication/google/google-auth-1.png#center) +3. Configure the OAuth consent screen with app information. + ![](/images/authentication/google/google-auth-2.png#center) +4. Go to the **Credentials** screen, click **Create Credentials**, and select **OAuth client ID**. + ![](/images/authentication/google/google-auth-3.png#center) +5. Select **Web application** under **Application type**. Update the following fields: + 1. **Authorized JavaScript origins**: The HTTP origins that host your web application, e.g., `https://app.plane.so` + 2. **Authorized redirect URIs**: Append the path users should be redirected to after authenticating with Google. Use `https:///auth/google/callback` and `https:///auth/mobile/google/callback/` where `` is your self-hosted instance's domain. + 3. Click **Create**. + 4. Get the Client ID and Client secret under **OAuth 2.0 Client IDs** on the **Credentials** screen. + ![](/images/authentication/google/google-auth-4.png#center) + +## Configure Plane + +1. Go to `Google` on the Authentication screen of `/god-mode`. +2. Add the client ID and client secret from the Google API Console. +3. Click `Save`. + +Your Plane instance should now support `Sign in with Google`. + +:::note +Domain restriction for Google OAuth is not yet supported, but is on our roadmap. +::: diff --git a/self-hosting/govern/instance-admin.mdx b/docs/self-hosting/govern/instance-admin.mdx similarity index 51% rename from self-hosting/govern/instance-admin.mdx rename to docs/self-hosting/govern/instance-admin.mdx index d1b374a..36a348b 100644 --- a/self-hosting/govern/instance-admin.mdx +++ b/docs/self-hosting/govern/instance-admin.mdx @@ -1,21 +1,26 @@ --- title: Instance admin and God mode -description: Starting 0.14, we are introducing a new role for self-managed instances called `Instance admin`. +sidebar_label: Instance admin and God mode +sidebar_position: 1 --- - +{frontMatter.description && ( +

{frontMatter.description}

+)} + +:::info An instance is a single self-managed installation of Plane on a private cloud or server that the `Instance admin` controls and administers. A single instance can house multiple workspaces. There may also be cases where a user IRL is running multiple instances, e.g., when using Plane for several clients. An `Instance admin` role will have to be declared for each of those instances, but it is okay to use the same email address for all of them. -
+::: This role lets instance admins access `/god-mode`, a route for features that help them administer and govern their Plane instance better for all users of that instance. - +:::tip New instances allow skipping going to God Mode and setting up your workspace instead. Whatever you choose after secure instance set-up, we highly recommend coming quickly to /god-mode to set up at least your SMTP server so your users can start getting invite emails to projects. - +::: ## Settings @@ -38,9 +43,9 @@ Displays a unique identifier for your instance. Enable or disable in-app chat support for users. Disabling telemetry automatically turns this off. - **Let Plane collect anonymous usage data** -Plane collects anonymized usage data (no PII) to help improve features and overall experience. You can turn this off anytime. See [Telemetry](/self-hosting/telemetry) for more info. +Plane collects anonymized usage data (no PII) to help improve features and overall experience. You can turn this off anytime. See [Telemetry](/self-hosting/govern/telemetry) for more info. -![](/images/instance-admin/god-mode-general.webp) +![](/images/instance-admin/god-mode-general.webp#center) ### Workspaces The Workspaces section allows you to manage all workspaces within your Plane instance. @@ -56,16 +61,16 @@ Toggle the **Prevent anyone from creating a workspace** option to prevent anyone To add users to a workspace, you will need to [invite them](https://docs.plane.so/core-concepts/workspaces/members#add-member) after creating it. - +:::note Workspace deletion is currently not supported. - +::: -![](/images/instance-admin/god-mode-workspaces.webp) +![](/images/instance-admin/god-mode-workspaces.webp#center) ### Email Set up your SMTP server here so you can send essential emails—password resets, exports, changes to your instance—and Plane-enabled emails—onboarding, tips and tricks, new features— to all your users. [Learn more here](/self-hosting/govern/communication). -![](/images/instance-admin/god-mode-email.webp) +![](/images/instance-admin/god-mode-email.webp#center) ### Authentication Control what SSO and OAuth services your users can use to sign up and log in to your Plane instance. You can also toggle unique code and password logins on and off from here. [Learn more here](/self-hosting/govern/authentication). @@ -73,23 +78,23 @@ Control what SSO and OAuth services your users can use to sign up and log in to - **Allow anyone to sign up without an invite** Toggle this setting off if you want your users to join the instance only if they receive an invite. - +:::info This is where you will see new SSO services and custom OAuth configs in the future. - +::: -![](/images/instance-admin/god-mode-authentication.webp) +![](/images/instance-admin/god-mode-authentication.webp#center) ### Artificial intelligence Plane supports the use of AI throughout your projects. For now, we support OpenAI’s APIs and keys. You can configure them here or leave them blank if you don’t wish to offer AI features to your users. Your Plane experience remains largely unchanged if you don’t set this up. -![](/images/instance-admin/god-mode-ai.webp) +![](/images/instance-admin/god-mode-ai.webp#center) ### Images in Plane You can use your own third-party libraries to update images in project settings. Configure your Unsplash key here. When we add more image libraries, they will show up here. -![](/images/instance-admin/god-mode-images.webp) +![](/images/instance-admin/god-mode-images.webp#center) ## Add instance admin To grant a user full administrative access (including God mode) to your self-hosted Plane instance, you'll need to assign them the Instance Admin role. Instance admins have unrestricted control over all configurations and settings within the instance. @@ -100,56 +105,81 @@ To promote an existing user to Instance Admin, execute the following command in ``` Ensure that the provided email matches the user's registered account. This command will instantly elevate their privileges to full administrative access. --------- - -Soon, we will introduce God Mode for our Cloud users as well so they can manage their workspaces better. To get notified about this, [sign up here](https://ece39166.sibforms.com/serve/MUIFANgaMWIARsq1n0lMNrch19pdY2HJm9FkSXAeq1DrCoXJBmO9Yq6SPgtzu7rL0lQBmCvvz2A2arVl5WaDxYu6YhNW4PKNAis0DMXmpRnwm5633BvXqIYILqZuyqYiGS7_QjJ0Ozh4R2uctd8RwiiTLSHWpnV2njQt6DPV5cVr8FH3K-TouNAlBScOJxbCpjj8fYo2ULsEJeAL). ## FAQs - - - Whoever spins up the instance or upgrades to v0.14, we assume, is the instance admin. When you see Let's secure your instance, enter your email-password combo. If you are already using Plane with those credentials, you will be logged in and will see /god-mode features. If not, we will create a new user on your local instance and you will see /god-mode. - Our shrewd guess right now is users are technical enough to upgrade to or bring up a new instance with v0.14 are instance admins. If there’s a case where this isn’t true, please reach out to us before you upgrade or set up your fresh instance. - +
+ How do you know who an Instance admin is? + + Whoever spins up the instance or upgrades to v0.14, we assume, is the instance admin. When you see Let's secure your instance, enter your email-password combo. If you are already using Plane with those credentials, you will be logged in and will see /god-mode features. If not, we will create a new user on your local instance and you will see /god-mode. + + Our shrewd guess right now is users are technical enough to upgrade to or bring up a new instance with v0.14 are instance admins. If there’s a case where this isn’t true, please reach out to us before you upgrade or set up your fresh instance. + +
+ +
+ + What if I don’t complete secure instance set-up at the time of the upgrade? + - - We strongly recommend completing set-up at upgrade so your regular users can access Plane without trouble. Because we are introducing several sensitive admin features in `God Mode`, we will show an instance-not-set-up screen to your regular users until such a time that you can complete the setup. - ![success-on-setup-existing-instances-self-hosted](/images/faq-2.png) - + We strongly recommend completing set-up at upgrade so your regular users can access Plane without trouble. Because we are introducing several sensitive admin features in `God Mode`, we will show an instance-not-set-up screen to your regular users until such a time that you can complete the setup. - - All existing users will log in with their usual email address-password combos if they are already doing it. If they haven’t been using a password when not OAuthing into Plane, they will now need to. If OAuth is enabled, users can continue using your OAuth methods. New users will need to choose a password or OAuth into Plane. - +![](/images/faq-2.png#center) + +
+
+ + What has changed with how existing regular users of my instance log in? + + + All existing users will log in with their usual email address-password combos if they are already doing it. If they haven’t been using a password when not OAuthing into Plane, they will now need to. If OAuth is enabled, users can continue using your OAuth methods. New users will need to choose a password or OAuth into Plane. + +
+
+ + What will happen to the default captain@plane.so account that you shipped so + far? + - For all new instances, there won’t be a `captain@plane.so` account. Instance set-up will allow you to set up a workspace and set workspace and project admins. For existing instances, the instance admin’s email will be added to each project with the same permissions as `captain@plane.so’s` so you can remove that email completely from your workspaces and projects. - - - That is unreal! Please reach out to us immediately on [support](https://discord.com/login?redirect_to=%2Fchannels%2F1031547764020084846%2F1094927053867995176) or on our [Discord](https://discord.com/invite/A92xrEGCge) and mark your message urgent. We will help you get your instance back pronto. - +
+
+ + This is unreal, but I have an instance that has a /god-mode path already. I + can’t access my Plane instance. Help! + - - We have always let you configure your own SMTP server to send emails from within your instance. It’s also why we are being deliberate about leading the instance admin of an existing instance to `/god-mode` first. After completing secure instance set-up now, you can configure your SMTP server on the UI instead of via `.env` variables. We strongly recommend you do that to avoid password-reset failures and failures in email delivery. +That is unreal! Please reach out to us immediately on [support](https://discord.com/login?redirect_to=%2Fchannels%2F1031547764020084846%2F1094927053867995176) or on our [Discord](https://discord.com/invite/A92xrEGCge) and mark your message urgent. We will help you get your instance back pronto. - Please [reach out](https://discord.com/login?redirect_to=%2Fchannels%2F1031547764020084846%2F1094927053867995176) to us on [Discord](https://discord.com/invite/A92xrEGCge) if you haven’t set up SMTP and are facing troubles with your users logging in. - - - - Unique links are secure and relatively easier, but we have heard from enough of our Cloud users that they would like to log in using a more permanent and easier method. Should you want to continue using unique codes, you are covered. We will keep that option alive for good. +
+
+ + How will emails for password resets and onboarding be sent to users of my + instance(s)? + + We have always let you configure your own SMTP server to send emails from within your instance. It’s also why we are being deliberate about leading the instance admin of an existing instance to `/god-mode` first. After completing secure instance set-up now, you can configure your SMTP server on the UI instead of via `.env` variables. We strongly recommend you do that to avoid password-reset failures and failures in email delivery. - While using Google or GitHub are good options already, not all of you would want to use them. For those that prefer a password and would like to do away with codes, we want to make that option available. - + Please [reach out](https://discord.com/login?redirect_to=%2Fchannels%2F1031547764020084846%2F1094927053867995176) to us on [Discord](https://discord.com/invite/A92xrEGCge) if you haven’t set up SMTP and are facing troubles with your users logging in. - - Not now, but soon enough, there will be a `God Mode` for Cloud admins. +
+
+ + Why are you introducing passwords for app.plane.so users? What’s happening + with unique links to sign up and sign in? + - +Unique links are secure and relatively easier, but we have heard from enough of our Cloud users that they would like to log in using a more permanent and easier method. Should you want to continue using unique codes, you are covered. We will keep that option alive for good. - +While using Google or GitHub are good options already, not all of you would want to use them. For those that prefer a password and would like to do away with codes, we want to make that option available. +
+
+ Is there a God Mode for Cloud admins, too? +Not now, but soon enough, there will be a `God Mode` for Cloud admins. +
diff --git a/docs/self-hosting/govern/integrations/_category_.yml b/docs/self-hosting/govern/integrations/_category_.yml new file mode 100644 index 0000000..6321d56 --- /dev/null +++ b/docs/self-hosting/govern/integrations/_category_.yml @@ -0,0 +1 @@ +label: "Integrations" diff --git a/docs/self-hosting/govern/integrations/github.mdx b/docs/self-hosting/govern/integrations/github.mdx new file mode 100644 index 0000000..03185d8 --- /dev/null +++ b/docs/self-hosting/govern/integrations/github.mdx @@ -0,0 +1,255 @@ +--- +title: Configure GitHub App for Plane integration +sidebar_label: GitHub +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +{frontMatter.description &&

{frontMatter.description}

} + +This guide walks you through setting up a GitHub App to enable GitHub integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for GitHub, you’ll need to set up the necessary authentication, permissions, and webhooks to ensure smooth integration. + +This guide covers configuration for both: + +- **[GitHub Cloud](/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app)** +The standard cloud-hosted GitHub service + +- **[GitHub Enterprise Server](/self-hosting/govern/integrations/github?edition=github-enterprise#create-github-app)** +Self-hosted GitHub instances for organizations with specific compliance or security requirements + +In this guide, you’ll: +1. [Create and configure a GitHub App](/self-hosting/govern/integrations/github#create-github-app) +2. [Set up permissions and events](/self-hosting/govern/integrations/github#set-up-permissions-and-events) +3. [Configure your Plane instance](/self-hosting/govern/integrations/github#configure-plane-instance) + +:::warning IMPORTANT +**Activate GitHub integration** + +After creating and configuring the GitHub app and configuring the instance as detailed on this page, you'll need to [setup the GitHub integration](https://docs.plane.so/integrations/github) within Plane. +::: + +## Create GitHub App + +To configure GitHub integration, you'll need to create a GitHub App within your organization. + + + + + 1. Go to **Settings > Developer Settings > GitHub Apps** in your GitHub organization. + + 2. Click **New GitHub App**. + ![Create GitHub App](/images/integrations/github/create-github-app.webp#center) + + 3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**. + ![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp#center) + + 4. In the **Identifying and authorizing users** section, add the following **Callback URLS**. + + ```bash + https:///silo/api/github/auth/callback + https:///silo/api/github/auth/user/callback + ``` + + These URLs allow Plane to verify and enable workspace connection with the Github App. + + ![Add Callback URL](/images/integrations/github/add-callback-url.webp#center) + + 5. In the **Post installation** section, add the below **Setup URL**. + + ```bash + https:///silo/api/github/auth/callback + ``` + + Redirects users to this URL after GitHub app installation. + ![Add setup URL](/images/integrations/github/add-setup-url.webp#center) + + 6. Turn on **Redirect on update**. + + 7. In the **Webhook** section, add the following **Webhook URL** to allow Plane to receive updates from GitHub repositories. + + ```bash + https:///silo/api/github/github-webhook + ``` + + ![Add Webhook URL](/images/integrations/github/add-webhook-url.webp#center) + + + + 1. Go to **Settings \> Developer Settings \> GitHub Apps** in your GitHub organization. + 2. Click **New GitHub App**. + + ![Create GitHub App](/images/integrations/github/create-github-app.webp#center) + + 3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**. + + ![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp#center) + + 4. In the **Identifying and authorizing users** section, add the following + **Callback URLs** to allow Plane to verify and enable workspace connections + with the Github App. + + **For Plane cloud** + + ```bash + https://silo.plane.so/api/oauth/github-enterprise/auth/callback + https://silo.plane.so/api/oauth/github-enterprise/auth/user/callback + ``` + + **For Plane self-hosted instance** + + ```bash + https:///silo/api/oauth/github-enterprise/auth/callback + https:///silo/api/oauth/github-enterprise/auth/user/callback + ``` + + ![Add Callback URL](/images/integrations/github/add-callback-url.webp#center) + + 5. In the **Post installation** section, add the below **Setup URL**. + + **For Plane cloud** + ```bash + https://silo.plane.so/api/oauth/github-enterprise/auth/callback + ``` + + **For Plane self-hosted instance** + + ```bash + https:///silo/api/oauth/github-enterprise/auth/callback + ``` + + Redirects users to this URL after GitHub app installation. + ![Add setup URL](/images/integrations/github/add-setup-url.webp) + + 6. Turn on **Redirect on update**. + + 7. In the **Webhook** section, add the following **Webhook URL** to allow Plane to receive updates from your GitHub repositories. + + **For Plane cloud** + + ```bash + https://silo.plane.so/api/github-enterprise/github-webhook + ``` + + **For Plane self-hosted instance** + + ```bash + https:///silo/api/github-enterprise/github-webhook + ``` + + ![Add Webhook URL](/images/integrations/github/add-webhook-url.webp#center) + + + +### Set up permissions and events + +1. Add repository and account permissions by setting the **Access** dropdown next to each permission, as shown in the tables below. + + ![Setup permissions](/images/integrations/github/setup-permissions.webp#center) + + **Repository permissions** + + | Permission | Access level | Purpose | + | ----------------- | ---------------- | --------- | + | Commit statuses | Read-only | Allows the GitHub app to read and update commit statuses, indicating whether a commit has passed checks (e.g., CI/CD pipelines). | + | Contents | Read and write | Grants access to read and modify repository contents, including reading files, creating commits, and updating files. | + | Issues | Read and write | Enables reading, creating, updating, closing, and commenting on issues within the repository. | + | Merge queues | Read-only | Allows interaction with merge queues to manage the order of pull request merges. | + | Metadata | Read-only | Provides read-only access to repository metadata, such as its name, description, and visibility. | + | Pull requests | Read and write | Allows reading, creating, updating, merging, and commenting on pull requests. | + + **Account permissions** + + | Permission | Access level | Purpose | + | ---------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------- | + | Email addresses | Read-only | Grants access to users' email addresses, typically for notifications or communication. | + | Profile | Read and write | Enables access to user profile details like name, username, and avatar. | + +2. In the **Subscribe to events** section, turn on all the required events below. + + ![Subscribe to events](/images/integrations/github/subscribe-to-events.webp#center) + + | Event | Purpose | + | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | Installation target | This is where the repositories or organizations where your GitHub App is installed. This determines which repositories Plane can sync with. | + | Meta | Includes metadata about the app's configuration and setup. This is essential for maintaining integration stability. | + | Issue comment | Triggers when a comment is added, edited, or deleted on an issue. Useful for keeping comments synced between Plane and GitHub. | + | Issues | Triggers when an issue is created, updated, closed, reopened, assigned, labeled, or transferred. Ensures issue status and details remain consistent between Plane and GitHub. | + | Pull request | Fires when a pull request is opened, closed, merged, edited, or labeled. Essential for tracking development progress. | + | Pull request review | Activates when a review is submitted, edited, or dismissed. Keeps review activities aligned between Plane and GitHub. | + | Pull request review comment | Fires when a review comment is added, modified, or removed. Ensures feedback is reflected across both platforms. | + | Pull request review thread | Triggers when a review discussion thread is resolved or reopened. Helps maintain visibility on code review discussions. | + | Push | Activates when new commits are pushed to a repository. Useful for tracking code updates and changes. | + | Repository sub issues | Tracks issues within a repository that are linked to or managed by another issue. Ensures accurate synchronization of related issues. | + +3. Click the **Create GitHub App** button at the bottom of the page. + +## Configure Plane instance + + + + 1. Go back to **Settings \> Developer Settings \> GitHub Apps**. + 2. Click **Edit** on the GitHub you created. + 3. In the **General** tab, under the **Client secrets** section, click **Generate a new client secret**. + ![General tab](/images/integrations/github/general-tab.webp#center) + 4. Scroll down to the **Private keys** section. + ![Private keys](/images/integrations/github/private-keys.webp#center) + 5. Click **Generate a private key**. + 6. Retrieve the following details from the **General** tab: + - App ID + - Client ID + - Client secret + - GitHub App name + - Private key + + 7. Before adding the Private key as an environment variable, you’ll need to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64: + + ```bash + cat private_key.pem | base64 -w 0 + ``` + + 8. Add these environment variables with the values to your Plane instance's `.env` file. + + ```bash + GITHUB_CLIENT_ID= + GITHUB_CLIENT_SECRET= + GITHUB_APP_NAME= + GITHUB_APP_ID= + GITHUB_PRIVATE_KEY= + ``` + + 9. Save the file and restart the instance. + + 10. Once you've completed the instance configuration, [activate the GitHub integration in Plane](https://docs.plane.so/integrations/github). + + + + 1. Go back to **Settings \> Developer Settings \> GitHub Apps**. + + 2. Click **Edit** on the GitHub you created. + + 3. In the **General** tab, under the **Client secrets** section, click **Generate a new client secret**. + + ![General tab](/images/integrations/github/general-tab.webp) + + 4. Scroll down to the **Private keys** section. + + ![Private keys](/images/integrations/github/private-keys.webp) + + 5. Click **Generate a private key**. + + 6. Retrieve the following details from the **General** tab: + - App ID + - App Slug (You can find this in browser url) + - Client ID + - Client secret + - Private key + + 7. Convert the Private key to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64: + ```bash + cat private_key.pem | base64 -w 0 + ``` + + 8. Once you've created the app, [activate the GitHub Enterprise integration in Plane](https://docs.plane.so/integrations/github?edition=github-enterprise#connect-github-organization). + + diff --git a/self-hosting/govern/integrations/gitlab.mdx b/docs/self-hosting/govern/integrations/gitlab.mdx similarity index 90% rename from self-hosting/govern/integrations/gitlab.mdx rename to docs/self-hosting/govern/integrations/gitlab.mdx index 4e12c0a..2583cf8 100644 --- a/self-hosting/govern/integrations/gitlab.mdx +++ b/docs/self-hosting/govern/integrations/gitlab.mdx @@ -1,13 +1,18 @@ --- -title : Configure GitLab Application for Plane integration -sidebarTitle: GitLab +title: Configure GitLab Application for Plane integration +sidebar_label: GitLab --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide walks you through setting up a GitLab application to enable GitLab integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for GitLab, you’ll need to create an application, configure authentication, and set the necessary permissions to ensure seamless integration. In this guide, you’ll: -1. [Create and configure a GitLab Application](/self-hosting/govern/integrations/gitlab#create-a-gitlab-application) +1. [Create and configure a GitLab Application](/self-hosting/govern/integrations/gitlab#create-gitlab-application) 2. [Configure your Plane instance](/self-hosting/govern/integrations/gitlab#configure-plane-instance) ## Create GitLab Application @@ -19,7 +24,7 @@ In this guide, you’ll: 3. Navigate to the **Applications** tab. 4. Click on **Add new application** to begin the setup. - ![Add GitLab application](/images/integrations/gitlab/add-gitlab-application.webp) + ![Add GitLab application](/images/integrations/gitlab/add-gitlab-application.webp#center) 5. Provide a **Name** for your application. @@ -29,7 +34,7 @@ In this guide, you’ll: ``` 7. You can choose to check or leave the **Confidential** box unchecked—both options work for Plane. - ![Add app details](/images/integrations/gitlab/add-app-details.webp) + ![Add app details](/images/integrations/gitlab/add-app-details.webp#center) 8. Set permissions by selecting the required **Scopes**. The table below explains each scope: @@ -48,7 +53,7 @@ In this guide, you’ll: ## Configure Plane instance 1. Copy the **Application ID** and **Secret** from the newly created application. - ![Copy credentials](/images/integrations/gitlab/copy-credentials.webp) + ![Copy credentials](/images/integrations/gitlab/copy-credentials.webp#center) 2. Add these environment variables with the values to your Plane instance's `.env` file. @@ -58,4 +63,4 @@ In this guide, you’ll: ``` 3. Save the file and restart the instance. -4. Once you've completed the instance configuration, [activate the GitLab integration in Plane](https://docs.plane.so/integrations/gitlab). +4. Once you've completed the instance configuration, [activate the GitLab integration in Plane](https://docs.plane.so/integrations/gitlab). \ No newline at end of file diff --git a/docs/self-hosting/govern/integrations/slack.mdx b/docs/self-hosting/govern/integrations/slack.mdx new file mode 100644 index 0000000..c9d7792 --- /dev/null +++ b/docs/self-hosting/govern/integrations/slack.mdx @@ -0,0 +1,309 @@ +--- +title: Configure Slack App for Plane integration +sidebar_label: Slack +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +This guide walks you through setting up a Slack App to enable Slack integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for Slack, you’ll need to set up the necessary authentication, permissions, and event subscriptions to ensure seamless communication between Plane and Slack. + +In this guide, you’ll: +1. [Create and configure a Slack App](/self-hosting/govern/integrations/slack#create-slack-app) +2. [Configure your Plane instance](/self-hosting/govern/integrations/slack#configure-plane-instance) + +:::warning +**Activate Slack integration** + +After creating and configuring the Slack app and configuring the instance as detailed on this page, you'll need to [set up the Slack integration](https://docs.plane.so/integrations/slack) within Plane. +:::: + +## Create Slack App + +To configure Slack integration, you'll need to create a Slack App within your organization. Follow these steps: + +1. Go to [Your Apps](https://api.slack.com/apps) on Slack. + +2. Click **Create an App**. + ![Create Slack App](/images/integrations/slack/create-slack-app.webp#center) + +3. Choose **From a manifest**. + ![Choose Manifest](/images/integrations/slack/choose-from-manifest.webp#center) + +4. Select the workspace where you want the app installed. + +5. Remove the default manifest and paste the one below, making sure to update the placeholders with your actual values. + ![Manifest](/images/integrations/slack/app-from-manifest.webp#center) + + + +```json +{ + "display_information": { + "name": "[YOUR_APP_NAME]", + "description": "[YOUR_APP_DESCRIPTION]", + "background_color": "#224dab" + }, + "features": { + "bot_user": { + "display_name": "[YOUR_APP_NAME]", + "always_online": false + }, + "shortcuts": [ + { + "name": "Create new issue", + "type": "message", + "callback_id": "issue_shortcut", + "description": "Create a new issue in plane" + }, + { + "name": "Link Work Item", + "type": "message", + "callback_id": "link_work_item", + "description": "Links thread with an existing work item" + } + ], + "slash_commands": [ + { + "command": "/plane", + "url": "https://[YOUR_DOMAIN]silo/api/slack/command/", + "description": "Create issue in Plane", + "should_escape": false + } + ], + "unfurl_domains": [ + "[YOUR_DOMAIN]" + ] + }, + "oauth_config": { + "redirect_urls": [ + "https://[YOUR_DOMAIN]silo/api/slack/team/auth/callback/", + "https://[YOUR_DOMAIN]silo/api/slack/user/auth/callback/" + ], + "scopes": { + "user": [ + "chat:write", + "identify", + "im:read", + "im:write", + "links:write", + "links:read" + ], + "bot": [ + "channels:join", + "channels:read", + "users:read", + "users:read.email", + "chat:write", + "chat:write.customize", + "channels:history", + "groups:history", + "mpim:history", + "im:history", + "links:read", + "links:write", + "groups:read", + "im:read", + "mpim:read", + "reactions:read", + "reactions:write", + "files:read", + "files:write", + "im:write", + "commands" + ] + } + }, + "settings": { + "event_subscriptions": { + "request_url": "https://[YOUR_DOMAIN]silo/api/slack/events", + "bot_events": [ + "link_shared", + "message.channels", + "message.im" + ] + }, + "interactivity": { + "is_enabled": true, + "request_url": "https://[YOUR_DOMAIN]silo/api/slack/action/", + "message_menu_options_url": "https://[YOUR_DOMAIN]silo/api/slack/options/" + }, + "org_deploy_enabled": false, + "socket_mode_enabled": false, + "token_rotation_enabled": true + } +} +``` + + +```yaml +display_information: +name: [YOUR_APP_NAME] +description: [YOUR_APP_DESCRIPTION] +background_color: "#224dab" +features: +bot_user: + display_name: [YOUR_APP_NAME] + always_online: false +shortcuts: + - name: Create new issue + type: message + callback_id: issue_shortcut + description: Create a new issue in plane + - name: Link Work Item + type: message + callback_id: link_work_item + description: Links thread with an existing work item +slash_commands: + - command: /plane + url: https://[YOUR_DOMAIN]silo/api/slack/command/ + description: Create issue in Plane + should_escape: false +unfurl_domains: + - [YOUR_DOMAIN] +oauth_config: +redirect_urls: + - https://[YOUR_DOMAIN]silo/api/slack/team/auth/callback/ + - https://[YOUR_DOMAIN]silo/api/slack/user/auth/callback/ +scopes: + user: + - chat:write + - identify + - im:read + - im:write + - links:write + - links:read + bot: + - channels:join + - channels:read + - users:read + - users:read.email + - chat:write + - chat:write.customize + - channels:history + - groups:history + - mpim:history + - im:history + - links:read + - links:write + - groups:read + - im:read + - mpim:read + - reactions:read + - reactions:write + - files:read + - files:write + - im:write + - commands +settings: +event_subscriptions: + request_url: https://[YOUR_DOMAIN]silo/api/slack/events + bot_events: + - link_shared + - message.channels + - message.im +interactivity: + is_enabled: true + request_url: https://[YOUR_DOMAIN]silo/api/slack/action/ + message_menu_options_url: https://[YOUR_DOMAIN]silo/api/slack/options/ +org_deploy_enabled: false +socket_mode_enabled: false +token_rotation_enabled: true +``` + + + +6. Review the permissions and click **Create**. + ![Review summary](/images/integrations/slack/review-summary.webp#center) + +### Manifest reference + +The manifest file defines the configuration for integrating Plane with Slack. It requests access to several features, enabling Plane to interact with Slack efficiently. + +#### Features + +| Feature | Explanation | +| --- | --- | +| `bot_user` | Required to send thread messages while syncing issues or sending Plane notifications to Slack.| +| `slack_commands` | A Slack command (`/plane`) allows users to create issues directly from Slack using a slash command. | +| `shortcuts` | After activation, users can create issues from messages inside Slack.| +| `unfurl_domain` | Specifies the domain where Plane is hosted. When an issue, cycle, or module link is pasted in Slack, it generates a preview of the entity. | + +#### Variables + +|Variable|Explanation| +|------------|--------| +|`YOUR_DOMAIN`|The domain where Plane is hosted. This is required for sending webhook events and authentication callbacks.| +|`YOUR_APP_NAME`|The name you want to give your Slack app. "Plane" is a good default option.| +|`YOUR_APP_DESCRIPTION`|A short description of your Slack app’s purpose.| + +#### Event subscription + +For thread sync and link unfurling to work, event subscriptions must be enabled. These events send relevant activity to Plane. + +| Bot event | Explanation | +| --- | --- | +| `link_shared` | When a link is shared in Slack and its hostname matches `unfurl_domain`, Plane receives the event and generates a preview of the entity. | +| `message_channels` | When a message is posted in a channel, an event is triggered in Plane to support thread sync. | +| `message_im` | When a direct message (DM) is posted, an event is triggered in Plane to support thread sync. | + +#### User permissions + +| Permission | Explanation | +| --- | --- | +| `chat:write` | Allows the bot to send messages in channels and conversations it is a member of. | +| `identify` | Allows the bot to verify its own identity and retrieve basic information. | +| `im:read` | Enables the bot to view direct messages (DMs) where it has been added. | +| `im:write` | Allows the bot to send direct messages (DMs) to users. | +| `links:write` | Permits the bot to add, edit, and remove link unfurls. | +| `links:read` | Allows the bot to view link unfurls and associated metadata. | + +#### Bot permissions + +| Permission | Explanation | +| --- | --- | +| `channels:join` | Allows the bot to join public channels. | +| `channels:read` | Permits viewing public channel information and members. | +| `users:read` | Allows viewing user information and presence status. | +| `users:read.email` | Enables access to users' email addresses. | +| `chat:write` | Allows sending messages in channels and conversations. | +| `chat:write.customize` | Enables customization of the bot's name and profile when sending messages. | +| `channels:history` | Allows viewing message history in public channels. | +| `groups:history` | Permits viewing message history in private channels. | +| `mpim:history` | Enables access to message history in multi-person direct messages. | +| `im:history` | Allows viewing message history in direct messages. | +| `links:read` | Permits viewing link unfurls and associated metadata. | +| `links:write` | Allows adding, editing, and removing link unfurls. | +| `groups:read` | Enables viewing private channel information and members. | +| `im:read` | Allows viewing direct messages where the bot is added. | +| `mpim:read` | Permits viewing multi-person direct messages. | +| `reactions:read` | Enables viewing emoji reactions on messages. | +| `reactions:write` | Allows adding and removing emoji reactions. | +| `files:read` | Permits viewing and downloading files. | +| `files:write` | Enables uploading, editing, and deleting files. | +| `im:write` | Allows sending direct messages to users. | +| `commands` | Enables the bot to add and respond to slash commands. | + +## Configure Plane instance +After creating your Slack app, follow these steps: + +1. Go to the **Event Subscriptions** tab. + +2. Click **Retry** to verify your event subscription URL. + ![Event subscriptions](/images/integrations/slack/event-subscriptions.webp#center) + +3. Navigate to the **Basic Information** tab on Slack to find your `client_id` and `client_secret`. + +4. Add these environment variables with the values to your Plane instance's `.env` file. + ```bash + SLACK_CLIENT_ID= + SLACK_CLIENT_SECRET= + ``` +5. Save the file and restart the instance. + +6. Once you've completed the instance configuration, [activate the Slack integration in Plane](https://docs.plane.so/integrations/slack). \ No newline at end of file diff --git a/self-hosting/govern/oidc-sso.mdx b/docs/self-hosting/govern/oidc-sso.mdx similarity index 87% rename from self-hosting/govern/oidc-sso.mdx rename to docs/self-hosting/govern/oidc-sso.mdx index ba664e7..fcab40e 100644 --- a/self-hosting/govern/oidc-sso.mdx +++ b/docs/self-hosting/govern/oidc-sso.mdx @@ -1,9 +1,14 @@ --- title: OIDC SSO -sidebarTitle: OIDC SSO +sidebar_label: OIDC SSO --- -> **Plan**: Plane One, Plane Pro +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +> **Plan**: Plane One, Plane Pro Plane One enables custom SSO via any identity provider with an official and supported implementation of OIDC standards. This page cites examples from Okta, but we will soon publish provider-specific instructions in phases. @@ -15,9 +20,9 @@ You will need to configure values on your IdP first and then on Plane later. Create a Plane client or application per your IdP's documentation and configure ↓. - +:::tip `domain.tld` is the domain that you have hosted your Plane app on. - +::: | **Config** | **Key** | |----------------|-------------------------------------------------------| @@ -29,11 +34,11 @@ Create a Plane client or application per your IdP's documentation and configure Go to `/god-mode/authentication/oidc` on your Plane app and find the configs ↓. - +:::tip Your IdP will generate some of the following configs for you. Others, you will specify yourself. Just copy them over to each field. - +::: -![OIDC Configuration](/images/custom-sso/oidc-config.png) +![OIDC Configuration](/images/custom-sso/oidc-config.png#center) - Copy the `CLIENT_ID` for the Plane client or app you just created over from your IdP and paste it in the field for it. @@ -53,11 +58,10 @@ Go to `/god-mode/authentication/oidc` on your Plane app and find the configs ↓ - Copy the `Authorize URL` over from the `.well-known/` directory and paste it into the field for it on Plane's `/god-mode/authentication/oidc/`.\ This is the URL that Plane's login screen redirects to when your users click `Sign up with ` or `Login with `. - ![Login with IdP](/images/custom-sso/plane-login.png) +![Login with IdP](/images/custom-sso/plane-login.png#center) To test if this URL is right, see if clicking the `Login with ` button brings up your IdP's authentication screen. - ![Login with Okta](/images/custom-sso/okta-signin.webp) - -- Finally, choose a name for your IdP on Plane so you can recognize this set of configs. + ![Login with Okta](/images/custom-sso/okta-signin.webp#center) +- Finally, choose a name for your IdP on Plane so you can recognize this set of configs. \ No newline at end of file diff --git a/self-hosting/govern/private-bucket.mdx b/docs/self-hosting/govern/private-bucket.mdx similarity index 93% rename from self-hosting/govern/private-bucket.mdx rename to docs/self-hosting/govern/private-bucket.mdx index 7f3eed0..7d729f2 100644 --- a/self-hosting/govern/private-bucket.mdx +++ b/docs/self-hosting/govern/private-bucket.mdx @@ -1,21 +1,23 @@ --- title: Switch from public to private buckets • Commercial Edition -sidebarTitle: Private storage buckets +sidebar_label: Private storage buckets --- - +{frontMatter.description &&

{frontMatter.description}

} + +:::warning Starting with v1.4.0 of the Commercial edition Plane will use private storage buckets for any file uploaded to your Plane instance. -
+::: - +:::note New installations with default storage, which is MiniO, don't need to change anything. For S3 or S3-compatible storage, please see [this](https://developers.plane.so/self-hosting/govern/database-and-storage). - +::: While you can use the current public storage paradigm that Plane has followed so far, we highly recommend you migrate to private storage buckets which ensure greater security and give you more control over how files are accessed. - +:::note To keep public storage on external S3 compatible services, you still have to update your CORS policy. - +::: See the instructions to switch to private storage by the provider you use below. @@ -34,9 +36,9 @@ There are two parts to this—updating your CORS policy and then switching to pr ### Update bucket's CORS policy - +:::warning This step is critical if you are using external storage to ensure continued functionality. - +::: Here’s a sample CORS policy for your reference. Just replace `` with your actual domain and apply the policy to your bucket. ```bash @@ -68,9 +70,9 @@ Here’s a sample CORS policy for your reference. Just replace `` w ### Switch to private storage - +:::warning Don't start from here if you haven't updated your CORS policy. - +::: To migrate from public to private bucket storage, follow the instructions below: @@ -91,7 +93,7 @@ To migrate from public to private bucket storage, follow the instructions below: ```bash docker exec -it python manage.py update_bucket ``` - + :::tip 1. If the command finds the necessary permissions missing, it will generate a `permissions.json` file which you can use to update your bucket policy manually. Here’s how the `permissions.json` file should look. ```bash @@ -117,8 +119,8 @@ To migrate from public to private bucket storage, follow the instructions below: docker cp :/code/permissions.json . ``` - + ::: ## Troubleshoot -- [Bucket policy exceeds size limit](/self-hosting/troubleshoot/storage-errors#minio-buckey-policy-limitation) \ No newline at end of file +- [Bucket policy exceeds size limit](/self-hosting/troubleshoot/storage-errors#bucket-policy-exceeds-size-limit) \ No newline at end of file diff --git a/self-hosting/govern/reset-password.mdx b/docs/self-hosting/govern/reset-password.mdx similarity index 85% rename from self-hosting/govern/reset-password.mdx rename to docs/self-hosting/govern/reset-password.mdx index 5de21f0..ef778e4 100644 --- a/self-hosting/govern/reset-password.mdx +++ b/docs/self-hosting/govern/reset-password.mdx @@ -2,6 +2,12 @@ title: Reset password description: Users can reset their password through the terminal of the Plane application. You need to login to backend docker container and run the below command for resetting a user's password. --- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + 1. Get the container id for **plane-api**. ```bash docker ps @@ -16,6 +22,7 @@ description: Users can reset their password through the terminal of the Plane ap ```bash python manage.py reset_password ``` - + +:::tip The email should be of an already existing user on the Plane application. If the email is not attached to any user the command will throw an error. - \ No newline at end of file +::: diff --git a/self-hosting/govern/reverse-proxy.mdx b/docs/self-hosting/govern/reverse-proxy.mdx similarity index 93% rename from self-hosting/govern/reverse-proxy.mdx rename to docs/self-hosting/govern/reverse-proxy.mdx index 0199820..5458157 100644 --- a/self-hosting/govern/reverse-proxy.mdx +++ b/docs/self-hosting/govern/reverse-proxy.mdx @@ -1,8 +1,13 @@ --- title: Configure external reverse proxy • Commercial Edition -sidebarTitle: External reverse proxy +sidebar_label: External reverse proxy --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This page provides configuration for setting up an external reverse proxy with Plane. ## Plane environment setup @@ -49,9 +54,10 @@ All configurations include: - Caddy: Handles certificates automatically - Traefik: Uses Let’s Encrypt +
+NGINX configuration - - ```bash +```bash server { server_name ; @@ -90,10 +96,12 @@ server { } ``` - +
+
+Caddy configuration - +```bash ```bash { tls { @@ -125,9 +133,11 @@ server { } ``` - +
+ +
+Traefik configuration - ```bash entryPoints: web: @@ -183,5 +193,5 @@ providers: X-Forwarded-Proto: "https" X-Real-IP: "{{ .RemoteAddr }}" ``` - +
diff --git a/self-hosting/govern/saml-sso.mdx b/docs/self-hosting/govern/saml-sso.mdx similarity index 91% rename from self-hosting/govern/saml-sso.mdx rename to docs/self-hosting/govern/saml-sso.mdx index 227e54d..1642db9 100644 --- a/self-hosting/govern/saml-sso.mdx +++ b/docs/self-hosting/govern/saml-sso.mdx @@ -1,18 +1,23 @@ --- title: SAML SSO -sidebarTitle: SAML SSO +sidebar_label: SAML SSO --- -> **Plan**: Plane One, Plane Pro +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +> **Plan**: Plane One, Plane Pro Plane One enables custom SSO via any identity provider with an official and supported implementation of SAML standards. This page cites examples from Okta, but we will soon publish provider-specific instructions in phases. ## SAML You will need to configure values on your IdP first and then on Plane later. - +:::tip `domain.tld` is the domain that you have hosted your Plane app on. - +::: ### On your preferred IdP @@ -24,9 +29,9 @@ Create a Plane client or application per your IdP's documentation and configure | ACS URL

Assertion Consumer service that your IdP will redirect to after successful authentication by a user

This is roughly the counterpart of the `Callback URL` in OIDC set-ups. | `http(s)://domain.tld/auth/oidc/callback/`

Plane supports HTTP-POST bindings. | | SLS URL

Single Logout Service that your IdP will recognize to end a Plane session when a user logs out

This is roughly the counterpart of the `Logout URL` in OIDC set-ups. | `http(s)://domain.tld/auth/oidc/logout/` | - +:::tip When setting these values up on the IdP, it’s important to remember Plane does not need to provide a signing certificate like other service providers. - +::: ### Let your IdP identify your users on Plane. @@ -43,17 +48,17 @@ By default, your IdP will send the value listed under `Property`. You have to ma | user.lastName | last_name | | user.email | email | - +:::tip Depending on your IdP, you will have to find both the `Name ID format` and the three other user identification properties on different screens. Please refer to your IdP's documentation when configuring these up on your IdP. Additionally, you may have to configure the IdP to sign assertions. Irrespective of that, you have to copy the signing certificate from the IdP. - +::: ### On Plane -![SAML Configuration](/images/custom-sso/saml-config.png) +![SAML Configuration](/images/custom-sso/saml-config.png#center) - +:::tip You will find all of the values for the fields below in the `/metadata` endpoint your IdP generates for the Plane app or client. - +::: - Copy the `ENTITY_ID` for the Plane client or app you just created over from your IdP and paste it in the field for it. @@ -61,12 +66,12 @@ By default, your IdP will send the value listed under `Property`. You have to ma This will bring up the IdP's authentication screen for your users. - ![SSO URL](/images/custom-sso/okta-signin.webp) + ![SSO URL](/images/custom-sso/okta-signin.webp#center) - Copy the `SLS URL` for the Plane client or app from your IdP and paste it in the `Logout URL` field on Plane's `/god-mode/authentication/saml/`. - Add the name of the IdP that you want to show on your Plane instance's log-in or sign-up screens. - ![Log-in Screen](/images/custom-sso/instance-login.png) + ![Log-in Screen](/images/custom-sso/instance-login.png#center) -- Finally, paste the signing certificate from your IdP that you got in the last step of setting up your Plane client or app on your IdP above and paste it in the field for it. +- Finally, paste the signing certificate from your IdP that you got in the last step of setting up your Plane client or app on your IdP above and paste it in the field for it. \ No newline at end of file diff --git a/self-hosting/telemetry.mdx b/docs/self-hosting/govern/telemetry.mdx similarity index 96% rename from self-hosting/telemetry.mdx rename to docs/self-hosting/govern/telemetry.mdx index 3b394e6..149e334 100644 --- a/self-hosting/telemetry.mdx +++ b/docs/self-hosting/govern/telemetry.mdx @@ -1,7 +1,10 @@ --- title: Data collection and usage -sidebarTitle: Telemetry +sidebar_label: Telemetry --- + +{frontMatter.description &&

{frontMatter.description}

} + Plane collects anonymized data to enhance your user experience, ensure product stability, and drive continuous improvements. This article talks about what we collect, what we don't, and how we use collected data. ## What Plane collects @@ -72,4 +75,3 @@ As much as we'd love to understand your usage better, we agree that you should b ![Disable telemetry](/images/disable-telemetry.webp) 3. Click **Save changes**. - diff --git a/docs/self-hosting/manage/_category_.yml b/docs/self-hosting/manage/_category_.yml new file mode 100644 index 0000000..9ebeee1 --- /dev/null +++ b/docs/self-hosting/manage/_category_.yml @@ -0,0 +1,2 @@ +label: "Manage" +collapsed: false \ No newline at end of file diff --git a/docs/self-hosting/manage/backup-restore.mdx b/docs/self-hosting/manage/backup-restore.mdx new file mode 100644 index 0000000..a3d8b7c --- /dev/null +++ b/docs/self-hosting/manage/backup-restore.mdx @@ -0,0 +1,142 @@ +--- +title: Backup and restore data +sidebar_label: Backup and restore +sidebar_position: 3 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +Backing up your data regularly helps prevent data loss and allows you to restore your system quickly if necessary. Follow these instructions to back up and restore your data using Plane’s command-line interface. + +## Backup data + +Create a backup of your Plane data with ↓: +```bash +sudo prime-cli backup +``` + +This command initiates a full backup of all critical data, storing it in the default backup location at: +```bash +/opt/plane/backups +``` +Each backup file will be timestamped to ensure you can easily identify the latest or a specific backup if needed. + +## Backup plane.env +If you need to back up only the `plane.env` file, you'll need to do it manually. Here’s how: + +1. Navigate to the `/opt/plane` folder on your machine or server where Plane is installed.. +2. Locate the `plane.env` file. +3. Copy this file to a different location as a backup, so you can restore it if needed. + + +## Restore data + +You can restore your data from a previous backup with ↓: +```bash +sudo prime-cli restore +``` + +This command prompts the restoration process, which will overwrite the current data with the data from the most recent backup file. Ensure you have selected the correct backup before running this command, as restoring will replace your current data. + +
+ Community Edition + + ## Backup data + + To create a backup, start by running the setup script: + ```bash + ./setup.sh + ``` + You’ll see a menu of options—just type 7 to select "Backup Data." + + ``` + Select an Action you want to perform: + 1) Install (x86_64) + 2) Start + 3) Stop + 4) Restart + 5) Upgrade + 6) View Logs + 7) Backup Data + 8) Exit + + Action [2]: 7 + ``` + The system will start backing up the PostgreSQL, Redis, and upload data: + + ``` + Backing Up plane-app_pgdata + Backing Up plane-app_redisdata + Backing Up plane-app_uploads + + Backup completed successfully. Backup files are stored in /....../plane-app/backup/20240502-1120 + ``` + The backup files are stored locally, so you can copy them to an external storage service if needed for extra security. + + ## Backup plane.env + If you need to back up only the `plane.env` file, you'll need to do it manually. Here’s how: + + 1. Navigate to the folder on your machine or server where Plane is installed.. + 2. Locate the `plane.env` file. + 3. Copy this file to a different location as a backup, so you can restore it if needed. + + *** + + ## Restore data + Follow these steps to restore data from a backup: + + 1. Make sure Plane-CE is installed and started, then stop it. This ensures the necessary Docker volumes are ready. + + 2. Use the command ↓ to download the restore script. It’s easiest to save it in the same directory as `setup.sh`. + + ```bash + curl -fsSL -o restore.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/restore.sh + chmod +x restore.sh + ``` + + 3. Now, run the command ↓ to restore your data, specifying the path to your backup folder (the folder with the `*.tar.gz` files): + + ```bash + ./restore.sh + ``` + + Here’s an example output for restoring from /opt/plane-selfhost/plane-app/backup/20240722-0914: + + ```bash + -------------------------------------------- + ____ _ ///////// + | _ \| | __ _ _ __ ___ ///////// + | |_) | |/ _` | '_ \ / _ \ ///// ///// + | __/| | (_| | | | | __/ ///// ///// + |_| |_|\__,_|_| |_|\___| //// + //// + -------------------------------------------- + Project management tool from the future + -------------------------------------------- + Found /opt/plane-selfhost/plane-app/backup/20240722-0914/pgdata.tar.gz + .....Restoring plane-app_pgdata + .....Successfully restored volume plane-app_pgdata from pgdata.tar.gz + + Found /opt/plane-selfhost/plane-app/backup/20240722-0914/redisdata.tar.gz + .....Restoring plane-app_redisdata + .....Successfully restored volume plane-app_redisdata from redisdata.tar.gz + + Found /opt/plane-selfhost/plane-app/backup/20240722-0914/uploads.tar.gz + .....Restoring plane-app_uploads + .....Successfully restored volume plane-app_uploads from uploads.tar.gz + + + Restore completed successfully. + ``` + + 4. Start your Plane instance again with ↓: + ```bash + ./setup.sh start + ``` + + That’s it! You’re back up and running with your restored data. + +
diff --git a/self-hosting/manage/community-to-airgapped.mdx b/docs/self-hosting/manage/community-to-airgapped.mdx similarity index 94% rename from self-hosting/manage/community-to-airgapped.mdx rename to docs/self-hosting/manage/community-to-airgapped.mdx index 781d8b8..24151f3 100644 --- a/self-hosting/manage/community-to-airgapped.mdx +++ b/docs/self-hosting/manage/community-to-airgapped.mdx @@ -1,14 +1,20 @@ --- title: Upgrade from Community to Airgapped Edition -sidebarTitle: Upgrade to Airgapped Edition +sidebar_label: Upgrade to Airgapped Edition +sidebar_position: 2 --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide walks you through migrating your existing Plane Community Edition data to an air-gapped environment. You'll backup your current installation, transfer the data, and restore it in your air-gapped setup. - +:::warning **Important** Make sure you already have Commercial Airgapped Edition installed on a fresh machine before starting this migration. If you haven't installed it yet, follow our [airgapped installation guide](/self-hosting/methods/airgapped-edition) first. - +::: ## Prerequisites diff --git a/self-hosting/manage/migrate-plane.mdx b/docs/self-hosting/manage/migrate-plane.mdx similarity index 92% rename from self-hosting/manage/migrate-plane.mdx rename to docs/self-hosting/manage/migrate-plane.mdx index 6d9d013..a5c081c 100644 --- a/self-hosting/manage/migrate-plane.mdx +++ b/docs/self-hosting/manage/migrate-plane.mdx @@ -1,8 +1,13 @@ --- title: Move your Plane instance to a new server • Commercial Edition -sidebarTitle: Move to another server +sidebar_label: Move to another server --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + Switching to another machine is straightforward on the Commercial Edition. ## Prerequisites @@ -12,9 +17,9 @@ Before we dive in, ensure: - You have a different machine with our standard config to migrate to. - You understand the same domain will be used to host the app as the current machine. - +:::warning If you need to change your domain during migration, contact our support team for assistance. - +::: ## Steps 1. **Delink licenses** diff --git a/self-hosting/manage/prime-cli.mdx b/docs/self-hosting/manage/prime-cli.mdx similarity index 85% rename from self-hosting/manage/prime-cli.mdx rename to docs/self-hosting/manage/prime-cli.mdx index f4b7112..9506342 100644 --- a/self-hosting/manage/prime-cli.mdx +++ b/docs/self-hosting/manage/prime-cli.mdx @@ -1,15 +1,17 @@ --- -title: Command line tools -sidebarTitle: CLIs +title: Command Line Tools +sidebar_label: CLIs +sidebar_position: 8 --- -Our command-line tool is here to make managing your Plane instance simple. You can handle installs, upgrades, and general management without needing to be a Docker expert. +{frontMatter.description && ( +

{frontMatter.description}

+)} -## Prime CLI • Commercial Edition - -If you are on the Community edition and want to upgrade to the Commercial edition, see [Upgrade to Commercial Edition](/self-hosting/upgrade-from-community). - +:::info +If you are on the Community edition and want to upgrade to the Commercial edition, see [Upgrade to Commercial Edition](/self-hosting/manage/upgrade-from-community). +::: The Prime CLI provides commands for common tasks like configuring services, monitoring health, managing backups, and upgrading your Plane instance. @@ -35,16 +37,19 @@ Bring up the Prime CLI with ```sudo prime-cli``` from any directory on your mach - `repair` automatically diagnoses and fixes common errors in your Plane instance. This command also resets all configuration values in the plane.env file to their defaults. - `update-cli` downloads and installs the latest version of Prime CLI. - + ::tip It is highly recommend to run this first before you download any Plane updates. The latest version of the CLI ensures your Plane upgrades happen smoothly. - + ::: For more advanced admins that want greater control over their instance, the list of additional commands available on Prime CLI follow. - `configure` Brings up a step form to let you specify the following. - - - `Listening port` + +
+ Configuration steps + + - `Listening port` Specify the port that the built-in reverse proxy will use @@ -80,7 +85,8 @@ For more advanced admins that want greater control over their instance, the list - Confirm your choices on the screen ↓. This restarts your instance with the new configs. - + +
- `upgrade` @@ -94,8 +100,12 @@ For more advanced admins that want greater control over their instance, the list 1. Typing `YES` lets the CLI clean up the `/opt/plane` folder, leaving behind the `/opt/plane/data` and `/opt/plane/logs` folders. 2. Typing `NO` cancels the uninstall. +### Troubleshoot - +- [Failed to update Prime CLI](/self-hosting/troubleshoot/cli-errors#failed-to-update-prime-cli) + +
+ Setup.sh script • Community Edition The setup script `setup.sh` provides a menu-driven interface to help you install and manage your Plane instance. @@ -134,27 +144,23 @@ Select a Action you want to perform: Restarts the Plane server and all associated services. - **Upgrade** - Upgrades Plane to the latest available version. This will stop all services, update the necessary files, and then restart Plane with the latest configuration. See [Update Plane](/self-hosting/manage/upgrade-plane#update-plane-version-community-edition) for more info. + Upgrades Plane to the latest available version. This will stop all services, update the necessary files, and then restart Plane with the latest configuration. See [Update Plane](/self-hosting/manage/upgrade-plane#prerequisites-1) for more info. - - It’s recommended to create a backup before upgrading your instance. See [Backup and restore](/self-hosting/manage/backup-restore#backup-and-restore-data-community-edition). - + :::warning + It’s recommended to create a backup before upgrading your instance. See [Backup and restore](/self-hosting/manage/backup-restore#backup-data-1). + ::: - **View Logs** - Displays real-time logs of specific Plane services. See [View logs](/self-hosting/manage/view-logs#view-container-logs-community-edition) for more info. + Displays real-time logs of specific Plane services. See [View logs](/self-hosting/manage/view-logs#view-container-logs) for more info. - + ::tip Use **View Logs** to monitor service performance or troubleshoot issues. Press `CTRL+C` to exit the log view and return to the main menu. - + ::: - **Backup Data** - Creates a backup of your current Plane installation, including all data. See [Backup and restore data](/self-hosting/manage/backup-restore#backup-and-restore-data-community-edition) for more info. + Creates a backup of your current Plane installation, including all data. See [Backup and restore data](/self-hosting/manage/backup-restore#backup-data-1) for more info. - **Exit** Closes the setup script and returns you to the command line. - - -## Troubleshoot - -- [Failed to update Prime CLI](/self-hosting/troubleshoot/cli-errors#failed-to-update-prime-cli) \ No newline at end of file +
\ No newline at end of file diff --git a/self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx b/docs/self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx similarity index 94% rename from self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx rename to docs/self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx index 6199b34..41d6f1b 100644 --- a/self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx +++ b/docs/self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx @@ -1,8 +1,13 @@ --- title: Mandatory checkpoint at v0.14.0 • Community Edition -sidebarTitle: For versions before v0.14.0 +sidebar_label: Versions before v0.14.0 --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + If you’re upgrading from `v0.13.2` or below, there are some additional migration steps due to significant changes in the self-hosting setup. Follow these instructions to migrate your data to the new volume structure in `v0.14.0`. 1. First, stop the running `v0.13-2` (or older) instance of Plane. If it's still running, you might hit a "ports not available" error, which will prevent the `v0.14-0` containers from starting up correctly. @@ -84,7 +89,7 @@ If you’re upgrading from `v0.13.2` or below, there are some additional migrati 9. Open a second terminal and run the commands shown above to identify your source and destination volume prefixes. For example, if you run `docker volume ls -q | grep -i "_pgdata"`, you might see something like: - ![](/images/update-plane/docker-volumes.png) + ![](/images/update-plane/docker-volumes.png) In this example, `plane-013-dev` is the prefix for `v0.13.2`, and `plane-app` is the prefix for `v0.14.0`. @@ -107,4 +112,4 @@ If you’re upgrading from `v0.13.2` or below, there are some additional migrati 14. You’re all set! Log in to your updated `v0.14-0` instance to check if all of your data has migrated successfully. -15. Now, [update to the latest version](/self-hosting/manage/upgrade-plane#community-edition). \ No newline at end of file +15. Now, [update to the latest version](/self-hosting/manage/upgrade-plane#prerequisites-1). \ No newline at end of file diff --git a/self-hosting/upgrade-from-community.mdx b/docs/self-hosting/manage/upgrade-from-community.mdx similarity index 87% rename from self-hosting/upgrade-from-community.mdx rename to docs/self-hosting/manage/upgrade-from-community.mdx index 7c17428..29e4d0a 100644 --- a/self-hosting/upgrade-from-community.mdx +++ b/docs/self-hosting/manage/upgrade-from-community.mdx @@ -1,19 +1,26 @@ --- title: Upgrade from Community to Commercial Edition -sidebarTitle: Upgrade to Commercial Edition +sidebar_label: Upgrade to Commercial Edition +sidebar_position: 1 --- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + The Commercial edition comes with the free plan and the flexibility to upgrade to a paid plan at any point. - +:::warning **IMPORTANT** -Make sure you already have Commercial Edition installed on a fresh machine before starting this migration. If you haven’t installed it yet, follow our [Commercial Edition](/self-hosting/methods/docker-compose#recommended-edition) installation guide first. +Make sure you already have Commercial Edition installed on a fresh machine before starting this migration. If you haven’t installed it yet, follow our [Commercial Edition](/self-hosting/methods/docker-compose#install-plane) installation guide first. The instructions provided on this page are specific to installations using Docker. If you are running Plane on Kubernetes, you'll need to manually create a database dump and back up your file storage by copying the relevant volumes or storage paths. - +::: ## Prerequisites -- Install the [Commercial Edition](/self-hosting/methods/docker-compose#recommended-edition) on a fresh machine, not the one running the Plane Community Edition. +- Install the [Commercial Edition](/self-hosting/methods/docker-compose#install-plane) on a fresh machine, not the one running the Plane Community Edition. - Be sure to log in as the root user or as a user with sudo access. The `/opt` folder requires sudo or root privileges. ## Back up data on Community instance @@ -60,4 +67,4 @@ The instructions provided on this page are specific to installations using Docke mkdir -p $TARGET_DIR/minio mv $TARGET_DIR/uploads/ $TARGET_DIR/minio/uploads/ ``` -3. This script will extract your Community Edition data and restore it to `/opt/plane/data`. +3. This script will extract your Community Edition data and restore it to `/opt/plane/data`. \ No newline at end of file diff --git a/self-hosting/manage/upgrade-plane.mdx b/docs/self-hosting/manage/upgrade-plane.mdx similarity index 84% rename from self-hosting/manage/upgrade-plane.mdx rename to docs/self-hosting/manage/upgrade-plane.mdx index 64d368a..6723a0a 100644 --- a/self-hosting/manage/upgrade-plane.mdx +++ b/docs/self-hosting/manage/upgrade-plane.mdx @@ -1,12 +1,20 @@ --- title: Update Plane version -sidebarTitle: Update to latest version +description: Keeping Plane up to date ensures you’re using the latest features, improvements, and security fixes. Here’s how to upgrade your Plane installation with a single command. +sidebar_label: Update to latest version +sidebar_position: 1 --- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + Keeping Plane up to date ensures you’re using the latest features, improvements, and security fixes. Here’s how to upgrade your Plane installation with a single command. - +:::note The upgrade process may involve a brief downtime as services are updated and restarted. - +::: ## Prerequisites We recommend creating a backup of your data before any version updates. See [Backup data](/self-hosting/manage/backup-restore). @@ -19,9 +27,9 @@ You can quickly check your Plane version by clicking the **?** icon on the sideb ## Update version - +:::warning For Commercial Edition v1.13.0, ensure you're using the **latest version of Docker Compose**. Check your Docker Compose version with `docker-compose --version` and update if needed. - +::: 1. Update your Prime CLI with the command ↓: @@ -36,15 +44,16 @@ For Commercial Edition v1.13.0, ensure you're using the **latest version of Dock ``` This command checks for the latest version of Plane and applies the upgrade if a new version is available. - +
+ Community Edition - +:::warning This guide covers how to upgrade from version 0.14.0 and above. If you’re running version 0.13.2 or below, first follow the guide to [upgrade to version v0.14.0](/self-hosting/manage/upgrade-from-0.13.2-0.14.0) before continuing with these steps. - +::: ## Prerequisites -Before starting, make a backup of your Plane instance. For detailed steps, see the [Backup data](/self-hosting/manage/backup-restore#community-edition) section. This is strongly recommended to ensure you have a safe restore point. +Before starting, make a backup of your Plane instance. For detailed steps, see the [Backup data](/self-hosting/manage/backup-restore#backup-data-1) section. This is strongly recommended to ensure you have a safe restore point. ## Update version @@ -83,4 +92,4 @@ Before starting, make a backup of your Plane instance. For detailed steps, see t 5. Once your `plane.env` file is updated, start your Plane instance again by selecting option `2`. - \ No newline at end of file +
diff --git a/self-hosting/manage/view-logs.mdx b/docs/self-hosting/manage/view-logs.mdx similarity index 94% rename from self-hosting/manage/view-logs.mdx rename to docs/self-hosting/manage/view-logs.mdx index 798eb9b..2280d3d 100644 --- a/self-hosting/manage/view-logs.mdx +++ b/docs/self-hosting/manage/view-logs.mdx @@ -1,7 +1,13 @@ --- title: View container logs -sidebarTitle: View logs +sidebar_label: View logs --- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + If you need to check the logs for troubleshooting or to monitor what’s happening in specific Plane services like the API or Worker, you can access them directly from the command line. To view logs, start by running the command ↓: @@ -11,9 +17,12 @@ To view logs, start by running the command ↓: This brings up a table where you can select which container logs you want to view. -![Container logs](/images/view-logs/container-logs.webp) +![Container logs](/images/view-logs/container-logs.webp#center) - +
+ Community Edition + +## View container logs Here’s how to view logs for any service in Plane Community Edition, whether it’s the API, Worker, Redis, or others. This can be really helpful when troubleshooting or just getting insights into how each service is running. @@ -104,5 +113,4 @@ Here’s how to view logs for any service in Plane Community Edition, whether it ``` 4. To exit the logs, use `CTRL+C`. This will take you back to the main menu where you can select another action or view logs from a different service. - - \ No newline at end of file +
diff --git a/docs/self-hosting/methods/_category_.yml b/docs/self-hosting/methods/_category_.yml new file mode 100644 index 0000000..ff278e9 --- /dev/null +++ b/docs/self-hosting/methods/_category_.yml @@ -0,0 +1,3 @@ +label: "Install" +position: 3 +collapsed: false diff --git a/self-hosting/methods/airgapped-edition-kubernetes.mdx b/docs/self-hosting/methods/airgapped-edition-kubernetes.mdx similarity index 99% rename from self-hosting/methods/airgapped-edition-kubernetes.mdx rename to docs/self-hosting/methods/airgapped-edition-kubernetes.mdx index c39f716..60109a0 100644 --- a/self-hosting/methods/airgapped-edition-kubernetes.mdx +++ b/docs/self-hosting/methods/airgapped-edition-kubernetes.mdx @@ -60,9 +60,9 @@ Before starting, ensure you have: - `rabbitmq-3.13.6-management-alpine.tar` - Plane-mq service image - `valkey-7.2.5-alpine.tar` - Plane-redis service image - + :::info For this installation, you can ignore the extra files in this folder (e.g., `docker-compose.yml`, `install.sh`, `plane.env`, etc.). - + ::: 5. Load the images into your local Docker registry or private registry: @@ -179,9 +179,9 @@ For more advanced Plane configuration options, refer to the [Kubernetes document ## Activate your license Once your air-gapped installation is running, you'll need to activate your workspace with the provided license file. - +:::info You should have received the `license_key.json` file as part of your air-gapped package. If you don't have this file, contact our support team. - +::: 1. Go to your [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#workspace-settings) in the Plane application. 2. Select **Billing and plans** on the right pane. @@ -191,7 +191,7 @@ You should have received the `license_key.json` file as part of your air-gapped You now have Plane running in your air-gapped environment. If you run into any issues, check the logs using the commands above, or reach out to our support team for assistance. - +:::tip *Optional* Once everything is working, you can safely delete the `airgapped` folder that contains the installation script and image files to free up space. - +::: diff --git a/docs/self-hosting/methods/airgapped-edition.mdx b/docs/self-hosting/methods/airgapped-edition.mdx new file mode 100644 index 0000000..c4dbc02 --- /dev/null +++ b/docs/self-hosting/methods/airgapped-edition.mdx @@ -0,0 +1,198 @@ +--- +title: Deploy Plane Commercial Airgapped Edition +sidebar_label: Airgapped Edition +sidebar_position: 4 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +This guide walks you through setting up the Commercial Airgapped Edition in an +offline environment using our pre-packaged installation bundle. + +:::warning +**IMPORTANT** +These instructions are for new installations only. If you're migrating from +Community Edition to air-gapped, follow [this guide](/self-hosting/manage/community-to-airgapped). +::: + +## Prerequisites + +Before you start, ensure your air-gapped machine has: + +- Docker (v24 or later) +- Docker Compose Plugin (should be able to run `docker compose` or `docker-compose`) +- The Plane air-gapped package, which includes: + - Docker image files (`.tar`) + - Configuration files (`docker-compose.yml`, `plane.env`) + - Installation script (`install.sh`) + +### Required files + +- `docker-compose.yml` — Docker Compose config for service orchestration +- `plane.env` — Default environment variables +- `admin-commercial-.tar` — Admin service image +- `backend-commercial-.tar` — API/worker/beat-worker/migrator image +- `email-commercial-.tar` — Email service image +- `live-commercial-.tar` — Live service image +- `monitor-commercial-.tar` — Monitor service image +- `proxy-commercial-.tar` — Proxy service image +- `silo-commercial-.tar` — Silo service image +- `space-commercial-.tar` — Space service image +- `web-commercial-.tar` — Web service image +- `minio-latest.tar` — MinIO service image +- `postgres-15.7-alpine.tar` — Postgres service image +- `rabbitmq-3.13.6-management-alpine.tar` — RabbitMQ service image +- `valkey-7.2.5-alpine.tar` — Redis service image + +## Install Plane + +1. Contact sales@plane.so for your installation download URL and license file. +2. On a machine with internet access, download the installation package: + ```bash + curl -LO + ``` + The download may take 15 minutes. Once complete, you no longer need internet + access. +3. Transfer the `airgapped-{arch}.tar.gz` file to your air-gapped machine. +4. Extract the package: + ```bash + mkdir -p airgapped + tar -xvzf airgapped-amd64.tar.gz -C airgapped + cd airgapped + ``` + The airgapped directory contains your `plane.env`, `docker-compose.yml`, and + `install.sh` files which are used in the following steps. +5. Run the installation script: + + ```bash + bash install.sh + ``` + + The script will guide you through the process step by step. Here's what to + expect: + + ```bash + ********************************************************** + You are about to install/upgrade Plane as airgapped setup + + Pre-requisites: + + - Docker installed and running + - Docker version 24 or higher + - docker-compose or docker compose installed + - A tarball of all the images + - A docker-compose.yml file (docker-compose.yml) + - A plane.env file (plane.env) + ********************************************************** + + Enter the directory to install Plane (default: /home/ubuntu/planeairgapped): + + Enter the domain or ip address to access Plane (default: 127.0.0.1): plane.mycompany.com + + ********************************************************** + Verify the final configuration: + - Setup Directory: /home/ubuntu/planeairgapped + - App Domain: plane.mycompany.com + - Installation Type: New + ********************************************************** + ``` + + Once you confirm your settings, the installer will: + - Copy the `docker-compose.yml` and `plane.env` files to your chosen installation directory. + - Create the necessary folders for data and logs. + - Load all the Docker images into your local Docker registry. + + You'll see something like this when the installation completes: + + ```bash + ****************************\*\***************************** + Plane Setup is ready to configure and start + + Use below commands to configure and start Plane + Switch to the setup directory + cd /home/ubuntu/planeairgapped + Start the services + docker compose -f docker-compose.yml --env-file plane.env up -d + Check logs of migrator service and wait for it to finish using below command + docker compose logs -f migrator + Check logs of api service and wait for it to start using below command + docker compose logs -f api + Once the api service is started, you can access Plane at http://plane.mycompany.com + ********************************************************** + Installation completed successfully + You can access Plane at http://plane.mycompany.com + ``` + + After installation, your directory structure will look like this: + + ```bash + ~/planeairgapped/ + ├── docker-compose.yml + ├── plane.env + ├── data/ + └── logs/ + ``` + +## Environment variables + +The following key environment variables are automatically configured during +installation: + +- `MACHINE_SIGNATURE` - A unique UUID generated for your installation +- `DOMAIN_NAME` - The domain or IP address where Plane will be accessible +- `WEB_URL` - The full URL where Plane will be accessible (e.g., `http://your-domain`) +- `CORS_ALLOWED_ORIGINS` - Allowed origins for CORS (Cross-Origin Resource Sharing) + +## Start Plane + +1. To get Plane up and running, navigate to your installation directory and start the services: + ```bash + cd ~/planeairgapped + docker compose --env-file plane.env up -d + ``` +2. Watch the logs to make sure everything starts properly. + - To monitor the database migration process: + + ```bash + docker compose logs -f migrator + ``` + + - To monitor the API service startup: + + ```bash + docker compose logs -f api + ``` + + The api is healthy when you see: `api-1 listening at` + + Once both services are running smoothly, you can access Plane by opening your + browser and going to the domain or IP address you configured during + installation. + +## Activate your license + +Once your air-gapped installation is running, you'll need to activate your +workspace with the provided license file. + +:::note +You should have received the `license_key.json` file as part of your air-gapped +package. If you don't have this file, contact our support team. +::: + +1. Go to your [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#workspace-settings) in the Plane application. +2. Select **Billing and plans** on the right pane. +3. Click the **Activate this workspace** button. + ![Upload license file](/images/activate-license/upload-airgapped-license-file.webp#center) +4. Upload the license file `license_key.json` to activate your workspace. + +You now have Plane running in your air-gapped environment. If you run into any +issues, check the logs using the commands above, or reach out to our support +team for assistance. + +:::tip Optional +Once everything is working, you can safely delete the `airgapped` folder that +contains the installation script and image files to free up space. +::: diff --git a/self-hosting/methods/coolify.mdx b/docs/self-hosting/methods/coolify.mdx similarity index 84% rename from self-hosting/methods/coolify.mdx rename to docs/self-hosting/methods/coolify.mdx index 6dd3d4f..574836a 100644 --- a/self-hosting/methods/coolify.mdx +++ b/docs/self-hosting/methods/coolify.mdx @@ -1,8 +1,14 @@ --- title: Deploy Plane with Coolify • Commercial Edition -sidebarTitle: Coolify +sidebar_label: Coolify +sidebar_position: 5 --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide shows you the steps to deploy a self-hosted instance of Plane using Coolify. ## Install Plane @@ -21,9 +27,10 @@ This guide shows you the steps to deploy a self-hosted instance of Plane using C curl -fsSL https://prime.plane.so/releases//coolify-compose.yml -o coolify-compose.yml ``` - - The `` value should be v1.8.2 or higher. - + :::warning + Replace `` with the [latest version](https://plane.so/changelog?category=self-hosted). (e.g., v1.13.0). + ::: + 2. Create a new project in Coolify. @@ -34,9 +41,9 @@ This guide shows you the steps to deploy a self-hosted instance of Plane using C 5. Copy and paste the contents of the `coolify-compose.yml` file into the editor. 6. Configure external DB, Redis, RabbitMQ and any other required environment variables in the UI. - + :::warning When self-hosting Plane for production use, it is strongly recommended to configure external database and storage. This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. - + ::: - `DATABASE_URL` – Connection string for your external database. - `REDIS_URL` – Connection string for your external Redis instance. diff --git a/docs/self-hosting/methods/docker-compose.mdx b/docs/self-hosting/methods/docker-compose.mdx new file mode 100644 index 0000000..69c2e5b --- /dev/null +++ b/docs/self-hosting/methods/docker-compose.mdx @@ -0,0 +1,175 @@ +--- +title: Deploy Plane with Docker +sidebar_label: Docker +sidebar_position: 1 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +This guide shows you how to deploy a self-hosted instance of Plane using Docker. + +:::tip +To upgrade from Community to Commercial edition, see [Upgrade to Commercial +Edition](/self-hosting/manage/upgrade-from-community). +::: + +## Install Plane + +Plane Pro and Plane Business are enabled on this edition, so the Free plan is +ideal for trialing paid features. + +### Prerequisites + +- A virtual or on-prem machine with at least 2 vCPUs and 4 GB RAM (8 GB recommended) +- `x64` (AMD 64) or `AArch 64` (ARM 64) CPUs +- Supported operating systems: + - Ubuntu + - Debian + - CentOS + - Amazon Linux 2 or Linux 2023 + +:::tip +Use the **latest version of Docker Compose**. Check with +`docker-compose --version` and update if needed. +::: + +### Procedure + +1. `ssh` into your machine as the root user (or user with sudo access) per the norms of your hosting provider. +2. Run the command below: + ```bash + curl -fsSL https://prime.plane.so/install/ | sh - + ``` +3. Follow the instructions on the terminal. Hit `Enter` or `Return` to continue. +4. Enter the domain name where you will access the Plane app in the format `domain.tld` or `subdomain.domain.tld`. If you are using a paid plan, the domain linked to the license can’t be changed later. +5. Choose one of the following: + - **Express**: Installs Plane with default configurations. + - **Advanced**: Lets you customize the database, Redis, storage, and other settings. + :::warning + When self-hosting Plane for production use, it is strongly recommended to configure [external database and storage](/self-hosting/govern/database-and-storage). This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. + ::: +6. The installation will take a few minutes to complete and you will see the message **Plane has successfully installed**. You can access the Plane application on the domain you provided during the installation. + +:::tip +If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so/workspaces-and-users/upgrade-plan). +::: + +
+ Install Community Edition + + The Commercial edition comes with a free plan and the flexibility to upgrade to a paid plan at any point. If you still want to install the Community edition, follow the steps below: + +### Prerequisites + +- Docker installed and running. Choose one of the following options: + - **Option 1** + Create an EC2 machine on AWS. It must of minimum **t3.medium/t3a.medium**. + Run the below command to install docker engine. + ```bash + curl -fsSL https://get.docker.com | sh - + ``` + - **Option 2** + Install [Docker Desktop](https://www.docker.com/products/docker-desktop/). +- OS with bash scripting enabled (Ubuntu, Linux AMI, macos). Windows systems need to have [gitbash](https://git-scm.com/download/win). +- User context used must have access to docker services. In most cases, use `sudo su` to switch as root user. +- Use the terminal (or gitbash) window to run all the future steps. + +### Installation + +1. Create a folder named `plane-selfhost` on your machine for deployment and data storage. + + ```bash + mkdir plane-selfhost + ``` + +2. Navigate to this folder using the cd command. + ```bash + cd plane-selfhost + ``` +3. Download the latest stable release. + ```bash + curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh + ``` +4. Make the file executable. + ```bash + chmod +x setup.sh + ``` +5. Run the following command: + ```bash + ./setup.sh + ``` + This will prompt you with the below options. + ```list + Select a Action you want to perform: + 1) Install (arm64) + 2) Start + 3) Stop + 4) Restart + 5) Upgrade + 6) View Logs + 7) Backup Data + 8) Exit + Action [2]: 1 + ``` +6. Enter `1` as input. + This will create a folder `plane-app` and will download the `docker-compose.yaml` and + `plane.env` files. +7. Enter `8` to exit. +8. Set up the environment variables. You can use any text editor to edit this file. Below are the most importants keys you must refer to: + - `LISTEN_HTTP_PORT`: This is set to `80` by default. Make sure the port you choose to use is not preoccupied. For example, `LISTEN_HTTP_PORT=8080` + - `LISTEN_HTTPS_PORT`: This is set to `443` by default. Make sure the port you choose to use is not preoccupied. For example, `LISTEN_HTTPS_PORT=4430` + - `WEB_URL`: This is set to `http://localhost` by default. Change this to the FQDN you plan to use along with LISTEN_HTTP_PORT. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. + - `CORS_ALLOWED_ORIGINS`: This is set to `http://localhost` by default. Change this to the FQDN you plan to use along with LISTEN_HTTP_PORT. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. +9. Run the following command to continue with the setup. + ```bash + ./setup.sh + ``` +10. Enter `2` as input to start the services. + You will something like this: + + ![Downloading docker images](/images/docker-compose/download-docker.png) + + Be patient as it might take some time based on your download speed and + system configuration. If all goes well, you must see something like this: + + ![Downloading completed](/images/docker-compose/download-complete.png) + + This is the confirmation that all images were downloaded and the services + are up and running. + +You have successfully self-hosted the Plane instance. Access the application +by going to IP or domain you have configured it on. For example, +`https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. + +#### Stop server + +In case you want to make changes to the environment variables in the +`plane.env` file, we recommend that you stop the services before doing that. + +Run the `./setup.sh` command. Enter `3` to stop the services. + +If all goes well, you will see something like this: + +![Stop Services](/images/docker-compose/stopped-docker.png) + +#### Restart server + +In case you want to make changes to `plane.env` variables without stopping the +server or noticed some abnormalities in services, you can restart the +services. + +Run the `./setup.sh` command. Enter `4` to restart the services. + +If all goes well, you will see something like this: + +![Restart Services](/images/docker-compose/restart-docker.png) + +
+ +## Troubleshoot + +- [Error during Docker Compose execution](/self-hosting/troubleshoot/installation-errors#error-during-docker-compose-execution) +- [Migrator container exited](/self-hosting/troubleshoot/installation-errors#migrator-container-exited) diff --git a/docs/self-hosting/methods/docker-swarm.mdx b/docs/self-hosting/methods/docker-swarm.mdx new file mode 100644 index 0000000..6970741 --- /dev/null +++ b/docs/self-hosting/methods/docker-swarm.mdx @@ -0,0 +1,68 @@ +--- +title: Deploy Plane with Docker Swarm • Commercial Edition +sidebar_label: Docker Swarm +sidebar_position: 2 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +This guide shows you how to deploy a self-hosted instance of Plane Commercial +Edition using Docker Swarm. + +## Install Plane + +### Prerequisites + +- Before you get started, make sure you have a Docker Swarm environment set up and ready to go. +- Your setup should support either amd64 or arm64 architectures. + +### Procedure + +1. **Download the required deployment files** + - `swarm-compose.yml` — Defines Plane's services and dependencies. + ```bash + curl -fsSL https://prime.plane.so/releases//swarm-compose.yml -o swarm-compose.yml + ``` + - `variables.env` — Stores environment variables for your deployment. + ```bash + curl -fsSL https://prime.plane.so/releases//variables.env -o plane.env + ``` + :::warning + Replace `` with the [latest version](https://plane.so/changelog?category=self-hosted). (e.g., v1.13.0). + ::: + +2. **Configure environment variables** + Before deploying, edit the `variables.env` file in your preferred text editor and update the following values: + + - `DOMAIN_NAME` — (required) Your application's domain name + - `SITE_ADDRESS` — (required) The full domain name (FQDN) of your instance + - `MACHINE_SIGNATURE` – (required) A unique identifier for your machine. You can generate this by running below code in terminal: + ```sh + sed -i 's/MACHINE_SIGNATURE=.*/MACHINE_SIGNATURE='$(openssl rand -hex 16)'/' plane.env + ``` + - `CERT_EMAIL` – (required if you're setting up HTTPS) Email address for SSL certificate generation + +3. **Configure external DB, Redis, and RabbitMQ** + :::warning + When self-hosting Plane for production use, it is strongly recommended to configure external database and storage. This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. + ::: + - `DATABASE_URL` — Connection string for your external database + - `REDIS_URL` — Connection string for your external Redis instance + - `AMQP_URL` — Connection string for your external RabbitMQ server + +4. **Load the environment variables** + + ```bash + set -o allexport; source ; set +o allexport; + ``` + +5. **Deploy the stack** + ```bash + docker stack deploy -c plane + ``` + +That's it! This will deploy Plane as a Swarm stack, and your instance should be +accessible on your configured domain. diff --git a/docs/self-hosting/methods/kubernetes.mdx b/docs/self-hosting/methods/kubernetes.mdx new file mode 100644 index 0000000..f580355 --- /dev/null +++ b/docs/self-hosting/methods/kubernetes.mdx @@ -0,0 +1,661 @@ +--- +title: Deploy Plane with Kubernetes +sidebar_label: Kubernetes +sidebar_position: 3 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +This guide shows you how to deploy a self-hosted instance of Plane using +Kubernetes. + +:::tip +To upgrade from Community to Commercial edition, see [Upgrade to Commercial +Edition](/self-hosting/manage/upgrade-from-community). +::: + +## Install Plane + +Plane Pro and Plane Business are enabled on this edition, so the Free plan is +ideal for trialing paid features. + +### Prerequisites + +- A working Kubernetes cluster +- `kubectl` and `helm` on your client system +- Helm chart v1.3.1 or later + +### Procedure + +1. Open a terminal with access to Kubernetes tools. +2. Set the following environment variables: + ```bash + PLANE_VERSION= + DOMAIN_NAME= + ``` + :::warning + Replace `` with the [latest version](https://plane.so/changelog?category=self-hosted). (e.g., v1.13.0). + ::: +3. Add the Plane Helm chart repo: + ```bash + helm repo add plane https://helm.plane.so/ + ``` +4. Deploy Plane using one of the following: + - **Quick setup**: This is the fastest way to deploy Plane with the default settings. This will create stateful deployments for Postgres, Redis/Valkey, and Minio with a persistent volume claim using the `longhorn` storage class. This also sets up the Ingress routes for you using `nginx` ingress class. To customize these settings, see the [Custom ingress routes](#custom-ingress-routes). + + Run the following command to deploy Plane: + + ```bash + helm install plane-app plane/plane-enterprise \ + --create-namespace \ + --namespace plane \ + --set license.licenseDomain=${DOMAIN_NAME} \ + --set license.licenseServer=https://prime.plane.so \ + --set planeVersion=${PLANE_VERSION} \ + --set ingress.enabled=true \ + --set ingress.ingressClass=nginx \ + --set env.storageClass=longhorn \ + --timeout 10m \ + --wait \ + --wait-for-jobs + ``` + + :::note + This is the minimum required to set up Plane Commercial edition. You can + change the default namespace from `plane`, the default app name from + `plane-app`, the default storage class from `longhorn`, and the default + ingress class from `nginx` to whatever you would like to.

+ You can also pass other settings referring to the **Configuration + Settings** toggle section below. + ::: + + - **Advanced setup**: + :::warning + When self-hosting Plane for production use, it is strongly recommended to + configure [external database and storage](/self-hosting/methods/kubernetes#configuration-settings). + This ensures that your data remains secure and accessible even if the local + machine crashes or encounters hardware issues. Relying solely on local + storage for these components increases the risk of data loss and service + disruption. + ::: + + For more control over your setup, follow the steps below: + + 1. Run the script below to download the `values.yaml` file and and edit using any editor like Vim or Nano. + + ```bash + helm show values plane/plane-enterprise > values.yaml + vi values.yaml + ``` + + Make sure you set the required environment variables listed below: + - `planeVersion: ` + - `license.licenseDomain: ` + - `license.licenseServer: https://prime.plane.so` + - `ingress.enabled: ` + - `ingress.ingressClass: ` + - `env.storageClass: ` + + See the **Configuration settings** toggle section for more details. + + 2. After saving the `values.yaml` file, run the following command to deploy Plane: + + ```bash + helm install plane-app plane/plane-enterprise \ + --create-namespace \ + --namespace plane \ + -f values.yaml \ + --timeout 10m \ + --wait \ + --wait-for-jobs + ``` + + :::tip + If you want to upgrade to a paid plan, see + [Plan upgrades](https://docs.plane.so/workspaces-and-users/upgrade-plan). + ::: + +### Configuration settings + +#### License + +| Setting | Default | Required | Description | +| --------------------- | :----------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| planeVersion | v1.13.0 | Yes | Specifies the version of Plane to be deployed. Copy this from `prime.plane.so.` | +| license.licenseServer | `https://prime.plane.so` | Yes | Sets the value of the `licenseServer` that gets you your license and validates it periodically. Don't change this. | +| license.licenseDomain | 'plane.example.com' | Yes | The fully-qualified domain name (FQDN) in the format `sudomain.domain.tld` or `domain.tld` that the license is bound to. It is also attached to your `ingress` host to access Plane. | + +#### Postgres + +| Setting | Default | Required | Description | +| ----------------------------------- | :--------------------: | :------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| services.postgres.local_setup | true | | Plane uses `postgres` as the primary database to store all the transactional data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | +| services.postgres.image | `postgres:15.7-alpine` | | Using this key, user must provide the docker image name to setup the stateful deployment of `postgres`. (must be set when `services.postgres.local_setup=true`) | +| services.postgres.servicePort | 5432 | | This key sets the default port number to be used while setting up stateful deployment of `postgres`. | +| services.postgres.cliConnectPort | | | If you intend to access the hosted stateful deployment of postgres using any of the client tools (e.g Postico), this key helps you expose the port. The mentioned port must not be occupied by any other applicaiton | +| services.postgres.volumeSize | 2Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | +| env.pgdb_username | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the username for the stateful deployment. | +| env.pgdb_password | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the password for the stateful deployment. | +| env.pgdb_name | plane | | Database name to be used while setting up stateful deployment of `Postgres` | +| services.postgres.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | +| env.pgdb_remote_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `services.postgres.local_setup` to `false` and set this key with remote connection url. | + +#### Redis/Valkey Setup + +| Setting | Default | Required | Description | +| -------------------------------- | :--------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| services.redis.local_setup | true | | Plane uses `redis` to cache the session authentication and other static data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `redis`. Mark it as `false` when using a remotely hosted database | +| services.redis.image | `valkey/valkey:7.2.5-alpine` | | Using this key, user must provide the docker image name to setup the stateful deployment of `redis`. (must be set when `services.redis.local_setup=true`) | +| services.redis.servicePort | 6379 | | This key sets the default port number to be used while setting up stateful deployment of `redis`. | +| services.redis.volumeSize | 500Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | +| services.redis.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | +| env.remote_redis_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `services.redis.local_setup` to `false` and set this key with remote connection url. | + +#### RabbitMQ Setup + +| Setting | Default | Required | Description | +| --------------------------------------- | :---------------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| services.rabbitmq.local_setup | true | | Plane uses `rabbitmq` as message queuing system. This can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws mq or similar services). Set this to `true` when you choose to setup stateful deployment of `rabbitmq`. Mark it as `false` when using a remotely hosted service | +| services.rabbitmq.image | `rabbitmq:3.13.6-management-alpine` | | Using this key, user must provide the docker image name to setup the stateful deployment of `rabbitmq`. (must be set when `services.rabbitmq.local_setup=true`) | +| services.rabbitmq.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `rabbitmq`. (must be set when `services.rabbitmq.local_setup=true`) | +| services.rabbitmq.servicePort | 5672 | | This key sets the default port number to be used while setting up stateful deployment of `rabbitmq`. | +| services.rabbitmq.managementPort | 15672 | | This key sets the default management port number to be used while setting up stateful deployment of `rabbitmq`. | +| services.rabbitmq.volumeSize | 100Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | +| services.rabbitmq.default_user | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the username for the stateful deployment. | +| services.rabbitmq.default_password | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the password for the stateful deployment. | +| services.rabbitmq.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | +| services.rabbitmq.external_rabbitmq_url | | | Users can also decide to use the remote hosted service and link to Plane deployment. Ignoring all the above keys, set `services.rabbitmq.local_setup` to `false` and set this key with remote connection url. | + +#### Doc Store (Minio\/S3) Setup + +| Setting | Default | Required | Description | +| -------------------------------- | :----------------: | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| services.minio.local_setup | true | | Plane uses `minio` as the default file storage drive. This storage can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws S3 or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | +| services.minio.image | minio/minio:latest | | Using this key, user must provide the docker image name to setup the stateful deployment of `minio`. (must be set when `services.minio.local_setup=true`) | +| services.minio.image_mc | minio/mc:latest | | Using this key, user must provide the docker image name to setup the job deployment of `minio client`. (must be set when `services.minio.local_setup=true`) | +| services.minio.volumeSize | 3Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | +| services.minio.root_user | admin | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the username for the stateful deployment. | +| services.minio.root_password | password | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the password for the stateful deployment. | +| env.docstore_bucket | uploads | Yes | Storage bucket name is required as part of configuration. This is where files will be uploaded irrespective of if you are using `Minio` or external `S3` (or compatible) storage service | +| env.doc_upload_size_limit | 5242880 | Yes | Document Upload Size Limit (default to 5Mb) | +| services.minio.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | +| env.aws_access_key | | | External `S3` (or compatible) storage service provides `access key` for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | +| env.aws_secret_access_key | | | External `S3` (or compatible) storage service provides `secret access key` for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | +| env.aws_region | | | External `S3` (or compatible) storage service providers creates any buckets in user selected region. This is also shared with the user as `region` for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | +| env.aws_s3_endpoint_url | | | External `S3` (or compatible) storage service providers shares a `endpoint_url` for the integration purpose for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | + +#### Web Deployment + +| Setting | Default | Required | Description | +| ------------------------------ | :-------------------------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| services.web.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | +| services.web.memoryLimit | 1000Mi | | Every deployment in Kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.web.cpuLimit | 500m | | Every deployment in Kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | +| services.web.image | `artifacts.plane.so/makeplane/web-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | +| services.web.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + +#### Space Deployment + +| Setting | Default | Required | Description | +| -------------------------------- | :---------------------------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| services.space.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | +| services.space.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.space.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | +| services.space.image | `artifacts.plane.so/makeplane/space-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | +| services.space.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + +#### Admin Deployment + +| Setting | Default | Required | Description | +| -------------------------------- | :---------------------------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| services.admin.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | +| services.admin.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.admin.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | +| services.admin.image | `artifacts.plane.so/makeplane/admin-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | +| services.admin.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + +#### Live Service Deployment + +| Setting | Default | Required | Description | +| ---------------------------------- | :--------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| services.live.replicas | 1 | Yes | Kubernetes helps you with scaling up\/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | +| services.live.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.live.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | +| services.live.image | `artifacts.plane.so/makeplane/live-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | +| env.live_sentry_dsn | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration. | +| env.live_sentry_environment | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration. | +| env.live_sentry_traces_sample_rate | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry trace sample rate (as configured in Sentry) for this integration. | +| services.live.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + +#### Monitor Deployment + +| Setting | Default | Required | Description | +| ---------------------------------- | :-----------------------------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| services.monitor.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.monitor.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | +| services.monitor.image | `artifacts.plane.so/makeplane/monitor-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | +| services.monitor.volumeSize | 100Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | +| services.monitor.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + +#### API Deployment + +| Setting | Default | Required | Description | +| ------------------------------ | :-----------------------------------------------: | :------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| services.api.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | +| services.api.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.api.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | +| services.api.image | `artifacts.plane.so/makeplane/backend-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | +| env.sentry_dsn | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration. | +| env.sentry_environment | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration. | +| services.api.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + +#### Silo Deployment + +| Setting | Default | Required | Description | +| --------------------------------------------- | :--------------------------------------------: | :-------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| services.silo.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | +| services.silo.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.silo.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | +| services.silo.image | `artifacts.plane.so/makeplane/silo-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | +| services.silo.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `silo`. | +| services.silo.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | +| services.silo.connectors.slack.enabled | false | | Slack Integration | +| services.silo.connectors.slack.client_id | "" | required if `services.silo.connectors.slack.enabled` is `true` | Slack Client ID | +| services.silo.connectors.slack.client_secret | "" | required if `services.silo.connectors.slack.enabled` is `true` | Slack Client Secret | +| services.silo.connectors.github.enabled | false | | Github App Integration | +| services.silo.connectors.github.client_id | "" | required if `services.silo.connectors.github.enabled` is `true` | Github Client ID | +| services.silo.connectors.github.client_secret | "" | required if `services.silo.connectors.github.enabled` is `true` | Github Client Secret | +| services.silo.connectors.github.app_name | "" | required if `services.silo.connectors.github.enabled` is `true` | Github App Name | +| services.silo.connectors.github.app_id | "" | required if `services.silo.connectors.github.enabled` is `true` | Github App ID | +| services.silo.connectors.github.private_key | "" | required if `services.silo.connectors.github.enabled` is `true` | Github Private Key | +| services.silo.connectors.gitlab.enabled | false | | Gitlab App Integration | +| services.silo.connectors.gitlab.client_id | "" | required if `services.silo.connectors.gitlab.enabled` is `true` | Gitlab Client ID | +| services.silo.connectors.gitlab.client_secret | "" | required if `services.silo.connectors.gitlab.enabled` is `true` | Gitlab Client Secret | +| env.silo_envs.mq_prefetch_count | 10 | | Prefetch count for RabbitMQ | +| env.silo_envs.batch_size | 60 | | Batch size for Silo | +| env.silo_envs.request_interval | 400 | | Request interval for Silo | +| env.silo_envs.sentry_dsn | | | Sentry DSN | +| env.silo_envs.sentry_environment | | | Sentry Environment | +| env.silo_envs.sentry_traces_sample_rate | | | Sentry Traces Sample Rate | +| env.silo_envs.hmac_secret_key | <random-32-bit-string> | | HMAC Secret Key | + +#### Worker Deployment + +| Setting | Default | Required | Description | +| --------------------------- | :-----: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| services.worker.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | +| services.worker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.worker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | + +#### Beat-Worker Deployment + +| Setting | Default | Required | Description | +| ------------------------------- | :-----: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| services.beatworker.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | +| services.beatworker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use. | +| services.beatworker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use. | + +#### External Secrets Config + +To configure the external secrets for your application, you need to define specific environment variables for each secret category. Below is a list of the required secrets and their respective environment variables. See [External secrets](/self-hosting/govern/external-secrets) for setup details. + +| Secret Name | Env Var Name | Required | Description | Example Value | +| ------------------------ | :---------------------- | :-------------------------------------- | :------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| rabbitmq_existingSecret | `RABBITMQ_DEFAULT_USER` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ user | `plane` | +| | `RABBITMQ_DEFAULT_PASS` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ password | `plane` | +| pgdb_existingSecret | `POSTGRES_PASSWORD` | Required if `postgres.local_setup=true` | Password for PostgreSQL database | `plane` | +| | `POSTGRES_DB` | Required if `postgres.local_setup=true` | Name of the PostgreSQL database | `plane` | +| | `POSTGRES_USER` | Required if `postgres.local_setup=true` | PostgreSQL user | `plane` | +| doc_store_existingSecret | `USE_MINIO` | Yes | Flag to enable MinIO as the storage backend | `1` | +| | `MINIO_ROOT_USER` | Yes | MinIO root user | `admin` | +| | `MINIO_ROOT_PASSWORD` | Yes | MinIO root password | `password` | +| | `AWS_ACCESS_KEY_ID` | Yes | AWS Access Key ID | `your_aws_key` | +| | `AWS_SECRET_ACCESS_KEY` | Yes | AWS Secret Access Key | `your_aws_secret` | +| | `AWS_S3_BUCKET_NAME` | Yes | AWS S3 Bucket Name | `your_bucket_name` | +| | `AWS_S3_ENDPOINT_URL` | Yes | Endpoint URL for AWS S3 or MinIO | `http://plane-minio.plane-ns.svc.cluster.local:9000` | +| | `AWS_REGION` | Optional | AWS region where your S3 bucket is located | `your_aws_region` | +| | `FILE_SIZE_LIMIT` | Yes | Limit for file uploads in your system | `5MB` | +| app_env_existingSecret | `SECRET_KEY` | Yes | Random secret key | `60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5` | +| | `REDIS_URL` | Yes | Redis URL | `redis://plane-redis.plane-ns.svc.cluster.local:6379/` | +| | `DATABASE_URL` | Yes | PostgreSQL connection URL | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane`

**external service example**: `postgresql://username:password@your-db-host:5432/plane` | +| | `AMQP_URL` | Yes | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external service example**: `amqp://username:password@your-rabbitmq-host:5672/` | + +#### Ingress and SSL Setup + +| Setting | Default | Required | Description | +| --------------------------- | :-------------------------------------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ingress.enabled | true | | Ingress setup in kubernetes is a common practice to expose application to the intended audience. Set it to `false` if you are using external ingress providers like `Cloudflare` | +| ingress.appHost | plane.example.com | Yes | The fully-qualified domain name (FQDN) in the format `sudomain.domain.tld` or `domain.tld` that the license is bound to. It is also attached to your `ingress` host to access Plane. | +| ingress.minioHost | | | Based on above configuration, if you want to expose the `minio` web console to set of users, use this key to set the `host` mapping or leave it as `EMPTY` to not expose interface. | +| ingress.rabbitmqHost | | | Based on above configuration, if you want to expose the `rabbitmq` web console to set of users, use this key to set the `host` mapping or leave it as `EMPTY` to not expose interface. | +| ingress.ingressClass | nginx | Yes | Kubernetes cluster setup comes with various options of `ingressClass`. Based on your setup, set this value to the right one (eg. nginx, traefik, etc). Leave it to default in case you are using external ingress provider. | +| ingress.ingress_annotations | `{ "nginx.ingress.kubernetes.io/proxy-body-size": "5m" }` | | Ingress controllers comes with various configuration options which can be passed as annotations. Setting this value lets you change the default value to user required. | +| ssl.createIssuer | false | | Kubernets cluster setup supports creating `issuer` type resource. After deployment, this is step towards creating secure access to the ingress url. Issuer is required for you generate SSL certifiate. Kubernetes can be configured to use any of the certificate authority to generate SSL (depending on CertManager configuration). Set it to `true` to create the issuer. Applicable only when `ingress.enabled=true` | +| ssl.issuer | http | | CertManager configuration allows user to create issuers using `http` or any of the other DNS Providers like `cloudflare`, `digitalocean`, etc. As of now Plane supports `http`, `cloudflare`, `digitalocean` | +| ssl.token | | | To create issuers using DNS challenge, set the issuer api token of dns provider like cloudflare`or`digitalocean`(not required for http) | +| ssl.server | `` | | Issuer creation configuration need the certificate generation authority server url. Default URL is the `Let's Encrypt` server | +| ssl.email | `` | | Certificate generation authority needs a valid email id before generating certificate. Required when `ssl.createIssuer=true` | +| ssl.generateCerts | false | | After creating the issuers, user can still not create the certificate untill sure of configuration. Setting this to `true` will try to generate SSL certificate and associate with ingress. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=true` | +| ssl.tls_secret_name | | | If you have a custom TLS secret name, set this to the name of the secret. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=false` | + +#### Common Environment Settings + +| Setting | Default | Required | Description | +| -------------- | :------------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| env.secret_key | 60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5 | Yes | This must be a random string that is used for hashing/encrypting the sensitive data within the application. Once set, changing this might impact the already hashed/encrypted data | + +## Custom Ingress Routes + +If you are planning to use 3rd party ingress providers, here is the available +route configuration + +| Host | Path | Service | +| ----------------------- | :-----------: | ----------------------------------------- | --------------------------------------------------------------------------- | +| plane.example.com | `/` | `` | +| plane.example.com | `/spaces/*` | `` | +| plane.example.com | `/god-mode/*` | `` | +| plane.example.com | `/live/*` | `` | +| plane.example.com | `/api/*` | `` | +| plane.example.com | `/auth/*` | `` | +| plane.example.com | `/uploads/*` | `` | +| plane-minio.example.com | `/` | `` | +| plane-mq.example.com | `/` | `` | (Optional) if using local setup, this will enable management console access | + +
+ Install Community Edition + +The Commercial edition comes with a free plan and the flexibility to upgrade to +a paid plan at any point. If you still want to install the Community edition, +follow the steps below: + +### Prerequisites + + - A working Kubernetes cluster + - `kubectl` and `helm` on the client system that you will use to install our Helm charts + +### Installation + + 1. Open Terminal or any other command-line app that has access to Kubernetes tools on your local system. + 1. Add the Helm Repo + + ```bash + helm repo add makeplane https://helm.plane.so/ + helm repo update + ``` + + 1. Set-up and customization + - Quick setup + + This is the fastest way to deploy Plane with default settings. + This will create stateful deployments for Postgres, Redis, and + Minio with a persistent volume claim using the `longhorn` + storage class. This also sets up the ingress routes for you + using `nginx` ingress class. + + :::tip + To customize this, see `Custom ingress routes` below. + ::: + + Continue to be on the same Terminal window as you have so far, + copy the code below, and paste it on your Terminal screen. + + ```bash + helm install plane-app makeplane/plane-ce \ + --create-namespace \ + --namespace plane-ce \ + --set planeVersion=stable \ + --set ingress.appHost="plane.example.com" \ + --set ingress.minioHost="plane-minio.example.com" \ + --set ingress.ingressClass=nginx \ + --set postgres.storageClass=longhorn \ + --set redis.storageClass=longhorn \ + --set minio.storageClass=longhorn \ + --timeout 10m \ + --wait \ + --wait-for-jobs + ``` + + :::tip + This is the minimum required to set up Plane-CE. You can change + the default namespace from `plane-ce`, the default app name from + `plane-app`, the default storage class from `[postgres, redis, + minio].storageClass`, and the default ingress class from + `ingress.ingressClass` to whatever you would like to. + + You can also pass other settings referring to `Configuration + Settings` section. + ::: + - Advanced setup + + For more control over your set-up, run the script below to + download the `values.yaml` file and and edit using any editor + like Vim or Nano. + + ```bash + helm show values makeplane/plane-ce > values.yaml + vi values.yaml + ``` + + :::tip + See `Available customizations` for more details. + ::: + + After saving the `values.yaml` file, continue to be on the same + Terminal window as on the previous steps, copy the code below, + and paste it on your Terminal screen. + + ```bash + helm install plane-app makeplane/plane-ce \ + --create-namespace \ + --namespace plane-ce \ + -f values.yaml \ + --timeout 10m \ + --wait \ + --wait-for-jobs + ``` + + ### Configuration settings + + #### Plane Version + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | planeVersion | stable | Yes | | + + #### Postgres DB Setup + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | postgres.local_setup | true | | Plane uses `postgres` as the primary database to store all the transactional data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | + | postgres.image | postgres:15.7-alpine | | Using this key, user must provide the docker image name to setup the stateful deployment of `postgres`. (must be set when `postgres.local_setup=true`)| + | postgres.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `postgres`. (must be set when `postgres.local_setup=true`)| + | postgres.servicePort | 5432 | | This key sets the default port number to be used while setting up stateful deployment of `postgres`. | + | postgres.volumeSize | 5Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | + | env.pgdb_username | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the username for the stateful deployment. | + | env.pgdb_password | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the password for the stateful deployment. | + | env.pgdb_name | plane | | Database name to be used while setting up stateful deployment of `Postgres`| + | env.pgdb_remote_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `postgres.local_setup` to `false` and set this key with remote connection url. | + | postgres.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | + | postgres.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + #### Redis/Valkey Setup + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | redis.local_setup | true | | Plane uses `redis` to cache the session authentication and other static data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `redis`. Mark it as `false` when using a remotely hosted database | + | redis.image | valkey/valkey:7.2.5-alpine | | Using this key, user must provide the docker image name to setup the stateful deployment of `redis`. (must be set when `redis.local_setup=true`)| + | redis.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `redis`. (must be set when `redis.local_setup=true`)| + | redis.servicePort | 6379 | | This key sets the default port number to be used while setting up stateful deployment of `redis`. | + | redis.volumeSize | 1Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | + | env.remote_redis_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `redis.local_setup` to `false` and set this key with remote connection url. | + | redis.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | + | redis.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + #### RabbitMQ Setup + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | rabbitmq.local_setup | true | | Plane uses `rabbitmq` as message queuing system. This can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws mq or similar services). Set this to `true` when you choose to setup stateful deployment of `rabbitmq`. Mark it as `false` when using a remotely hosted service | + | rabbitmq.image | rabbitmq:3.13.6-management-alpine | | Using this key, user must provide the docker image name to setup the stateful deployment of `rabbitmq`. (must be set when `rabbitmq.local_setup=true`)| + | rabbitmq.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `rabbitmq`. (must be set when `rabbitmq.local_setup=true`)| + | rabbitmq.servicePort | 5672 | | This key sets the default port number to be used while setting up stateful deployment of `rabbitmq`. | + | rabbitmq.managementPort | 15672 | | This key sets the default management port number to be used while setting up stateful deployment of `rabbitmq`. | + | rabbitmq.volumeSize | 100Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | + | rabbitmq.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | + | rabbitmq.default_user | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the username for the stateful deployment. | + | rabbitmq.default_password | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the password for the stateful deployment. | + | rabbitmq.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + | rabbitmq.external_rabbitmq_url | | | Users can also decide to use the remote hosted service and link to Plane deployment. Ignoring all the above keys, set `rabbitmq.local_setup` to `false` and set this key with remote connection url. | + + #### Doc Store (Minio/S3) Setup + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | minio.local_setup | true | | Plane uses `minio` as the default file storage drive. This storage can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws S3 or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | + | minio.image | minio/minio:latest | | Using this key, user must provide the docker image name to setup the stateful deployment of `minio`. (must be set when `minio.local_setup=true`)| + | minio.image_mc | minio/mc:latest | | Using this key, user must provide the docker image name to setup the job deployment of `minio client`. (must be set when `services.minio.local_setup=true`)| + | minio.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `minio`. (must be set when `minio.local_setup=true`)| + | minio.volumeSize | 5Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | + | minio.root_user | admin | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the username for the stateful deployment. | + | minio.root_password | password | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the password for the stateful deployment. | + | minio.env.minio_endpoint_ssl | false | | (Optional) Env to enforce HTTPS when connecting to minio uploads bucket | + | env.docstore_bucket | uploads | Yes | Storage bucket name is required as part of configuration. This is where files will be uploaded irrespective of if you are using `Minio` or external `S3` (or compatible) storage service | + | env.doc_upload_size_limit | 5242880 | Yes | Document Upload Size Limit (default to 5Mb) | + | env.aws_access_key | | | External `S3` (or compatible) storage service provides `access key` for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | + | env.aws_secret_access_key | | | External `S3` (or compatible) storage service provides `secret access key` for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | + | env.aws_region | | | External `S3` (or compatible) storage service providers creates any buckets in user selected region. This is also shared with the user as `region` for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | + | env.aws_s3_endpoint_url | | | External `S3` (or compatible) storage service providers shares a `endpoint_url` for the integration purpose for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | + | minio.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | + | minio.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + #### Web Deployment + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | web.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | + | web.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| + | web.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| + | web.image| artifacts.plane.so/makeplane/plane-frontend | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | + | web.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `web`. | + | web.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + #### Space Deployment + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | space.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | + | space.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| + | space.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| + | space.image| artifacts.plane.so/makeplane/plane-space| | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | + | space.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `space`. | + | space.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + #### Admin Deployment + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | admin.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | + | admin.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| + | admin.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| + | admin.image| artifacts.plane.so/makeplane/plane-admin | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | + | admin.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `admin`. | + | admin.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + #### Live Service Deployment + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | live.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | + | live.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| + | live.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| + | live.image| artifacts.plane.so/makeplane/plane-live | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | + | live.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `live`. | + | env.live_sentry_dsn | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration.| + | env.live_sentry_environment | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration.| + | env.live_sentry_traces_sample_rate | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry trace sample rate (as configured in Sentry) for this integration.| + | live.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + + #### API Deployment + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | api.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | + | api.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| + | api.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| + | api.image| artifacts.plane.so/makeplane/plane-backend | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | + | api.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `api`. | + | env.sentry_dsn | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration.| + | env.sentry_environment | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration.| + | env.api_key_rate_limit | 60/minute | | (optional) User can set the maximum number of requests the API can handle in a given time frame.| + | api.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + #### Worker Deployment + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | worker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | + | worker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| + | worker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| + + #### Beat-Worker deployment + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | beatworker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | + | beatworker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| + | beatworker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| + + #### External Secrets Config + + To configure the external secrets for your application, you need to define specific environment variables for each secret category. Below is a list of the required secrets and their respective environment variables. See [External secrets](/self-hosting/govern/external-secrets) for setup details. + + | Secret Name | Env Var Name | Required | Description | Example Value | + |--- |:---|:---|:---|:---| + | rabbitmq_existingSecret | `RABBITMQ_DEFAULT_USER` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ user | `plane` | + | | `RABBITMQ_DEFAULT_PASS` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ password | `plane` | + | pgdb_existingSecret | `POSTGRES_PASSWORD` | Required if `postgres.local_setup=true` | Password for PostgreSQL database | `plane` | + | | `POSTGRES_DB` | Required if `postgres.local_setup=true` | Name of the PostgreSQL database | `plane` | + | | `POSTGRES_USER` | Required if `postgres.local_setup=true` | PostgreSQL user | `plane` | + | doc_store_existingSecret | `USE_MINIO` | Yes | Flag to enable MinIO as the storage backend | `1` | + | | `MINIO_ROOT_USER` | Yes | MinIO root user | `admin` | + | | `MINIO_ROOT_PASSWORD` | Yes | MinIO root password | `password` | + | | `AWS_ACCESS_KEY_ID` | Yes | AWS Access Key ID | `your_aws_key` | + | | `AWS_SECRET_ACCESS_KEY` | Yes | AWS Secret Access Key | `your_aws_secret` | + | | `AWS_S3_BUCKET_NAME` | Yes | AWS S3 Bucket Name | `your_bucket_name` | + | | `AWS_S3_ENDPOINT_URL` | Yes | Endpoint URL for AWS S3 or MinIO | `http://plane-minio.plane-ns.svc.cluster.local:9000` | + | | `AWS_REGION` | Optional | AWS region where your S3 bucket is located | `your_aws_region` | + | | `FILE_SIZE_LIMIT` | Yes | Limit for file uploads in your system | `5MB` | + | app_env_existingSecret | `SECRET_KEY` | Yes | Random secret key | `60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5` | + | | `REDIS_URL` | Yes | Redis URL | `redis://plane-redis.plane-ns.svc.cluster.local:6379/` | + | | `DATABASE_URL` | Yes | PostgreSQL connection URL | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane`

**external service example**: `postgresql://username:password@your-db-host:5432/plane` | + | | `AMQP_URL` | Yes | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external service example**: `amqp://username:password@your-rabbitmq-host:5672/` | + + #### Ingress and SSL Setup + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | ingress.enabled | true | | Ingress setup in kubernetes is a common practice to expose application to the intended audience. Set it to `false` if you are using external ingress providers like `Cloudflare` | + | ingress.appHost | plane.example.com | Yes | The fully-qualified domain name (FQDN) in the format `sudomain.domain.tld` or `domain.tld` that the license is bound to. It is also attached to your `ingress` host to access Plane. | + | ingress.minioHost | | | Based on above configuration, if you want to expose the `minio` web console to set of users, use this key to set the `host` mapping or leave it as `EMPTY` to not expose interface. | + | ingress.rabbitmqHost | | | Based on above configuration, if you want to expose the `rabbitmq` web console to set of users, use this key to set the `host` mapping or leave it as `EMPTY` to not expose interface. | + | ingress.ingressClass | nginx | Yes | Kubernetes cluster setup comes with various options of `ingressClass`. Based on your setup, set this value to the right one (eg. nginx, traefik, etc). Leave it to default in case you are using external ingress provider.| + | ingress.ingress_annotations | `{ "nginx.ingress.kubernetes.io/proxy-body-size": "5m" }` | | Ingress controllers comes with various configuration options which can be passed as annotations. Setting this value lets you change the default value to user required. | + | ssl.createIssuer | false | | Kubernets cluster setup supports creating `issuer` type resource. After deployment, this is step towards creating secure access to the ingress url. Issuer is required for you generate SSL certifiate. Kubernetes can be configured to use any of the certificate authority to generate SSL (depending on CertManager configuration). Set it to `true` to create the issuer. Applicable only when `ingress.enabled=true`| + | ssl.issuer | http | | CertManager configuration allows user to create issuers using `http` or any of the other DNS Providers like `cloudflare`, `digitalocean`, etc. As of now Plane supports `http`, `cloudflare`, `digitalocean`| + | ssl.token | | | To create issuers using DNS challenge, set the issuer api token of dns provider like cloudflare` or `digitalocean`(not required for http) | + | ssl.server | `` | | Issuer creation configuration need the certificate generation authority server url. Default URL is the `Let's Encrypt` server| + | ssl.email | `` | | Certificate generation authority needs a valid email id before generating certificate. Required when `ssl.createIssuer=true` | + | ssl.generateCerts | false | | After creating the issuers, user can still not create the certificate untill sure of configuration. Setting this to `true` will try to generate SSL certificate and associate with ingress. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=true` | + | ssl.tls_secret_name | | | If you have a custom TLS secret name, set this to the name of the secret. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=false` | + + #### Common Environment Settings + + | Setting | Default | Required | Description | + |---|:---:|:---:|---| + | env.secret_key | 60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5 | Yes | This must be a random string that is used for hashing/encrypting the sensitive data within the application. Once set, changing this might impact the already hashed/encrypted data| + +
diff --git a/self-hosting/methods/podman-quadlets.mdx b/docs/self-hosting/methods/podman-quadlets.mdx similarity index 79% rename from self-hosting/methods/podman-quadlets.mdx rename to docs/self-hosting/methods/podman-quadlets.mdx index 4c41a9c..3cdb4a1 100644 --- a/self-hosting/methods/podman-quadlets.mdx +++ b/docs/self-hosting/methods/podman-quadlets.mdx @@ -1,12 +1,17 @@ --- title: Deploy Plane with Podman Quadlets • Commercial Edition -sidebarTitle: Podman Quadlets +sidebar_label: Podman Quadlets +sidebar_position: 6 --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide shows you the steps to deploy a self-hosted instance of Plane using Podman Quadlets. ## Prerequisites -Before we start, make sure you've got these covered: - A non-root user account with `systemd --user support` (most modern Linux setups have this) - Podman version **4.4 or higher** @@ -34,40 +39,44 @@ Before we start, make sure you've got these covered: The `uidmap` package handles user namespace mapping, `netavark` takes care of networking, and `passt` helps with network connectivity. -5. Download and extract Podman Quadlets. +## Install Plane + +1. Download and extract Podman Quadlets. ```bash + curl -fsSL https://prime.plane.so/releases//podman-quadlets.tar.gz -o podman-quadlets.tar.g tar -xzf podman-quadlets.tar.gz cd podman-quadlets ``` + :::warning + Replace `` with the [latest version](https://plane.so/changelog?category=self-hosted). (e.g., v1.13.0). + ::: - The directory contains an `install.sh` script that will handle the installation and configuration. - -## Install Plane + The directory contains an `install.sh` script that will handle the installation and configuration. -The installation script sets up Plane and configures all required services. You have two options: +2. The installation script sets up Plane and configures all required services. You have two options: -### Without sudo access + **Without sudo access** ```bash ./install.sh --domain your-domain.com --base-dir /your/custom/path ``` This installs Plane in your specified directory, which is useful if you want to maintain control over the installation location. -### With sudo access + **With sudo access** ```bash ./install.sh --domain your-domain.com ``` This installs Plane in `/opt/plane`, which is a standard system location. - -Systemd configurations are installed in `~/.config/containers/systemd/` - + :::note + Systemd configurations are installed in `~/.config/containers/systemd/` + ::: ## Start Plane - +:::warning **Important** Note that you should run these commands without `sudo`. - +::: 1. Reload systemd to recognize new configurations. ```bash @@ -128,4 +137,4 @@ To debug service issues, examine the logs using: journalctl --user -u --no-pager ``` -The logs will provide detailed information about any configuration issues or errors that may occur. +The logs will provide detailed information about any configuration issues or errors that may occur. \ No newline at end of file diff --git a/self-hosting/methods/portainer.mdx b/docs/self-hosting/methods/portainer.mdx similarity index 88% rename from self-hosting/methods/portainer.mdx rename to docs/self-hosting/methods/portainer.mdx index ee82971..31a3c9b 100644 --- a/self-hosting/methods/portainer.mdx +++ b/docs/self-hosting/methods/portainer.mdx @@ -1,8 +1,14 @@ --- title: Deploy Plane with Portainer • Commercial Edition -sidebarTitle: Portainer +sidebar_label: Portainer +sidebar_position: 7 --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide shows you the steps to deploy a self-hosted instance of Plane using Portainer. ## Install Plane @@ -22,9 +28,9 @@ This guide shows you the steps to deploy a self-hosted instance of Plane using P ```bash curl -fsSL https://prime.plane.so/releases//variables.env -o plane.env ``` - - The `` value should be v1.8.2 or higher. - + :::warning + Replace `` with the [latest version](https://plane.so/changelog?category=self-hosted). (e.g., v1.13.0). + ::: 2. Click **+ Add stack** on Portainer. @@ -44,9 +50,9 @@ This guide shows you the steps to deploy a self-hosted instance of Plane using P - `CERT_EMAIL` – (optional) Email address for SSL certificate generation (only needed if you're setting up HTTPS). 6. **Configure external DB, Redis, and RabbitMQ** - + :::warning When self-hosting Plane for production use, it is strongly recommended to configure external database and storage. This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. - + ::: - `DATABASE_URL` – Connection string for your external database. - `REDIS_URL` – Connection string for your external Redis instance. - `AMQP_URL` – Connection string for your external RabbitMQ server. diff --git a/docs/self-hosting/overview.mdx b/docs/self-hosting/overview.mdx new file mode 100644 index 0000000..14249ed --- /dev/null +++ b/docs/self-hosting/overview.mdx @@ -0,0 +1,48 @@ +--- +title: Self-host Plane +sidebar_label: Overview +sidebar_position: 1 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +import { Card } from "@site/src/components/Card"; +import { CardGroup } from "@site/src/components/CardGroup"; + +Self-hosting gives you full control over your applications and data. It’s an +excellent way to ensure privacy, control, and customization for your Plane +deployment. + +## Methods + + + + Learn how to run Plane on Docker. + + + Run Plane on a Kubernetes cluster using the Helm package manager. + + + +## Governance + + + + Learn how to configure your instance. + + + Set up authentication methods on your Plane instance. + + + Send emails by setting up SMTP configuration. + + + Reset passwords for users without emails. + + + Run Plane on your custom domain. + + diff --git a/docs/self-hosting/troubleshoot/_category_.yml b/docs/self-hosting/troubleshoot/_category_.yml new file mode 100644 index 0000000..683b24e --- /dev/null +++ b/docs/self-hosting/troubleshoot/_category_.yml @@ -0,0 +1,2 @@ +label: "Troubleshoot" +collapsed: false \ No newline at end of file diff --git a/self-hosting/troubleshoot/cli-errors.mdx b/docs/self-hosting/troubleshoot/cli-errors.mdx similarity index 88% rename from self-hosting/troubleshoot/cli-errors.mdx rename to docs/self-hosting/troubleshoot/cli-errors.mdx index c5254e1..f757da3 100644 --- a/self-hosting/troubleshoot/cli-errors.mdx +++ b/docs/self-hosting/troubleshoot/cli-errors.mdx @@ -2,6 +2,11 @@ title: CLI errors --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This page helps you troubleshoot common issues you might run into when using the Plane CLI tools. It covers potential causes of errors and provides straightforward steps to resolve them. ## Failed to update Prime CLI @@ -20,4 +25,4 @@ This error typically happens if you're using an older version of the Prime CLI. 3. Install the latest version of the CLI with: ```bash curl -fsSL https://prime.plane.so/install/ | sh - ``` \ No newline at end of file + ``` diff --git a/self-hosting/troubleshoot/installation-errors.mdx b/docs/self-hosting/troubleshoot/installation-errors.mdx similarity index 93% rename from self-hosting/troubleshoot/installation-errors.mdx rename to docs/self-hosting/troubleshoot/installation-errors.mdx index bef0bb8..04d4383 100644 --- a/self-hosting/troubleshoot/installation-errors.mdx +++ b/docs/self-hosting/troubleshoot/installation-errors.mdx @@ -2,6 +2,11 @@ title: Installation errors --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide is designed to help you resolve common issues encountered while installing Plane. Each section includes potential causes and step-by-step solutions for identified problems. ## Error during Docker Compose execution diff --git a/self-hosting/troubleshoot/license-errors.mdx b/docs/self-hosting/troubleshoot/license-errors.mdx similarity index 96% rename from self-hosting/troubleshoot/license-errors.mdx rename to docs/self-hosting/troubleshoot/license-errors.mdx index 4ddad10..2fcf5c2 100644 --- a/self-hosting/troubleshoot/license-errors.mdx +++ b/docs/self-hosting/troubleshoot/license-errors.mdx @@ -2,6 +2,11 @@ title: License errors --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide is designed to help you resolve common issues encountered while activating the license key for a workspace. Each section includes potential causes and step-by-step solutions for identified problems. ## License is invalid @@ -43,4 +48,3 @@ This usually occurs when the environment confiuration is incorrect. The Env var - diff --git a/self-hosting/troubleshoot/storage-errors.mdx b/docs/self-hosting/troubleshoot/storage-errors.mdx similarity index 96% rename from self-hosting/troubleshoot/storage-errors.mdx rename to docs/self-hosting/troubleshoot/storage-errors.mdx index a2d5577..0cdc5ac 100644 --- a/self-hosting/troubleshoot/storage-errors.mdx +++ b/docs/self-hosting/troubleshoot/storage-errors.mdx @@ -2,6 +2,11 @@ title: Storage errors --- +{frontMatter.description && ( + +

{frontMatter.description}

+)} + This guide is designed to help you resolve common issues encountered while configuring storage in Plane. Each section includes potential causes and step-by-step solutions for identified problems. ## Bucket policy exceeds size limit @@ -40,10 +45,10 @@ To resolve this issue, you can define a streamlined bucket policy file and apply - Save this file in an accessible location. 2. **Set up and apply the policy** - +:::warning **IMPORTANT** Make sure to execute all the `mc` commands **within the MinIO container** (either by attaching to it or using `docker exec`). - +::: - Configure MinIO alias: ```bash @@ -85,8 +90,3 @@ To resolve this issue, you can define a streamlined bucket policy file and apply - Verify that the `access-key` and `secret-key` used for setting up the alias have adequate permissions to manage the bucket. - If your MinIO server is hosted on a different machine or address, replace `plane-plane-minio:9000` with the appropriate server URL. - After applying the policy, test the setup to confirm it is working as expected. - - - - - diff --git a/docs/webhooks/intro-webhooks.mdx b/docs/webhooks/intro-webhooks.mdx new file mode 100644 index 0000000..7007774 --- /dev/null +++ b/docs/webhooks/intro-webhooks.mdx @@ -0,0 +1,202 @@ +--- +title: Webhooks Overview +sidebar_label: Webhooks +description: Use webhooks to receive real-time notifications about events in Plane. +--- + +{frontMatter.description &&

{frontMatter.description}

} + +## Introduction + +Webhooks are a powerful way to receive real-time HTTP-based notifications about events in Plane. By setting up a webhook, you can automatically receive updates whenever specific events occur, such as the creation, update, or deletion of projects, work items, or other entities. + +:::tip Events +Plane supports the following webhook events: + +- **Project**: created, updated, deleted +- **Cycle**: created, updated, deleted +- **Module**: created, updated, deleted +- **Work Item**: created, updated, deleted, added to cycle, added to module +- **Work Item Comment**: created, updated, deleted + ::: + +## Creating a Webhook + +To create a webhook, go to your Plane workspace settings, open the **Developer** section, and click **Webhooks**. Then click **Add webhook**. + +import ImgCreate from "@site/static/images/webhooks/create.png"; + +Create webhook + +Next, enter your URL, optionally choose the events that will trigger your webhook, and click **Create**. + +import ImgDetails from "@site/static/images/webhooks/details.png"; + +Define webhook details + +Afterwards, you will be prompted to save your webhook secret key. You can use this key to verify the authenticity of webhook payloads you receive from Plane. We'll cover this [later in the guide](#verifying-payloads). + +import ImgKey from "@site/static/images/webhooks/key.png"; + +Webhook key created + +## Defining a Webhook Consumer + +Your webhook consumer URL must be an HTTP endpoint that: + +1. Responds to Plane requests with an `HTTP 200` ("OK") response +2. Is publicly accessible +3. Is not localhost + - Valid: `https://example.com/webhook` + - Invalid: `http://localhost:3000/webhook` + +:::tip +If your consumer does not respond with an `HTTP 200`, Plane will retry delivery up to three times with exponential backoff. +::: + +## Webhook Payloads + +When a webhook is triggered, Plane sends a JSON payload to your specified URL via HTTP `POST`. The payload contains: + +- `action`: One of `create`, `update`, or `delete`, indicating the type of event +- `event`: One of `project`, `cycle`, `module`, or `issue` (issue = Work Item) +- `webhook_id`: The unique identifier of the webhook +- `workspace_id`: The ID of the workspace where the event occurred +- `data`: An optional object containing the details of the event. The structure of this field varies based on the `event` and `action` (see below). + +### Payload Examples + +#### Delete Action + +```json +{ + "event": "issue", + "action": "delete", + "webhook_id": "f1a2fe64-c8d4-4eed-b3ef-498690052c1d", + "workspace_id": "c467e125-59e3-44ec-b5ee-f9c1e138c611", + "data": { + "id": "9a28bd00-ed9c-4f5d-8be9-fc05cbb1fc57" + } +} +``` + +#### Update Action + +```json +{ + "event": "project", + "action": "update", + "webhook_id": "3c2c32ac-82df-48b3-be2a-a3e21dbe8692", + "workspace_id": "d2d97c94-a6ad-4012-b526-5577c0d7c769", + "data": { + "id": "22b6fc9c-1849-45da-b103-52a3e3a6b4c1", + "workspace_detail": { + "name": "Testing Project", + "slug": "testing-project", + "id": "bob1b192-f988-4bf9-b569-825de8cb0678" + }, + "created_at": "2023-10-25T04:38:59.566962Z", + "updated_at": "2023-10-25T06:44:48.543685Z", + "name": "vfecddcwerj", + "description": "", + "description_text": null, + "description_html": null, + "network": 2, + "identifier": "TRACE", + "emoji": null, + "icon_prop": null, + "module_view": true, + "cycle_view": true, + "issue_views_view": true, + "page_view": true, + "inbox_view": true, + "cover_image": null, + "archive_in": 0, + "close_in": 0, + "created_by": "6bb20d1c-4960-41ca-af4f-cee01de160c4", + "updated_by": "6bb20d1c-4960-41ca-af4f-cee01de160c4", + "workspace": "bob1b192-f988-4bf9-b569-825de8cb0678", + "default_assignee": null, + "project_lead": null, + "estimate": null, + "default_state": null + } +} +``` + +## Webhook Headers + +Plane includes several HTTP headers with each webhook payload: + +```json +"Content-Type": "application/json", +"X-Plane-Delivery": "", +"X-Plane-Event": "", +"X-Plane-Signature": "" +``` + +| Header | Description | +| ----------------- | ------------------------------------------------- | +| X-Plane-Delivery | Unique UUID for the payload | +| X-Plane-Event | The event that triggered the webhook | +| X-Plane-Signature | HMAC SHA-256 signature for verifying authenticity | + +## Verifying Payloads + +To verify authenticity, use the `X-Plane-Signature` header. This is an HMAC +SHA-256 signature of the payload, generated using the secret key you received +when creating the webhook. If the signature matches the HMAC SHA-256 hash of the +payload and your secret, the payload is authentic. + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + ```python + import hashlib + import hmac + +secret_token = os.environ.get("WEBHOOK_SECRET") + +received_signature = request.headers.get('X-Plane-Signature') +received_payload = json.dumps(request.json).encode('utf-8') + +expected_signature = hmac.new(secret_token.encode('utf-8'), msg=received_payload, digestmod=hashlib.sha256).hexdigest() + +if not hmac.compare_digest(expected_signature, received_signature): +raise HTTPException(status_code=403, detail="Invalid Signature provided") + +```` + + +```typescript +// Node.js Fastify example +import { createHmac } from 'node:crypto'; +const secret = process.env.WEBHOOK_SECRET; + +// Fastify setup excluded for brevity + +fastify.post('/webhook', options, async (request, reply) => { + const receivedSignature = request.headers['x-plane-signature']; + const payload = JSON.stringify(request.body); + + const computedSignature = createHmac('sha256', secret) + .update(payload) + .digest('hex'); + + if (receivedSignature !== computedSignature) { + return reply.status(403).send('Invalid signature'); + } + + // Process the webhook payload + return reply.status(200).send('Webhook received'); +}) +```` + + + + +:::tip Questions? +If you have any questions or need help with webhooks, please reach out to us at engineering@plane.so +::: diff --git a/docusaurus.config.ts b/docusaurus.config.ts new file mode 100644 index 0000000..2f4e293 --- /dev/null +++ b/docusaurus.config.ts @@ -0,0 +1,438 @@ +import { themes as prismThemes } from "prism-react-renderer"; +import type { Config } from "@docusaurus/types"; +import type * as Preset from "@docusaurus/preset-classic"; +import type * as Plugin from "@docusaurus/types/src/plugin"; +import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs"; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +const config: Config = { + title: "Plane developer documentation", + tagline: "Explore our guides and examples to integrate Plane", + favicon: "/img/favicon/white/favicon.ico", + trailingSlash: false, + onDuplicateRoutes: "warn", + + // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future + future: { + v4: true, // Improve compatibility with the upcoming Docusaurus v4 + }, + + // Set the production url of your site here + url: "https://developers.plane.so", + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: "/", + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: "makeplane", // Usually your GitHub org/user name. + projectName: "developer-docs", // Usually your repo name. + + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "throw", + onBrokenAnchors: "throw", + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: "en", + locales: ["en"], + }, + + presets: [ + [ + "classic", + { + docs: { + path: "docs", + routeBasePath: "/", + sidebarPath: "./sidebars.ts", + include: ["**/*.md", "**/*.mdx"], + editUrl: "https://github.com/makeplane/developer-docs/tree/main", + sidebarCollapsible: true, + sidebarCollapsed: true, + docItemComponent: "@theme/ApiItem", // Derived from docusaurus-theme-openapi + }, + blog: false, + theme: { + customCss: "./src/css/custom.css", + }, + sitemap: { + lastmod: "date", + changefreq: "weekly", + priority: 0.5, + ignorePatterns: ["/tags/**"], + filename: "sitemap.xml", + }, + gtag: { + trackingID: process.env.GTAG_TRACKING_ID || "fake", + anonymizeIP: true, + }, + } satisfies Preset.Options, + ], + ], + + themeConfig: { + image: "https://media.docs.plane.so/logo.svg", + docs: { + sidebar: { + hideable: false, + autoCollapseCategories: false, + }, + }, + navbar: { + title: 'Developers', + logo: { + alt: 'Plane', + src: 'https://media.docs.plane.so/logo/new-logo-white.png', + srcDark: 'https://media.docs.plane.so/logo/new-logo-dark.png', + }, + items: [ + { + type: 'docSidebar', + sidebarId: 'sidebar', + position: 'left', + label: 'Docs', + }, + { + type: 'docSidebar', + sidebarId: 'apiSidebar', + position: 'left', + label: 'API', + }, + { + type: 'docSidebar', + sidebarId: 'devToolsSidebar', + position: 'left', + label: 'Dev Tools', + }, + { + type: 'search', + position: 'left', + }, + { + href: 'https://discord.com/invite/A92xrEGCge', + 'aria-label': 'Discord', + position: 'right', + className: 'navbar--discord-link', + }, + { + href: 'https://github.com/makeplane/plane', + 'aria-label': 'GitHub', + position: 'right', + className: 'navbar--github-link', + }, + { + href: 'https://app.plane.so/sign-in', + label: 'Sign in', + position: 'right', + }, + ], + }, +/* + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Self-Hosting', + to: '/self-hosting/overview', + }, + { + label: 'SDKs', + to: '/sdks/overview', + }, + { + label: 'AI Solutions', + to: '/ai-solutions/overview', + }, + { + label: 'Webhooks', + to: '/webhooks/overview', + }, + { + label: 'API Reference', + to: '/api', + }, + ], + }, + { + title: "Community", + items: [ + { + label: "Discord", + href: "https://discord.com/invite/A92xrEGCge", + }, + { + label: "X", + href: "https://twitter.com/planepowers", + }, + { + label: "LinkedIn", + href: "https://www.linkedin.com/company/planepowers/", + }, + { + label: "Discussions", + href: "https://github.com/orgs/makeplane/discussions", + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'Blog', + href: 'https://plane.so/blog', + }, + { + label: 'GitHub', + href: 'https://github.com/makeplane', + }, + ], + }, + ], + // copyright: false, + }, +*/ + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + additionalLanguages: [ + 'ruby', + 'csharp', + 'php', + 'java', + 'powershell', + 'json', + 'bash', + 'dart', + 'objectivec', + 'r', + ], + }, + metadata: [ + { + property: 'og:image', + content: 'https://media.docs.plane.so/logo/docs-og.webp', + }, + { + name: 'twitter:image', + content: 'https://media.docs.plane.so/logo/docs-og.webp', + }, + { + name: 'keywords', + content: + 'project management, issue tracking, sprint management, agile, scrum, create projects, track sprints', + }, + ], + colorMode: { + defaultMode: 'light', + }, + languageTabs: [ + { + highlight: 'bash', + language: 'curl', + }, + { + highlight: 'python', + language: 'python', + }, + { + highlight: 'javascript', + language: 'nodejs', + logoClass: 'nodejs', + }, + { + highlight: 'go', + language: 'go', + }, + { + highlight: 'ruby', + language: 'ruby', + }, + { + highlight: 'java', + language: 'java', + variant: 'unirest', + }, + { + highlight: 'rust', + language: 'rust', + }, + { + highlight: 'php', + language: 'php', + }, + { + highlight: 'csharp', + language: 'csharp', + }, + { + highlight: 'powershell', + language: 'powershell', + }, + { + highlight: 'dart', + language: 'dart', + }, + { + highlight: 'javascript', + language: 'javascript', + }, + { + highlight: 'c', + language: 'c', + }, + { + highlight: 'objective-c', + language: 'objective-c', + }, + { + highlight: 'r', + language: 'r', + }, + { + highlight: 'swift', + language: 'swift', + }, + { + highlight: 'kotlin', + language: 'kotlin', + }, + ], + } satisfies Preset.ThemeConfig, + + stylesheets: [ + // { + // href: "https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=National+Park:wght@200..800&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap", + // type: "text/css", + // }, + ], + + headTags: [ + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-light.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-regular.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-semibold.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-bold.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-light.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-regular.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-semibold.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-bold.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + ], + + plugins: [ + [ + '@docusaurus/plugin-google-tag-manager', + { + containerId: process.env.GOOGLE_TAG_MANAGER_ID || 'fake', + }, + ], + [ + 'docusaurus-plugin-openapi-docs', + { + id: 'api', // plugin id + docsPluginId: 'classic', // configured for preset-classic + config: { + plane: { + specPath: 'api/schema.yaml', + outputDir: 'docs/api', + sidebarOptions: { + groupPathsBy: 'tag', + }, + } satisfies OpenApiPlugin.Options, + }, + }, + ], + ], + + themes: [ + [ + require.resolve('@easyops-cn/docusaurus-search-local'), + /** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */ + { + hashed: true, + indexBlog: false, + docsRouteBasePath: '/', + }, + ], + 'docusaurus-theme-openapi-docs', + ], +}; + +export default config; diff --git a/logo/favicon-32x32.png b/logo/favicon-32x32.png deleted file mode 100644 index 7f87b14..0000000 Binary files a/logo/favicon-32x32.png and /dev/null differ diff --git a/mint.json b/mint.json deleted file mode 100644 index 869109f..0000000 --- a/mint.json +++ /dev/null @@ -1,370 +0,0 @@ -{ - "name": "Plane", - "logo": { - "light": "https://media.docs.plane.so/logo/new-logo-white.png", - "dark": "https://media.docs.plane.so/logo/new-logo-dark.png" - }, - "favicon": "/logo/favicon-32x32.png", - "colors": { - "primary": "#006399", - "light": "#006399", - "dark": "#006399", - "background": { - "dark": "#1B1B1F" - } - }, - "api": { - "baseUrl": "https://api.plane.so", - "auth": { - "method": "key", - "name": "x-api-key" - } - }, - "topbarCtaButton": { - "name": "Sign in", - "url": "https://app.plane.so/sign-in" - }, - "anchors": [ - { - "name": "Plane Documentation", - "icon": "book", - "url": "https://docs.plane.so/" - }, - { - "name": "Discord", - "icon": "discord", - "url": "https://discord.com/invite/A92xrEGCge" - }, - { - "name": "GitHub", - "icon": "github", - "url": "https://github.com/makeplane/plane" - } - ], - "tabs": [ - { - "name": "Self-hosting", - "url": "self-hosting" - }, - { - "name": "APIs and BYOA", - "url": "api-reference" - }, - { - "name": "Webhooks", - "url": "webhooks" - } - ], - "navigation": [ - { - "group": "Self-host Plane", - "pages": [ - "self-hosting/overview", - "self-hosting/editions-and-versions" - - ] - }, - { - "group": "Install", - "pages": [ - "self-hosting/methods/docker-compose", - "self-hosting/methods/docker-swarm", - "self-hosting/methods/kubernetes", - "self-hosting/methods/coolify", - "self-hosting/methods/portainer", - { - "group": "Airgapped Edition", - "pages": [ - "self-hosting/methods/airgapped-edition", - "self-hosting/methods/airgapped-edition-kubernetes" - ] - }, - - "self-hosting/methods/podman-quadlets" - ] - }, - { - "group": "Configure", - "pages": [ - "self-hosting/govern/instance-admin", - { - "group": "Authentication", - "pages": [ - "self-hosting/govern/authentication", - "self-hosting/govern/google-oauth", - "self-hosting/govern/github-oauth", - "self-hosting/govern/oidc-sso", - "self-hosting/govern/saml-sso", - "self-hosting/govern/reset-password" - ] - }, - "self-hosting/govern/communication", - "self-hosting/govern/configure-dns-email-service", - "self-hosting/govern/database-and-storage", - "self-hosting/govern/custom-domain", - "self-hosting/govern/private-bucket", - { - "group": "Integrations", - "pages": [ - "self-hosting/govern/integrations/github", - "self-hosting/govern/integrations/slack", - "self-hosting/govern/integrations/gitlab" - ] - }, - "self-hosting/govern/external-secrets", - "self-hosting/govern/reverse-proxy", - "self-hosting/govern/environment-variables", - "self-hosting/telemetry" - ] - }, - { - "group": "Manage", - "pages": [ - "self-hosting/upgrade-from-community", - "self-hosting/manage/community-to-airgapped", - "self-hosting/manage/backup-restore", - { - "group": "Update Plane", - "pages": [ - "self-hosting/manage/upgrade-plane", - "self-hosting/manage/upgrade-from-0.13.2-0.14.0" - ] - }, - "self-hosting/manage/view-logs", - "self-hosting/manage/migrate-plane", - "self-hosting/manage/prime-cli" - ] - }, - { - "group": "Troubleshoot", - "pages": [ - "self-hosting/troubleshoot/installation-errors", - "self-hosting/troubleshoot/license-errors", - "self-hosting/troubleshoot/cli-errors", - "self-hosting/troubleshoot/storage-errors" - ] - }, - - { - "group": "App Development", - "pages": [ - "api-reference/byoa/build-plane-app" - ] - }, - { - "group": "API Reference", - "pages": [ - "api-reference/introduction", - { - "group": "Project", - "pages": [ - "api-reference/project/overview", - "api-reference/project/add-project", - "api-reference/project/list-projects", - "api-reference/project/get-project-detail", - "api-reference/project/update-project-detail", - "api-reference/project/delete-project" - ] - }, - { - "group": "State", - "pages": [ - "api-reference/state/overview", - "api-reference/state/add-state", - "api-reference/state/list-states", - "api-reference/state/get-state-detail", - "api-reference/state/update-state-detail", - "api-reference/state/delete-state" - ] - }, - { - "group": "Label", - "pages": [ - "api-reference/label/overview", - "api-reference/label/add-label", - "api-reference/label/list-labels", - "api-reference/label/get-label-detail", - "api-reference/label/update-label-detail", - "api-reference/label/delete-label" - ] - }, - { - "group": "Link", - "pages": [ - "api-reference/link/overview", - "api-reference/link/add-link", - "api-reference/link/list-links", - "api-reference/link/get-link-detail", - "api-reference/link/update-link-detail", - "api-reference/link/delete-link" - ] - }, - { - "group": "Issue", - "pages": [ - "api-reference/issue/overview", - "api-reference/issue/add-issue", - "api-reference/issue/list-issues", - "api-reference/issue/get-issue-detail", - "api-reference/issue/get-issue-sequence-id", - "api-reference/issue/update-issue-detail", - "api-reference/issue/delete-issue" - ] - }, - { - "group": "Issue activity", - "pages": [ - "api-reference/issue-activity/overview", - "api-reference/issue-activity/list-issue-activities", - "api-reference/issue-activity/get-issue-activity-detail" - ] - }, - { - "group": "Issue comment", - "pages": [ - "api-reference/issue-comment/overview", - "api-reference/issue-comment/add-issue-comment", - "api-reference/issue-comment/list-issue-comments", - "api-reference/issue-comment/get-issue-comment-detail", - "api-reference/issue-comment/update-issue-comment-detail", - "api-reference/issue-comment/delete-issue-comment" - ] - }, - { - "group": "Issue types", - "pages": [ - "api-reference/issue-types/types/overview", - "api-reference/issue-types/types/add-issue-type", - "api-reference/issue-types/types/list-issue-types", - "api-reference/issue-types/types/get-issue-type-details", - "api-reference/issue-types/types/update-issue-types", - "api-reference/issue-types/types/delete-issue-type" - ] - }, - { - "group": "Issue properties", - "pages": [ - "api-reference/issue-types/properties/overview", - "api-reference/issue-types/properties/add-property", - "api-reference/issue-types/properties/list-properties", - "api-reference/issue-types/properties/get-property-details", - "api-reference/issue-types/properties/update-property", - "api-reference/issue-types/properties/delete-property" - ] - }, - { - "group": "Issue property options", - "pages": [ - "api-reference/issue-types/options/overview", - "api-reference/issue-types/options/add-dropdown-options", - "api-reference/issue-types/options/list-dropdown-options", - "api-reference/issue-types/options/get-option-details", - "api-reference/issue-types/options/update-dropdown-options", - "api-reference/issue-types/options/delete-dropdown-options" - ] - }, - { - "group": "Issue property values", - "pages": [ - "api-reference/issue-types/values/overview", - "api-reference/issue-types/values/add-property-values", - "api-reference/issue-types/values/list-property-values" - ] - }, - { - "group": "Issue attachments", - "pages": [ - "api-reference/issue-attachments/overview", - "api-reference/issue-attachments/get-attachments", - "api-reference/issue-attachments/get-upload-credentials", - "api-reference/issue-attachments/upload-file", - "api-reference/issue-attachments/complete-upload" - ] - }, - { - "group": "Module", - "pages": [ - "api-reference/module/overview", - "api-reference/module/add-module", - "api-reference/module/list-modules", - "api-reference/module/get-module-detail", - "api-reference/module/update-module-detail", - "api-reference/module/delete-module" - ] - }, - { - "group": "Module issue", - "pages": [ - "api-reference/module-issue/overview", - "api-reference/module-issue/add-module-issue", - "api-reference/module-issue/list-module-issues", - "api-reference/module-issue/delete-module-issue" - ] - }, - { - "group": "Cycle", - "pages": [ - "api-reference/cycle/overview", - "api-reference/cycle/add-cycle", - "api-reference/cycle/list-cycles", - "api-reference/cycle/get-cycle-detail", - "api-reference/cycle/update-cycle-detail", - "api-reference/cycle/delete-cycle" - ] - }, - { - "group": "Cycle issue", - "pages": [ - "api-reference/cycle-issue/overview", - "api-reference/cycle-issue/add-cycle-issue", - "api-reference/cycle-issue/list-cycle-issues", - "api-reference/cycle-issue/delete-cycle-issue" - ] - }, - { - "group": "Intake issue", - "pages": [ - "api-reference/intake-issue/overview", - "api-reference/intake-issue/add-intake-issue", - "api-reference/intake-issue/list-intake-issues", - "api-reference/intake-issue/get-intake-issue-detail", - "api-reference/intake-issue/update-intake-issue-detail", - "api-reference/intake-issue/delete-intake-issue" - ] - }, - { - "group": "Worklogs", - "pages": [ - "api-reference/worklogs/overview", - "api-reference/worklogs/get-worklogs-for-issue", - "api-reference/worklogs/get-total-time", - "api-reference/worklogs/create-worklog", - "api-reference/worklogs/update-worklog", - "api-reference/worklogs/delete-worklog" - ] - }, - { - "group": "Members", - "pages": [ - "api-reference/members/overview", - "api-reference/members/get-workspace-members", - "api-reference/members/get-project-members" - ] - } - ] - }, - { - "group": "Webhooks", - "pages": ["webhooks/intro-webhooks"] - } - ], - "footerSocials": { - "twitter": "https://twitter.com/planepowers", - "linkedin": "https://www.linkedin.com/company/planepowers/" - }, - "analytics": { - "ga4": { - "measurementId": "G-G578SD4VZD" - } - } -} diff --git a/plane-one/governance/authentication/custom-sso.mdx b/old/plane-one/governance/authentication/custom-sso.mdx similarity index 100% rename from plane-one/governance/authentication/custom-sso.mdx rename to old/plane-one/governance/authentication/custom-sso.mdx diff --git a/plane-one/governance/workspaces-and-teams.mdx b/old/plane-one/governance/workspaces-and-teams.mdx similarity index 100% rename from plane-one/governance/workspaces-and-teams.mdx rename to old/plane-one/governance/workspaces-and-teams.mdx diff --git a/plane-one/introduction.mdx b/old/plane-one/introduction.mdx similarity index 100% rename from plane-one/introduction.mdx rename to old/plane-one/introduction.mdx diff --git a/plane-one/manage/prime-cli.mdx b/old/plane-one/manage/prime-cli.mdx similarity index 94% rename from plane-one/manage/prime-cli.mdx rename to old/plane-one/manage/prime-cli.mdx index d8c5c89..a32b0d0 100644 --- a/plane-one/manage/prime-cli.mdx +++ b/old/plane-one/manage/prime-cli.mdx @@ -2,7 +2,7 @@ title: Manage your instance sidebarTitle: Instance --- -Update your CLI with the command `sudo prime-cli update-cli` before you download any Plane One updates. The latest version of the CLI ensures your Plane upgrades happen smoothly. +:::warningUpdate your CLI with the command `sudo prime-cli update-cli` before you download any Plane One updates. The latest version of the CLI ensures your Plane upgrades happen smoothly.::: The Prime CLI is our own command-line interface to help you install, upgrade, and manage your instance without being a pro at Docker. - diff --git a/plane-one/manage/prime-client.mdx b/old/plane-one/manage/prime-client.mdx similarity index 100% rename from plane-one/manage/prime-client.mdx rename to old/plane-one/manage/prime-client.mdx diff --git a/plane-one/self-host/guides.mdx b/old/plane-one/self-host/guides.mdx similarity index 100% rename from plane-one/self-host/guides.mdx rename to old/plane-one/self-host/guides.mdx diff --git a/plane-one/self-host/methods/docker.mdx b/old/plane-one/self-host/methods/docker.mdx similarity index 99% rename from plane-one/self-host/methods/docker.mdx rename to old/plane-one/self-host/methods/docker.mdx index 42c4a8e..656b310 100644 --- a/plane-one/self-host/methods/docker.mdx +++ b/old/plane-one/self-host/methods/docker.mdx @@ -13,11 +13,11 @@ If you don't have a license, [get it here](https://plane.so/one). For Amazon Linux 2 or Linux 2023, click here. ## Upgrading from Community Edition to One - +:::warning Do not install One first if you are upgrading from the Community Edition. Follow the instructions below first all the way to the end of the section `Restoring your data to your One instance`. We strongly recommend you install One on a fresh machine, not the one running Plane Community. - +::: ### Backing up your data `setup.sh` in the Community Edition now comes with an option to back up your data. diff --git a/plane-one/self-host/methods/kubernetes.mdx b/old/plane-one/self-host/methods/kubernetes.mdx similarity index 100% rename from plane-one/self-host/methods/kubernetes.mdx rename to old/plane-one/self-host/methods/kubernetes.mdx diff --git a/plane-one/self-host/overview.mdx b/old/plane-one/self-host/overview.mdx similarity index 100% rename from plane-one/self-host/overview.mdx rename to old/plane-one/self-host/overview.mdx diff --git a/package.json b/package.json new file mode 100644 index 0000000..4ff162e --- /dev/null +++ b/package.json @@ -0,0 +1,58 @@ +{ + "name": "dev-docs", + "version": "0.1.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "gen-api-docs": "pnpm docusaurus gen-api-docs all", + "clean-api-docs": "pnpm docusaurus clean-api-docs all", + "check:type": "tsc", + "check:format": "prettier --check .", + "format": "prettier --write ." + }, + "dependencies": { + "@docusaurus/core": "3.8.1", + "@docusaurus/plugin-content-docs": "3.8.1", + "@docusaurus/preset-classic": "3.8.1", + "@easyops-cn/docusaurus-search-local": "^0.52.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "docusaurus-plugin-openapi-docs": "^4.5.1", + "docusaurus-theme-openapi-docs": "^4.5.1", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-icons": "^5.5.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.8.1", + "@docusaurus/tsconfig": "3.8.1", + "@docusaurus/types": "3.8.1", + "prettier": "^3.6.2", + "typescript": "~5.6.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "packageManager": "pnpm@10.14.0", + "engines": { + "node": ">=18.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..f2f4004 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,13560 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@docusaurus/core': + specifier: 3.8.1 + version: 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': + specifier: 3.8.1 + version: 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/preset-classic': + specifier: 3.8.1 + version: 3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3) + '@easyops-cn/docusaurus-search-local': + specifier: ^0.52.1 + version: 0.52.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@mdx-js/react': + specifier: ^3.0.0 + version: 3.1.0(@types/react@19.1.8)(react@19.1.0) + clsx: + specifier: ^2.0.0 + version: 2.1.1 + docusaurus-plugin-openapi-docs: + specifier: ^4.5.1 + version: 4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + docusaurus-theme-openapi-docs: + specifier: ^4.5.1 + version: 4.5.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(docusaurus-plugin-openapi-docs@4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0))(docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(webpack@5.100.2) + prism-react-renderer: + specifier: ^2.3.0 + version: 2.4.1(react@19.1.0) + react: + specifier: ^19.0.0 + version: 19.1.0 + react-dom: + specifier: ^19.0.0 + version: 19.1.0(react@19.1.0) + react-icons: + specifier: ^5.5.0 + version: 5.5.0(react@19.1.0) + devDependencies: + '@docusaurus/module-type-aliases': + specifier: 3.8.1 + version: 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/tsconfig': + specifier: 3.8.1 + version: 3.8.1 + '@docusaurus/types': + specifier: 3.8.1 + version: 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + prettier: + specifier: ^3.6.2 + version: 3.6.2 + typescript: + specifier: ~5.6.2 + version: 5.6.3 + +packages: + + '@algolia/autocomplete-core@1.17.9': + resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} + + '@algolia/autocomplete-plugin-algolia-insights@1.17.9': + resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.17.9': + resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.17.9': + resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.34.0': + resolution: {integrity: sha512-d6ardhDtQsnMpyr/rPrS3YuIE9NYpY4rftkC7Ap9tyuhZ/+V3E/LH+9uEewPguKzVqduApdwJzYq2k+vAXVEbQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.34.0': + resolution: {integrity: sha512-WXIByjHNA106JO1Dj6b4viSX/yMN3oIB4qXr2MmyEmNq0MgfuPfPw8ayLRIZPa9Dp27hvM3G8MWJ4RG978HYFw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.34.0': + resolution: {integrity: sha512-JeN1XJLZIkkv6yK0KT93CIXXk+cDPUGNg5xeH4fN9ZykYFDWYRyqgaDo+qvg4RXC3WWkdQ+hogQuuCk4Y3Eotw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.34.0': + resolution: {integrity: sha512-gdFlcQa+TWXJUsihHDlreFWniKPFIQ15i5oynCY4m9K3DCex5g5cVj9VG4Hsquxf2t6Y0yv8w6MvVTGDO8oRLw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.34.0': + resolution: {integrity: sha512-g91NHhIZDkh1IUeNtsUd8V/ZxuBc2ByOfDqhCkoQY3Z/mZszhpn3Czn6AR5pE81fx793vMaiOZvQVB5QttArkQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.34.0': + resolution: {integrity: sha512-cvRApDfFrlJ3Vcn37U4Nd/7S6T8cx7FW3mVLJPqkkzixv8DQ/yV+x4VLirxOtGDdq3KohcIbIGWbg1QuyOZRvQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.34.0': + resolution: {integrity: sha512-m9tK4IqJmn+flEPRtuxuHgiHmrKV0su5fuVwVpq8/es4DMjWMgX1a7Lg1PktvO8AbKaTp9kTtBAPnwXpuCwmEg==} + engines: {node: '>= 14.0.0'} + + '@algolia/events@4.0.1': + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + + '@algolia/ingestion@1.34.0': + resolution: {integrity: sha512-2rxy4XoeRtIpzxEh5u5UgDC5HY4XbNdjzNgFx1eDrfFkSHpEVjirtLhISMy2N5uSFqYu1uUby5/NC1Soq8J7iw==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.34.0': + resolution: {integrity: sha512-OJiDhlJX8ZdWAndc50Z6aUEW/YmnhFK2ul3rahMw5/c9Damh7+oY9SufoK2LimJejy+65Qka06YPG29v2G/vww==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.34.0': + resolution: {integrity: sha512-fzNQZAdVxu/Gnbavy8KW5gurApwdYcPW6+pjO7Pw8V5drCR3eSqnOxSvp79rhscDX8ezwqMqqK4F3Hsq+KpRzg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.34.0': + resolution: {integrity: sha512-gEI0xjzA/xvMpEdYmgQnf6AQKllhgKRtnEWmwDrnct+YPIruEHlx1dd7nRJTy/33MiYcCxkB4khXpNrHuqgp3Q==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.34.0': + resolution: {integrity: sha512-5SwGOttpbACT4jXzfSJ3mnTcF46SVNSnZ1JjxC3qBa3qKi4U0CJGzuVVy3L798u8dG5H0SZ2MAB5v7180Gnqew==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.34.0': + resolution: {integrity: sha512-409XlyIyEXrxyGjWxd0q5RASizHSRVUU0AXPCEdqnbcGEzbCgL1n7oYI8YxzE/RqZLha+PNwWCcTVn7EE5tyyQ==} + engines: {node: '>= 14.0.0'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@apidevtools/json-schema-ref-parser@11.9.3': + resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==} + engines: {node: '>= 16'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.0': + resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.0': + resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.0': + resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.27.1': + resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.27.1': + resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.5': + resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.27.1': + resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.27.3': + resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.27.1': + resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.27.1': + resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.27.6': + resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.0': + resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': + resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': + resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': + resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': + resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1': + resolution: {integrity: sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.27.1': + resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.27.1': + resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.28.0': + resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.27.1': + resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.27.1': + resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.28.0': + resolution: {integrity: sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.27.1': + resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.27.1': + resolution: {integrity: sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.28.0': + resolution: {integrity: sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.27.1': + resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.28.0': + resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.27.1': + resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.27.1': + resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.27.1': + resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.28.0': + resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.27.1': + resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.27.1': + resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.27.1': + resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.27.1': + resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.27.1': + resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.27.1': + resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.27.1': + resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.27.1': + resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.27.1': + resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.27.1': + resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.27.1': + resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.27.1': + resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.27.1': + resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': + resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.27.1': + resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.28.0': + resolution: {integrity: sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.27.1': + resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.27.1': + resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.27.1': + resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.27.7': + resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.27.1': + resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.27.1': + resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.27.1': + resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.27.1': + resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.28.0': + resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.27.1': + resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.27.1': + resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.27.1': + resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.28.1': + resolution: {integrity: sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.27.1': + resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.27.1': + resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.28.0': + resolution: {integrity: sha512-dGopk9nZrtCs2+nfIem25UuHyt5moSJamArzIoh9/vezUQPmYDOzjaHDCkAzuGJibCIkPup8rMT2+wYB6S73cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.27.1': + resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.27.1': + resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.27.1': + resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.27.1': + resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.27.1': + resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.28.0': + resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.27.1': + resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.27.1': + resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.27.1': + resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1': + resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.28.0': + resolution: {integrity: sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.27.1': + resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.27.1': + resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime-corejs3@7.28.0': + resolution: {integrity: sha512-nlIXnSqLcBij8K8TtkxbBJgfzfvi75V1pAKSM7dUXejGw12vJAqez74jZrHTsJ3Z+Aczc5Q/6JgNjKRMsVU44g==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.27.6': + resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.0': + resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.1': + resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==} + engines: {node: '>=6.9.0'} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@csstools/cascade-layer-name-parser@2.0.5': + resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/color-helpers@5.0.2': + resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.0.10': + resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.3': + resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/postcss-cascade-layers@5.0.2': + resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-function@4.0.10': + resolution: {integrity: sha512-4dY0NBu7NVIpzxZRgh/Q/0GPSz/jLSw0i/u3LTUor0BkQcz/fNhN10mSWBDsL0p9nDb0Ky1PD6/dcGbhACuFTQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-function@3.0.10': + resolution: {integrity: sha512-P0lIbQW9I4ShE7uBgZRib/lMTf9XMjJkFl/d6w4EMNHu2qvQ6zljJGEcBkw/NsBtq/6q3WrmgxSS8kHtPMkK4Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.0': + resolution: {integrity: sha512-Z5WhouTyD74dPFPrVE7KydgNS9VvnjB8qcdes9ARpCOItb4jTnm7cHp4FhxCRUoyhabD0WVv43wbkJ4p8hLAlQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-content-alt-text@2.0.6': + resolution: {integrity: sha512-eRjLbOjblXq+byyaedQRSrAejKGNAFued+LcbzT+LCL78fabxHkxYjBbxkroONxHHYu2qxhFK2dBStTLPG3jpQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-exponential-functions@2.0.9': + resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-font-format-keywords@4.0.0': + resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gamut-mapping@2.0.10': + resolution: {integrity: sha512-QDGqhJlvFnDlaPAfCYPsnwVA6ze+8hhrwevYWlnUeSjkkZfBpcCO42SaUD8jiLlq7niouyLgvup5lh+f1qessg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gradients-interpolation-method@5.0.10': + resolution: {integrity: sha512-HHPauB2k7Oits02tKFUeVFEU2ox/H3OQVrP3fSOKDxvloOikSal+3dzlyTZmYsb9FlY9p5EUpBtz0//XBmy+aw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-hwb-function@4.0.10': + resolution: {integrity: sha512-nOKKfp14SWcdEQ++S9/4TgRKchooLZL0TUFdun3nI4KPwCjETmhjta1QT4ICQcGVWQTvrsgMM/aLB5We+kMHhQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-ic-unit@4.0.2': + resolution: {integrity: sha512-lrK2jjyZwh7DbxaNnIUjkeDmU8Y6KyzRBk91ZkI5h8nb1ykEfZrtIVArdIjX4DHMIBGpdHrgP0n4qXDr7OHaKA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-initial@2.0.1': + resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-is-pseudo-class@5.0.3': + resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-light-dark-function@2.0.9': + resolution: {integrity: sha512-1tCZH5bla0EAkFAI2r0H33CDnIBeLUaJh1p+hvvsylJ4svsv2wOmJjJn+OXwUZLXef37GYbRIVKX+X+g6m+3CQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-float-and-clear@3.0.0': + resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overflow@2.0.0': + resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0': + resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-resize@3.0.0': + resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-viewport-units@3.0.4': + resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-minmax@2.0.9': + resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': + resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-nested-calc@4.0.0': + resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-normalize-display-values@4.0.0': + resolution: {integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-oklab-function@4.0.10': + resolution: {integrity: sha512-ZzZUTDd0fgNdhv8UUjGCtObPD8LYxMH+MJsW9xlZaWTV8Ppr4PtxlHYNMmF4vVWGl0T6f8tyWAKjoI6vePSgAg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-progressive-custom-properties@4.1.0': + resolution: {integrity: sha512-YrkI9dx8U4R8Sz2EJaoeD9fI7s7kmeEBfmO+UURNeL6lQI7VxF6sBE+rSqdCBn4onwqmxFdBU3lTwyYb/lCmxA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-random-function@2.0.1': + resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-relative-color-syntax@3.0.10': + resolution: {integrity: sha512-8+0kQbQGg9yYG8hv0dtEpOMLwB9M+P7PhacgIzVzJpixxV4Eq9AUQtQw8adMmAJU1RBBmIlpmtmm3XTRd/T00g==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-scope-pseudo-class@4.0.1': + resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-sign-functions@1.1.4': + resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-stepped-value-functions@4.0.9': + resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-text-decoration-shorthand@4.0.2': + resolution: {integrity: sha512-8XvCRrFNseBSAGxeaVTaNijAu+FzUvjwFXtcrynmazGb/9WUdsPCpBX+mHEHShVRq47Gy4peYAoxYs8ltUnmzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-trigonometric-functions@4.0.9': + resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-unset-value@4.0.0': + resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/selector-resolve-nested@3.1.0': + resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/utilities@2.0.0': + resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/css@3.9.0': + resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} + + '@docsearch/react@3.9.0': + resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@docusaurus/babel@3.8.1': + resolution: {integrity: sha512-3brkJrml8vUbn9aeoZUlJfsI/GqyFcDgQJwQkmBtclJgWDEQBKKeagZfOgx0WfUQhagL1sQLNW0iBdxnI863Uw==} + engines: {node: '>=18.0'} + + '@docusaurus/bundler@3.8.1': + resolution: {integrity: sha512-/z4V0FRoQ0GuSLToNjOSGsk6m2lQUG4FRn8goOVoZSRsTrU8YR2aJacX5K3RG18EaX9b+52pN4m1sL3MQZVsQA==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/faster': '*' + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + + '@docusaurus/core@3.8.1': + resolution: {integrity: sha512-ENB01IyQSqI2FLtOzqSI3qxG2B/jP4gQPahl2C3XReiLebcVh5B5cB9KYFvdoOqOWPyr5gXK4sjgTKv7peXCrA==} + engines: {node: '>=18.0'} + hasBin: true + peerDependencies: + '@mdx-js/react': ^3.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/cssnano-preset@3.8.1': + resolution: {integrity: sha512-G7WyR2N6SpyUotqhGznERBK+x84uyhfMQM2MmDLs88bw4Flom6TY46HzkRkSEzaP9j80MbTN8naiL1fR17WQug==} + engines: {node: '>=18.0'} + + '@docusaurus/logger@3.8.1': + resolution: {integrity: sha512-2wjeGDhKcExEmjX8k1N/MRDiPKXGF2Pg+df/bDDPnnJWHXnVEZxXj80d6jcxp1Gpnksl0hF8t/ZQw9elqj2+ww==} + engines: {node: '>=18.0'} + + '@docusaurus/mdx-loader@3.8.1': + resolution: {integrity: sha512-DZRhagSFRcEq1cUtBMo4TKxSNo/W6/s44yhr8X+eoXqCLycFQUylebOMPseHi5tc4fkGJqwqpWJLz6JStU9L4w==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/module-type-aliases@3.8.1': + resolution: {integrity: sha512-6xhvAJiXzsaq3JdosS7wbRt/PwEPWHr9eM4YNYqVlbgG1hSK3uQDXTVvQktasp3VO6BmfYWPozueLWuj4gB+vg==} + peerDependencies: + react: '*' + react-dom: '*' + + '@docusaurus/plugin-content-blog@3.8.1': + resolution: {integrity: sha512-vNTpMmlvNP9n3hGEcgPaXyvTljanAKIUkuG9URQ1DeuDup0OR7Ltvoc8yrmH+iMZJbcQGhUJF+WjHLwuk8HSdw==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-docs@3.8.1': + resolution: {integrity: sha512-oByRkSZzeGNQByCMaX+kif5Nl2vmtj2IHQI2fWjCfCootsdKZDPFLonhIp5s3IGJO7PLUfe0POyw0Xh/RrGXJA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-pages@3.8.1': + resolution: {integrity: sha512-a+V6MS2cIu37E/m7nDJn3dcxpvXb6TvgdNI22vJX8iUTp8eoMoPa0VArEbWvCxMY/xdC26WzNv4wZ6y0iIni/w==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-css-cascade-layers@3.8.1': + resolution: {integrity: sha512-VQ47xRxfNKjHS5ItzaVXpxeTm7/wJLFMOPo1BkmoMG4Cuz4nuI+Hs62+RMk1OqVog68Swz66xVPK8g9XTrBKRw==} + engines: {node: '>=18.0'} + + '@docusaurus/plugin-debug@3.8.1': + resolution: {integrity: sha512-nT3lN7TV5bi5hKMB7FK8gCffFTBSsBsAfV84/v293qAmnHOyg1nr9okEw8AiwcO3bl9vije5nsUvP0aRl2lpaw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-analytics@3.8.1': + resolution: {integrity: sha512-Hrb/PurOJsmwHAsfMDH6oVpahkEGsx7F8CWMjyP/dw1qjqmdS9rcV1nYCGlM8nOtD3Wk/eaThzUB5TSZsGz+7Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-gtag@3.8.1': + resolution: {integrity: sha512-tKE8j1cEZCh8KZa4aa80zpSTxsC2/ZYqjx6AAfd8uA8VHZVw79+7OTEP2PoWi0uL5/1Is0LF5Vwxd+1fz5HlKg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-tag-manager@3.8.1': + resolution: {integrity: sha512-iqe3XKITBquZq+6UAXdb1vI0fPY5iIOitVjPQ581R1ZKpHr0qe+V6gVOrrcOHixPDD/BUKdYwkxFjpNiEN+vBw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-sitemap@3.8.1': + resolution: {integrity: sha512-+9YV/7VLbGTq8qNkjiugIelmfUEVkTyLe6X8bWq7K5qPvGXAjno27QAfFq63mYfFFbJc7z+pudL63acprbqGzw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-svgr@3.8.1': + resolution: {integrity: sha512-rW0LWMDsdlsgowVwqiMb/7tANDodpy1wWPwCcamvhY7OECReN3feoFwLjd/U4tKjNY3encj0AJSTxJA+Fpe+Gw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/preset-classic@3.8.1': + resolution: {integrity: sha512-yJSjYNHXD8POMGc2mKQuj3ApPrN+eG0rO1UPgSx7jySpYU+n4WjBikbrA2ue5ad9A7aouEtMWUoiSRXTH/g7KQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + peerDependencies: + react: '*' + + '@docusaurus/theme-classic@3.8.1': + resolution: {integrity: sha512-bqDUCNqXeYypMCsE1VcTXSI1QuO4KXfx8Cvl6rYfY0bhhqN6d2WZlRkyLg/p6pm+DzvanqHOyYlqdPyP0iz+iw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-common@3.8.1': + resolution: {integrity: sha512-UswMOyTnPEVRvN5Qzbo+l8k4xrd5fTFu2VPPfD6FcW/6qUtVLmJTQCktbAL3KJ0BVXGm5aJXz/ZrzqFuZERGPw==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-search-algolia@3.8.1': + resolution: {integrity: sha512-NBFH5rZVQRAQM087aYSRKQ9yGEK9eHd+xOxQjqNpxMiV85OhJDD4ZGz6YJIod26Fbooy54UWVdzNU0TFeUUUzQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-translations@3.8.1': + resolution: {integrity: sha512-OTp6eebuMcf2rJt4bqnvuwmm3NVXfzfYejL+u/Y1qwKhZPrjPoKWfk1CbOP5xH5ZOPkiAsx4dHdQBRJszK3z2g==} + engines: {node: '>=18.0'} + + '@docusaurus/tsconfig@3.8.1': + resolution: {integrity: sha512-XBWCcqhRHhkhfolnSolNL+N7gj3HVE3CoZVqnVjfsMzCoOsuQw2iCLxVVHtO+rePUUfouVZHURDgmqIySsF66A==} + + '@docusaurus/types@3.8.1': + resolution: {integrity: sha512-ZPdW5AB+pBjiVrcLuw3dOS6BFlrG0XkS2lDGsj8TizcnREQg3J8cjsgfDviszOk4CweNfwo1AEELJkYaMUuOPg==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/utils-common@3.8.1': + resolution: {integrity: sha512-zTZiDlvpvoJIrQEEd71c154DkcriBecm4z94OzEE9kz7ikS3J+iSlABhFXM45mZ0eN5pVqqr7cs60+ZlYLewtg==} + engines: {node: '>=18.0'} + + '@docusaurus/utils-validation@3.8.1': + resolution: {integrity: sha512-gs5bXIccxzEbyVecvxg6upTwaUbfa0KMmTj7HhHzc016AGyxH2o73k1/aOD0IFrdCsfJNt37MqNI47s2MgRZMA==} + engines: {node: '>=18.0'} + + '@docusaurus/utils@3.8.1': + resolution: {integrity: sha512-P1ml0nvOmEFdmu0smSXOqTS1sxU5tqvnc0dA4MTKV39kye+bhQnjkIKEE18fNOvxjyB86k8esoCIFM3x4RykOQ==} + engines: {node: '>=18.0'} + + '@easyops-cn/autocomplete.js@0.38.1': + resolution: {integrity: sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==} + + '@easyops-cn/docusaurus-search-local@0.52.1': + resolution: {integrity: sha512-pwfANjTLOQyAPc2Iz93WbG4OQM5C4COCWARbLAs79FIpIS38gHq3PrbDIX8f7oDhGQp1u6f8fr3K3u3+yZXZTA==} + engines: {node: '>=12'} + peerDependencies: + '@docusaurus/theme-common': ^2 || ^3 + react: ^16.14.0 || ^17 || ^18 || ^19 + react-dom: ^16.14.0 || 17 || ^18 || ^19 + + '@emnapi/core@1.4.5': + resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + + '@emnapi/runtime@1.4.5': + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + + '@emnapi/wasi-threads@1.0.4': + resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + + '@exodus/schemasafe@1.3.0': + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + + '@faker-js/faker@5.5.3': + resolution: {integrity: sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==} + deprecated: Please update to a newer version. + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@hookform/error-message@2.0.1': + resolution: {integrity: sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + react-hook-form: ^7.0.0 + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.12': + resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.10': + resolution: {integrity: sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==} + + '@jridgewell/sourcemap-codec@1.5.4': + resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + + '@jridgewell/trace-mapping@0.3.29': + resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@mdx-js/mdx@3.1.0': + resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + + '@node-rs/jieba-android-arm-eabi@1.10.4': + resolution: {integrity: sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@node-rs/jieba-android-arm64@1.10.4': + resolution: {integrity: sha512-XyDwq5+rQ+Tk55A+FGi6PtJbzf974oqnpyCcCPzwU3QVXJCa2Rr4Lci+fx8oOpU4plT3GuD+chXMYLsXipMgJA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@node-rs/jieba-darwin-arm64@1.10.4': + resolution: {integrity: sha512-G++RYEJ2jo0rxF9626KUy90wp06TRUjAsvY/BrIzEOX/ingQYV/HjwQzNPRR1P1o32a6/U8RGo7zEBhfdybL6w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@node-rs/jieba-darwin-x64@1.10.4': + resolution: {integrity: sha512-MmDNeOb2TXIZCPyWCi2upQnZpPjAxw5ZGEj6R8kNsPXVFALHIKMa6ZZ15LCOkSTsKXVC17j2t4h+hSuyYb6qfQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/jieba-freebsd-x64@1.10.4': + resolution: {integrity: sha512-/x7aVQ8nqUWhpXU92RZqd333cq639i/olNpd9Z5hdlyyV5/B65LLy+Je2B2bfs62PVVm5QXRpeBcZqaHelp/bg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': + resolution: {integrity: sha512-crd2M35oJBRLkoESs0O6QO3BBbhpv+tqXuKsqhIG94B1d02RVxtRIvSDwO33QurxqSdvN9IeSnVpHbDGkuXm3g==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@node-rs/jieba-linux-arm64-gnu@1.10.4': + resolution: {integrity: sha512-omIzNX1psUzPcsdnUhGU6oHeOaTCuCjUgOA/v/DGkvWC1jLcnfXe4vdYbtXMh4XOCuIgS1UCcvZEc8vQLXFbXQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-arm64-musl@1.10.4': + resolution: {integrity: sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-x64-gnu@1.10.4': + resolution: {integrity: sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-linux-x64-musl@1.10.4': + resolution: {integrity: sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-wasm32-wasi@1.10.4': + resolution: {integrity: sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@node-rs/jieba-win32-arm64-msvc@1.10.4': + resolution: {integrity: sha512-nwMtViFm4hjqhz1it/juQnxpXgqlGltCuWJ02bw70YUDMDlbyTy3grCJPpQQpueeETcALUnTxda8pZuVrLRcBA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@node-rs/jieba-win32-ia32-msvc@1.10.4': + resolution: {integrity: sha512-DCAvLx7Z+W4z5oKS+7vUowAJr0uw9JBw8x1Y23Xs/xMA4Em+OOSiaF5/tCJqZUCJ8uC4QeImmgDFiBqGNwxlyA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@node-rs/jieba-win32-x64-msvc@1.10.4': + resolution: {integrity: sha512-+sqemSfS1jjb+Tt7InNbNzrRh1Ua3vProVvC4BZRPg010/leCbGFFiQHpzcPRfpxAXZrzG5Y0YBTsPzN/I4yHQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/jieba@1.10.4': + resolution: {integrity: sha512-GvDgi8MnBiyWd6tksojej8anIx18244NmIOc1ovEw8WKNUejcccLfyu8vj66LWSuoZuKILVtNsOy4jvg3aoxIw==} + engines: {node: '>= 10'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@redocly/ajv@8.11.2': + resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} + + '@redocly/config@0.22.2': + resolution: {integrity: sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==} + + '@redocly/openapi-core@1.34.5': + resolution: {integrity: sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==} + engines: {node: '>=18.17.0', npm: '>=9.5.0'} + + '@reduxjs/toolkit@1.9.7': + resolution: {integrity: sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 + react-redux: ^7.2.1 || ^8.0.2 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slorber/react-helmet-async@1.3.0': + resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@tybys/wasm-util@0.10.0': + resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express-serve-static-core@5.0.7': + resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} + + '@types/express@4.17.23': + resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} + + '@types/gtag.js@0.0.12': + resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + + '@types/hast@2.3.10': + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/hoist-non-react-statics@3.3.7': + resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} + peerDependencies: + '@types/react': '*' + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/http-proxy@1.17.16': + resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node-forge@1.3.13': + resolution: {integrity: sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@24.1.0': + resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + + '@types/parse5@6.0.3': + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + + '@types/prismjs@1.26.5': + resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-redux@7.1.34': + resolution: {integrity: sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==} + + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + + '@types/react-router-dom@5.3.3': + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react@19.1.8': + resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/send@0.17.5': + resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.8': + resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + algoliasearch-helper@3.26.0: + resolution: {integrity: sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + + algoliasearch@5.34.0: + resolution: {integrity: sha512-wioVnf/8uuG8Bmywhk5qKIQ3wzCCtmdvicPRb0fa3kKYGGoewfgDqLEaET1MV2NbTc3WGpPv+AgauLVBp1nB9A==} + engines: {node: '>= 14.0.0'} + + allof-merge@0.6.6: + resolution: {integrity: sha512-116eZBf2he0/J4Tl7EYMz96I5Anaeio+VL0j/H2yxW9CoYQAMMv8gYcwkVRoO7XfIOv/qzSTfVzDVGAYxKFi3g==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + async@3.2.2: + resolution: {integrity: sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==} + + async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-polyfill-corejs2@0.4.14: + resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.5: + resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.3.0: + resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.25.1: + resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + 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.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001727: + resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + charset@1.0.1: + resolution: {integrity: sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==} + engines: {node: '>=4.0.0'} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + cheerio@1.1.2: + resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} + engines: {node: '>=20.18.1'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + + comlink@4.4.2: + resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + compute-gcd@1.2.1: + resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==} + + compute-lcm@1.1.2: + resolution: {integrity: sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + copy-text-to-clipboard@3.2.0: + resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} + engines: {node: '>=12'} + + copy-webpack-plugin@11.0.0: + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.44.0: + resolution: {integrity: sha512-JepmAj2zfl6ogy34qfWtcE7nHKAJnKsQFRn++scjVS2bZFllwptzw61BZcZFYBPpUznLfAvh0LGhxKppk04ClA==} + + core-js-pure@3.44.0: + resolution: {integrity: sha512-gvMQAGB4dfVUxpYD0k3Fq8J+n5bB6Ytl15lqlZrOIXFzxOhtPaObfkQGHtMRdyjIf7z2IeNULwi1jEwyS+ltKQ==} + + core-js@3.44.0: + resolution: {integrity: sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + css-blank-pseudo@7.0.1: + resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-has-pseudo@7.0.2: + resolution: {integrity: sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + + css-prefers-color-scheme@10.0.0: + resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssdb@8.3.1: + resolution: {integrity: sha512-XnDRQMXucLueX92yDe0LPKupXetWoFOgawr4O4X41l5TltgK2NVbJJVDnnOywDYfW1sTJ28AcXGKOqdRKwCcmQ==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-package-manager@3.0.2: + resolution: {integrity: sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==} + engines: {node: '>=12'} + + detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + docusaurus-plugin-openapi-docs@4.5.1: + resolution: {integrity: sha512-3I6Sjz19D/eM86a24/nVkYfqNkl/zuXSP04XVo7qm/vlPeCpHVM4li2DLj7PzElr6dlS9RbaS4HVIQhEOPGBRQ==} + engines: {node: '>=14'} + peerDependencies: + '@docusaurus/plugin-content-docs': ^3.5.0 + '@docusaurus/utils': ^3.5.0 + '@docusaurus/utils-validation': ^3.5.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + docusaurus-plugin-sass@0.2.6: + resolution: {integrity: sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==} + peerDependencies: + '@docusaurus/core': ^2.0.0-beta || ^3.0.0-alpha + sass: ^1.30.0 + + docusaurus-theme-openapi-docs@4.5.1: + resolution: {integrity: sha512-C7mYh9JC3l9jjRtqJVu0EIyOgxHB08jE0Tp5NSkNkrrBak4A13SrXCisNjvt1eaNjS+tsz7qD0bT3aI5hsRvWA==} + engines: {node: '>=14'} + peerDependencies: + '@docusaurus/theme-common': ^3.5.0 + docusaurus-plugin-openapi-docs: ^4.0.0 + docusaurus-plugin-sass: ^0.2.3 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + 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==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.189: + resolution: {integrity: sha512-y9D1ntS1ruO/pZ/V2FtLE+JXLQe28XoRpZ7QCCo0T8LdQladzdcOVQZH/IWLVJvCw12OGMb6hYOeOAjntCmJRQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + encoding-sniffer@0.2.1: + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + + enhanced-resolve@5.18.2: + resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + 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'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.4.0: + resolution: {integrity: sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exenv@1.2.2: + resolution: {integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==} + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + file-saver@2.0.5: + resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} + + file-type@3.9.0: + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreach@2.0.6: + resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + 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'} + + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + 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'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + 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} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@7.1.2: + resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-parse-selector@3.1.1: + resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@7.2.3: + resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@7.1.0: + resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.3: + resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@10.0.0: + resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + + http-proxy-middleware@2.0.9: + resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http-reasons@0.1.0: + resolution: {integrity: sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==} + + http2-client@1.3.5: + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + + immediate@3.3.0: + resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infima@0.2.0-alpha.45: + resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + + js-levenshtein@1.1.6: + resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} + engines: {node: '>=0.10.0'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-crawl@0.5.3: + resolution: {integrity: sha512-BEjjCw8c7SxzNK4orhlWD5cXQh8vCk2LqDr4WgQq4CV+5dvopeYwt1Tskg67SuSLKvoFH5g0yuYtg7rcfKV6YA==} + engines: {node: '>=14.0.0'} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-pointer@0.6.2: + resolution: {integrity: sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==} + + json-schema-compare@0.2.2: + resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==} + + json-schema-merge-allof@0.8.1: + resolution: {integrity: sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==} + engines: {node: '>=12.0.0'} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klaw-sync@6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + + launch-editor@2.10.0: + resolution: {integrity: sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + liquid-json@0.3.1: + resolution: {integrity: sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==} + engines: {node: '>=4'} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lunr-languages@1.14.0: + resolution: {integrity: sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@2.0.0: + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-definitions@5.1.2: + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + + mdast-util-directive@3.1.0: + resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} + + mdast-util-find-and-replace@2.2.2: + resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@1.0.3: + resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@1.0.2: + resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@1.0.3: + resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@1.0.7: + resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@1.0.2: + resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@2.0.2: + resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@3.0.1: + resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@12.3.0: + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-directive@3.0.2: + resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@1.0.5: + resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@1.1.2: + resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@1.0.7: + resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@1.0.7: + resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@1.0.2: + resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@1.0.5: + resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@2.0.3: + resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-format@2.0.1: + resolution: {integrity: sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg==} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + mini-css-extract-plugin@2.9.2: + resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + neotraverse@0.6.15: + resolution: {integrity: sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA==} + engines: {node: '>= 10'} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + + node-fetch-h2@2.3.0: + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} + + 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'} + + node-readfiles@0.2.0: + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.2: + resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + null-loader@4.0.1: + resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + oas-kit-common@1.0.8: + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + + oas-linter@3.2.2: + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + + oas-resolver-browser@2.5.6: + resolution: {integrity: sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==} + hasBin: true + + oas-resolver@2.5.6: + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + hasBin: true + + oas-schema-walker@1.1.5: + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + + oas-validator@5.0.8: + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + openapi-to-postmanv2@4.25.0: + resolution: {integrity: sha512-sIymbkQby0gzxt2Yez8YKB6hoISEel05XwGwNrAhr6+vxJWXNxkmssQc/8UEtVkuJ9ZfUXLkip9PYACIpfPDWg==} + engines: {node: '>=8'} + hasBin: true + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + postcss-attribute-case-insensitive@7.0.1: + resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-clamp@4.1.0: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + + postcss-color-functional-notation@7.0.10: + resolution: {integrity: sha512-k9qX+aXHBiLTRrWoCJuUFI6F1iF6QJQUXNVWJVSbqZgj57jDhBlOvD8gNUGl35tgqDivbGLhZeW3Ongz4feuKA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-hex-alpha@10.0.0: + resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-rebeccapurple@10.0.0: + resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-custom-media@11.0.6: + resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-properties@14.0.6: + resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-selectors@8.0.5: + resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-dir-pseudo-class@9.0.1: + resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-double-position-gradients@6.0.2: + resolution: {integrity: sha512-7qTqnL7nfLRyJK/AHSVrrXOuvDDzettC+wGoienURV8v2svNbu6zJC52ruZtHaO6mfcagFmuTGFdzRsJKB3k5Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-visible@10.0.1: + resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-within@9.0.1: + resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-font-variant@5.0.0: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + + postcss-gap-properties@6.0.0: + resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-image-set-function@7.0.0: + resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-lab-function@7.0.10: + resolution: {integrity: sha512-tqs6TCEv9tC1Riq6fOzHuHcZyhg4k3gIAMB8GGY/zA1ssGdm6puHMVE7t75aOSoFg7UD2wyrFFhbldiCMyyFTQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-logical@8.1.0: + resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nesting@13.0.2: + resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-opacity-percentage@3.0.0: + resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-overflow-shorthand@6.0.0: + resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-page-break@3.0.4: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + + postcss-place@10.0.0: + resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-preset-env@10.2.4: + resolution: {integrity: sha512-q+lXgqmTMdB0Ty+EQ31SuodhdfZetUlwCA/F0zRcd/XdxjzI+Rl2JhZNz5US2n/7t9ePsvuhCnEN4Bmu86zXlA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-pseudo-class-any-link@10.0.1: + resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-replace-overflow-wrap@4.0.0: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + + postcss-selector-not@8.0.1: + resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.4.23 + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + postman-code-generators@1.14.2: + resolution: {integrity: sha512-qZAyyowfQAFE4MSCu2KtMGGQE/+oG1JhMZMJNMdZHYCSfQiVVeKxgk3oI4+KJ3d1y5rrm2D6C6x+Z+7iyqm+fA==} + engines: {node: '>=12'} + + postman-collection@4.5.0: + resolution: {integrity: sha512-152JSW9pdbaoJihwjc7Q8lc3nPg/PC9lPTHdMk7SHnHhu/GBJB7b2yb9zG7Qua578+3PxkQ/HYBuXpDSvsf7GQ==} + engines: {node: '>=10'} + + postman-url-encoder@3.0.5: + resolution: {integrity: sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==} + engines: {node: '>=10'} + + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + prism-react-renderer@2.4.1: + resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} + peerDependencies: + react: '>=16.0.0' + + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + + 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'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-dom@19.1.0: + resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + peerDependencies: + react: ^19.1.0 + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-hook-form@7.61.1: + resolution: {integrity: sha512-2vbXUFDYgqEgM2RcXcAT2PwDW/80QARi+PKmHy5q2KhuKvOlG8iIYgf7eIlIANR5trW9fJbP4r5aub3a4egsew==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 + + react-icons@5.5.0: + resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==} + peerDependencies: + react: '*' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-json-view-lite@2.4.1: + resolution: {integrity: sha512-fwFYknRIBxjbFm0kBDrzgBy1xa5tDg2LyXXBepC5f1b+MY3BUClMCsvanMPn089JbV1Eg3nZcrp0VCuH43aXnA==} + engines: {node: '>=18'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + + react-lifecycles-compat@3.0.4: + resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + + react-live@4.1.8: + resolution: {integrity: sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==} + engines: {node: '>= 0.12.0', npm: '>= 2.0.0'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + react-loadable-ssr-addon-v5-slorber@1.0.1: + resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + + react-magic-dropzone@1.0.1: + resolution: {integrity: sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==} + + react-markdown@8.0.7: + resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + react-modal@3.16.3: + resolution: {integrity: sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==} + peerDependencies: + react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 + react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 + + react-redux@7.2.9: + resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} + peerDependencies: + react: ^16.8.3 || ^17 || ^18 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + react-router-config@5.1.1: + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react@19.1.0: + resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + engines: {node: '>=0.10.0'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.0: + resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + redux-thunk@2.4.2: + resolution: {integrity: sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==} + peerDependencies: + redux: ^4 + + redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + + reftools@1.1.9: + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + + registry-auth-token@5.1.0: + resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + rehype-raw@6.1.1: + resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@3.0.1: + resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + + remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + reselect@4.1.8: + resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rtlcss@4.3.0: + resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} + engines: {node: '>=12.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass-loader@16.0.5: + resolution: {integrity: sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==} + engines: {node: '>= 18.12.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + webpack: + optional: true + + sass@1.89.2: + resolution: {integrity: sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==} + engines: {node: '>=14.0.0'} + hasBin: true + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + + schema-dts@1.1.5: + resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + engines: {node: '>= 10.13.0'} + + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.6: + resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + should-equal@2.0.0: + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + + should-format@3.0.3: + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + + should-type-adaptors@1.1.0: + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + + should-type@1.4.0: + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + + should-util@1.0.1: + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + + should@13.2.3: + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.2: + resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} + engines: {node: '>= 6.3.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + + swagger2openapi@7.0.8: + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + hasBin: true + + tapable@2.2.2: + resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.43.1: + resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} + engines: {node: '>=10'} + hasBin: true + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + 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==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + + undici@7.12.0: + resolution: {integrity: sha512-GrKEsc3ughskmGA9jevVlIOPMiiAHJ4OFUtaAH+NhfTUSiZ1wMPIQqQvAJUrJspFXJt3EBWgpAeoHEDVT1IBug==} + engines: {node: '>=20.18.1'} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + + uri-js-replace@1.0.1: + resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + 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 + + url@0.11.4: + resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} + engines: {node: '>= 0.4'} + + use-editable@2.3.3: + resolution: {integrity: sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==} + peerDependencies: + react: '>= 16.8.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==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + + validate.io-array@1.0.6: + resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} + + validate.io-function@1.0.2: + resolution: {integrity: sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==} + + validate.io-integer-array@1.0.0: + resolution: {integrity: sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==} + + validate.io-integer@1.0.5: + resolution: {integrity: sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==} + + validate.io-number@1.0.3: + resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@4.1.0: + resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + + watchpack@2.4.4: + resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + 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'} + hasBin: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} + + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack@5.100.2: + resolution: {integrity: sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@6.0.1: + resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + webpack: 3 || 4 || 5 + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-formatter@2.6.1: + resolution: {integrity: sha512-dOiGwoqm8y22QdTNI7A+N03tyVfBlQ0/oehAzxIZtwnFAHGeSlrfjF73YQvzSsa/Kt6+YZasKsrdu6OIpuBggw==} + engines: {node: '>= 10'} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + xml-parser-xo@3.2.0: + resolution: {integrity: sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg==} + engines: {node: '>= 10'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@1.2.1: + resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + engines: {node: '>=12.20'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)': + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + '@algolia/client-search': 5.34.0 + algoliasearch: 5.34.0 + + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)': + dependencies: + '@algolia/client-search': 5.34.0 + algoliasearch: 5.34.0 + + '@algolia/client-abtesting@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-analytics@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-common@5.34.0': {} + + '@algolia/client-insights@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-personalization@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-query-suggestions@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-search@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/events@4.0.1': {} + + '@algolia/ingestion@1.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/monitoring@1.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/recommend@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/requester-browser-xhr@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + + '@algolia/requester-fetch@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + + '@algolia/requester-node-http@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + + '@apidevtools/json-schema-ref-parser@11.9.3': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.0': {} + + '@babel/core@7.28.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helpers': 7.27.6 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.0': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.1 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.1 + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.28.1 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helper-wrap-function@7.27.1': + dependencies: + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.27.6': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.1 + + '@babel/parser@7.28.0': + dependencies: + '@babel/types': 7.28.1 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-object-rest-spread@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regenerator@7.28.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-runtime@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.0) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/preset-env@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-regenerator': 7.28.1(@babel/core@7.28.0) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.0) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.0) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0) + core-js-compat: 3.44.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.1 + esutils: 2.0.3 + + '@babel/preset-react@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/runtime-corejs3@7.28.0': + dependencies: + core-js-pure: 3.44.0 + + '@babel/runtime@7.27.6': {} + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 + + '@babel/traverse@7.28.0': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.0 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/types': 7.28.1 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.1': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@colors/colors@1.5.0': + optional: true + + '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/color-helpers@5.0.2': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.0.2 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + + '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + '@csstools/postcss-color-function@4.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-color-mix-function@3.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.0(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-content-alt-text@2.0.6(postcss@8.5.6)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-gamut-mapping@2.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-gradients-interpolation-method@5.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-hwb-function@4.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-ic-unit@4.0.2(postcss@8.5.6)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-initial@2.0.1(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + '@csstools/postcss-light-dark-function@2.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 + + '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-oklab-function@4.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-progressive-custom-properties@4.1.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-relative-color-syntax@3.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-text-decoration-shorthand@4.0.2(postcss@8.5.6)': + dependencies: + '@csstools/color-helpers': 5.0.2 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)': + dependencies: + postcss-selector-parser: 7.1.0 + + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': + dependencies: + postcss-selector-parser: 7.1.0 + + '@csstools/utilities@2.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/css@3.9.0': {} + + '@docsearch/react@3.9.0(@algolia/client-search@5.34.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + '@docsearch/css': 3.9.0 + algoliasearch: 5.34.0 + optionalDependencies: + '@types/react': 19.1.8 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + + '@docusaurus/babel@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/generator': 7.28.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-transform-runtime': 7.28.0(@babel/core@7.28.0) + '@babel/preset-env': 7.28.0(@babel/core@7.28.0) + '@babel/preset-react': 7.27.1(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/runtime': 7.27.6 + '@babel/runtime-corejs3': 7.28.0 + '@babel/traverse': 7.28.0 + '@docusaurus/logger': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + babel-plugin-dynamic-import-node: 2.3.3 + fs-extra: 11.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/bundler@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@babel/core': 7.28.0 + '@docusaurus/babel': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/cssnano-preset': 3.8.1 + '@docusaurus/logger': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + babel-loader: 9.2.1(@babel/core@7.28.0)(webpack@5.100.2) + clean-css: 5.3.3 + copy-webpack-plugin: 11.0.0(webpack@5.100.2) + css-loader: 6.11.0(webpack@5.100.2) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.100.2) + cssnano: 6.1.2(postcss@8.5.6) + file-loader: 6.2.0(webpack@5.100.2) + html-minifier-terser: 7.2.0 + mini-css-extract-plugin: 2.9.2(webpack@5.100.2) + null-loader: 4.0.1(webpack@5.100.2) + postcss: 8.5.6 + postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.6.3)(webpack@5.100.2) + postcss-preset-env: 10.2.4(postcss@8.5.6) + terser-webpack-plugin: 5.3.14(webpack@5.100.2) + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2) + webpack: 5.100.2 + webpackbar: 6.0.1(webpack@5.100.2) + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - csso + - esbuild + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/babel': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/bundler': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.0) + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + core-js: 3.44.0 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + execa: 5.1.1 + fs-extra: 11.3.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.3(webpack@5.100.2) + leven: 3.1.0 + lodash: 4.17.21 + open: 8.4.2 + p-map: 4.0.0 + prompts: 2.4.2 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@19.1.0))(webpack@5.100.2) + react-router: 5.3.4(react@19.1.0) + react-router-config: 5.1.1(react-router@5.3.4(react@19.1.0))(react@19.1.0) + react-router-dom: 5.3.4(react@19.1.0) + semver: 7.7.2 + serve-handler: 6.1.6 + tinypool: 1.1.1 + tslib: 2.8.1 + update-notifier: 6.0.2 + webpack: 5.100.2 + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(debug@4.4.1)(webpack@5.100.2) + webpack-merge: 6.0.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/cssnano-preset@3.8.1': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-sort-media-queries: 5.2.0(postcss@8.5.6) + tslib: 2.8.1 + + '@docusaurus/logger@3.8.1': + dependencies: + chalk: 4.1.2 + tslib: 2.8.1 + + '@docusaurus/mdx-loader@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/logger': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.4.0 + file-loader: 6.2.0(webpack@5.100.2) + fs-extra: 11.3.0 + image-size: 2.0.2 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + rehype-raw: 7.0.0 + remark-directive: 3.0.1 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.1 + stringify-object: 3.3.0 + tslib: 2.8.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2) + vfile: 6.0.3 + webpack: 5.100.2 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/module-type-aliases@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/plugin-content-blog@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + cheerio: 1.0.0-rc.12 + feed: 4.2.2 + fs-extra: 11.3.0 + lodash: 4.17.21 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + schema-dts: 1.1.5 + srcset: 4.0.0 + tslib: 2.8.1 + unist-util-visit: 5.0.0 + utility-types: 3.11.0 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.3.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + schema-dts: 1.1.5 + tslib: 2.8.1 + utility-types: 3.11.0 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-pages@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-css-cascade-layers@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-debug@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-json-view-lite: 2.4.1(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-analytics@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/gtag.js': 0.0.12 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-tag-manager@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-sitemap@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + sitemap: 7.1.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-svgr@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/webpack': 8.1.0(typescript@5.6.3) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/preset-classic@3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-blog': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-css-cascade-layers': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-debug': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-google-analytics': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-google-gtag': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-google-tag-manager': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-sitemap': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-svgr': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-classic': 3.8.1(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-search-algolia': 3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/react-loadable@6.0.0(react@19.1.0)': + dependencies: + '@types/react': 19.1.8 + react: 19.1.0 + + '@docusaurus/theme-classic@3.8.1(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-blog': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-translations': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.0) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.0 + infima: 0.2.0-alpha.45 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.5.6 + prism-react-renderer: 2.4.1(react@19.1.0) + prismjs: 1.30.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-router-dom: 5.3.4(react@19.1.0) + rtlcss: 4.3.0 + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.4.1(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/theme-search-algolia@3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3)': + dependencies: + '@docsearch/react': 3.9.0(@algolia/client-search@5.34.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3) + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-translations': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + algoliasearch: 5.34.0 + algoliasearch-helper: 3.26.0(algoliasearch@5.34.0) + clsx: 2.1.1 + eta: 2.2.0 + fs-extra: 11.3.0 + lodash: 4.17.21 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-translations@3.8.1': + dependencies: + fs-extra: 11.3.0 + tslib: 2.8.1 + + '@docusaurus/tsconfig@3.8.1': {} + + '@docusaurus/types@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@types/history': 4.7.11 + '@types/react': 19.1.8 + commander: 5.1.0 + joi: 17.13.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + utility-types: 3.11.0 + webpack: 5.100.2 + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/logger': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + joi: 17.13.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/logger': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + escape-string-regexp: 4.0.0 + execa: 5.1.1 + file-loader: 6.2.0(webpack@5.100.2) + fs-extra: 11.3.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.7 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + p-queue: 6.6.2 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2) + utility-types: 3.11.0 + webpack: 5.100.2 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@easyops-cn/autocomplete.js@0.38.1': + dependencies: + cssesc: 3.0.0 + immediate: 3.3.0 + + '@easyops-cn/docusaurus-search-local@0.52.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-translations': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@easyops-cn/autocomplete.js': 0.38.1 + '@node-rs/jieba': 1.10.4 + cheerio: 1.1.2 + clsx: 2.1.1 + comlink: 4.4.2 + debug: 4.4.1 + fs-extra: 10.1.0 + klaw-sync: 6.0.0 + lunr: 2.3.9 + lunr-languages: 1.14.0 + mark.js: 8.11.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@emnapi/core@1.4.5': + dependencies: + '@emnapi/wasi-threads': 1.0.4 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.4.5': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.4': + dependencies: + tslib: 2.8.1 + optional: true + + '@exodus/schemasafe@1.3.0': {} + + '@faker-js/faker@5.5.3': {} + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@hookform/error-message@2.0.1(react-dom@19.1.0(react@19.1.0))(react-hook-form@7.61.1(react@19.1.0))(react@19.1.0)': + dependencies: + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-hook-form: 7.61.1(react@19.1.0) + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 24.1.0 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.12': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/trace-mapping': 0.3.29 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.10': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + + '@jridgewell/sourcemap-codec@1.5.4': {} + + '@jridgewell/trace-mapping@0.3.29': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.4 + + '@jsdevtools/ono@7.1.3': {} + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@mdx-js/mdx@3.1.0(acorn@8.15.0)': + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.0(acorn@8.15.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - acorn + - supports-color + + '@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 19.1.8 + react: 19.1.0 + + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 + '@tybys/wasm-util': 0.10.0 + optional: true + + '@node-rs/jieba-android-arm-eabi@1.10.4': + optional: true + + '@node-rs/jieba-android-arm64@1.10.4': + optional: true + + '@node-rs/jieba-darwin-arm64@1.10.4': + optional: true + + '@node-rs/jieba-darwin-x64@1.10.4': + optional: true + + '@node-rs/jieba-freebsd-x64@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm64-gnu@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm64-musl@1.10.4': + optional: true + + '@node-rs/jieba-linux-x64-gnu@1.10.4': + optional: true + + '@node-rs/jieba-linux-x64-musl@1.10.4': + optional: true + + '@node-rs/jieba-wasm32-wasi@1.10.4': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + + '@node-rs/jieba-win32-arm64-msvc@1.10.4': + optional: true + + '@node-rs/jieba-win32-ia32-msvc@1.10.4': + optional: true + + '@node-rs/jieba-win32-x64-msvc@1.10.4': + optional: true + + '@node-rs/jieba@1.10.4': + optionalDependencies: + '@node-rs/jieba-android-arm-eabi': 1.10.4 + '@node-rs/jieba-android-arm64': 1.10.4 + '@node-rs/jieba-darwin-arm64': 1.10.4 + '@node-rs/jieba-darwin-x64': 1.10.4 + '@node-rs/jieba-freebsd-x64': 1.10.4 + '@node-rs/jieba-linux-arm-gnueabihf': 1.10.4 + '@node-rs/jieba-linux-arm64-gnu': 1.10.4 + '@node-rs/jieba-linux-arm64-musl': 1.10.4 + '@node-rs/jieba-linux-x64-gnu': 1.10.4 + '@node-rs/jieba-linux-x64-musl': 1.10.4 + '@node-rs/jieba-wasm32-wasi': 1.10.4 + '@node-rs/jieba-win32-arm64-msvc': 1.10.4 + '@node-rs/jieba-win32-ia32-msvc': 1.10.4 + '@node-rs/jieba-win32-x64-msvc': 1.10.4 + + '@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.19.1 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@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.29': {} + + '@redocly/ajv@8.11.2': + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js-replace: 1.0.1 + + '@redocly/config@0.22.2': {} + + '@redocly/openapi-core@1.34.5': + dependencies: + '@redocly/ajv': 8.11.2 + '@redocly/config': 0.22.2 + colorette: 1.4.0 + https-proxy-agent: 7.0.6 + js-levenshtein: 1.1.6 + js-yaml: 4.1.0 + minimatch: 5.1.6 + pluralize: 8.0.0 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - supports-color + + '@reduxjs/toolkit@1.9.7(react-redux@7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + dependencies: + immer: 9.0.21 + redux: 4.2.1 + redux-thunk: 2.4.2(redux@4.2.1) + reselect: 4.1.8 + optionalDependencies: + react: 19.1.0 + react-redux: 7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@babel/runtime': 7.27.6 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + '@slorber/remark-comment@1.0.0': + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-preset@8.1.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.28.0) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.28.0) + + '@svgr/core@8.1.0(typescript@5.6.3)': + dependencies: + '@babel/core': 7.28.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.0) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.6.3) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.28.1 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))': + dependencies: + '@babel/core': 7.28.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.0) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))(typescript@5.6.3)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.6.3) + cosmiconfig: 8.3.6(typescript@5.6.3) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@5.6.3)': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.0) + '@babel/preset-env': 7.28.0(@babel/core@7.28.0) + '@babel/preset-react': 7.27.1(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3))(typescript@5.6.3) + transitivePeerDependencies: + - supports-color + - typescript + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@trysound/sax@0.2.0': {} + + '@tybys/wasm-util@0.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 24.1.0 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 24.1.0 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 5.0.7 + '@types/node': 24.1.0 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 24.1.0 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.8 + + '@types/estree@1.0.8': {} + + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 24.1.0 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express-serve-static-core@5.0.7': + dependencies: + '@types/node': 24.1.0 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express@4.17.23': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.8 + + '@types/gtag.js@0.0.12': {} + + '@types/hast@2.3.10': + dependencies: + '@types/unist': 2.0.11 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/history@4.7.11': {} + + '@types/hoist-non-react-statics@3.3.7(@types/react@19.1.8)': + dependencies: + '@types/react': 19.1.8 + hoist-non-react-statics: 3.3.2 + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-cache-semantics@4.0.4': {} + + '@types/http-errors@2.0.5': {} + + '@types/http-proxy@1.17.16': + dependencies: + '@types/node': 24.1.0 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@3.0.15': + dependencies: + '@types/unist': 2.0.11 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.13': {} + + '@types/mime@1.3.5': {} + + '@types/ms@2.1.0': {} + + '@types/node-forge@1.3.13': + dependencies: + '@types/node': 24.1.0 + + '@types/node@17.0.45': {} + + '@types/node@24.1.0': + dependencies: + undici-types: 7.8.0 + + '@types/parse5@6.0.3': {} + + '@types/prismjs@1.26.5': {} + + '@types/prop-types@15.7.15': {} + + '@types/qs@6.14.0': {} + + '@types/range-parser@1.2.7': {} + + '@types/react-redux@7.1.34': + dependencies: + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.1.8) + '@types/react': 19.1.8 + hoist-non-react-statics: 3.3.2 + redux: 4.2.1 + + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router': 5.1.20 + + '@types/react-router-dom@5.3.3': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router': 5.1.20 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.1.8 + + '@types/react@19.1.8': + dependencies: + csstype: 3.1.3 + + '@types/retry@0.12.0': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/send@0.17.5': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 24.1.0 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.23 + + '@types/serve-static@1.15.8': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 24.1.0 + '@types/send': 0.17.5 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 24.1.0 + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 24.1.0 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.3.0': {} + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + address@1.2.2: {} + + agent-base@7.1.4: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-draft-04@1.0.0(ajv@8.11.0): + optionalDependencies: + ajv: 8.11.0 + + ajv-formats@2.1.1(ajv@8.11.0): + optionalDependencies: + ajv: 8.11.0 + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.11.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + algoliasearch-helper@3.26.0(algoliasearch@5.34.0): + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 5.34.0 + + algoliasearch@5.34.0: + dependencies: + '@algolia/client-abtesting': 5.34.0 + '@algolia/client-analytics': 5.34.0 + '@algolia/client-common': 5.34.0 + '@algolia/client-insights': 5.34.0 + '@algolia/client-personalization': 5.34.0 + '@algolia/client-query-suggestions': 5.34.0 + '@algolia/client-search': 5.34.0 + '@algolia/ingestion': 1.34.0 + '@algolia/monitoring': 1.34.0 + '@algolia/recommend': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + allof-merge@0.6.6: + dependencies: + json-crawl: 0.5.3 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + astring@1.9.0: {} + + async@3.2.2: {} + + async@3.2.4: {} + + at-least-node@1.0.0: {} + + autoprefixer@10.4.21(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-lite: 1.0.30001727 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + babel-loader@9.2.1(@babel/core@7.28.0)(webpack@5.100.2): + dependencies: + '@babel/core': 7.28.0 + find-cache-dir: 4.0.0 + schema-utils: 4.3.2 + webpack: 5.100.2 + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.7 + + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.0): + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + core-js-compat: 3.44.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + batch@0.6.1: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.3.0: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + boxen@6.2.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.4.1 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.25.1: + dependencies: + caniuse-lite: 1.0.30001727 + electron-to-chromium: 1.5.189 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.1) + + buffer-from@1.1.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.2 + 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.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + call-me-maybe@1.0.2: {} + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + camelcase@6.3.0: {} + + camelcase@7.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.25.1 + caniuse-lite: 1.0.30001727 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001727: {} + + ccount@2.0.1: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.1: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + charset@1.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.2.2 + css-what: 6.2.2 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + htmlparser2: 8.0.2 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + + cheerio@1.1.2: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.1 + htmlparser2: 10.0.0 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 7.12.0 + whatwg-mimetype: 4.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@1.2.1: {} + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@1.4.0: {} + + colorette@2.0.20: {} + + combine-promises@1.2.0: {} + + comlink@4.4.2: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + compute-gcd@1.2.1: + dependencies: + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + + compute-lcm@1.1.2: + dependencies: + compute-gcd: 1.2.1 + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + + connect-history-api-fallback@2.0.0: {} + + consola@3.4.2: {} + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.7.1: {} + + copy-text-to-clipboard@3.2.0: {} + + copy-webpack-plugin@11.0.0(webpack@5.100.2): + dependencies: + fast-glob: 3.3.3 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + webpack: 5.100.2 + + core-js-compat@3.44.0: + dependencies: + browserslist: 4.25.1 + + core-js-pure@3.44.0: {} + + core-js@3.44.0: {} + + core-util-is@1.0.3: {} + + cosmiconfig@8.3.6(typescript@5.6.3): + dependencies: + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.6.3 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-js@4.2.0: {} + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + css-blank-pseudo@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + css-declaration-sorter@7.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + css-has-pseudo@7.0.2(postcss@8.5.6): + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + + css-loader@6.11.0(webpack@5.100.2): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) + postcss-modules-scope: 3.2.1(postcss@8.5.6) + postcss-modules-values: 4.0.0(postcss@8.5.6) + postcss-value-parser: 4.2.0 + semver: 7.7.2 + optionalDependencies: + webpack: 5.100.2 + + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.100.2): + dependencies: + '@jridgewell/trace-mapping': 0.3.29 + cssnano: 6.1.2(postcss@8.5.6) + jest-worker: 29.7.0 + postcss: 8.5.6 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + webpack: 5.100.2 + optionalDependencies: + clean-css: 5.3.3 + + css-prefers-color-scheme@10.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + + css-what@6.2.2: {} + + cssdb@8.3.1: {} + + cssesc@3.0.0: {} + + cssnano-preset-advanced@6.1.2(postcss@8.5.6): + dependencies: + autoprefixer: 10.4.21(postcss@8.5.6) + browserslist: 4.25.1 + cssnano-preset-default: 6.1.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-discard-unused: 6.0.5(postcss@8.5.6) + postcss-merge-idents: 6.0.3(postcss@8.5.6) + postcss-reduce-idents: 6.0.3(postcss@8.5.6) + postcss-zindex: 6.0.2(postcss@8.5.6) + + cssnano-preset-default@6.1.2(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + css-declaration-sorter: 7.2.0(postcss@8.5.6) + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-calc: 9.0.1(postcss@8.5.6) + postcss-colormin: 6.1.0(postcss@8.5.6) + postcss-convert-values: 6.1.0(postcss@8.5.6) + postcss-discard-comments: 6.0.2(postcss@8.5.6) + postcss-discard-duplicates: 6.0.3(postcss@8.5.6) + postcss-discard-empty: 6.0.3(postcss@8.5.6) + postcss-discard-overridden: 6.0.2(postcss@8.5.6) + postcss-merge-longhand: 6.0.5(postcss@8.5.6) + postcss-merge-rules: 6.1.1(postcss@8.5.6) + postcss-minify-font-values: 6.1.0(postcss@8.5.6) + postcss-minify-gradients: 6.0.3(postcss@8.5.6) + postcss-minify-params: 6.1.0(postcss@8.5.6) + postcss-minify-selectors: 6.0.4(postcss@8.5.6) + postcss-normalize-charset: 6.0.2(postcss@8.5.6) + postcss-normalize-display-values: 6.0.2(postcss@8.5.6) + postcss-normalize-positions: 6.0.2(postcss@8.5.6) + postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6) + postcss-normalize-string: 6.0.2(postcss@8.5.6) + postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6) + postcss-normalize-unicode: 6.1.0(postcss@8.5.6) + postcss-normalize-url: 6.0.2(postcss@8.5.6) + postcss-normalize-whitespace: 6.0.2(postcss@8.5.6) + postcss-ordered-values: 6.0.2(postcss@8.5.6) + postcss-reduce-initial: 6.1.0(postcss@8.5.6) + postcss-reduce-transforms: 6.0.2(postcss@8.5.6) + postcss-svgo: 6.0.3(postcss@8.5.6) + postcss-unique-selectors: 6.0.4(postcss@8.5.6) + + cssnano-utils@4.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + cssnano@6.1.2(postcss@8.5.6): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.5.6) + lilconfig: 3.1.3 + postcss: 8.5.6 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.1.3: {} + + debounce@1.2.1: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.1: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.2.0: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + detect-libc@1.0.3: + optional: true + + detect-node@2.1.0: {} + + detect-package-manager@3.0.2: + dependencies: + execa: 5.1.1 + + detect-port@1.6.1: + dependencies: + address: 1.2.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff@5.2.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + docusaurus-plugin-openapi-docs@4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0): + dependencies: + '@apidevtools/json-schema-ref-parser': 11.9.3 + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@redocly/openapi-core': 1.34.5 + allof-merge: 0.6.6 + chalk: 4.1.2 + clsx: 1.2.1 + fs-extra: 9.1.0 + json-pointer: 0.6.2 + json5: 2.2.3 + lodash: 4.17.21 + mustache: 4.2.0 + openapi-to-postmanv2: 4.25.0 + postman-collection: 4.5.0 + react: 19.1.0 + slugify: 1.6.6 + swagger2openapi: 7.0.8 + xml-formatter: 2.6.1 + transitivePeerDependencies: + - encoding + - supports-color + + docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2): + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + sass: 1.89.2 + sass-loader: 16.0.5(sass@1.89.2)(webpack@5.100.2) + transitivePeerDependencies: + - '@rspack/core' + - node-sass + - sass-embedded + - webpack + + docusaurus-theme-openapi-docs@4.5.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(docusaurus-plugin-openapi-docs@4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0))(docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(webpack@5.100.2): + dependencies: + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@hookform/error-message': 2.0.1(react-dom@19.1.0(react@19.1.0))(react-hook-form@7.61.1(react@19.1.0))(react@19.1.0) + '@reduxjs/toolkit': 1.9.7(react-redux@7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + allof-merge: 0.6.6 + buffer: 6.0.3 + clsx: 1.2.1 + copy-text-to-clipboard: 3.2.0 + crypto-js: 4.2.0 + docusaurus-plugin-openapi-docs: 4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + docusaurus-plugin-sass: 0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2) + file-saver: 2.0.5 + lodash: 4.17.21 + pako: 2.1.0 + postman-code-generators: 1.14.2 + postman-collection: 4.5.0 + prism-react-renderer: 2.4.1(react@19.1.0) + process: 0.11.10 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-hook-form: 7.61.1(react@19.1.0) + react-live: 4.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-magic-dropzone: 1.0.1 + react-markdown: 8.0.7(@types/react@19.1.8)(react@19.1.0) + react-modal: 3.16.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-redux: 7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + rehype-raw: 6.1.1 + remark-gfm: 3.0.1 + sass: 1.89.2 + sass-loader: 16.0.5(sass@1.89.2)(webpack@5.100.2) + unist-util-visit: 5.0.0 + url: 0.11.4 + xml-formatter: 2.6.1 + transitivePeerDependencies: + - '@rspack/core' + - '@types/react' + - node-sass + - react-native + - sass-embedded + - supports-color + - webpack + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dot-prop@6.0.1: + 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: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.189: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emojis-list@3.0.0: {} + + emoticon@4.1.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + encoding-sniffer@0.2.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + + enhanced-resolve@5.18.2: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.2 + + entities@2.2.0: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es6-promise@3.3.1: {} + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.15.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.2 + + escalade@3.2.0: {} + + escape-goat@4.0.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esprima@4.0.1: {} + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.4 + + estree-util-value-to-estree@3.4.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + esutils@2.0.3: {} + + eta@2.2.0: {} + + etag@1.8.1: {} + + eval@0.1.8: + dependencies: + '@types/node': 24.1.0 + require-like: 0.1.2 + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exenv@1.2.2: {} + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-safe-stringify@2.1.1: {} + + fast-uri@3.0.6: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + feed@4.2.2: + dependencies: + xml-js: 1.6.11 + + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + + file-loader@6.2.0(webpack@5.100.2): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.100.2 + + file-saver@2.0.5: {} + + file-type@3.9.0: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.9(debug@4.4.1): + optionalDependencies: + debug: 4.4.1 + + foreach@2.0.6: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data-encoder@2.1.4: {} + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@4.3.7: {} + + fresh@0.5.2: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-monkey@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + 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-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: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.2.0: {} + + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + graphlib@2.1.8: + dependencies: + lodash: 4.17.21 + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + handle-thing@2.0.1: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-yarn@3.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-from-parse5@7.1.2: + dependencies: + '@types/hast': 2.3.10 + '@types/unist': 2.0.11 + hastscript: 7.2.0 + property-information: 6.5.0 + vfile: 5.3.7 + vfile-location: 4.1.0 + web-namespaces: 2.0.1 + + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.1.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-parse-selector@3.1.1: + dependencies: + '@types/hast': 2.3.10 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@7.2.3: + dependencies: + '@types/hast': 2.3.10 + '@types/parse5': 6.0.3 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 + parse5: 6.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@7.1.0: + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-whitespace@2.0.1: {} + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@7.2.0: + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 3.1.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.27.6 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-entities@2.6.0: {} + + html-escaper@2.0.2: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.43.1 + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.43.1 + + html-tags@3.3.1: {} + + html-void-elements@2.0.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.6.3(webpack@5.100.2): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.2 + optionalDependencies: + webpack: 5.100.2 + + htmlparser2@10.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 6.0.1 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 + + http-cache-semantics@4.2.0: {} + + http-deceiver@1.2.7: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-parser-js@0.5.10: {} + + http-proxy-middleware@2.0.9(@types/express@4.17.23)(debug@4.4.1): + dependencies: + '@types/http-proxy': 1.17.16 + http-proxy: 1.18.1(debug@4.4.1) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.23 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1(debug@4.4.1): + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.9(debug@4.4.1) + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + http-reasons@0.1.0: {} + + http2-client@1.3.5: {} + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + image-size@2.0.2: {} + + immediate@3.3.0: {} + + immer@9.0.21: {} + + immutable@5.1.3: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@4.0.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infima@0.2.0-alpha.45: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@2.0.0: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.4: {} + + interpret@1.4.0: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@2.0.5: {} + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-npm@6.0.0: {} + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-obj@2.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-regexp@1.0.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-yarn-global@0.4.1: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 24.1.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-worker@27.5.1: + dependencies: + '@types/node': 24.1.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 24.1.0 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.7: {} + + joi@17.13.3: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-levenshtein@1.1.6: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-crawl@0.5.3: {} + + json-parse-even-better-errors@2.3.1: {} + + json-pointer@0.6.2: + dependencies: + foreach: 2.0.6 + + json-schema-compare@0.2.2: + dependencies: + lodash: 4.17.21 + + json-schema-merge-allof@0.8.1: + dependencies: + compute-lcm: 1.1.2 + json-schema-compare: 0.2.2 + lodash: 4.17.21 + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + klaw-sync@6.0.0: + dependencies: + graceful-fs: 4.2.11 + + kleur@3.0.3: {} + + kleur@4.1.5: {} + + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 + + launch-editor@2.10.0: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.3 + + leven@3.1.0: {} + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + liquid-json@0.3.1: {} + + loader-runner@4.3.0: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.debounce@4.0.8: {} + + lodash.memoize@4.1.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.17.21: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lowercase-keys@3.0.0: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr-languages@1.14.0: {} + + lunr@2.3.9: {} + + mark.js@8.11.1: {} + + markdown-extensions@2.0.0: {} + + markdown-table@2.0.0: + dependencies: + repeat-string: 1.6.1 + + markdown-table@3.0.4: {} + + math-intrinsics@1.1.0: {} + + mdast-util-definitions@5.1.2: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.11 + unist-util-visit: 4.1.2 + + mdast-util-directive@3.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@2.2.2: + dependencies: + '@types/mdast': 3.0.15 + escape-string-regexp: 5.0.0 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@1.3.1: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.11 + decode-named-character-reference: 1.2.0 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@1.0.3: + dependencies: + '@types/mdast': 3.0.15 + ccount: 2.0.1 + mdast-util-find-and-replace: 2.2.2 + micromark-util-character: 1.2.0 + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@1.0.2: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + micromark-util-normalize-identifier: 1.1.0 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@1.0.3: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@1.0.7: + dependencies: + '@types/mdast': 3.0.15 + markdown-table: 3.0.4 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@1.0.2: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@2.0.2: + dependencies: + mdast-util-from-markdown: 1.3.1 + mdast-util-gfm-autolink-literal: 1.0.3 + mdast-util-gfm-footnote: 1.0.2 + mdast-util-gfm-strikethrough: 1.0.3 + mdast-util-gfm-table: 1.0.7 + mdast-util-gfm-task-list-item: 1.0.2 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@3.0.1: + dependencies: + '@types/mdast': 3.0.15 + unist-util-is: 5.2.1 + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@12.3.0: + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-definitions: 5.1.2 + micromark-util-sanitize-uri: 1.2.0 + trim-lines: 3.0.1 + unist-util-generated: 2.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@1.5.0: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.11 + longest-streak: 3.1.0 + mdast-util-phrasing: 3.0.1 + mdast-util-to-string: 3.2.0 + micromark-util-decode-string: 1.1.0 + unist-util-visit: 4.1.2 + zwitch: 2.0.4 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@3.2.0: + dependencies: + '@types/mdast': 3.0.15 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@1.1.0: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-directive@3.0.2: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@1.0.5: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@1.1.2: + dependencies: + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@1.0.7: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@1.0.7: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@1.0.2: + dependencies: + micromark-util-types: 1.1.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@1.0.5: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@2.0.3: + dependencies: + micromark-extension-gfm-autolink-literal: 1.0.5 + micromark-extension-gfm-footnote: 1.1.2 + micromark-extension-gfm-strikethrough: 1.0.7 + micromark-extension-gfm-table: 1.0.7 + micromark-extension-gfm-tagfilter: 1.0.2 + micromark-extension-gfm-task-list-item: 1.0.5 + micromark-util-combine-extensions: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@1.1.0: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@1.1.0: {} + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.8 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@1.2.0: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@1.1.0: + dependencies: + micromark-util-types: 1.1.0 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@1.2.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.2: {} + + micromark@3.2.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-format@2.0.1: + dependencies: + charset: 1.0.1 + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + mini-css-extract-plugin@2.9.2(webpack@5.100.2): + dependencies: + schema-utils: 4.3.2 + tapable: 2.2.2 + webpack: 5.100.2 + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.2 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mri@1.2.0: {} + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + mustache@4.2.0: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.11: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + neotraverse@0.6.15: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-addon-api@7.1.1: + optional: true + + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-fetch-h2@2.3.0: + dependencies: + http2-client: 1.3.5 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-forge@1.3.1: {} + + node-readfiles@0.2.0: + dependencies: + es6-promise: 3.3.1 + + node-releases@2.0.19: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize-url@8.0.2: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + null-loader@4.0.1(webpack@5.100.2): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.100.2 + + oas-kit-common@1.0.8: + dependencies: + fast-safe-stringify: 2.1.1 + + oas-linter@3.2.2: + dependencies: + '@exodus/schemasafe': 1.3.0 + should: 13.2.3 + yaml: 1.10.2 + + oas-resolver-browser@2.5.6: + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + path-browserify: 1.0.1 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + + oas-resolver@2.5.6: + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + + oas-schema-walker@1.1.5: {} + + oas-validator@5.0.8: + dependencies: + call-me-maybe: 1.0.2 + oas-kit-common: 1.0.8 + oas-linter: 3.2.2 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + reftools: 1.1.9 + should: 13.2.3 + yaml: 1.10.2 + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + obuf@1.1.2: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + openapi-to-postmanv2@4.25.0: + dependencies: + ajv: 8.11.0 + ajv-draft-04: 1.0.0(ajv@8.11.0) + ajv-formats: 2.1.1(ajv@8.11.0) + async: 3.2.4 + commander: 2.20.3 + graphlib: 2.1.8 + js-yaml: 4.1.0 + json-pointer: 0.6.2 + json-schema-merge-allof: 0.8.1 + lodash: 4.17.21 + neotraverse: 0.6.15 + oas-resolver-browser: 2.5.6 + object-hash: 3.0.0 + path-browserify: 1.0.1 + postman-collection: 4.5.0 + swagger2openapi: 7.0.8 + yaml: 1.10.2 + transitivePeerDependencies: + - encoding + + opener@1.5.2: {} + + p-cancelable@3.0.0: {} + + p-finally@1.0.0: {} + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.2.1 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json-from-dist@1.0.1: {} + + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.1.0 + registry-url: 6.0.1 + semver: 7.7.2 + + pako@2.1.0: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.2.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-numeric-range@1.3.0: {} + + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.3.0 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.3.0 + + parse5@6.0.1: {} + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-browserify@1.0.1: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-to-regexp@0.1.12: {} + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@3.3.0: {} + + path-type@4.0.0: {} + + path@0.12.7: + dependencies: + process: 0.11.10 + util: 0.10.4 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pirates@4.0.7: {} + + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + + pluralize@8.0.0: {} + + postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-calc@9.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + + postcss-clamp@4.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-color-functional-notation@7.0.10(postcss@8.5.6): + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-color-hex-alpha@10.0.0(postcss@8.5.6): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-custom-media@11.0.6(postcss@8.5.6): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 + + postcss-custom-properties@14.0.6(postcss@8.5.6): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-custom-selectors@8.0.5(postcss@8.5.6): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-discard-comments@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-duplicates@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-empty@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-overridden@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-unused@6.0.5(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-double-position-gradients@6.0.2(postcss@8.5.6): + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-focus-visible@10.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-focus-within@9.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-font-variant@5.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-gap-properties@6.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-image-set-function@7.0.0(postcss@8.5.6): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-lab-function@7.0.10(postcss@8.5.6): + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.6.3)(webpack@5.100.2): + dependencies: + cosmiconfig: 8.3.6(typescript@5.6.3) + jiti: 1.21.7 + postcss: 8.5.6 + semver: 7.7.2 + webpack: 5.100.2 + transitivePeerDependencies: + - typescript + + postcss-logical@8.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-merge-idents@6.0.3(postcss@8.5.6): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-merge-longhand@6.0.5(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.5.6) + + postcss-merge-rules@6.1.1(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-minify-font-values@6.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.5.6): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-modules-values@4.0.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-nesting@13.0.2(postcss@8.5.6): + dependencies: + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-normalize-charset@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-normalize-display-values@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-opacity-percentage@3.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-ordered-values@6.0.2(postcss@8.5.6): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-overflow-shorthand@6.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-page-break@3.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-place@10.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-preset-env@10.2.4(postcss@8.5.6): + dependencies: + '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) + '@csstools/postcss-color-function': 4.0.10(postcss@8.5.6) + '@csstools/postcss-color-mix-function': 3.0.10(postcss@8.5.6) + '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.0(postcss@8.5.6) + '@csstools/postcss-content-alt-text': 2.0.6(postcss@8.5.6) + '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6) + '@csstools/postcss-gamut-mapping': 2.0.10(postcss@8.5.6) + '@csstools/postcss-gradients-interpolation-method': 5.0.10(postcss@8.5.6) + '@csstools/postcss-hwb-function': 4.0.10(postcss@8.5.6) + '@csstools/postcss-ic-unit': 4.0.2(postcss@8.5.6) + '@csstools/postcss-initial': 2.0.1(postcss@8.5.6) + '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6) + '@csstools/postcss-light-dark-function': 2.0.9(postcss@8.5.6) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6) + '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6) + '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6) + '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.6) + '@csstools/postcss-oklab-function': 4.0.10(postcss@8.5.6) + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6) + '@csstools/postcss-relative-color-syntax': 3.0.10(postcss@8.5.6) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6) + '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6) + '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6) + '@csstools/postcss-text-decoration-shorthand': 4.0.2(postcss@8.5.6) + '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6) + autoprefixer: 10.4.21(postcss@8.5.6) + browserslist: 4.25.1 + css-blank-pseudo: 7.0.1(postcss@8.5.6) + css-has-pseudo: 7.0.2(postcss@8.5.6) + css-prefers-color-scheme: 10.0.0(postcss@8.5.6) + cssdb: 8.3.1 + postcss: 8.5.6 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) + postcss-clamp: 4.1.0(postcss@8.5.6) + postcss-color-functional-notation: 7.0.10(postcss@8.5.6) + postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) + postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) + postcss-custom-media: 11.0.6(postcss@8.5.6) + postcss-custom-properties: 14.0.6(postcss@8.5.6) + postcss-custom-selectors: 8.0.5(postcss@8.5.6) + postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) + postcss-double-position-gradients: 6.0.2(postcss@8.5.6) + postcss-focus-visible: 10.0.1(postcss@8.5.6) + postcss-focus-within: 9.0.1(postcss@8.5.6) + postcss-font-variant: 5.0.0(postcss@8.5.6) + postcss-gap-properties: 6.0.0(postcss@8.5.6) + postcss-image-set-function: 7.0.0(postcss@8.5.6) + postcss-lab-function: 7.0.10(postcss@8.5.6) + postcss-logical: 8.1.0(postcss@8.5.6) + postcss-nesting: 13.0.2(postcss@8.5.6) + postcss-opacity-percentage: 3.0.0(postcss@8.5.6) + postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) + postcss-page-break: 3.0.4(postcss@8.5.6) + postcss-place: 10.0.0(postcss@8.5.6) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) + postcss-selector-not: 8.0.1(postcss@8.5.6) + + postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-reduce-idents@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-api: 3.0.0 + postcss: 8.5.6 + + postcss-reduce-transforms@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-selector-not@8.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + sort-css-media-queries: 2.2.0 + + postcss-svgo@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + svgo: 3.3.2 + + postcss-unique-selectors@6.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-value-parser@4.2.0: {} + + postcss-zindex@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postman-code-generators@1.14.2: + dependencies: + async: 3.2.2 + detect-package-manager: 3.0.2 + lodash: 4.17.21 + path: 0.12.7 + postman-collection: 4.5.0 + shelljs: 0.8.5 + + postman-collection@4.5.0: + dependencies: + '@faker-js/faker': 5.5.3 + file-type: 3.9.0 + http-reasons: 0.1.0 + iconv-lite: 0.6.3 + liquid-json: 0.3.1 + lodash: 4.17.21 + mime-format: 2.0.1 + mime-types: 2.1.35 + postman-url-encoder: 3.0.5 + semver: 7.6.3 + uuid: 8.3.2 + + postman-url-encoder@3.0.5: + dependencies: + punycode: 2.3.1 + + prettier@3.6.2: {} + + pretty-error@4.0.0: + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + + pretty-time@1.1.0: {} + + prism-react-renderer@2.4.1(react@19.1.0): + dependencies: + '@types/prismjs': 1.26.5 + clsx: 2.1.1 + react: 19.1.0 + + prismjs@1.30.0: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@6.5.0: {} + + property-information@7.1.0: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@1.4.1: {} + + punycode@2.3.1: {} + + pupa@3.1.0: + dependencies: + escape-goat: 4.0.0 + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + queue-microtask@1.2.3: {} + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-dom@19.1.0(react@19.1.0): + dependencies: + react: 19.1.0 + scheduler: 0.26.0 + + react-fast-compare@3.2.2: {} + + react-hook-form@7.61.1(react@19.1.0): + dependencies: + react: 19.1.0 + + react-icons@5.5.0(react@19.1.0): + dependencies: + react: 19.1.0 + + react-is@16.13.1: {} + + react-is@17.0.2: {} + + react-is@18.3.1: {} + + react-json-view-lite@2.4.1(react@19.1.0): + dependencies: + react: 19.1.0 + + react-lifecycles-compat@3.0.4: {} + + react-live@4.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + prism-react-renderer: 2.4.1(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + sucrase: 3.35.0 + use-editable: 2.3.3(react@19.1.0) + + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.1.0))(webpack@5.100.2): + dependencies: + '@babel/runtime': 7.27.6 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + webpack: 5.100.2 + + react-magic-dropzone@1.0.1: {} + + react-markdown@8.0.7(@types/react@19.1.8)(react@19.1.0): + dependencies: + '@types/hast': 2.3.10 + '@types/prop-types': 15.7.15 + '@types/react': 19.1.8 + '@types/unist': 2.0.11 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 2.0.1 + prop-types: 15.8.1 + property-information: 6.5.0 + react: 19.1.0 + react-is: 18.3.1 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unified: 10.1.2 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + + react-modal@3.16.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + exenv: 1.2.2 + prop-types: 15.8.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-lifecycles-compat: 3.0.4 + warning: 4.0.3 + + react-redux@7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + '@types/react-redux': 7.1.34 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.1.0 + react-is: 17.0.2 + optionalDependencies: + react-dom: 19.1.0(react@19.1.0) + + react-router-config@5.1.1(react-router@5.3.4(react@19.1.0))(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + react: 19.1.0 + react-router: 5.3.4(react@19.1.0) + + react-router-dom@5.3.4(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.1.0 + react-router: 5.3.4(react@19.1.0) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router@5.3.4(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 19.1.0 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react@19.1.0: {} + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: {} + + rechoir@0.6.2: + dependencies: + resolve: 1.22.10 + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.0(acorn@8.15.0): + dependencies: + acorn-jsx: 5.3.2(acorn@8.15.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - acorn + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.8 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + redux-thunk@2.4.2(redux@4.2.1): + dependencies: + redux: 4.2.1 + + redux@4.2.1: + dependencies: + '@babel/runtime': 7.27.6 + + reftools@1.1.9: {} + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + registry-auth-token@5.1.0: + dependencies: + '@pnpm/npm-conf': 2.3.1 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + rehype-raw@6.1.1: + dependencies: + '@types/hast': 2.3.10 + hast-util-raw: 7.2.3 + unified: 10.1.2 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + + relateurl@0.2.7: {} + + remark-directive@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.1.0 + micromark-extension-directive: 3.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.1.0 + mdast-util-find-and-replace: 3.0.2 + node-emoji: 2.2.0 + unified: 11.0.5 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@3.0.1: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-gfm: 2.0.2 + micromark-extension-gfm: 2.0.3 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.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 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@10.0.2: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@10.1.0: + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-to-hast: 12.3.0 + unified: 10.1.2 + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + + repeat-string@1.6.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-like@0.1.2: {} + + requires-port@1.0.0: {} + + reselect@4.1.8: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + retry@0.13.1: {} + + reusify@1.1.0: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rtlcss@4.3.0: + dependencies: + escalade: 3.2.0 + picocolors: 1.1.1 + postcss: 8.5.6 + strip-json-comments: 3.1.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + sade@1.8.1: + dependencies: + mri: 1.2.0 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sass-loader@16.0.5(sass@1.89.2)(webpack@5.100.2): + dependencies: + neo-async: 2.6.2 + optionalDependencies: + sass: 1.89.2 + webpack: 5.100.2 + + sass@1.89.2: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + + sax@1.4.1: {} + + scheduler@0.26.0: {} + + schema-dts@1.1.5: {} + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.3.2: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + search-insights@2.17.3: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + select-hose@2.0.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.13 + node-forge: 1.3.1 + + semver-diff@4.0.0: + dependencies: + semver: 7.7.2 + + semver@6.3.1: {} + + semver@7.6.3: {} + + semver@7.7.2: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.6: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + + serve-index@1.9.1: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.3: {} + + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + + should-equal@2.0.0: + dependencies: + should-type: 1.4.0 + + should-format@3.0.3: + dependencies: + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + + should-type-adaptors@1.1.0: + dependencies: + should-type: 1.4.0 + should-util: 1.0.1 + + should-type@1.4.0: {} + + should-util@1.0.1: {} + + should@13.2.3: + dependencies: + should-equal: 2.0.0 + should-format: 3.0.3 + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + should-util: 1.0.1 + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + sitemap@7.1.2: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + slugify@1.6.6: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + + sort-css-media-queries@2.2.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.4.1 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.4.1 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + sprintf-js@1.0.3: {} + + srcset@4.0.0: {} + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + std-env@3.9.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-to-js@1.1.17: + dependencies: + style-to-object: 1.0.9 + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.9: + dependencies: + inline-style-parser: 0.2.4 + + stylehacks@6.1.1(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.2.2 + css-tree: 2.3.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + + swagger2openapi@7.0.8: + dependencies: + call-me-maybe: 1.0.2 + node-fetch: 2.7.0 + node-fetch-h2: 2.3.0 + node-readfiles: 0.2.0 + oas-kit-common: 1.0.8 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + oas-validator: 5.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + + tapable@2.2.2: {} + + terser-webpack-plugin@5.3.14(webpack@5.100.2): + dependencies: + '@jridgewell/trace-mapping': 0.3.29 + jest-worker: 27.5.1 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + terser: 5.43.1 + webpack: 5.100.2 + + terser@5.43.1: + dependencies: + '@jridgewell/source-map': 0.3.10 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + thunky@1.1.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + tinypool@1.1.1: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-interface-checker@0.1.13: {} + + tslib@2.8.1: {} + + type-fest@0.21.3: {} + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@5.6.3: {} + + undici-types@7.8.0: {} + + undici@7.12.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unified@10.1.2: + dependencies: + '@types/unist': 2.0.11 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 5.3.7 + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + unist-util-generated@2.0.1: {} + + unist-util-is@5.2.1: + dependencies: + '@types/unist': 2.0.11 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@4.0.4: + dependencies: + '@types/unist': 2.0.11 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@3.0.3: + dependencies: + '@types/unist': 2.0.11 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@5.1.3: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 5.2.1 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@4.1.2: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.1.3(browserslist@4.25.1): + dependencies: + browserslist: 4.25.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.4.1 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.7.2 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + + uri-js-replace@1.0.1: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.100.2 + optionalDependencies: + file-loader: 6.2.0(webpack@5.100.2) + + url@0.11.4: + dependencies: + punycode: 1.4.1 + qs: 6.13.0 + + use-editable@2.3.3(react@19.1.0): + dependencies: + react: 19.1.0 + + util-deprecate@1.0.2: {} + + util@0.10.4: + dependencies: + inherits: 2.0.3 + + utila@0.4.0: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + uvu@0.5.6: + dependencies: + dequal: 2.0.3 + diff: 5.2.0 + kleur: 4.1.5 + sade: 1.8.1 + + validate.io-array@1.0.6: {} + + validate.io-function@1.0.2: {} + + validate.io-integer-array@1.0.0: + dependencies: + validate.io-array: 1.0.6 + validate.io-integer: 1.0.5 + + validate.io-integer@1.0.5: + dependencies: + validate.io-number: 1.0.3 + + validate.io-number@1.0.3: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vfile-location@4.1.0: + dependencies: + '@types/unist': 2.0.11 + vfile: 5.3.7 + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@3.1.4: + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position: 3.0.3 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@5.3.7: + dependencies: + '@types/unist': 2.0.11 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + warning@4.0.3: + dependencies: + loose-envify: 1.4.0 + + watchpack@2.4.4: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-namespaces@2.0.1: {} + + webidl-conversions@3.0.1: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.15.0 + acorn-walk: 8.3.4 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-dev-middleware@5.3.4(webpack@5.100.2): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.3.2 + webpack: 5.100.2 + + webpack-dev-server@4.15.2(debug@4.4.1)(webpack@5.100.2): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.23 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.8 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.21.2 + graceful-fs: 4.2.11 + html-entities: 2.6.0 + http-proxy-middleware: 2.0.9(@types/express@4.17.23)(debug@4.4.1) + ipaddr.js: 2.2.0 + launch-editor: 2.10.0 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.100.2) + ws: 8.18.3 + optionalDependencies: + webpack: 5.100.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-merge@6.0.1: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.3.3: {} + + webpack@5.100.2: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.25.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.2 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.2 + tapable: 2.2.2 + terser-webpack-plugin: 5.3.14(webpack@5.100.2) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + webpackbar@6.0.1(webpack@5.100.2): + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + consola: 3.4.2 + figures: 3.2.0 + markdown-table: 2.0.0 + pretty-time: 1.1.0 + std-env: 3.9.0 + webpack: 5.100.2 + wrap-ansi: 7.0.0 + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wildcard@2.0.1: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.10: {} + + ws@8.18.3: {} + + xdg-basedir@5.1.0: {} + + xml-formatter@2.6.1: + dependencies: + xml-parser-xo: 3.2.0 + + xml-js@1.6.11: + dependencies: + sax: 1.4.1 + + xml-parser-xo@3.2.0: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml-ast-parser@0.0.43: {} + + yaml@1.10.2: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@1.2.1: {} + + zwitch@2.0.4: {} diff --git a/self-hosting/govern/authentication.mdx b/self-hosting/govern/authentication.mdx deleted file mode 100644 index 1ca7bd8..0000000 --- a/self-hosting/govern/authentication.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title : Overview -description: Plane offers several methods you can choose from to let your users log in to your Plane instance. Configure these methods in `Authentication` on `/god-mode` of your instance. ---- -{/* ## Restrict sign-ups to invited users - -To ensure only specific users can sign up and use Plane, you can toggle on `Allow sign up by invite only` which prevents users without invites from signing up. */} - -## Authentication methods - -### Unique code - -Plane lets your users log in with codes sent over email. This is disabled if SMTP is not configured for your instance. See [Communication](https://app.plane.so/plane/projects/e3ea12b0-62e3-4b8d-8ada-3379f4efc563/pages/e83af23e-b120-47b0-b241-2bee39037505) to set up SMTP if you wish to enable unique codes. - -### Passwords - -Your users can log in with passwords that they or you set for them. This is toggled on when SMTP isn't configured for your instance. Disable it if you would like to use another authentication method below. diff --git a/self-hosting/govern/github-oauth.mdx b/self-hosting/govern/github-oauth.mdx deleted file mode 100644 index f5e141d..0000000 --- a/self-hosting/govern/github-oauth.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Github OAuth ---- - -Plane also supports GitHub OAuth so your users can sign-in with GitHub instead. - -## Configure Plane as an OAuth app on GitHub - -1. Log in to your [GitHub account](https://github.com/). -2. Click your profile's avatar and navigate to **Settings.** -3. Click **Developer Settings** and then **OAuth Apps**. - ![](/images/authentication/github/github-auth-1.png) -4. Click **Register a new application**. -5. Configure the following OAuth credentials for your Plane app. - 1. **Homepage URL**\ - The domain, with HTTPS, on which you host Plane, e.g., `https://app.plane.so` - 2. **Authorization Callback URL**\ - Append the path that users should be redirected to after they have authenticated with GitHub. e.g., `https:////auth/github/callback/` and `https:///auth/mobile/github/callback/` where `` is your self-hosted instance's domain. -6. Click `Register application` to save it. - ![](/images/authentication/github/github-auth-2.png) -7. Find the app you just registered and click through to find the client ID and the client secret. You will need this for the next steps. - -## Configure Plane - -1. Go to `GitHub` on the Authentication screen of `/god mode`. -2. Add the client ID + the client secret from the GitHub app you just registered. -3. Click `Save `. - -Your Plane instance should now work with GitHub sign-in. diff --git a/self-hosting/govern/google-oauth.mdx b/self-hosting/govern/google-oauth.mdx deleted file mode 100644 index 8f1183b..0000000 --- a/self-hosting/govern/google-oauth.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Google OAuth ---- - -Plane already ships with out-of-the-box support for Google OAuth. This is the easiest option to configure for Google Workspace users. - -## Configure Plane as an app on Google API Console - -First, you will need to identify Plane as an approved OAuth app to Google. - -1. Go to the [Google API console](https://console.cloud.google.com/apis) and create a new project. -2. Navigate to the **OAuth consent screen** under **APIs & Services**. Choose how you want to configure and register the Plane app, including your target users, and click **Create**. - ![](/images/authentication/google/google-auth-1.png) -3. Configure the OAuth consent screen with information about the app. - ![](/images/authentication/google/google-auth-2.png) -4. Navigate to the **Credentials** screen, click **Create Credentials**, and select **OAuth client ID** from the options given. - ![](/images/authentication/google/google-auth-3.png) -5. Select **Web application** under the **Application type** dropdown list. Update the following fields. - 1. **Authorized JavaScript origins**\ - The HTTP origins that host your web application, e.g., `https://app.plane.so` - 2. **Authorized redirect URIs**\ - Append the path that users should be redirected to after they have authenticated with Google. `https:///auth/google/callback` and `https:///auth/mobile/google/callback/` where `` is your self-hosted instance's domain. - 3. Click **Create**. - 4. Get the Client ID and Client secret under **OAuth 2.0 Client IDs** on the **Credentials** screen. - ![](/images/authentication/google/google-auth-4.png) - -## Configure Plane - -1. Go to `Google` on the Authentication screen of `/god mode`. -2. Add the client ID + the client secret from Google API Console. -3. Click `Save `. - -Your Plane instance should now work with `Sign in with Google`. - - -We don't restrict domains in with Google OAuth yet. It's on our roadmap. diff --git a/self-hosting/govern/integrations/github.mdx b/self-hosting/govern/integrations/github.mdx deleted file mode 100644 index 926f2a4..0000000 --- a/self-hosting/govern/integrations/github.mdx +++ /dev/null @@ -1,258 +0,0 @@ ---- -title : Configure GitHub App for Plane integration -sidebarTitle: GitHub ---- - -This guide walks you through setting up a GitHub App to enable GitHub integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for GitHub, you’ll need to set up the necessary authentication, permissions, and webhooks to ensure smooth integration. - -This guide covers configuration for both: - -- **[GitHub Cloud](/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app)** -The standard cloud-hosted GitHub service - -- **[GitHub Enterprise Server](/self-hosting/govern/integrations/github?edition=github-enterprise#create-github-app)** -Self-hosted GitHub instances for organizations with specific compliance or security requirements - -In this guide, you’ll: -1. [Create and configure a GitHub App](/self-hosting/govern/integrations/github#create-github-app) -2. [Set up permissions and events](/self-hosting/govern/integrations/github#set-up-permissions-and-events) -3. [Configure your Plane instance](/self-hosting/govern/integrations/github#configure-plane-instance) - - -**Activate GitHub integration** - -After creating and configuring the GitHub app and configuring the instance as detailed on this page, you'll need to [setup the GitHub integration](https://docs.plane.so/integrations/github) within Plane. - - -## Create GitHub App - -To configure GitHub integration, you'll need to create a GitHub App within your organization. - - - - 1. Go to **Settings \> Developer Settings \> GitHub Apps** in your GitHub organization. - - 2. Click **New GitHub App**. - ![Create GitHub App](/images/integrations/github/create-github-app.webp) - - 3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**. - ![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp) - - 4. In the **Identifying and authorizing users** section, add the following **Callback URLS**. - - ```bash - https:///silo/api/github/auth/callback - https:///silo/api/github/auth/user/callback - ``` - - These URLs allow Plane to verify and enable workspace connection with the Github App. - ![Add Callback URL](/images/integrations/github/add-callback-url.webp) - -5. In the **Post installation** section, add the below **Setup URL**. - - ```bash - https:///silo/api/github/auth/callback - ``` - - Redirects users to this URL after GitHub app installation. - ![Add setup URL](/images/integrations/github/add-setup-url.webp) - - 6. Turn on **Redirect on update**. - - 7. In the **Webhook** section, add the below **Webhook URL**. - - ```bash - https:///silo/api/github/github-webhook - ``` - - This allows Plane to receive updates from GitHub repositories. - - ![Add Webhook URL](/images/integrations/github/add-webhook-url.webp) - - - - -1. Go to **Settings \> Developer Settings \> GitHub Apps** in your GitHub organization. - - 2. Click **New GitHub App**. - ![Create GitHub App](/images/integrations/github/create-github-app.webp) - - 3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**. - ![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp) - - 4. In the **Identifying and authorizing users** section, add the following **Callback URLS**. - - **For Plane cloud instance** - - ```bash - https://silo.plane.so/api/oauth/github-enterprise/auth/callback - https://silo.plane.so/api/oauth/github-enterprise/auth/user/callback - ``` - - **For Plane self-hosted instance** - - ```bash - https:///silo/api/oauth/github-enterprise/auth/callback - https:///silo/api/oauth/github-enterprise/auth/user/callback - ``` - - These URLs allow Plane to verify and enable workspace connection with the Github App. - ![Add Callback URL](/images/integrations/github/add-callback-url.webp) - - 5. In the **Post installation** section, add the below **Setup URL**. - - **For Plane cloud instance** - ```bash - https://silo.plane.so/api/oauth/github-enterprise/auth/callback - ``` - - **For Plane self-hosted instance** - - ```bash - https:///silo/api/oauth/github-enterprise/auth/callback - ``` - Redirects users to this URL after GitHub app installation. - ![Add setup URL](/images/integrations/github/add-setup-url.webp) - - 6. Turn on **Redirect on update**. - - 7. In the **Webhook** section, add the below **Webhook URL**. - - **For Plane cloud instance** - ```bash - https://silo.plane.so/api/github-enterprise/github-webhook - ``` - - **For Plane self-hosted instance** - - ```bash - https:///silo/api/github-enterprise/github-webhook - ``` - This allows Plane to receive updates from GitHub repositories. - - ![Add Webhook URL](/images/integrations/github/add-webhook-url.webp) - - - - -### Set up permissions and events - -1. Add repository and account permissions by setting the **Access** dropdown next to each permission, as shown in the tables below. - ![Setup permissions](/images/integrations/github/setup-permissions.webp) - - **Repository permissions** - - |Permission           |Access level    |Purpose| - |---------|---------------------|-----------| - |Commit statuses|Read-only|Allows the GitHub app to read and update commit statuses, indicating whether a commit has passed checks (e.g., CI/CD pipelines).| - |Contents|Read and write|Grants access to read and modify repository contents, including reading files, creating commits, and updating files.| - |Issues|Read and write|Enables reading, creating, updating, closing, and commenting on issues within the repository.| - |Merge queues|Read-only|Allows interaction with merge queues to manage the order of pull request merges.| - |Metadata|Read-only|Provides read-only access to repository metadata, such as its name, description, and visibility.| - |Pull requests|Read and write|Allows reading, creating, updating, merging, and commenting on pull requests.| - - **Account permissions** - - |Permission          |Access level    |Purpose| - |---------|------------|-----------| - |Email addresses|Read-only|Grants access to users' email addresses, typically for notifications or communication.| - |Profile|Read and write|Enables access to user profile details like name, username, and avatar.| - - -2. In the **Subscribe to events** section, turn on all the required events below. - - ![Subscribe to events](/images/integrations/github/subscribe-to-events.webp) - - |Event                                            |Purpose| - |---------|------------| - |Installation target| This is where the repositories or organizations where your GitHub App is installed. This determines which repositories Plane can sync with.| - |Meta|Includes metadata about the app's configuration and setup. This is essential for maintaining integration stability.| - |Issue comment| Triggers when a comment is added, edited, or deleted on an issue. Useful for keeping comments synced between Plane and GitHub.| - |Issues|Triggers when an issue is created, updated, closed, reopened, assigned, labeled, or transferred. Ensures issue status and details remain consistent between Plane and GitHub.| - |Pull request|Fires when a pull request is opened, closed, merged, edited, or labeled. Essential for tracking development progress.| - |Pull request review|Activates when a review is submitted, edited, or dismissed. Keeps review activities aligned between Plane and GitHub.| - |Pull request review comment|Fires when a review comment is added, modified, or removed. Ensures feedback is reflected across both platforms.| - |Pull request review thread|Triggers when a review discussion thread is resolved or reopened. Helps maintain visibility on code review discussions.| - |Push|Activates when new commits are pushed to a repository. Useful for tracking code updates and changes.| - |Repository sub issues|Tracks issues within a repository that are linked to or managed by another issue. Ensures accurate synchronization of related issues.| - -3. Click the **Create GitHub App** button at the bottom of the page. - -## Configure Plane instance - - - -1. Go back to **Settings \> Developer Settings \> GitHub Apps**. - -2. Click **Edit** on the GitHub you created. - -3. In the **General** tab, under the **Client secrets** section, click **Generate a new client secret**. - - ![General tab](/images/integrations/github/general-tab.webp) - -4. Scroll down to the **Private keys** section. - - ![Private keys](/images/integrations/github/private-keys.webp) - -5. Click **Genereate a private key**. - -6. Retrieve the following details from the **General** tab: - - App ID - - Client ID - - Client secret - - GitHub App name - - Private key - -7. Before adding the Private key as an environment variable, you’ll need to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64: - - ```bash - cat private_key.pem | base64 -w 0 - ``` - -8. Add these environment variables with the values to your Plane instance's `.env` file. - - ```bash - GITHUB_CLIENT_ID= - GITHUB_CLIENT_SECRET= - GITHUB_APP_NAME= - GITHUB_APP_ID= - GITHUB_PRIVATE_KEY= - ``` - -9. Save the file and restart the instance. - -10. Once you've completed the instance configuration, [activate the GitHub integration in Plane](https://docs.plane.so/integrations/github). - - - - - -1. Go back to **Settings \> Developer Settings \> GitHub Apps**. - -2. Click **Edit** on the GitHub you created. - -3. In the **General** tab, under the **Client secrets** section, click **Generate a new client secret**. - - ![General tab](/images/integrations/github/general-tab.webp) - -4. Scroll down to the **Private keys** section. - - ![Private keys](/images/integrations/github/private-keys.webp) - -5. Click **Generate a private key**. - -6. Retrieve the following details from the **General** tab: - - App ID - - App Slug (You can find this in browser url) - - Client ID - - Client secret - - Private key - -7. Convert the Private key to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64: - ```bash - cat private_key.pem | base64 -w 0 - ``` - -8. Once you've created the app, [activate the GitHub Enterprise integration in Plane](https://docs.plane.so/integrations/github?edition=github-enterprise#connect-github-organization). - - diff --git a/self-hosting/govern/integrations/slack.mdx b/self-hosting/govern/integrations/slack.mdx deleted file mode 100644 index 407bc35..0000000 --- a/self-hosting/govern/integrations/slack.mdx +++ /dev/null @@ -1,304 +0,0 @@ ---- -title : Configure Slack App for Plane integration -sidebarTitle: Slack ---- - -This guide walks you through setting up a Slack App to enable Slack integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for Slack, you’ll need to set up the necessary authentication, permissions, and event subscriptions to ensure seamless communication between Plane and Slack. - -In this guide, you’ll: -1. [Create and configure a Slack App](/self-hosting/govern/integrations/slack#create-slack-app) -2. [Configure your Plane instance](/self-hosting/govern/integrations/slack#configure-plane-instance) - - -**Activate Slack integration** - -After creating and configuring the Slack app and configuring the instance as detailed on this page, you'll need to [set up the Slack integration](https://docs.plane.so/integrations/slack) within Plane. - - -## Create Slack App - -To configure Slack integration, you'll need to create a Slack App within your organization. Follow these steps: - -1. Go to [Your Apps](https://api.slack.com/apps) on Slack. - -2. Click **Create an App**. - ![Create Slack App](/images/integrations/slack/create-slack-app.webp) - -3. Choose **From a manifest**. - ![Choose Manifest](/images/integrations/slack/choose-from-manifest.webp) - -4. Select the workspace where you want the app installed. - -5. Remove the default manifest and paste the one below, making sure to update the placeholders with your actual values. - ![Manifest](/images/integrations/slack/app-from-manifest.webp) - - - ```json - { - "display_information": { - "name": "[YOUR_APP_NAME]", - "description": "[YOUR_APP_DESCRIPTION]", - "background_color": "#224dab" - }, - "features": { - "bot_user": { - "display_name": "[YOUR_APP_NAME]", - "always_online": false - }, - "shortcuts": [ - { - "name": "Create new issue", - "type": "message", - "callback_id": "issue_shortcut", - "description": "Create a new issue in plane" - }, - { - "name": "Link Work Item", - "type": "message", - "callback_id": "link_work_item", - "description": "Links thread with an existing work item" - } - ], - "slash_commands": [ - { - "command": "/plane", - "url": "https://[YOUR_DOMAIN]silo/api/slack/command/", - "description": "Create issue in Plane", - "should_escape": false - } - ], - "unfurl_domains": [ - "[YOUR_DOMAIN]" - ] - }, - "oauth_config": { - "redirect_urls": [ - "https://[YOUR_DOMAIN]silo/api/slack/team/auth/callback/", - "https://[YOUR_DOMAIN]silo/api/slack/user/auth/callback/" - ], - "scopes": { - "user": [ - "chat:write", - "identify", - "im:read", - "im:write", - "links:write", - "links:read" - ], - "bot": [ - "channels:join", - "channels:read", - "users:read", - "users:read.email", - "chat:write", - "chat:write.customize", - "channels:history", - "groups:history", - "mpim:history", - "im:history", - "links:read", - "links:write", - "groups:read", - "im:read", - "mpim:read", - "reactions:read", - "reactions:write", - "files:read", - "files:write", - "im:write", - "commands" - ] - } - }, - "settings": { - "event_subscriptions": { - "request_url": "https://[YOUR_DOMAIN]silo/api/slack/events", - "bot_events": [ - "link_shared", - "message.channels", - "message.im" - ] - }, - "interactivity": { - "is_enabled": true, - "request_url": "https://[YOUR_DOMAIN]silo/api/slack/action/", - "message_menu_options_url": "https://[YOUR_DOMAIN]silo/api/slack/options/" - }, - "org_deploy_enabled": false, - "socket_mode_enabled": false, - "token_rotation_enabled": true - } - } - ``` - - - - ```yaml - display_information: - name: [YOUR_APP_NAME] - description: [YOUR_APP_DESCRIPTION] - background_color: "#224dab" - features: - bot_user: - display_name: [YOUR_APP_NAME] - always_online: false - shortcuts: - - name: Create new issue - type: message - callback_id: issue_shortcut - description: Create a new issue in plane - - name: Link Work Item - type: message - callback_id: link_work_item - description: Links thread with an existing work item - slash_commands: - - command: /plane - url: https://[YOUR_DOMAIN]silo/api/slack/command/ - description: Create issue in Plane - should_escape: false - unfurl_domains: - - [YOUR_DOMAIN] - oauth_config: - redirect_urls: - - https://[YOUR_DOMAIN]silo/api/slack/team/auth/callback/ - - https://[YOUR_DOMAIN]silo/api/slack/user/auth/callback/ - scopes: - user: - - chat:write - - identify - - im:read - - im:write - - links:write - - links:read - bot: - - channels:join - - channels:read - - users:read - - users:read.email - - chat:write - - chat:write.customize - - channels:history - - groups:history - - mpim:history - - im:history - - links:read - - links:write - - groups:read - - im:read - - mpim:read - - reactions:read - - reactions:write - - files:read - - files:write - - im:write - - commands - settings: - event_subscriptions: - request_url: https://[YOUR_DOMAIN]silo/api/slack/events - bot_events: - - link_shared - - message.channels - - message.im - interactivity: - is_enabled: true - request_url: https://[YOUR_DOMAIN]silo/api/slack/action/ - message_menu_options_url: https://[YOUR_DOMAIN]silo/api/slack/options/ - org_deploy_enabled: false - socket_mode_enabled: false - token_rotation_enabled: true - ``` - - - -6. Review the permissions and click **Create**. - ![Review summary](/images/integrations/slack/review-summary.webp) - -### Manifest reference - -The manifest file defines the configuration for integrating Plane with Slack. It requests access to several features, enabling Plane to interact with Slack efficiently. - -#### Features - -| Feature | Explanation | -| --- | --- | -| `bot_user` | Required to send thread messages while syncing issues or sending Plane notifications to Slack.| -| `slack_commands` | A Slack command (`/plane`) allows users to create issues directly from Slack using a slash command. | -| `shortcuts` | After activation, users can create issues from messages inside Slack.| -| `unfurl_domain` | Specifies the domain where Plane is hosted. When an issue, cycle, or module link is pasted in Slack, it generates a preview of the entity. | - -#### Variables - -|Variable|Explanation| -|------------|--------| -|`YOUR_DOMAIN`|The domain where Plane is hosted. This is required for sending webhook events and authentication callbacks.| -|`YOUR_APP_NAME`|The name you want to give your Slack app. "Plane" is a good default option.| -|`YOUR_APP_DESCRIPTION`|A short description of your Slack app’s purpose.| - -#### Event subscription - -For thread sync and link unfurling to work, event subscriptions must be enabled. These events send relevant activity to Plane. - -| Bot event | Explanation | -| --- | --- | -| `link_shared` | When a link is shared in Slack and its hostname matches `unfurl_domain`, Plane receives the event and generates a preview of the entity. | -| `message_channels` | When a message is posted in a channel, an event is triggered in Plane to support thread sync. | -| `message_im` | When a direct message (DM) is posted, an event is triggered in Plane to support thread sync. | - -#### User permissions - -| Permission | Explanation | -| --- | --- | -| `chat:write` | Allows the bot to send messages in channels and conversations it is a member of. | -| `identify` | Allows the bot to verify its own identity and retrieve basic information. | -| `im:read` | Enables the bot to view direct messages (DMs) where it has been added. | -| `im:write` | Allows the bot to send direct messages (DMs) to users. | -| `links:write` | Permits the bot to add, edit, and remove link unfurls. | -| `links:read` | Allows the bot to view link unfurls and associated metadata. | - -#### Bot permissions - -| Permission | Explanation | -| --- | --- | -| `channels:join` | Allows the bot to join public channels. | -| `channels:read` | Permits viewing public channel information and members. | -| `users:read` | Allows viewing user information and presence status. | -| `users:read.email` | Enables access to users' email addresses. | -| `chat:write` | Allows sending messages in channels and conversations. | -| `chat:write.customize` | Enables customization of the bot's name and profile when sending messages. | -| `channels:history` | Allows viewing message history in public channels. | -| `groups:history` | Permits viewing message history in private channels. | -| `mpim:history` | Enables access to message history in multi-person direct messages. | -| `im:history` | Allows viewing message history in direct messages. | -| `links:read` | Permits viewing link unfurls and associated metadata. | -| `links:write` | Allows adding, editing, and removing link unfurls. | -| `groups:read` | Enables viewing private channel information and members. | -| `im:read` | Allows viewing direct messages where the bot is added. | -| `mpim:read` | Permits viewing multi-person direct messages. | -| `reactions:read` | Enables viewing emoji reactions on messages. | -| `reactions:write` | Allows adding and removing emoji reactions. | -| `files:read` | Permits viewing and downloading files. | -| `files:write` | Enables uploading, editing, and deleting files. | -| `im:write` | Allows sending direct messages to users. | -| `commands` | Enables the bot to add and respond to slash commands. | - -## Configure Plane instance -After creating your Slack app, follow these steps: - -1. Go to the **Event Subscriptions** tab. - -2. Click **Retry** to verify your event subscription URL. - ![Event subscriptions](/images/integrations/slack/event-subscriptions.webp) - -3. Navigate to the **Basic Information** tab on Slack to find your `client_id` and `client_secret`. - -4. Add these environment variables with the values to your Plane instance's `.env` file. - ```bash - SLACK_CLIENT_ID= - SLACK_CLIENT_SECRET= - ``` -5. Save the file and restart the instance. - -6. Once you've completed the instance configuration, [activate the Slack integration in Plane](https://docs.plane.so/integrations/slack). - - - diff --git a/self-hosting/manage/backup-restore.mdx b/self-hosting/manage/backup-restore.mdx deleted file mode 100644 index 7c5ecc6..0000000 --- a/self-hosting/manage/backup-restore.mdx +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Backup and restore data -sidebarTitle: Backup and restore ---- - -Backing up your data regularly helps prevent data loss and allows you to restore your system quickly if necessary. Follow these instructions to back up and restore your data using Plane’s command-line interface. - -## Backup data - -Create a backup of your Plane data with ↓: -```bash -sudo prime-cli backup -``` - -This command initiates a full backup of all critical data, storing it in the default backup location at: -```bash -/opt/plane/backups -``` -Each backup file will be timestamped to ensure you can easily identify the latest or a specific backup if needed. - -## Backup plane.env -If you need to back up only the `plane.env` file, you'll need to do it manually. Here’s how: - -1. Navigate to the `/opt/plane` folder on your machine or server where Plane is installed.. -2. Locate the `plane.env` file. -3. Copy this file to a different location as a backup, so you can restore it if needed. - - -## Restore data - -You can restore your data from a previous backup with ↓: -```bash -sudo prime-cli restore -``` - -This command prompts the restoration process, which will overwrite the current data with the data from the most recent backup file. Ensure you have selected the correct backup before running this command, as restoring will replace your current data. - - - -## Backup data - -To create a backup, start by running the setup script: -```bash -./setup.sh -``` -You’ll see a menu of options—just type 7 to select "Backup Data." - -``` -Select an Action you want to perform: - 1) Install (x86_64) - 2) Start - 3) Stop - 4) Restart - 5) Upgrade - 6) View Logs - 7) Backup Data - 8) Exit - -Action [2]: 7 -``` -The system will start backing up the PostgreSQL, Redis, and upload data: - -``` -Backing Up plane-app_pgdata -Backing Up plane-app_redisdata -Backing Up plane-app_uploads - -Backup completed successfully. Backup files are stored in /....../plane-app/backup/20240502-1120 -``` -The backup files are stored locally, so you can copy them to an external storage service if needed for extra security. - -## Backup plane.env -If you need to back up only the `plane.env` file, you'll need to do it manually. Here’s how: - -1. Navigate to the folder on your machine or server where Plane is installed.. -2. Locate the `plane.env` file. -3. Copy this file to a different location as a backup, so you can restore it if needed. - -*** - -## Restore data -Follow these steps to restore data from a backup: - -1. Make sure Plane-CE is installed and started, then stop it. This ensures the necessary Docker volumes are ready. - -2. Use the command ↓ to download the restore script. It’s easiest to save it in the same directory as `setup.sh`. - - ```bash - curl -fsSL -o restore.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/restore.sh - chmod +x restore.sh - ``` - -3. Now, run the command ↓ to restore your data, specifying the path to your backup folder (the folder with the `*.tar.gz` files): - - ```bash - ./restore.sh - ``` - - Here’s an example output for restoring from /opt/plane-selfhost/plane-app/backup/20240722-0914: - - ```bash - -------------------------------------------- - ____ _ ///////// - | _ \| | __ _ _ __ ___ ///////// - | |_) | |/ _` | '_ \ / _ \ ///// ///// - | __/| | (_| | | | | __/ ///// ///// - |_| |_|\__,_|_| |_|\___| //// - //// - -------------------------------------------- - Project management tool from the future - -------------------------------------------- - Found /opt/plane-selfhost/plane-app/backup/20240722-0914/pgdata.tar.gz - .....Restoring plane-app_pgdata - .....Successfully restored volume plane-app_pgdata from pgdata.tar.gz - - Found /opt/plane-selfhost/plane-app/backup/20240722-0914/redisdata.tar.gz - .....Restoring plane-app_redisdata - .....Successfully restored volume plane-app_redisdata from redisdata.tar.gz - - Found /opt/plane-selfhost/plane-app/backup/20240722-0914/uploads.tar.gz - .....Restoring plane-app_uploads - .....Successfully restored volume plane-app_uploads from uploads.tar.gz - - - Restore completed successfully. - ``` - -4. Start your Plane instance again with ↓: - ```bash - ./setup.sh start - ``` - -That’s it! You’re back up and running with your restored data. - - \ No newline at end of file diff --git a/self-hosting/methods/airgapped-edition.mdx b/self-hosting/methods/airgapped-edition.mdx deleted file mode 100644 index 9c1a4ad..0000000 --- a/self-hosting/methods/airgapped-edition.mdx +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: Deploy Plane Commercial in an Airgapped Docker Environment -sidebarTitle: For Docker ---- - -This guide walks you through setting up the Commercial Airgapped Edition in an offline environment using our pre-packaged installation bundle. - -**IMPORTANT** -These instructions are for new installations only. If you're migrating from an existing Community Edition to an air-gapped setup, follow [this guide](/self-hosting/manage/community-to-airgapped). - - -## Prerequisites -Before we get started, make sure your air-gapped machine has: - -- Docker (version 24 or later) up and running -- Docker Compose Plugin installed (you should be able to run `docker compose` or `docker-compose`) -- The Plane air-gapped package we provide includes: - - Docker image files (`.tar` format) - - Configuration files (`docker-compose.yml` and `plane.env`) - - Installation script (`install.sh`) - -### Required files - -- `docker-compose.yml` - Docker Compose configuration for service orchestration -- `plane.env` - Default configuration file containing environment variables -- `admin-commercial-.tar` - Docker image for admin service -- `backend-commercial-.tar` - Docker image for api/worker/beat-worker/migrator service -- `email-commercial-.tar` - Docker image for email service -- `live-commercial-.tar` - Docker image for live service -- `monitor-commercial-.tar` - Docker image for monitor service -- `proxy-commercial-.tar` - Docker image for plane-proxy service -- `silo-commercial-.tar` - Docker image for silo service -- `space-commercial-.tar` - Docker image for space service -- `web-commercial-.tar` - Docker image for web service -- `minio-latest.tar` - Docker image for plane-minio service -- `postgres-15.7-alpine.tar` - Docker image for plane-db service -- `rabbitmq-3.13.6-management-alpine.tar` - Docker image for plane-mq service -- `valkey-7.2.5-alpine.tar` - Docker image for plane-redis service - -## Install Plane -1. Get in touch with sales@plane.so to get your installation download URL and the license file. - -2. On a machine that has internet access, download the installation package: - - ```bash - curl -LO - ``` - - The download may take 15 minutes. Once the file is downloaded you no longer need internet access. - -3. Transfer the `airgapped-{arch}.tar.gz` file to your air-gapped machine. - -4. Once you have the file on your air-gapped machine, extract the package. - - ```bash - mkdir -p airgapped - tar -xvzf airgapped-amd64.tar.gz -C airgapped - cd airgapped - ``` - - The airgapped directory contains your `plane.env`, `docker-compose.yml`, and `install.sh` files which are used in the following steps. - -5. Run the installation script: - ```bash - bash install.sh - ``` - - The script will guide you through the process step by step. Here's what to expect: - - ```bash - ********************************************************** - You are about to install/upgrade Plane as airgapped setup - - Pre-requisites: - - - Docker installed and running - - Docker version 24 or higher - - docker-compose or docker compose installed - - A tarball of all the images - - A docker-compose.yml file (docker-compose.yml) - - A plane.env file (plane.env) - ********************************************************** - - Enter the directory to install Plane (default: /home/ubuntu/planeairgapped): - - Enter the domain or ip address to access Plane (default: 127.0.0.1): plane.mycompany.com - - ********************************************************** - Verify the final configuration: - - Setup Directory: /home/ubuntu/planeairgapped - - App Domain: plane.mycompany.com - - Installation Type: New - ********************************************************** - ``` - - Once you confirm your settings, the installer will: - - Copy the `docker-compose.yml` and `plane.env` files to your chosen installation directory. - - Create the necessary folders for data and logs. - - Load all the Docker images into your local Docker registry. - - You'll see something like this when the installation completes: - ```bash - ********************************************************** - Plane Setup is ready to configure and start - - Use below commands to configure and start Plane - Switch to the setup directory - cd /home/ubuntu/planeairgapped - Start the services - docker compose -f docker-compose.yml --env-file plane.env up -d - Check logs of migrator service and wait for it to finish using below command - docker compose logs -f migrator - Check logs of api service and wait for it to start using below command - docker compose logs -f api - Once the api service is started, you can access Plane at http://plane.mycompany.com - ********************************************************** - Installation completed successfully - You can access Plane at http://plane.mycompany.com - ``` - - After installation, your directory structure will look like this: - ```bash - ~/planeairgapped/ - ├── docker-compose.yml - ├── plane.env - ├── data/ - └── logs/ - ``` - -## Environment variables - -The following key environment variables are automatically configured during installation: - -- `MACHINE_SIGNATURE` - A unique UUID generated for your installation -- `DOMAIN_NAME` - The domain or IP address where Plane will be accessible -- `WEB_URL` - The full URL where Plane will be accessible (e.g., `http://your-domain`) -- `CORS_ALLOWED_ORIGINS` - Allowed origins for CORS (Cross-Origin Resource Sharing) - -## Start Plane -1. To get Plane up and running, navigate to your installation directory and start the services: - ```bash - cd ~/planeairgapped - docker compose --env-file plane.env up -d - ``` - -2. Watch the logs to make sure everything starts properly. - - To monitor the database migration process: - ```bash - docker compose logs -f migrator - ``` - - - To monitor the API service startup: - ```bash - docker compose logs -f api - ``` - - The api is healthy when you see`: api-1 listening at` - -Once both services are running smoothly, you can access Plane by opening your browser and going to the domain or IP address you configured during installation. - -## Activate your license - -Once your air-gapped installation is running, you'll need to activate your workspace with the provided license file. - -You should have received the `license_key.json` file as part of your air-gapped package. If you don't have this file, contact our support team. - - -1. Go to your [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#workspace-settings) in the Plane application. -2. Select **Billing and plans** on the right pane. -3. Click the **Activate this workspace** button. - ![Upload license file](/images/activate-license/upload-airgapped-license-file.webp) -4. Upload the license file `license_key.json` to activate your workspace. - -You now have Plane running in your air-gapped environment. If you run into any issues, check the logs using the commands above, or reach out to our support team for assistance. - - -*Optional* -Once everything is working, you can safely delete the `airgapped` folder that contains the installation script and image files to free up space. - \ No newline at end of file diff --git a/self-hosting/methods/docker-compose.mdx b/self-hosting/methods/docker-compose.mdx deleted file mode 100644 index fa40c29..0000000 --- a/self-hosting/methods/docker-compose.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: Docker ---- - -This guide shows you the steps to deploy a self-hosted instance of Plane using Docker. - -If you want to upgrade from Community to the Commercial edition, see [Upgrade to Commercial Edition](/self-hosting/upgrade-from-community). - - -## Install Plane -Plane Pro and Plane Business are enabled on this edition, so the Free plan on this edition is easier to trial our paid plans from. - -### Prerequisites - - - A virtual or on-prem machine with at least 2 vCPUs and 4 GB RAM (8 GB RAM recommended) - - `x64` AKA `AMD 64` or `AArch 64` AKA `ARM 64` CPUs - - Supported operating systems: - - Ubuntu - - Debian - - CentOS - - Amazon Linux 2 or Linux 2023 - - -Ensure you're using the **latest version of Docker Compose**. Check your Docker Compose version with `docker-compose --version` and update if needed. - - -### Procedure - - 1. `ssh` into your machine as the root user (or user with sudo access) per the norms of your hosting provider. - 2. Run the command below: - ``` - curl -fsSL https://prime.plane.so/install/ | sh - - ``` - 3. Follow the instructions on the terminal. Hit `Enter` or `Return` to continue. - 4. Enter the domain name where you will access the Plane app in the format `domain.tld` or `subdomain.domain.tld`. If you are using a paid plan, the domain linked to the license can’t be changed later. - 5. Choose one of the options below: - - **Express**: Plane installs with the default configurations. - - **Advanced**: You can customize the database, Redis, storage and other settings. - - When self-hosting Plane for production use, it is strongly recommended to configure [external database and storage](/self-hosting/govern/database-and-storage). This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. - - 6. The installation will take a few minutes to complete and you will see the message **Plane has successfully installed**. You can access the Plane application on the domain you provided during the installation. - - -If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so/workspaces-and-users/upgrade-plan). - - - - The Commercial edition comes with a free plan and the flexibility to upgrade to a paid plan at any point. If you still want to install the Community edition, follow the steps below: - - ### Prerequisites - - - Docker installed and running. Choose one of the following options: - - **Option 1** - Create an EC2 machine on AWS. It must of minimum **t3.medium/t3a.medium**. Run the below command to install docker engine. - ```bash - curl -fsSL https://get.docker.com | sh - - ``` - - **Option 2** - Install [Docker Desktop](https://www.docker.com/products/docker-desktop/). - - OS with bash scripting enabled (Ubuntu, Linux AMI, macos). Windows systems need to have [gitbash](https://git-scm.com/download/win). - - User context used must have access to docker services. In most cases, use `sudo su` to switch as root user. - - Use the terminal (or gitbash) window to run all the future steps. - - ### Installation - 1. Create a folder named `plane-selfhost` on your machine for deployment and data storage. - - ```bash - mkdir plane-selfhost - ``` - 2. Navigate to this folder using the cd command. - ```bash - cd plane-selfhost - ``` - 3. Download the latest stable release. - ```bash - curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh - ``` - 4. Make the file executable. - ```bash - chmod +x setup.sh - ``` - 5. Run the following command: - ```bash - ./setup.sh - ``` - This will prompt you with the below options. - ```list - Select a Action you want to perform: - 1) Install (arm64) - 2) Start - 3) Stop - 4) Restart - 5) Upgrade - 6) View Logs - 7) Backup Data - 8) Exit - Action [2]: 1 - ``` - 6. Enter `1` as input. - This will create a folder `plane-app` or `plane-app-preview` (in case of preview deployment) and will download the `docker-compose.yaml` and `plane.env` files. - 7. Enter `8` to exit. - 8. Set up the environment variables. You can use any text editor to edit this file. Below are the most importants keys you must refer to: - - `LISTEN_HTTP_PORT`: This is set to `80` by default. Make sure the port you choose to use is not preoccupied. For example, `LISTEN_HTTP_PORT=8080` - - `LISTEN_HTTPS_PORT`: This is set to `443` by default. Make sure the port you choose to use is not preoccupied. For example, `LISTEN_HTTPS_PORT=4430` - - `WEB_URL`: This is set to `http://localhost` by default. Change this to the FQDN you plan to use along with LISTEN_HTTP_PORT. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. - - `CORS_ALLOWED_ORIGINS`: This is set to `http://localhost` by default. Change this to the FQDN you plan to use along with LISTEN_HTTP_PORT. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. - 9. Run the following command to continue with the setup. - ```bash - ./setup.sh - ``` - 10. Enter `2` as input to start the services. - You will something like this: - ![Downloading docker images](/images/docker-compose/download-docker.png) - Be patient as it might take some time based on your download speed and system configuration. If all goes well, you must see something like this: - ![Downloading completed](/images/docker-compose/download-complete.png) - This is the confirmation that all images were downloaded and the services are up and running. - - You have successfully self-hosted the Plane instance. Access the application by going to IP or domain you have configured it on. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. - - #### Stop server - - In case you want to make changes to the environment variables in the `plane.env` file, we recommend that you stop the services before doing that. - - Run the `./setup.sh` command. Enter `3` to stop the services. - - If all goes well, you will see something like this: - - ![Stop Services](/images/docker-compose/stopped-docker.png) - - #### Restart server - - In case you want to make changes to `plane.env` variables without stopping the server or noticed some abnormalities in services, you can restart the services. - - Run the `./setup.sh` command. Enter `4` to restart the services. - - If all goes well, you will see something like this: - ![Restart Services](/images/docker-compose/restart-docker.png) - - -## Troubleshoot -- [Error during Docker Compose execution](/self-hosting/troubleshoot/installation-errors#error-during-docker-compose-execution) -- [Migrator container exited](/self-hosting/troubleshoot/installation-errors#migrator-container-exited) diff --git a/self-hosting/methods/docker-swarm.mdx b/self-hosting/methods/docker-swarm.mdx deleted file mode 100644 index 349d624..0000000 --- a/self-hosting/methods/docker-swarm.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Deploy Plane with Docker Swarm • Commercial Edition -sidebarTitle: Docker Swarm ---- - -This guide shows you the steps to deploy a self-hosted instance of the Plane Commercial Edition using Docker Swarm. - -## Install Plane - -### Prerequisites - - Before you get started, make sure you have a Docker Swarm environment set up and ready to go. - - Your setup should support either amd64 or arm64 architectures. - -### Procedure - -1. **Download the required depoyment files** - - `swarm-compose.yml` – Defines Plane's services and dependencies. - ```bash - curl -fsSL https://prime.plane.so/releases//swarm-compose.yml -o swarm-compose.yml - ``` - - `variables.env` – Stores environment variables for your deployment. - ```bash - curl -fsSL https://prime.plane.so/releases//variables.env -o plane.env - ``` - - The `` value should be v1.8.3 or higher. - - -2. **Configure environment variables** - Before deploying, edit the `variables.env` file in your preferred text editor and update the following values: - - - `DOMAIN_NAME` – (required) Your application's domain name. - - `SITE_ADDRESS` – (required) The full domain name (FQDN) of your instance. - - `MACHINE_SIGNATURE` – (required) A unique identifier for your machine. You can generate this by running below code in terminal: - ```sh - sed -i 's/MACHINE_SIGNATURE=.*/MACHINE_SIGNATURE='$(openssl rand -hex 16)'/' plane.env - ``` - - `CERT_EMAIL` – (optional) Email address for SSL certificate generation (only needed if you're setting up HTTPS). - -3. **Configure external DB, Redis, and RabbitMQ** - - When self-hosting Plane for production use, it is strongly recommended to configure external database and storage. This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. - - - `DATABASE_URL` – Connection string for your external database. - - `REDIS_URL` – Connection string for your external Redis instance. - - `AMQP_URL` – Connection string for your external RabbitMQ server. - - -3. **Load the environment variables** - ```bash - set -o allexport; source ; set +o allexport; - ``` - -4. **Deploy the stack** - ```bash - docker stack deploy -c plane - ``` - -That's it! This will deploy Plane as a Swarm stack, and your instance should be accessible on your configured domain. \ No newline at end of file diff --git a/self-hosting/methods/kubernetes.mdx b/self-hosting/methods/kubernetes.mdx deleted file mode 100644 index fff8ac0..0000000 --- a/self-hosting/methods/kubernetes.mdx +++ /dev/null @@ -1,650 +0,0 @@ ---- -title: Kubernetes ---- - -This guide shows you the steps to deploy a self-hosted instance of Plane using Kubernetes. - - -If you want to upgrade from Community to the Commercial edition, see [Upgrade to Commercial Edition](/self-hosting/upgrade-from-community). - - -## Install Plane -Plane Pro and Plane Business are enabled on this edition, so the Free plan on this edition is easier to trial our paid plans from. - -### Prerequisites - - - A working Kubernetes cluster - - `kubectl` and `helm` on the client system that you will use to install our Helm charts - - -Ensure you're using use **Helm chart v1.3.0**. - - - -### Procedure - - 1. Open terminal or any other command-line app that has access to Kubernetes tools on your local system. - 2. Set the following environment variables: - ```bash - PLANE_VERSION=v1.14.1 - ``` - ```bash - DOMAIN_NAME= - ``` - - - When configuring the PLANE_VERSION environment variable, **do not** set it to `stable`. Always specify the latest version number (e.g., `1.8.0`). Using `stable` can lead to unexpected issues. - - - 3. Add the Plane helm chart repo. - - ```bash - helm repo add plane https://helm.plane.so/ - ``` - - 4. Use one of the following ways to deploy Plane: - - **Quick setup**: - This is the fastest way to deploy Plane with the default settings. This will create stateful deployments for Postgres, Redis/Valkey, and Minio with a persistent volume claim using the `longhorn` storage class. This also sets up the Ingress routes for you using `nginx` ingress class. To customize these settings, see the [Custom ingress routes](#custom-ingress-routes). - - Run the following command to deploy Plane: - - ```bash - helm install plane-app plane/plane-enterprise \ - --create-namespace \ - --namespace plane \ - --set license.licenseDomain=${DOMAIN_NAME} \ - --set license.licenseServer=https://prime.plane.so \ - --set planeVersion=${PLANE_VERSION} \ - --set ingress.enabled=true \ - --set ingress.ingressClass=nginx \ - --set env.storageClass=longhorn \ - --timeout 10m \ - --wait \ - --wait-for-jobs - ``` - - - This is the minimum required to set up Plane Commercial edition. You can change the default namespace from `plane`, the default app name from `plane-app`, the default storage class from `longhorn`, and the default ingress class from `nginx` to whatever you would like to.

- You can also pass other settings referring to the **Configuration Settings** toggle section below. -
- - - **Advanced setup**: - - When self-hosting Plane for production use, it is strongly recommended to configure [external database and storage](/self-hosting/methods/kubernetes#configuration-settings). This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. - - - For more control over your setup, follow the steps below: - - 1. Run the script below to download the `values.yaml` file and and edit using any editor like Vim or Nano. - - ```bash - helm show values plane/plane-enterprise > values.yaml - vi values.yaml - ``` - - Make sure you set the required environment variables listed below: - - `planeVersion: v1.14.1` - - `license.licenseDomain: ` - - `license.licenseServer: https://prime.plane.so` - - `ingress.enabled: ` - - `ingress.ingressClass: ` - - `env.storageClass: ` - - See the **Configuration settings** toggle section for more details. - - 2. After saving the `values.yaml` file, run the following command to deploy Plane: - - ```bash - helm install plane-app plane/plane-enterprise \ - --create-namespace \ - --namespace plane \ - -f values.yaml \ - --timeout 10m \ - --wait \ - --wait-for-jobs - ``` - -If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so/workspaces-and-users/upgrade-plan). - - -### Configuration settings - - #### License - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | planeVersion | v1.14.1 | Yes | Specifies the version of Plane to be deployed. Copy this from `prime.plane.so.` | - | license.licenseDomain | 'plane.example.com' | Yes | The fully-qualified domain name (FQDN) in the format `sudomain.domain.tld` or `domain.tld` that the license is bound to. It is also attached to your `ingress` host to access Plane. | - - #### Airgapped settings - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | airgapped.enabled | false | No | Specifies the airgapped mode the Plane API runs in. | - | airgapped.s3SecretName | "s3-custom-ca" | No | Name of the Secret that contains the CA certificate (.crt). The Secret must include a data key whose filename matches the basename of `airgapped.s3SecretKey` (default: `s3-custom-ca.crt`). Used to override S3’s CA when `airgapped.enabled=true`. Applying this secret looks like: `kubectl -n plane create secret generic plane-s3-ca \ --from-file=s3-custom-ca.crt=/path/to/your/ca.crt` | - | airgapped.s3SecretKey | "s3-custom-ca.crt" | No | Key name of the secret to load the Custom Root CA from `airgapped.s3SecretName` | - - - #### Postgres - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.postgres.local_setup | true | | Plane uses `postgres` as the primary database to store all the transactional data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | - | services.postgres.image | `postgres:15.7-alpine` | | Using this key, user must provide the docker image name to setup the stateful deployment of `postgres`. (must be set when `services.postgres.local_setup=true`)| - | services.postgres.servicePort | 5432 | | This key sets the default port number to be used while setting up stateful deployment of `postgres`. | - | services.postgres.cliConnectPort | | | If you intend to access the hosted stateful deployment of postgres using any of the client tools (e.g Postico), this key helps you expose the port. The mentioned port must not be occupied by any other applicaiton| - | services.postgres.volumeSize | 2Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | env.pgdb_username | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the username for the stateful deployment. | - | env.pgdb_password | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the password for the stateful deployment. | - | env.pgdb_name | plane | | Database name to be used while setting up stateful deployment of `Postgres`| - | services.postgres.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - | env.pgdb_remote_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `services.postgres.local_setup` to `false` and set this key with remote connection url. | - - #### Redis/Valkey Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.redis.local_setup | true | | Plane uses `redis` to cache the session authentication and other static data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `redis`. Mark it as `false` when using a remotely hosted database | - | services.redis.image | `valkey/valkey:7.2.5-alpine` | | Using this key, user must provide the docker image name to setup the stateful deployment of `redis`. (must be set when `services.redis.local_setup=true`)| - | services.redis.servicePort | 6379 | | This key sets the default port number to be used while setting up stateful deployment of `redis`. | - | services.redis.volumeSize | 500Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | services.redis.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - | env.remote_redis_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `services.redis.local_setup` to `false` and set this key with remote connection url. | - - #### RabbitMQ Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.rabbitmq.local_setup | true | | Plane uses `rabbitmq` as message queuing system. This can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws mq or similar services). Set this to `true` when you choose to setup stateful deployment of `rabbitmq`. Mark it as `false` when using a remotely hosted service | - | services.rabbitmq.image | `rabbitmq:3.13.6-management-alpine` | | Using this key, user must provide the docker image name to setup the stateful deployment of `rabbitmq`. (must be set when `services.rabbitmq.local_setup=true`)| - | services.rabbitmq.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `rabbitmq`. (must be set when `services.rabbitmq.local_setup=true`)| - | services.rabbitmq.servicePort | 5672 | | This key sets the default port number to be used while setting up stateful deployment of `rabbitmq`. | - | services.rabbitmq.managementPort | 15672 | | This key sets the default management port number to be used while setting up stateful deployment of `rabbitmq`. | - | services.rabbitmq.volumeSize | 100Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | services.rabbitmq.default_user | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the username for the stateful deployment. | - | services.rabbitmq.default_password | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the password for the stateful deployment. | - | services.rabbitmq.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - | services.rabbitmq.external_rabbitmq_url | | | Users can also decide to use the remote hosted service and link to Plane deployment. Ignoring all the above keys, set `services.rabbitmq.local_setup` to `false` and set this key with remote connection url. | - - #### Doc Store (Minio\/S3) Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.minio.local_setup | true | | Plane uses `minio` as the default file storage drive. This storage can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws S3 or similar services). Set this to `true` when you choose to setup stateful deployment of `minio`. Mark it as `false` when using a remotely hosted database | - | services.minio.image | minio/minio:latest | | Using this key, user must provide the docker image name to setup the stateful deployment of `minio`. (must be set when `services.minio.local_setup=true`)| - | services.minio.image_mc | minio/mc:latest | | Using this key, user must provide the docker image name to setup the job deployment of `minio client`. (must be set when `services.minio.local_setup=true`)| - | services.minio.volumeSize | 3Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | services.minio.root_user | admin | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the username for the stateful deployment. | - | services.minio.root_password | password | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the password for the stateful deployment. | - | env.docstore_bucket | uploads | Yes | Storage bucket name is required as part of configuration. This is where files will be uploaded irrespective of if you are using `Minio` or external `S3` (or compatible) storage service | - | env.doc_upload_size_limit | 5242880 | Yes | Document Upload Size Limit (default to 5Mb) | - | services.minio.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - | env.aws_access_key | | | External `S3` (or compatible) storage service provides `access key` for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | - | env.aws_secret_access_key | | | External `S3` (or compatible) storage service provides `secret access key` for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | - | env.aws_region | | | External `S3` (or compatible) storage service providers creates any buckets in user selected region. This is also shared with the user as `region` for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | - | env.aws_s3_endpoint_url | | | External `S3` (or compatible) storage service providers shares a `endpoint_url` for the integration purpose for the application to connect and do the necessary upload or download operations. To be provided when `services.minio.local_setup=false` | - - #### Web Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.web.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | services.web.memoryLimit | 1000Mi | | Every deployment in Kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.web.cpuLimit | 500m | | Every deployment in Kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | services.web.image| `artifacts.plane.so/makeplane/web-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | services.web.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Space Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.space.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | services.space.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.space.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | services.space.image| `artifacts.plane.so/makeplane/space-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | services.space.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Admin Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.admin.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | services.admin.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.admin.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | services.admin.image| `artifacts.plane.so/makeplane/admin-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | services.admin.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Live Service Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.live.replicas | 1 | Yes | Kubernetes helps you with scaling up\/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | - | services.live.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.live.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | services.live.image| `artifacts.plane.so/makeplane/live-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | env.live_sentry_dsn | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration.| - | env.live_sentry_environment | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration.| - | env.live_sentry_traces_sample_rate | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry trace sample rate (as configured in Sentry) for this integration.| - | services.live.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Monitor Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.monitor.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.monitor.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | services.monitor.image| `artifacts.plane.so/makeplane/monitor-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | services.monitor.volumeSize | 100Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | services.monitor.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### API Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.api.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | services.api.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.api.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | services.api.image| `artifacts.plane.so/makeplane/backend-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | env.sentry_dsn | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry-provided DSN for this integration.| - | env.sentry_environment | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration.| - | services.api.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Silo Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.silo.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | - | services.silo.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.silo.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | services.silo.image| `artifacts.plane.so/makeplane/silo-commercial` | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | services.silo.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `silo`. | - | services.silo.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - | services.silo.connectors.slack.enabled | false | | Slack Integration | - | services.silo.connectors.slack.client_id | "" | required if `services.silo.connectors.slack.enabled` is `true` | Slack Client ID | - | services.silo.connectors.slack.client_secret | "" | required if `services.silo.connectors.slack.enabled` is `true` | Slack Client Secret | - | services.silo.connectors.github.enabled | false | | Github App Integration | - | services.silo.connectors.github.client_id | "" | required if `services.silo.connectors.github.enabled` is `true` | Github Client ID | - | services.silo.connectors.github.client_secret | "" | required if `services.silo.connectors.github.enabled` is `true` | Github Client Secret | - | services.silo.connectors.github.app_name | "" | required if `services.silo.connectors.github.enabled` is `true` | Github App Name | - | services.silo.connectors.github.app_id | "" | required if `services.silo.connectors.github.enabled` is `true` | Github App ID | - | services.silo.connectors.github.private_key | "" | required if `services.silo.connectors.github.enabled` is `true` | Github Private Key | - | services.silo.connectors.gitlab.enabled | false | | Gitlab App Integration | - | services.silo.connectors.gitlab.client_id | "" | required if `services.silo.connectors.gitlab.enabled` is `true` | Gitlab Client ID | - | services.silo.connectors.gitlab.client_secret | "" | required if `services.silo.connectors.gitlab.enabled` is `true` | Gitlab Client Secret | - | env.silo_envs.mq_prefetch_count | 10 | | Prefetch count for RabbitMQ | - | env.silo_envs.batch_size | 60 | | Batch size for Silo | - | env.silo_envs.request_interval | 400 | | Request interval for Silo | - | env.silo_envs.sentry_dsn | | | Sentry DSN | - | env.silo_envs.sentry_environment | | | Sentry Environment | - | env.silo_envs.sentry_traces_sample_rate | | | Sentry Traces Sample Rate | - | env.silo_envs.hmac_secret_key | <random-32-bit-string> | | HMAC Secret Key | - - #### Worker Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.worker.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | services.worker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.worker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - - #### Beat-Worker Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | services.beatworker.replicas | 1 | Yes | Kubernetes helps you with scaling up or down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | services.beatworker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | services.beatworker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - - #### External Secrets Config - - To configure the external secrets for your application, you need to define specific environment variables for each secret category. Below is a list of the required secrets and their respective environment variables. See [External secrets](/self-hosting/govern/external-secrets) for setup details. - - | Secret Name | Env Var Name | Required | Description | Example Value | - |--- |:---|:---|:---|:---| - | rabbitmq_existingSecret | `RABBITMQ_DEFAULT_USER` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ user | `plane` | - | | `RABBITMQ_DEFAULT_PASS` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ password | `plane` | - | pgdb_existingSecret | `POSTGRES_PASSWORD` | Required if `postgres.local_setup=true` | Password for PostgreSQL database | `plane` | - | | `POSTGRES_DB` | Required if `postgres.local_setup=true` | Name of the PostgreSQL database | `plane` | - | | `POSTGRES_USER` | Required if `postgres.local_setup=true` | PostgreSQL user | `plane` | - | doc_store_existingSecret | `USE_MINIO` | Yes | Flag to enable MinIO as the storage backend | `1` | - | | `MINIO_ROOT_USER` | Yes | MinIO root user | `admin` | - | | `MINIO_ROOT_PASSWORD` | Yes | MinIO root password | `password` | - | | `AWS_ACCESS_KEY_ID` | Yes | AWS Access Key ID | `your_aws_key` | - | | `AWS_SECRET_ACCESS_KEY` | Yes | AWS Secret Access Key | `your_aws_secret` | - | | `AWS_S3_BUCKET_NAME` | Yes | AWS S3 Bucket Name | `your_bucket_name` | - | | `AWS_S3_ENDPOINT_URL` | Yes | Endpoint URL for AWS S3 or MinIO | `http://plane-minio.plane-ns.svc.cluster.local:9000` | - | | `AWS_REGION` | Optional | AWS region where your S3 bucket is located | `your_aws_region` | - | | `FILE_SIZE_LIMIT` | Yes | Limit for file uploads in your system | `5MB` | - | app_env_existingSecret | `SECRET_KEY` | Yes | Random secret key | `60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5` | - | | `REDIS_URL` | Yes | Redis URL | `redis://plane-redis.plane-ns.svc.cluster.local:6379/` | - | | `DATABASE_URL` | Yes | PostgreSQL connection URL | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane`

**external service example**: `postgresql://username:password@your-db-host:5432/plane` | - | | `AMQP_URL` | Yes | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external service example**: `amqp://username:password@your-rabbitmq-host:5672/` | - | live_env_existingSecret | `REDIS_URL` | Yes | Redis URL | `redis://plane-redis.plane-ns.svc.cluster.local:6379/` | - | silo_env_existingSecret | `SILO_HMAC_SECRET_KEY` | Yes | Silo HMAC secret Key | ``| - | | `REDIS_URL` | Yes | Redis URL | `redis://plane-redis.plane-ns.svc.cluster.local:6379/` | - | | `DATABASE_URL` | Yes | PostgreSQL connection URL | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane`

**external service example**: `postgresql://username:password@your-db-host:5432/plane`| - | | `AMQP_URL` | Yes | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external service example**: `amqp://username:password@your-rabbitmq-host:5672/` | - | | `GITHUB_APP_NAME` | required if `services.silo.connectors.github.enabled` is `true` | GitHub app name | `your_github_app_name`| - | | `GITHUB_APP_ID` | required if `services.silo.connectors.github.enabled` is `true` | GitHub app ID | `your_github_app_id`| - | | `GITHUB_CLIENT_ID` | required if `services.silo.connectors.github.enabled` is `true` | GitHub client ID | `your_github_client_id`| - | | `GITHUB_CLIENT_SECRET` | required if `services.silo.connectors.github.enabled` is `true` | GitHub client secret key | `your_github_client_secret_key`| - | | `GITHUB_PRIVATE_KEY` | required if `services.silo.connectors.github.enabled` is `true` | GitHub private key | `your_github_private_key`| - | | `SLACK_CLIENT_ID` | required if `services.silo.connectors.slack.enabled` is `true` | Slack client ID | `your_slack_client_id`| - | | `SLACK_CLIENT_SECRET` | required if `services.silo.connectors.slack.enabled` is `true` | Slack client secret key | `your_slack_client_secret_key`| - | | `GITLAB_CLIENT_ID` | required if `services.silo.connectors.gitlab.enabled` is `true` | GitLab client ID | `your_gitlab_client_id`| - | | `GITLAB_CLIENT_SECRET` | required if `services.silo.connectors.gitlab.enabled` is `true` | GitLab client secret key | `your_gitlab_client_secret_key`| - - - #### Ingress and SSL Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | ingress.enabled | true | | Ingress setup in kubernetes is a common practice to expose the application to the intended audience. Set it to `false` if you are using an external ingress providers like `Cloudflare` | - | ingress.minioHost | 'plane-services.minio.example.com' | | Based on the above configuration, if you want to expose the `minio` web console to a set of users, use this key to set the `host` mapping or leave it as `EMPTY` to not expose the interface. | - | ingress.ingressClass | 'nginx' | Yes | Kubernetes cluster setup comes with various options of `ingressClass`. Based on your setup, set this value to the right one (eg. nginx, traefik, etc). Leave it to default in case you are using an external ingress provider.| - | ingress.ingress_annotations | `{ "nginx.ingress.kubernetes.io/proxy-body-size": "5m" }` | | Ingress controllers come with various configuration options which can be passed as annotations. Setting this value lets you change the default value to user required. | - | ssl.createIssuer | false | | Kubernets cluster setup supports creating `issuer` type resource. After deployment, this is the step towards creating secure access to the ingress url. Issuer is required for you to generate SSL certificate. Kubernetes can be configured to use any certificate authority to generate SSL (depending on CertManager configuration). Set it to `true` to create the issuer. Applicable only when `ingress.enabled=true`| - | ssl.issuer | http | | CertManager configuration allows user to create issuers using `http` or any of the other DNS Providers like `cloudflare`, `digitalocean`, etc. As of now, Plane supports `http`, `cloudflare`, `digitalocean`| - | ssl.token | | | To create issuers using DNS challenge, set the issuer api token of dns provider like cloudflare` or `digitalocean`(not required for http) | - | ssl.server | `https://acme-v02.api.letsencrypt.org/directory` | | Issuer creation configuration needs the certificate generation authority server url. Default URL is the `Let's Encrypt` server| - | ssl.email | `plane@example.com` | | Certificate generation authority needs a valid email id before generating certificate. Required when `ssl.createIssuer=true` | - | ssl.generateCerts | false | | After creating the issuers, the user can still not create the certificate until sure of the configuration. Setting this to `true` will try to generate SSL certificate and associate with ingress. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=true` | - | ssl.tls_secret_name | | | If you have a custom TLS secret name, set this to the name of the secret. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=false` | - - #### Common Environment Settings - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | env.storageClass | longhorn | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | - | env.secret_key | 60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5 | Yes | This must be a random string which is used for hashing/encrypting the sensitive data within the application. Once set, changing this might impact the already hashed/encrypted data| - -## Custom Ingress Routes - - If you are planning to use 3rd party ingress providers, here is the available route configuration - - | Host | Path | Service | - |--- |:---:|---| - | plane.example.com | `/` | `` | - | plane.example.com | `/spaces/*` | `` | - | plane.example.com | `/god-mode/*` | `` | - | plane.example.com | `/live/*` | `` | - | plane.example.com | `/api/*` | `` | - | plane.example.com | `/auth/*` | `` | - | plane.example.com | `/uploads/*` | `` | - | plane-minio.example.com | `/` | `` | - | plane-mq.example.com | `/` | `` | (Optional) if using local setup, this will enable management console access | - - - The Commercial edition comes with a free plan and the flexibility to upgrade to a paid plan at any point. If you still want to install the Community edition, follow the steps below: - - ### Prerequisites - - - A working Kubernetes cluster - - `kubectl` and `helm` on the client system that you will use to install our Helm charts - - ### Installation - - 1. Open Terminal or any other command-line app that has access to Kubernetes tools on your local system. - 1. Add the Helm Repo - - ```bash - helm repo add makeplane https://helm.plane.so/ - helm repo update - ``` - - 1. Set-up and customization - - Quick setup - - This is the fastest way to deploy Plane with default settings. This will create stateful deployments for Postgres, Redis, and Minio with a persistent volume claim using the `longhorn` storage class. This also sets up the ingress routes for you using `nginx` ingress class. - - To customize this, see `Custom ingress routes` below. - - Continue to be on the same Terminal window as you have so far, copy the code below, and paste it on your Terminal screen. - - ```bash - helm install plane-app makeplane/plane-ce \ - --create-namespace \ - --namespace plane-ce \ - --set planeVersion=stable \ - --set ingress.appHost="plane.example.com" \ - --set ingress.minioHost="plane-minio.example.com" \ - --set ingress.ingressClass=nginx \ - --set postgres.storageClass=longhorn \ - --set redis.storageClass=longhorn \ - --set minio.storageClass=longhorn \ - --timeout 10m \ - --wait \ - --wait-for-jobs - ``` - - - This is the minimum required to set up Plane-CE. You can change the default namespace from `plane-ce`, the default app name from `plane-app`, the default storage class from `[postgres, redis, minio].storageClass`, and the default ingress class from `ingress.ingressClass` to whatever you would like to. - - You can also pass other settings referring to `Configuration Settings` section. - - - Advanced setup - - For more control over your set-up, run the script below to download the `values.yaml` file and and edit using any editor like Vim or Nano. - - ```bash - helm show values makeplane/plane-ce > values.yaml - vi values.yaml - ``` - - See `Available customizations` for more details. - - After saving the `values.yaml` file, continue to be on the same Terminal window as on the previous steps, copy the code below, and paste it on your Terminal screen. - - ```bash - helm install plane-app makeplane/plane-ce \ - --create-namespace \ - --namespace plane-ce \ - -f values.yaml \ - --timeout 10m \ - --wait \ - --wait-for-jobs - ``` - - ### Configuration settings - - #### Plane Version - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | planeVersion | stable | Yes | | - - #### Postgres DB Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | postgres.local_setup | true | | Plane uses `postgres` as the primary database to store all the transactional data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | - | postgres.image | postgres:15.7-alpine | | Using this key, user must provide the docker image name to setup the stateful deployment of `postgres`. (must be set when `postgres.local_setup=true`)| - | postgres.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `postgres`. (must be set when `postgres.local_setup=true`)| - | postgres.servicePort | 5432 | | This key sets the default port number to be used while setting up stateful deployment of `postgres`. | - | postgres.volumeSize | 5Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | env.pgdb_username | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the username for the stateful deployment. | - | env.pgdb_password | plane | | Database credentials are requried to access the hosted stateful deployment of `postgres`. Use this key to set the password for the stateful deployment. | - | env.pgdb_name | plane | | Database name to be used while setting up stateful deployment of `Postgres`| - | env.pgdb_remote_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `postgres.local_setup` to `false` and set this key with remote connection url. | - | postgres.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | - | postgres.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Redis/Valkey Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | redis.local_setup | true | | Plane uses `redis` to cache the session authentication and other static data. This database can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws rds or similar services). Set this to `true` when you choose to setup stateful deployment of `redis`. Mark it as `false` when using a remotely hosted database | - | redis.image | valkey/valkey:7.2.5-alpine | | Using this key, user must provide the docker image name to setup the stateful deployment of `redis`. (must be set when `redis.local_setup=true`)| - | redis.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `redis`. (must be set when `redis.local_setup=true`)| - | redis.servicePort | 6379 | | This key sets the default port number to be used while setting up stateful deployment of `redis`. | - | redis.volumeSize | 1Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | env.remote_redis_url | | | Users can also decide to use the remote hosted database and link to Plane deployment. Ignoring all the above keys, set `redis.local_setup` to `false` and set this key with remote connection url. | - | redis.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | - | redis.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### RabbitMQ Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | rabbitmq.local_setup | true | | Plane uses `rabbitmq` as message queuing system. This can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws mq or similar services). Set this to `true` when you choose to setup stateful deployment of `rabbitmq`. Mark it as `false` when using a remotely hosted service | - | rabbitmq.image | rabbitmq:3.13.6-management-alpine | | Using this key, user must provide the docker image name to setup the stateful deployment of `rabbitmq`. (must be set when `rabbitmq.local_setup=true`)| - | rabbitmq.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `rabbitmq`. (must be set when `rabbitmq.local_setup=true`)| - | rabbitmq.servicePort | 5672 | | This key sets the default port number to be used while setting up stateful deployment of `rabbitmq`. | - | rabbitmq.managementPort | 15672 | | This key sets the default management port number to be used while setting up stateful deployment of `rabbitmq`. | - | rabbitmq.volumeSize | 100Mi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | rabbitmq.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | - | rabbitmq.default_user | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the username for the stateful deployment. | - | rabbitmq.default_password | plane | | Credentials are requried to access the hosted stateful deployment of `rabbitmq`. Use this key to set the password for the stateful deployment. | - | rabbitmq.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - | rabbitmq.external_rabbitmq_url | | | Users can also decide to use the remote hosted service and link to Plane deployment. Ignoring all the above keys, set `rabbitmq.local_setup` to `false` and set this key with remote connection url. | - - #### Doc Store (Minio/S3) Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | minio.local_setup | true | | Plane uses `minio` as the default file storage drive. This storage can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws S3 or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | - | minio.image | minio/minio:latest | | Using this key, user must provide the docker image name to setup the stateful deployment of `minio`. (must be set when `minio.local_setup=true`)| - | minio.image_mc | minio/mc:latest | | Using this key, user must provide the docker image name to setup the job deployment of `minio client`. (must be set when `services.minio.local_setup=true`)| - | minio.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `minio`. (must be set when `minio.local_setup=true`)| - | minio.volumeSize | 5Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | - | minio.root_user | admin | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the username for the stateful deployment. | - | minio.root_password | password | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the password for the stateful deployment. | - | minio.env.minio_endpoint_ssl | false | | (Optional) Env to enforce HTTPS when connecting to minio uploads bucket | - | env.docstore_bucket | uploads | Yes | Storage bucket name is required as part of configuration. This is where files will be uploaded irrespective of if you are using `Minio` or external `S3` (or compatible) storage service | - | env.doc_upload_size_limit | 5242880 | Yes | Document Upload Size Limit (default to 5Mb) | - | env.aws_access_key | | | External `S3` (or compatible) storage service provides `access key` for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | - | env.aws_secret_access_key | | | External `S3` (or compatible) storage service provides `secret access key` for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | - | env.aws_region | | | External `S3` (or compatible) storage service providers creates any buckets in user selected region. This is also shared with the user as `region` for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | - | env.aws_s3_endpoint_url | | | External `S3` (or compatible) storage service providers shares a `endpoint_url` for the integration purpose for the application to connect and do the necessary upload/download operations. To be provided when `minio.local_setup=false` | - | minio.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. | - | minio.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Web Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | web.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | - | web.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | web.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | web.image| artifacts.plane.so/makeplane/plane-frontend | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | web.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `web`. | - | web.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Space Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | space.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | - | space.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | space.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | space.image| artifacts.plane.so/makeplane/plane-space| | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | space.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `space`. | - | space.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Admin Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | admin.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | - | admin.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | admin.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | admin.image| artifacts.plane.so/makeplane/plane-admin | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | admin.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `admin`. | - | admin.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Live Service Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | live.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | - | live.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | live.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | live.image| artifacts.plane.so/makeplane/plane-live | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | live.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `live`. | - | env.live_sentry_dsn | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration.| - | env.live_sentry_environment | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration.| - | env.live_sentry_traces_sample_rate | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry trace sample rate (as configured in Sentry) for this integration.| - | live.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - - #### API Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | api.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | - | api.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | api.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | api.image| artifacts.plane.so/makeplane/plane-backend | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - | api.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `api`. | - | env.sentry_dsn | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration.| - | env.sentry_environment | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration.| - | env.api_key_rate_limit | 60/minute | | (optional) User can set the maximum number of requests the API can handle in a given time frame.| - | api.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | - - #### Worker Deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | worker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | worker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | worker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | worker.image| artifacts.plane.so/makeplane/plane-backend | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - - #### Beat-Worker deployment - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | beatworker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you set up the number of replicas you want to run for this deployment. It must be >=1 | - | beatworker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use the maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| - | beatworker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use the maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| - | beatworker.image| artifacts.plane.so/makeplane/plane-backend | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | - - #### External Secrets Config - - To configure the external secrets for your application, you need to define specific environment variables for each secret category. Below is a list of the required secrets and their respective environment variables. See [External secrets](/self-hosting/govern/external-secrets) for setup details. - - | Secret Name | Env Var Name | Required | Description | Example Value | - |--- |:---|:---|:---|:---| - | rabbitmq_existingSecret | `RABBITMQ_DEFAULT_USER` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ user | `plane` | - | | `RABBITMQ_DEFAULT_PASS` | Required if `rabbitmq.local_setup=true` | The default RabbitMQ password | `plane` | - | pgdb_existingSecret | `POSTGRES_PASSWORD` | Required if `postgres.local_setup=true` | Password for PostgreSQL database | `plane` | - | | `POSTGRES_DB` | Required if `postgres.local_setup=true` | Name of the PostgreSQL database | `plane` | - | | `POSTGRES_USER` | Required if `postgres.local_setup=true` | PostgreSQL user | `plane` | - | doc_store_existingSecret | `USE_MINIO` | Yes | Flag to enable MinIO as the storage backend | `1` | - | | `MINIO_ROOT_USER` | Yes | MinIO root user | `admin` | - | | `MINIO_ROOT_PASSWORD` | Yes | MinIO root password | `password` | - | | `AWS_ACCESS_KEY_ID` | Yes | AWS Access Key ID | `your_aws_key` | - | | `AWS_SECRET_ACCESS_KEY` | Yes | AWS Secret Access Key | `your_aws_secret` | - | | `AWS_S3_BUCKET_NAME` | Yes | AWS S3 Bucket Name | `your_bucket_name` | - | | `AWS_S3_ENDPOINT_URL` | Yes | Endpoint URL for AWS S3 or MinIO | `http://plane-minio.plane-ns.svc.cluster.local:9000` | - | | `AWS_REGION` | Optional | AWS region where your S3 bucket is located | `your_aws_region` | - | | `FILE_SIZE_LIMIT` | Yes | Limit for file uploads in your system | `5MB` | - | app_env_existingSecret | `SECRET_KEY` | Yes | Random secret key | `60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5` | - | | `REDIS_URL` | Yes | Redis URL | `redis://plane-redis.plane-ns.svc.cluster.local:6379/` | - | | `DATABASE_URL` | Yes | PostgreSQL connection URL | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane`

**external service example**: `postgresql://username:password@your-db-host:5432/plane` | - | | `AMQP_URL` | Yes | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external service example**: `amqp://username:password@your-rabbitmq-host:5672/` | - - #### Ingress and SSL Setup - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | ingress.enabled | true | | Ingress setup in kubernetes is a common practice to expose application to the intended audience. Set it to `false` if you are using external ingress providers like `Cloudflare` | - | ingress.appHost | plane.example.com | Yes | The fully-qualified domain name (FQDN) in the format `sudomain.domain.tld` or `domain.tld` that the license is bound to. It is also attached to your `ingress` host to access Plane. | - | ingress.minioHost | | | Based on above configuration, if you want to expose the `minio` web console to set of users, use this key to set the `host` mapping or leave it as `EMPTY` to not expose interface. | - | ingress.rabbitmqHost | | | Based on above configuration, if you want to expose the `rabbitmq` web console to set of users, use this key to set the `host` mapping or leave it as `EMPTY` to not expose interface. | - | ingress.ingressClass | nginx | Yes | Kubernetes cluster setup comes with various options of `ingressClass`. Based on your setup, set this value to the right one (eg. nginx, traefik, etc). Leave it to default in case you are using external ingress provider.| - | ingress.ingress_annotations | `{ "nginx.ingress.kubernetes.io/proxy-body-size": "5m" }` | | Ingress controllers comes with various configuration options which can be passed as annotations. Setting this value lets you change the default value to user required. | - | ssl.createIssuer | false | | Kubernets cluster setup supports creating `issuer` type resource. After deployment, this is step towards creating secure access to the ingress url. Issuer is required for you generate SSL certifiate. Kubernetes can be configured to use any of the certificate authority to generate SSL (depending on CertManager configuration). Set it to `true` to create the issuer. Applicable only when `ingress.enabled=true`| - | ssl.issuer | http | | CertManager configuration allows user to create issuers using `http` or any of the other DNS Providers like `cloudflare`, `digitalocean`, etc. As of now Plane supports `http`, `cloudflare`, `digitalocean`| - | ssl.token | | | To create issuers using DNS challenge, set the issuer api token of dns provider like cloudflare` or `digitalocean`(not required for http) | - | ssl.server | `` | | Issuer creation configuration need the certificate generation authority server url. Default URL is the `Let's Encrypt` server| - | ssl.email | `` | | Certificate generation authority needs a valid email id before generating certificate. Required when `ssl.createIssuer=true` | - | ssl.generateCerts | false | | After creating the issuers, user can still not create the certificate untill sure of configuration. Setting this to `true` will try to generate SSL certificate and associate with ingress. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=true` | - | ssl.tls_secret_name | | | If you have a custom TLS secret name, set this to the name of the secret. Applicable only when `ingress.enabled=true` and `ssl.createIssuer=false` | - - #### Common Environment Settings - - | Setting | Default | Required | Description | - |---|:---:|:---:|---| - | env.secret_key | 60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5 | Yes | This must be a random string that is used for hashing/encrypting the sensitive data within the application. Once set, changing this might impact the already hashed/encrypted data| -
\ No newline at end of file diff --git a/self-hosting/methods/one-click.mdx b/self-hosting/methods/one-click.mdx deleted file mode 100644 index 87b735c..0000000 --- a/self-hosting/methods/one-click.mdx +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: One-click deploy -description: Deployment methods for Plane have improved significantly to make self-managing super-easy. One of those is a single-line-command installation of Plane. This short guide will guide you through the process, the background tasks that run with the command for the Community, One, and Enterprise editions, and the post-deployment configuration options available to you. ---- -This feature is included in our paid plans, but for a limited time, our community users can access it for free. -### Requirements - -- Operating systems: Debian, Ubuntu, CentOS -- Supported CPU architectures: AMD64, ARM64, x86_64, AArch64 - -### Download the latest stable release - -Run ↓ on any CLI. - -``` -curl -fsSL https://raw.githubusercontent.com/makeplane/plane/master/deploy/1-click/install.sh | sh - -``` - -### Download the Preview release - -`Preview` builds do not support ARM64, AArch64 CPU architectures - -Run ↓ on any CLI. - -``` -export BRANCH=preview -curl -fsSL https://raw.githubusercontent.com/makeplane/plane/preview/deploy/1-click/install.sh | sh - -``` - -### Successful installation - -You should see ↓ if there are no hitches. That output will also list the IP address you can use to access your Plane instance. - -![Install Output](/images/one-click-deploy/one-click-install.png) - -### Manage your Plane instance - -Use `plane-app` [OPERATOR] to manage your Plane instance easily. Get a list of all operators with `plane-app ---help`. - -![Plane Help](/images/one-click-deploy/one-click-help.png) - -1. Basic operators - - 1. `plane-app start` starts the Plane server. - 2. `plane-app restart` restarts the Plane server. - 3. `plane-app stop` stops the Plane server. - -2. Advanced operators - - `plane-app --configure` will show advanced configurators. - ![Advanced operators](/images/one-click-deploy/one-click-advanced.png) - - - Change your proxy or listening port -
Default: 80
- - Change your domain name -
Default: Deployed server's public IP address
- - File upload size -
Default: 5MB
- - Specify external database address when using an external database -
Default: `Empty`
-
Default folder: `/opt/plane/data/postgres`
- - Specify external Redis URL when using external Redis -
Default: `Empty`
-
Default folder: `/opt/plane/data/redis`
- - Configure AWS S3 bucket -
Use only when you or your users want to use S3
-
Default folder: `/opt/plane/data/minio`
- -3. Version operators - - 1. `plane-app --upgrade` gets the latest stable version of `docker-compose.yaml`, `.env`, and Docker images - 2. `plane-app --update-installer` updates the installer and the `plane-app` utility. - 3. `plane-app --uninstall` uninstalls the Plane application and all Docker containers from the server but leaves the data stored in - Postgres, Redis, and Minio alone. - 4. `plane-app --install` installs the Plane app again. \ No newline at end of file diff --git a/self-hosting/overview.mdx b/self-hosting/overview.mdx deleted file mode 100644 index b518d93..0000000 --- a/self-hosting/overview.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Self-host Plane -sidebarTitle: Overview -description: Self-hosting allows you to have full control over your applications and data. It’s a great way to ensure privacy, control, and customization. ---- - -## Methods - - - Learn how to run Plane on docker. - - - Run Plane on a kubernetes cluster using helm package manager. - - -## Governance - - - Learn how to configure your instance. - - - Setup authentication methods on your Plane instance. - - - Send emails by setting up SMTP configuration. - - - Reset password for users without emails. - - - Run Plane on your custom domain. - - - diff --git a/sidebars.ts b/sidebars.ts new file mode 100644 index 0000000..b24f800 --- /dev/null +++ b/sidebars.ts @@ -0,0 +1,158 @@ +import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +import apiSidebar from './docs/api/sidebar.js'; + +// Substitute our custom intro page b/c it's nicer than the generated one. +const indexPage = apiSidebar[0] +if (!(indexPage.type === 'doc' && indexPage.id === 'api/the-plane-rest-api')) { + throw new Error('Could not find API index page. Aborting.'); +} +apiSidebar[0].id = 'api/introduction'; + +const sidebars: SidebarsConfig = { + + sidebar: [ + { + type: 'doc', + id: 'intro', + }, + { + type: "link", + label: "Plane Documentation", + href: "https://docs.plane.so/", + }, + + { + type: 'category', + collapsed: false, + label: 'Self-host Plane', + items: [ + "self-hosting/overview", + "self-hosting/editions-and-versions" + ], + }, + { + type: 'category', + collapsed: false, + label: 'Install', + items: [ + { + type: 'autogenerated', + dirName: 'self-hosting/methods', + }, + ], + }, + { + type: "category", + collapsed: false, + label: "Configure", + items: [ + "self-hosting/govern/instance-admin", + { + type: "category", + label: "Authentication", + link: { type: "doc", id: "self-hosting/govern/authentication" }, + items: [ + "self-hosting/govern/google-oauth", + "self-hosting/govern/github-oauth", + "self-hosting/govern/oidc-sso", + "self-hosting/govern/saml-sso", + "self-hosting/govern/reset-password" + ], + }, + "self-hosting/govern/communication", + "self-hosting/govern/configure-dns-email-service", + "self-hosting/govern/database-and-storage", + "self-hosting/govern/custom-domain", + "self-hosting/govern/private-bucket", + { + type: "category", + label: "Integrations", + items: [ + "self-hosting/govern/integrations/github", + "self-hosting/govern/integrations/slack", + "self-hosting/govern/integrations/gitlab" + ], + }, + "self-hosting/govern/external-secrets", + "self-hosting/govern/reverse-proxy", + "self-hosting/govern/environment-variables", + "self-hosting/govern/telemetry" + ], + }, + { + type: 'category', + collapsed: false, + label: 'Manage', + items: [ + "self-hosting/manage/upgrade-from-community", + "self-hosting/manage/community-to-airgapped", + "self-hosting/manage/backup-restore", + { + type: "category", + label: "Update Plane", + items: [ + "self-hosting/manage/upgrade-plane", + "self-hosting/manage/upgrade-from-0.13.2-0.14.0" + ], + }, + "self-hosting/manage/view-logs", + "self-hosting/manage/migrate-plane", + "self-hosting/manage/prime-cli" + ], + }, + { + type: 'category', + collapsed: false, + label: 'Troubleshoot', + items: [ + { + type: 'autogenerated', + dirName: 'self-hosting/troubleshoot', + }, + ], + } + ], + + apiSidebar: [ + { + type: 'category', + label: 'API Reference', + link: { + type: 'generated-index', + title: 'Plane API', + description: + 'Learn how to interact with Plane programmatically, including authentication, endpoints, and data structures.', + slug: '/api', + }, + items: apiSidebar, + } + ], + + devToolsSidebar: [ + + { + type: 'doc', + id: 'webhooks/intro-webhooks', + }, + { + type: 'doc', + id: 'apps/build-plane-app', + }, + { + type: 'doc', + id: 'mcp-server/overview', + }, + { + type: 'doc', + id: 'sdks/overview', + } + + ], + +}; + + + +export default sidebars; diff --git a/src/components/Card.tsx b/src/components/Card.tsx new file mode 100644 index 0000000..7a6046e --- /dev/null +++ b/src/components/Card.tsx @@ -0,0 +1,37 @@ +import React from "react"; +import * as Icons from "react-icons/fa"; + +export const Card = ({ + title, + children, + icon, + href, + svg, +}: { + title: string; + children: React.ReactNode; + icon?: string; + href?: string; + svg?: React.ReactNode; +}) => { + const IconComponent = Icons[icon]; + + // Wrapping the card content with an tag if href is provided + const CardContent = ( + <> +
+ {svg ? svg : IconComponent ? : null} +
+

{title}

+

{children}

+ + ); + + return href ? ( +
+ {CardContent} + + ) : ( + CardContent + ); +}; diff --git a/src/components/CardGroup.tsx b/src/components/CardGroup.tsx new file mode 100644 index 0000000..e5888a5 --- /dev/null +++ b/src/components/CardGroup.tsx @@ -0,0 +1,17 @@ +import React from "react"; + +type Style = React.CSSProperties & { + "--cols"?: number | string; +}; + +export const CardGroup = ({ cols, children }) => { + return ( +
+ {React.Children.map(children, (child, index) => ( +
+ {child} +
+ ))} +
+ ); +}; diff --git a/src/components/Tags.tsx b/src/components/Tags.tsx new file mode 100644 index 0000000..a8eaffa --- /dev/null +++ b/src/components/Tags.tsx @@ -0,0 +1,23 @@ +import React from "react"; + +function Tags({ tags }) { + return ( +
+ {tags.map((tag, index) => + tag && tag.name ? ( + + {tag.link ? ( + + {tag.name} + + ) : ( + {tag.name} + )} + + ) : null + )} +
+ ); +} + +export default Tags; diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..216ca05 --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1,3 @@ +export * from "./Card"; +export * from "./CardGroup"; +export * from "./Tags"; diff --git a/src/css/custom.css b/src/css/custom.css new file mode 100644 index 0000000..fee7573 --- /dev/null +++ b/src/css/custom.css @@ -0,0 +1,1122 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +@import './fonts.css'; + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary-lightest: #aad6ee; + --ifm-color-primary-lighter: #7fc2e6; + --ifm-color-primary-light: #55addd; + --ifm-color-primary: #006399; + --ifm-color-primary-dark: #2892cc; + --ifm-color-primary-darker: #195c80; + --ifm-color-primary-darkest: #113d55; + --ifm-code-font-size: 95%; + --ifm-font-family-base: 'Nacelle', system-ui, -apple-system, sans-serif; + --ifm-heading-font-family: 'Nacelle', system-ui, -apple-system, sans-serif; + --ifm-font-family-monospace: 'IBM Mono'; + --plane-text-color: rgb(255, 255, 255, 0.87); + --color-neutral-400: oklch(71.7% .0116 230.89); + --color-neutral-500: oklch(58.24% .0161 231.06); + --color-neutral-600: oklch(47.52% .0127 231.05); + --color-brand-25: oklch(98.54% .0085 230.78); + --color-brand-50: oklch(97.09% .017 230.91); + --color-brand-300: oklch(84.11% .0949 233.04); + --color-brand-400: oklch(76.44% .1392 236.52); + --color-brand-500: oklch(62.27% .1255 238.15); + --color-brand-600: oklch(48.1% .1154 242.59); + --color-brand-700: oklch(37.56% .0879 241.26); + --color-brand-800: oklch(27.52% .0617 238.68); + --color-brand-900: oklch(20.77% .044 234.86); + --color-brand-950: oklch(17.92% .0365 231.95); + + --ifm-footer-background-color: var(--color-brand-950); + --plane-footer-background-color: var(--color-brand-950); + --plane-call-to-action-color: var(--color-brand-500); + --plane-call-to-action-hover-color: var(--color-brand-600); + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,'); + --default-transition-duration: .15s; + --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +html[data-theme='dark'] { + --ifm-color-primary-lighter: var(--color-brand-300); + --ifm-color-primary-light: var(--color-brand-400); + --ifm-color-primary: var(--color-brand-500); + --ifm-color-primary-dark: var(--color-brand-600); + --ifm-color-primary-darker: var(--color-brand-700); + --ifm-color-primary-darkest: var(--color-brand-800); + + --ifm-heading-color: #e0e4ec; + --ifm-background-color: var(--color-brand-900); + --ifm-footer-background-color: var(--color-brand-950); + --ifm-footer-link-color: var(--color-neutral-500); + --plane-footer-background-color: var(--color-brand-950); + --plane-footer-link-color: var(--color-neutral-400); + --plane-call-to-action-color: var(--color-brand-500); + --plane-call-to-action-hover-color: var(--color-brand-600); + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,'); +} + +.theme-layout-main { + padding-bottom: 40px; +} + +.navbar__logo img { + width: 100px; + height: auto; +} +@media (max-width: 996px) { + .navbar__inner { + align-items: center !important; + display: flex !important; + } + .navbar__logo { + display: flex; + align-items: center; + height: 48px; /* or the height of your navbar */ + } + .navbar__logo img { + height: auto; /* adjust as needed for your logo */ + width: auto; + } +} + +/* Add divider after logo */ +.navbar__brand::after { + content: '|'; + margin-left: 1rem; + color: var(--ifm-color-emphasis-500); +} + +.navbar__brand{ + margin-right: 0px !important; +} + +h1 { + font-size: 2rem; + line-height: 120%; +} +h2 { + font-size: 1.5rem; + line-height: 140%; +} +h3 { + font-size: 1.25rem; + line-height: 140%; +} + +h4{ + line-height: 140%; +} + +h5{ + line-height: 140%; +} + +h6{ + line-height: 140%; +} + +@media (min-width: 1536px) { + + body, + .navbar { + display: flex; + flex-direction: row; + justify-content: center; + align-items: start; + } +} + +[data-theme='light'] body, +[data-theme='light'] .navbar { + background-color: rgb(250 250 250); +} + +[data-theme='dark'] body, +[data-theme='dark'] .navbar { + background-color: var(--ifm-background-color); +} + +.navbar__toggle { + margin-right: 10px; +} + +.menu__list { + display: block !important; + margin: 0; + transition: height 0.35s var(--default-transition-timing-function) 25ms !important; + will-change: auto !important; +} + +.theme-doc-sidebar-item-category .menu__list li:first-of-type { + padding-block-start: 0.5rem; +} + +.menu__list li:last-of-type { + -webkit-padding-after: 1.5rem; + padding-block-end: 0.5rem; +} + +.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link--sublist { + font-size: 13px; + font-weight: 600; + line-height: 20px; + color: #213547; +} + +[data-theme='dark'] .theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link--sublist { + color: rgb(255, 255, 255, 0.87); +} + +[data-theme='dark'] .menu__link { + color: var(--color-neutral-400); + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; +} + +.menu__link { + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; + color: var(--color-neutral-600); +} + +.menu__link--active:not(.menu__link--sublist) { + font-weight: 600; + transition: color 0.25s; + color: var(--ifm-color-primary); + font-size: 13px; + border-left-style: solid; + border-left-width: 4px; + padding-left: 8px !important; +} + +[data-theme="dark"] a, +[data-theme="dark"] .menu__link--active:not(.menu__link--sublist), +[data-theme="dark"] .breadcrumbs__item--active .breadcrumbs__link { + color: var(--ifm-color-primary); +} + +[data-theme='dark'] .theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link { + border-left-style: none; + border-left-width: 0px; + color: rgb(235, 235, 235, 0.6); + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; + padding: 6px 12px !important; +} + +.theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link { + border-left-style: none; + border-left-width: 0px; + color: rgba(60, 60, 60, 0.7); + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; + padding: 6px 12px !important; +} + +[data-theme='dark'] .menu__link:not(.menu__link--active):hover { + color: rgb(255, 255, 255); + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +[data-theme='dark'] .theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link:hover { + color: rgb(255, 255, 255); + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +.theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link:hover { + color: #213447; + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +.menu__link:not(.menu__link--active):hover { + color: #213447; + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +.theme-doc-sidebar-menu .menu__list-item .menu__caret:before, +.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDEwIDggNmwtNCA0IiBzdHJva2U9IiMxQjI3MzgiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=) 50% no-repeat; + height: 1.5rem; + min-height: 29.5px; + min-width: 1.5rem; + width: 1.5rem; + background-size: 12px 12px; +} + +.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link--sublist.theme-doc-sidebar-menu .menu__list-item .menu__caret:before, +.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { + background: none; + height: 1.5rem; + min-height: 29.5px; + min-width: 1.5rem; + width: 1.5rem; +} + +.theme-doc-sidebar-item-category-level-3>.menu__list-item-collapsible>.menu__link--sublist.theme-doc-sidebar-menu .menu__list-item .menu__caret:before, +.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDEwIDggNmwtNCA0IiBzdHJva2U9IiMxQjI3MzgiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=) 50% no-repeat; + height: 1.5rem; + min-height: 29.5px; + min-width: 1.5rem; + width: 1.5rem; + margin-right: -5px; + background-size: 12px 12px; +} + +.theme-doc-sidebar-item-category-level-2>.menu__list-item-collapsible>.menu__link--sublist { + margin-bottom: -6px; + margin-top: -6px; +} + +.theme-doc-sidebar-item-category-level-3>.menu__list-item-collapsible>.menu__link--sublist { + margin-bottom: -6px; + margin-top: -6px; +} + +.theme-doc-sidebar-item-category-level-4>.menu__list-item-collapsible>.menu__link--sublist { + margin-bottom: -6px; + margin-top: -6px; +} + +.menu__caret { + padding: 0em 0.375em 0em 0.75em !important; +} + +/* +[class^="sidebar_"] { + -webkit-padding-before: 1rem; + overflow-y: auto; + padding-block-start: 1rem; + position: static; + padding-inline-end: 0.5em; + padding-inline-start: 0.5em; +} + +[class^="sidebar_"]>.menu { + -webkit-padding-after: 2rem; + overflow-x: initial; + padding: 0; + padding-block-end: 2rem; +} +*/ + +h1 { + font-size: 2rem; + line-height: 120%; +} + +h2 { + font-size: 1.5rem; + line-height: 140%; +} + +h3 { + font-size: 1.25rem; + line-height: 1; +} + +h4, +h5, +h6 { + line-height: 140%; +} + +h3.description { + font-weight: 200; + padding-bottom: 1rem; + line-height: 140%; + margin-top: 0px; +} + +#__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(4) { + background-color: var(--plane-call-to-action-color); + border-radius: 8px; + color: #f3f5f7; + font-size: 0.75rem; + font-weight: 500; + margin-left: 0.5rem; + margin-right: 0.5rem; + padding: 0.375rem 1rem 0.375rem 1rem; + text-transform: capitalize; + white-space: nowrap; + line-height: 1.25rem; +} + +[data-theme="dark"] #__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(4) { + color: var(--ifm-color-emphasis-800); +} + +#__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(4):hover { + background-color: var(--plane-call-to-action-hover-color); +} + +#__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a>svg { + display: none; +} + +.navbar__title { + color: var(--ifm-navbar-link-color); +} + +.navbar--github-link { + width: 32px; + height: 32px; + padding: 6px; + margin-right: 20px; + margin-left: 6px; + border-radius: 50%; + transition: background var(--ifm-transition-fast); +} + +.navbar--github-link:hover { + background: var(--ifm-color-emphasis-200); +} + +.navbar--github-link:before { + content: ''; + height: 100%; + display: block; + background: url("data:image/svg+xml,%3Csvg fill='%23505050' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat; +} + +html[data-theme='dark'] .navbar--github-link:before { + background: url("data:image/svg+xml,%3Csvg fill='%23ebebeb99' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat; +} + +.navbar--discord-link { + width: 32px; + height: 32px; + padding: 6px; + margin-right: 6px; + margin-left: 6px; + border-radius: 50%; + transition: background var(--ifm-transition-fast); +} + +.navbar--discord-link:hover { + background: var(--ifm-color-emphasis-200); +} + +.navbar--discord-link:before { + content: ''; + height: 100%; + display: block; + background: url("data:image/svg+xml,%3Csvg fill='%23505050' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3Ediscord%3C/title%3E%3Cpath d='M20.992 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.050 0.005 0.109 0.005 0.168 0 1.523-1.191 2.768-2.693 2.854l-0.008 0zM11.026 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.048 0.005 0.104 0.005 0.161 0 1.525-1.19 2.771-2.692 2.862l-0.008 0zM26.393 6.465c-1.763-0.832-3.811-1.49-5.955-1.871l-0.149-0.022c-0.005-0.001-0.011-0.002-0.017-0.002-0.035 0-0.065 0.019-0.081 0.047l-0 0c-0.234 0.411-0.488 0.924-0.717 1.45l-0.043 0.111c-1.030-0.165-2.218-0.259-3.428-0.259s-2.398 0.094-3.557 0.275l0.129-0.017c-0.27-0.63-0.528-1.142-0.813-1.638l0.041 0.077c-0.017-0.029-0.048-0.047-0.083-0.047-0.005 0-0.011 0-0.016 0.001l0.001-0c-2.293 0.403-4.342 1.060-6.256 1.957l0.151-0.064c-0.017 0.007-0.031 0.019-0.040 0.034l-0 0c-2.854 4.041-4.562 9.069-4.562 14.496 0 0.907 0.048 1.802 0.141 2.684l-0.009-0.11c0.003 0.029 0.018 0.053 0.039 0.070l0 0c2.14 1.601 4.628 2.891 7.313 3.738l0.176 0.048c0.008 0.003 0.018 0.004 0.028 0.004 0.032 0 0.060-0.015 0.077-0.038l0-0c0.535-0.72 1.044-1.536 1.485-2.392l0.047-0.1c0.006-0.012 0.010-0.027 0.010-0.043 0-0.041-0.026-0.075-0.062-0.089l-0.001-0c-0.912-0.352-1.683-0.727-2.417-1.157l0.077 0.042c-0.029-0.017-0.048-0.048-0.048-0.083 0-0.031 0.015-0.059 0.038-0.076l0-0c0.157-0.118 0.315-0.24 0.465-0.364 0.016-0.013 0.037-0.021 0.059-0.021 0.014 0 0.027 0.003 0.038 0.008l-0.001-0c2.208 1.061 4.8 1.681 7.536 1.681s5.329-0.62 7.643-1.727l-0.107 0.046c0.012-0.006 0.025-0.009 0.040-0.009 0.022 0 0.043 0.008 0.059 0.021l-0-0c0.15 0.124 0.307 0.248 0.466 0.365 0.023 0.018 0.038 0.046 0.038 0.077 0 0.035-0.019 0.065-0.046 0.082l-0 0c-0.661 0.395-1.432 0.769-2.235 1.078l-0.105 0.036c-0.036 0.014-0.062 0.049-0.062 0.089 0 0.016 0.004 0.031 0.011 0.044l-0-0.001c0.501 0.96 1.009 1.775 1.571 2.548l-0.040-0.057c0.017 0.024 0.046 0.040 0.077 0.040 0.010 0 0.020-0.002 0.029-0.004l-0.001 0c2.865-0.892 5.358-2.182 7.566-3.832l-0.065 0.047c0.022-0.016 0.036-0.041 0.039-0.069l0-0c0.087-0.784 0.136-1.694 0.136-2.615 0-5.415-1.712-10.43-4.623-14.534l0.052 0.078c-0.008-0.016-0.022-0.029-0.038-0.036l-0-0z'%3E%3C/path%3E%3C/svg%3E"); +} + +html[data-theme='dark'] .navbar--discord-link:before { + background: url("data:image/svg+xml,%3Csvg fill='%23ebebeb99' viewBox='0 -28.5 256 256' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' preserveAspectRatio='xMidYMid'%3E%3Cg%3E%3Cpath d='M216.856339 16.5966031 C200.285002 8.84328665 182.566144 3.2084988 164.041564 0 C161.766523 4.11318106 159.108624 9.64549908 157.276099 14.0464379 C137.583995 11.0849896 118.072967 11.0849896 98.7430163 14.0464379 C96.9108417 9.64549908 94.1925838 4.11318106 91.8971895 0 C73.3526068 3.2084988 55.6133949 8.86399117 39.0420583 16.6376612 C5.61752293 67.146514 -3.4433191 116.400813 1.08711069 164.955721 C23.2560196 181.510915 44.7403634 191.567697 65.8621325 198.148576 C71.0772151 190.971126 75.7283628 183.341335 79.7352139 175.300261 C72.104019 172.400575 64.7949724 168.822202 57.8887866 164.667963 C59.7209612 163.310589 61.5131304 161.891452 63.2445898 160.431257 C105.36741 180.133187 151.134928 180.133187 192.754523 160.431257 C194.506336 161.891452 196.298154 163.310589 198.110326 164.667963 C191.183787 168.842556 183.854737 172.420929 176.223542 175.320965 C180.230393 183.341335 184.861538 190.991831 190.096624 198.16893 C211.238746 191.588051 232.743023 181.531619 254.911949 164.955721 C260.227747 108.668201 245.831087 59.8662432 216.856339 16.5966031 Z M85.4738752 135.09489 C72.8290281 135.09489 62.4592217 123.290155 62.4592217 108.914901 C62.4592217 94.5396472 72.607595 82.7145587 85.4738752 82.7145587 C98.3405064 82.7145587 108.709962 94.5189427 108.488529 108.914901 C108.508531 123.290155 98.3405064 135.09489 85.4738752 135.09489 Z M170.525237 135.09489 C157.88039 135.09489 147.510584 123.290155 147.510584 108.914901 C147.510584 94.5396472 157.658606 82.7145587 170.525237 82.7145587 C183.391518 82.7145587 193.761324 94.5189427 193.539891 108.914901 C193.539891 123.290155 183.391518 135.09489 170.525237 135.09489 Z' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"); +} + +.navbar--plane-docs-link { + width: 32px; + height: 32px; + padding: 6px; + margin-right: 6px; + margin-left: 6px; + border-radius: 50%; + transition: background var(--ifm-transition-fast); +} + +.navbar--plane-docs-link:hover { + background: var(--ifm-color-emphasis-200); +} + +.navbar--plane-docs-link:before { + content: ''; + height: 100%; + display: block; + background-image: url("data:image/svg+xml,%3Csvg fill='%23505050' stroke-width='0' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath%20d=%22M448%20360V24c0-13.3-10.7-24-24-24H96C43%200%200%2043%200%2096v320c0%2053%2043%2096%2096%2096h328c13.3%200%2024-10.7%2024-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3%200-74.7%205.4-4.3%208.9-11.1%208.9-18.6zM128%20134c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm0%2064c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm253.4%20250H96c-17.7%200-32-14.3-32-32%200-17.6%2014.4-32%2032-32h285.4c-1.9%2017.1-1.9%2046.9%200%2064z%22%3E%3C/path%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +html[data-theme='dark'] .navbar--plane-docs-link:before { + background-image: url("data:image/svg+xml,%3Csvg fill='%23ebebeb99' stroke-width='0' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath%20d=%22M448%20360V24c0-13.3-10.7-24-24-24H96C43%200%200%2043%200%2096v320c0%2053%2043%2096%2096%2096h328c13.3%200%2024-10.7%2024-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3%200-74.7%205.4-4.3%208.9-11.1%208.9-18.6zM128%20134c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm0%2064c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm253.4%20250H96c-17.7%200-32-14.3-32-32%200-17.6%2014.4-32%2032-32h285.4c-1.9%2017.1-1.9%2046.9%200%2064z%22%3E%3C/path%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.tag-wrapper { + display: flex; + align-items: center; + gap: 8px; +} + +.tags { + display: flex; + flex-wrap: nowrap; + gap: 8px; + align-items: center; + position: relative; + top: -10px !important; +} + +/* Media query for smaller screens */ +@media (max-width: 768px) { + .tags { + flex-direction: row; + align-items: flex-start; + white-space: nowrap; + } +} + +/* + +.pro { + color: #1a1a1a; + border-radius: 4px; + border: 1px solid #ea992466; + background: linear-gradient(167.44deg, + #fdc742 0%, + #fed464 67.25%, + #fcfcfc 98.9%); + padding: 0 15px 0 15px; +} + +.one { + color: #1a1a1a; + border-radius: 4px; + border: 1px solid #4c506266; + background: linear-gradient(167.44deg, + #a8a9ac 0%, + #eeeeee 67.25%, + #fcfcfc 98.9%); + padding: 0 15px 0 15px; +} + +html[data-theme="dark"] .pro { + color: #fff; + border-radius: 4px; + border: 1px solid #ea992466; + background: linear-gradient(167.44deg, + rgba(234, 153, 36, 0.7) 0%, + rgba(33, 33, 33, 0.4) 49.45%, + rgba(255, 224, 133, 0.32) 98.9%); + padding: 0 15px 0 15px; +} + +html[data-theme="dark"] .one { + color: #fff; + border-radius: 4px; + border: 1px solid #4c506266; + background: linear-gradient(167.44deg, + rgb(56, 60, 78) 0%, + rgba(33, 33, 33, 0.22) 49.45%, + rgba(37, 41, 59, 0.12) 98.9%); + padding: 0 15px 0 15px; +} +*/ + +.card-group { + display: grid; + gap: 16px; + grid-template-columns: repeat(var(--cols), 1fr); +} + +@media (max-width: 640px) { + .card-group { + grid-template-columns: 1fr; + } +} + +.card { + border-radius: 8px; + padding: 15px; + display: flex; + flex-direction: column; + align-items: flex-start; + border: 1px solid #9b9b9b; +} + +.card:hover { + border: 1px solid var(--ifm-color-primary); +} + +.card-icon { + border-radius: 8px; + display: inline-flex; + justify-content: center; + align-items: center; + margin-bottom: 15px; +} + +.icon-style { + color: var(--ifm-color-primary); +} + +.card-title { + color: var(--ifm-heading-color) !important; + font-size: 18px; + font-weight: 600; + margin-bottom: 10px; +} + +.card-description { + font-size: 14px; +} + +[data-theme="dark"] .card-description { + color: var(--ifm-heading-color); +} + +.card-link { + text-decoration: none; + color: inherit; + display: block; + width: 100%; + height: 100%; +} + +.card-link:hover { + text-decoration: none; + color: inherit; +} + +/* fix text ellipses for docusaurus index cards */ +.card p.text--truncate[class*='cardDescription_'] { + width: 100%; +} + +html { + color: #213547; + font-family: var(--ifm-font-family-base), sans-serif; +} + +code { + color: #213547; + font-family: var(--ifm-font-family-monospace), sans-serif; +} + +.navbar { + font-family: var(--ifm-font-family-base); +} + +.navbar__title { + font-family: var(--ifm-font-family-base); + font-weight: 600; +} + +.menu__link { + font-family: var(--ifm-font-family-base); +} + +.markdown { + font-family: var(--ifm-font-family-base); +} + +* { + font-family: var(--ifm-font-family-base); +} + +.theme-doc-markdown { + font-family: var(--ifm-font-family-base); +} + +pre { + font-family: var(--ifm-font-family-monospace); +} + +pre code { + font-family: var(--ifm-font-family-monospace); +} + +/* Inline code */ +.markdown code { + font-family: var(--ifm-font-family-monospace); +} + +/* Code blocks in different contexts */ +.prism-code { + font-family: var(--ifm-font-family-monospace); +} + +.codeBlockContainer_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Container-styles-module { + font-family: var(--ifm-font-family-monospace); +} + +code, kbd, pre, samp { + font-family: var(--ifm-font-family-monospace) !important; +} + +strong { + color: rgb(18 27 46); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: rgb(18 27 46); +} + +[data-theme='dark'] h1, +[data-theme='dark'] h2, +[data-theme='dark'] h3, +[data-theme='dark'] h4, +[data-theme='dark'] h5, +[data-theme='dark'] h6 { + color: var(--color-brand-25); +} + +html[data-theme='dark'] { + color: var(--color-brand-25); +} + +[data-theme='dark'] blockquote { + color: var(--color-brand-25); +} + +[data-theme='dark'] code { + color: rgb(237 240 246); +} + +[data-theme='dark'] strong { + color: rgb(243 246 251); +} + +[data-theme='dark'] .table-of-contents a { + color: var(--color-neutral-400); +} + +.table-of-contents__link { + color: var(--color-neutral-600); +} + +@media (min-width: 768px) { + + [class^='navbarSearchContainer_'], + .navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module { + margin-left: auto; + margin-right: auto; + } + + .DocSearch-Button { + width: 400px; + } +} + +.navbar__search-input { + width: 25rem; + border: 1px solid #9e9e9e33 !important; + border-radius: 0.5rem; +} + +[data-theme='dark'] .navbar__search-input { + width: 25rem; + background-color: var(--docsearch-searchbox-background); + border: 1px solid #9e9e9e33 !important; +} + +[data-theme='dark'] .navbar__search-input::placeholder { + color: rgb(235, 235, 235, 0.6); +} + + +.DocSearch-Button { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #fafafa !important; +} + +[data-theme='dark'] .DocSearch-Button { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #1b1b1d !important; +} + +.DocSearch-Search-Icon { + width: 14px; + height: 14px; +} + +.DocSearch-Button-Container { + gap: 0.25rem; +} + +.DocSearch-Button-Placeholder { + font-size: 0.85rem !important; +} + +.navbar { + border-bottom: 1px solid rgb(112 112 112 / 5%); + box-shadow: none; +} + +[data-theme='dark'] .navbar { + border-bottom: 1px solid rgb(206 206 206 / 6%); + box-shadow: none; +} + +.lightToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + color: #505050; +} + +.navbar--fixed-top { + padding-left: 2rem; + padding-right: 2rem; + margin-left: 0; + margin-right: 0; +} + +.mainWrapper_node_modules-\@docusaurus-theme-classic-lib-theme-Layout-styles-module { + padding-left: 1rem; + padding-right: 1rem; +} + +@media (min-width: 997px) { + .docSidebarContainer_YfHR { + border-right: 1px solid rgb(112 112 112 / 9%) !important; + } +} + +.table-of-contents__left-border { + border-left: 1px solid rgb(112 112 112 / 5%) !important; +} + +.lightToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module, +.darkToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + width: 20px; + height: 20px; +} + +.table { + font-size: 1rem; + line-height: 1.25; + font-weight: 400; + --tw-numeric-spacing: tabular-nums; + width: 100%; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} + +[data-theme='dark'] table tr:nth-child(2n) { + background-color: rgb(27 27 29); +} + +table tr:nth-child(2n) { + background-color: rgb(250 250 250); +} + +table thead tr { + border-bottom: none; +} + +.mobile-img-container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + flex-wrap: wrap; +} + +.mobile-img-box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + max-width: 25rem; + min-width: 15rem; + text-align: center; + margin: 10px; +} + +img[src*='#center'], +img.center { + display: block; + border-radius: 0.75rem; + float: none; + margin: 10px 0 10px 0; + border-color: rgb(224 228 236); + border-style: solid; + box-sizing: border-box; + border-width: 0px; + padding: 0.5rem; + background-color: rgb(226 226 226); +} + +[data-theme='dark'] img[src*='#center'], +[data-theme='dark'] img.center { + display: block; + border-radius: 0.75rem; + float: none; + margin: 10px 0 10px 0; + border-color: rgb(224 228 236); + border-style: solid; + box-sizing: border-box; + border-width: 0px; + padding: 0.5rem; + background-color: rgb(32 43 61); +} + +/* .business { + color: #111111; + border-radius: 4px; + border: 1px solid #d6d7d9; + background: linear-gradient(167.44deg, + #c2c8e4 0%, + #bfc4df 67.25%, + #fcfcfc 98.9%); + padding: 0 15px 0 15px; +} + +html[data-theme="dark"] .business { + color: #f5f5f5; + border-radius: 4px; + border: 1px solid #646c90; + background: linear-gradient(164.95deg, + #414669 0%, + rgba(56, 60, 78, 0.12) 53.4%, + rgba(172, 211, 255, 0.16) 100%); + padding: 0 15px 0 15px; +} +*/ + +/* +[data-theme="dark"] .themedComponent--dark_xIcU, +[data-theme="light"] .themedComponent--light_NVdE, +html:not([data-theme]) .themedComponent--light_NVdE { + width: 100px !important; +} +*/ + +.menu__caret:hover { + background: none; +} + +[data-theme='dark'] .clean-btn { + color: rgb(159 160 160); +} + +a.footer__link-item { + color: var(--ifm-footer-link-color); + text-decoration: none; + font-size: 0.8rem; +} + +a.footer__link-item:hover { + text-decoration: underline; +} + +[data-theme='dark'] .footer--dark { + --ifm-footer-background-color: var(--plane-footer-background-color); + --ifm-footer-link-color: var(--plane-footer-link-color); +} + +@media (min-width: 1455px) { + + body, + .navbar { + width: 100%; + min-width: 87.8vw; + margin: 0; + box-sizing: border-box; + } +} + +/* openapi */ + +.openapi-params__list-item { + padding-bottom: 1rem; +} + +.openapi-params__list-item>strong { + display: inline-block; + padding-top: 0.5rem; +} + +.openapi-tabs__schema-tabs-container { + border-bottom: 1px solid var(--ifm-color-emphasis-200); + margin-bottom: -0.5rem; +} + +.openapi-tabs__schema-tabs-container .openapi-tabs__schema-item { + border-radius: var(--ifm-global-radius) var(--ifm-global-radius) 0 0; +} + +.openapi-tabs__schema-tabs-container .openapi-tabs__schema-item.active { + border-color: var(--ifm-color-primary); + color: var(--ifm-color-primary); +} + +.openapi-explorer__request-form .openapi-explorer__request-btn { + background-color: var(--plane-call-to-action-color); + font-weight: inherit; + text-transform: inherit; +} + +.openapi-explorer__request-form .openapi-explorer__request-btn:hover { + background-color: var(--plane-call-to-action-hover-color); +} + + + +@font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-light.otf') format('opentype'); + font-weight: 300; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-regular.otf') format('opentype'); + font-weight: 400; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-semibold.otf') format('opentype'); + font-weight: 500; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-bold.otf') format('opentype'); + font-weight: 600; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-light.ttf') format('truetype'); + font-weight: 300; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-regular.ttf') format('truetype'); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-semibold.ttf') format('truetype'); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-bold.ttf') format('truetype'); + font-weight: 600; + font-style: normal; + font-display: swap; +} + + :root { + --ifm-font-family-base: 'Nacelle'; + --ifm-heading-font-family: 'Nacelle'; + --ifm-font-family-monospace: 'IBM Mono'; + } + + #__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(3) { + background-color: #006399; + border-radius: 8px; + color: #f3f5f7; + font-size: .75rem; + font-weight: 500; + line-height: 1.25rem; + margin-left: .5rem; + margin-right: .5rem; + padding: .375rem 1rem; + text-transform: capitalize; + white-space: nowrap; +} + +@media (min-width: 768px) { + .navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module { + margin-left: auto; + margin-right: auto; + } + + .navbarSearchContainer_Bca1 { + margin-left: auto; + margin-right: auto; + } + + .navbar__search-input { + width: 400px; + } +} + +.navbar__search-input { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #fafafa !important; +} + +[data-theme="dark"] .navbar__search-input { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #1b1b1d !important; +} + +.DocSearch-Search-Icon { + width: 14px; + height: 14px; +} + +.DocSearch-Button-Container { + gap: 0.25rem; +} + +.DocSearch-Button-Placeholder { + font-size: 0.85rem !important; +} \ No newline at end of file diff --git a/src/css/fonts.css b/src/css/fonts.css new file mode 100644 index 0000000..4114420 --- /dev/null +++ b/src/css/fonts.css @@ -0,0 +1,55 @@ +@font-face { + font-display: swap; + font-family: 'Nacelle'; + font-style: normal; + font-weight: 300; + src: url('/fonts/nacelle/nacelle-light.otf') format('opentype'); +} + +@font-face { + font-display: swap; + font-family: 'Nacelle'; + font-style: normal; + font-weight: 400; + src: url('/fonts/nacelle/nacelle-regular.otf') format('opentype'); +} + +@font-face { + font-display: swap; + font-family: 'Nacelle'; + font-style: normal; + font-weight: 600; + src: url('/fonts/nacelle/nacelle-semibold.otf') format('opentype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 300; + src: url('/fonts/ibm/ibmplexmono-light.ttf') format('truetype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 400; + src: url('/fonts/ibm/ibmplexmono-regular.ttf') format('truetype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 500; + src: url('/fonts/ibm/ibmplexmono-semibold.ttf') format('truetype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 600; + src: url('/fonts/ibm/ibmplexmono-bold.ttf') format('truetype'); +} diff --git a/plane-one/manage/advanced-deploy.mdx b/static/.nojekyll similarity index 100% rename from plane-one/manage/advanced-deploy.mdx rename to static/.nojekyll diff --git a/static/fonts/ibm/ibmplexmono-bold.ttf b/static/fonts/ibm/ibmplexmono-bold.ttf new file mode 100644 index 0000000..2e437e2 Binary files /dev/null and b/static/fonts/ibm/ibmplexmono-bold.ttf differ diff --git a/static/fonts/ibm/ibmplexmono-light.ttf b/static/fonts/ibm/ibmplexmono-light.ttf new file mode 100644 index 0000000..df167f0 Binary files /dev/null and b/static/fonts/ibm/ibmplexmono-light.ttf differ diff --git a/static/fonts/ibm/ibmplexmono-regular.ttf b/static/fonts/ibm/ibmplexmono-regular.ttf new file mode 100644 index 0000000..81ca3dc Binary files /dev/null and b/static/fonts/ibm/ibmplexmono-regular.ttf differ diff --git a/static/fonts/ibm/ibmplexmono-semibold.ttf b/static/fonts/ibm/ibmplexmono-semibold.ttf new file mode 100644 index 0000000..73dd5a4 Binary files /dev/null and b/static/fonts/ibm/ibmplexmono-semibold.ttf differ diff --git a/static/fonts/nacelle/SIL Open Font License.txt b/static/fonts/nacelle/SIL Open Font License.txt new file mode 100644 index 0000000..075d1ae --- /dev/null +++ b/static/fonts/nacelle/SIL Open Font License.txt @@ -0,0 +1,91 @@ +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/static/fonts/nacelle/nacelle-black.otf b/static/fonts/nacelle/nacelle-black.otf new file mode 100644 index 0000000..bd95010 Binary files /dev/null and b/static/fonts/nacelle/nacelle-black.otf differ diff --git a/static/fonts/nacelle/nacelle-blackitalic.otf b/static/fonts/nacelle/nacelle-blackitalic.otf new file mode 100644 index 0000000..d067231 Binary files /dev/null and b/static/fonts/nacelle/nacelle-blackitalic.otf differ diff --git a/static/fonts/nacelle/nacelle-bold.otf b/static/fonts/nacelle/nacelle-bold.otf new file mode 100644 index 0000000..90b1b72 Binary files /dev/null and b/static/fonts/nacelle/nacelle-bold.otf differ diff --git a/static/fonts/nacelle/nacelle-bolditalic.otf b/static/fonts/nacelle/nacelle-bolditalic.otf new file mode 100644 index 0000000..037b7ab Binary files /dev/null and b/static/fonts/nacelle/nacelle-bolditalic.otf differ diff --git a/static/fonts/nacelle/nacelle-heavy.otf b/static/fonts/nacelle/nacelle-heavy.otf new file mode 100644 index 0000000..255d662 Binary files /dev/null and b/static/fonts/nacelle/nacelle-heavy.otf differ diff --git a/static/fonts/nacelle/nacelle-heavyitalic.otf b/static/fonts/nacelle/nacelle-heavyitalic.otf new file mode 100644 index 0000000..4ffcfd2 Binary files /dev/null and b/static/fonts/nacelle/nacelle-heavyitalic.otf differ diff --git a/static/fonts/nacelle/nacelle-italic.otf b/static/fonts/nacelle/nacelle-italic.otf new file mode 100644 index 0000000..49c0799 Binary files /dev/null and b/static/fonts/nacelle/nacelle-italic.otf differ diff --git a/static/fonts/nacelle/nacelle-light.otf b/static/fonts/nacelle/nacelle-light.otf new file mode 100644 index 0000000..a79c9b3 Binary files /dev/null and b/static/fonts/nacelle/nacelle-light.otf differ diff --git a/static/fonts/nacelle/nacelle-lightItalic.otf b/static/fonts/nacelle/nacelle-lightItalic.otf new file mode 100644 index 0000000..82d930d Binary files /dev/null and b/static/fonts/nacelle/nacelle-lightItalic.otf differ diff --git a/static/fonts/nacelle/nacelle-regular.otf b/static/fonts/nacelle/nacelle-regular.otf new file mode 100644 index 0000000..7a0a454 Binary files /dev/null and b/static/fonts/nacelle/nacelle-regular.otf differ diff --git a/static/fonts/nacelle/nacelle-semibold.otf b/static/fonts/nacelle/nacelle-semibold.otf new file mode 100644 index 0000000..ae73865 Binary files /dev/null and b/static/fonts/nacelle/nacelle-semibold.otf differ diff --git a/static/fonts/nacelle/nacelle-semibolditalic.otf b/static/fonts/nacelle/nacelle-semibolditalic.otf new file mode 100644 index 0000000..8da9b27 Binary files /dev/null and b/static/fonts/nacelle/nacelle-semibolditalic.otf differ diff --git a/static/fonts/nacelle/nacelle-thin.otf b/static/fonts/nacelle/nacelle-thin.otf new file mode 100644 index 0000000..525f1f7 Binary files /dev/null and b/static/fonts/nacelle/nacelle-thin.otf differ diff --git a/static/fonts/nacelle/nacelle-thinitalic.otf b/static/fonts/nacelle/nacelle-thinitalic.otf new file mode 100644 index 0000000..9082b35 Binary files /dev/null and b/static/fonts/nacelle/nacelle-thinitalic.otf differ diff --git a/static/fonts/nacelle/nacelle-ultralight.otf b/static/fonts/nacelle/nacelle-ultralight.otf new file mode 100644 index 0000000..26c8158 Binary files /dev/null and b/static/fonts/nacelle/nacelle-ultralight.otf differ diff --git a/static/fonts/nacelle/nacelle-ultralightitalic.otf b/static/fonts/nacelle/nacelle-ultralightitalic.otf new file mode 100644 index 0000000..523f255 Binary files /dev/null and b/static/fonts/nacelle/nacelle-ultralightitalic.otf differ diff --git a/images/1.gif b/static/images/1.gif similarity index 100% rename from images/1.gif rename to static/images/1.gif diff --git a/images/2.gif b/static/images/2.gif similarity index 100% rename from images/2.gif rename to static/images/2.gif diff --git a/images/3.gif b/static/images/3.gif similarity index 100% rename from images/3.gif rename to static/images/3.gif diff --git a/images/4.gif b/static/images/4.gif similarity index 100% rename from images/4.gif rename to static/images/4.gif diff --git a/images/5.gif b/static/images/5.gif similarity index 100% rename from images/5.gif rename to static/images/5.gif diff --git a/images/account/account-dashboard.png b/static/images/account/account-dashboard.png similarity index 100% rename from images/account/account-dashboard.png rename to static/images/account/account-dashboard.png diff --git a/images/account/account-email-preferences.png b/static/images/account/account-email-preferences.png similarity index 100% rename from images/account/account-email-preferences.png rename to static/images/account/account-email-preferences.png diff --git a/images/account/account-notifications.png b/static/images/account/account-notifications.png similarity index 100% rename from images/account/account-notifications.png rename to static/images/account/account-notifications.png diff --git a/images/account/account-profile-activity.png b/static/images/account/account-profile-activity.png similarity index 100% rename from images/account/account-profile-activity.png rename to static/images/account/account-profile-activity.png diff --git a/images/account/account-profile-dropdown.png b/static/images/account/account-profile-dropdown.png similarity index 100% rename from images/account/account-profile-dropdown.png rename to static/images/account/account-profile-dropdown.png diff --git a/images/account/account-theme.png b/static/images/account/account-theme.png similarity index 100% rename from images/account/account-theme.png rename to static/images/account/account-theme.png diff --git a/images/activate-license/activate-pro-license.webp b/static/images/activate-license/activate-pro-license.webp similarity index 100% rename from images/activate-license/activate-pro-license.webp rename to static/images/activate-license/activate-pro-license.webp diff --git a/images/activate-license/billing-and-plans-cloud.webp b/static/images/activate-license/billing-and-plans-cloud.webp similarity index 100% rename from images/activate-license/billing-and-plans-cloud.webp rename to static/images/activate-license/billing-and-plans-cloud.webp diff --git a/images/activate-license/copy-license-key.webp b/static/images/activate-license/copy-license-key.webp similarity index 100% rename from images/activate-license/copy-license-key.webp rename to static/images/activate-license/copy-license-key.webp diff --git a/images/activate-license/enter-license-key-selfhosted.webp b/static/images/activate-license/enter-license-key-selfhosted.webp similarity index 100% rename from images/activate-license/enter-license-key-selfhosted.webp rename to static/images/activate-license/enter-license-key-selfhosted.webp diff --git a/images/activate-license/pro-activated-cloud.webp b/static/images/activate-license/pro-activated-cloud.webp similarity index 100% rename from images/activate-license/pro-activated-cloud.webp rename to static/images/activate-license/pro-activated-cloud.webp diff --git a/images/activate-license/upload-airgapped-license-file.webp b/static/images/activate-license/upload-airgapped-license-file.webp similarity index 100% rename from images/activate-license/upload-airgapped-license-file.webp rename to static/images/activate-license/upload-airgapped-license-file.webp diff --git a/images/activate-license/workspace-settings.webp b/static/images/activate-license/workspace-settings.webp similarity index 100% rename from images/activate-license/workspace-settings.webp rename to static/images/activate-license/workspace-settings.webp diff --git a/images/analytics/analytics-custom-analytics.png b/static/images/analytics/analytics-custom-analytics.png similarity index 100% rename from images/analytics/analytics-custom-analytics.png rename to static/images/analytics/analytics-custom-analytics.png diff --git a/images/analytics/analytics-scope-demand.png b/static/images/analytics/analytics-scope-demand.png similarity index 100% rename from images/analytics/analytics-scope-demand.png rename to static/images/analytics/analytics-scope-demand.png diff --git a/images/api-reference/add-api-key-plane.png b/static/images/api-reference/add-api-key-plane.png similarity index 100% rename from images/api-reference/add-api-key-plane.png rename to static/images/api-reference/add-api-key-plane.png diff --git a/images/api-reference/api-tokens-plane.png b/static/images/api-reference/api-tokens-plane.png similarity index 100% rename from images/api-reference/api-tokens-plane.png rename to static/images/api-reference/api-tokens-plane.png diff --git a/images/api-reference/profile-settings.png b/static/images/api-reference/profile-settings.png similarity index 100% rename from images/api-reference/profile-settings.png rename to static/images/api-reference/profile-settings.png diff --git a/images/authentication/github/github-auth-1.png b/static/images/authentication/github/github-auth-1.png similarity index 100% rename from images/authentication/github/github-auth-1.png rename to static/images/authentication/github/github-auth-1.png diff --git a/images/authentication/github/github-auth-2.png b/static/images/authentication/github/github-auth-2.png similarity index 100% rename from images/authentication/github/github-auth-2.png rename to static/images/authentication/github/github-auth-2.png diff --git a/images/authentication/google/google-auth-1.png b/static/images/authentication/google/google-auth-1.png similarity index 100% rename from images/authentication/google/google-auth-1.png rename to static/images/authentication/google/google-auth-1.png diff --git a/images/authentication/google/google-auth-2.png b/static/images/authentication/google/google-auth-2.png similarity index 100% rename from images/authentication/google/google-auth-2.png rename to static/images/authentication/google/google-auth-2.png diff --git a/images/authentication/google/google-auth-3.png b/static/images/authentication/google/google-auth-3.png similarity index 100% rename from images/authentication/google/google-auth-3.png rename to static/images/authentication/google/google-auth-3.png diff --git a/images/authentication/google/google-auth-4.png b/static/images/authentication/google/google-auth-4.png similarity index 100% rename from images/authentication/google/google-auth-4.png rename to static/images/authentication/google/google-auth-4.png diff --git a/images/custom-sso/instance-login.png b/static/images/custom-sso/instance-login.png similarity index 100% rename from images/custom-sso/instance-login.png rename to static/images/custom-sso/instance-login.png diff --git a/images/custom-sso/oidc-config.png b/static/images/custom-sso/oidc-config.png similarity index 100% rename from images/custom-sso/oidc-config.png rename to static/images/custom-sso/oidc-config.png diff --git a/images/custom-sso/okta-signin.webp b/static/images/custom-sso/okta-signin.webp similarity index 100% rename from images/custom-sso/okta-signin.webp rename to static/images/custom-sso/okta-signin.webp diff --git a/images/custom-sso/plane-login.png b/static/images/custom-sso/plane-login.png similarity index 100% rename from images/custom-sso/plane-login.png rename to static/images/custom-sso/plane-login.png diff --git a/images/custom-sso/saml-config.png b/static/images/custom-sso/saml-config.png similarity index 100% rename from images/custom-sso/saml-config.png rename to static/images/custom-sso/saml-config.png diff --git a/images/cycles/active-cycle-ui.png b/static/images/cycles/active-cycle-ui.png similarity index 100% rename from images/cycles/active-cycle-ui.png rename to static/images/cycles/active-cycle-ui.png diff --git a/images/cycles/active-cycle.png b/static/images/cycles/active-cycle.png similarity index 100% rename from images/cycles/active-cycle.png rename to static/images/cycles/active-cycle.png diff --git a/images/cycles/active-cycles-ui.png b/static/images/cycles/active-cycles-ui.png similarity index 100% rename from images/cycles/active-cycles-ui.png rename to static/images/cycles/active-cycles-ui.png diff --git a/images/cycles/create-cycles.png b/static/images/cycles/create-cycles.png similarity index 100% rename from images/cycles/create-cycles.png rename to static/images/cycles/create-cycles.png diff --git a/images/cycles/cycle-empty-state.png b/static/images/cycles/cycle-empty-state.png similarity index 100% rename from images/cycles/cycle-empty-state.png rename to static/images/cycles/cycle-empty-state.png diff --git a/images/disable-telemetry.webp b/static/images/disable-telemetry.webp similarity index 100% rename from images/disable-telemetry.webp rename to static/images/disable-telemetry.webp diff --git a/images/docker-compose/download-complete.png b/static/images/docker-compose/download-complete.png similarity index 100% rename from images/docker-compose/download-complete.png rename to static/images/docker-compose/download-complete.png diff --git a/images/docker-compose/download-docker.png b/static/images/docker-compose/download-docker.png similarity index 100% rename from images/docker-compose/download-docker.png rename to static/images/docker-compose/download-docker.png diff --git a/images/docker-compose/migrate-error.png b/static/images/docker-compose/migrate-error.png similarity index 100% rename from images/docker-compose/migrate-error.png rename to static/images/docker-compose/migrate-error.png diff --git a/images/docker-compose/restart-docker.png b/static/images/docker-compose/restart-docker.png similarity index 100% rename from images/docker-compose/restart-docker.png rename to static/images/docker-compose/restart-docker.png diff --git a/images/docker-compose/stopped-docker.png b/static/images/docker-compose/stopped-docker.png similarity index 100% rename from images/docker-compose/stopped-docker.png rename to static/images/docker-compose/stopped-docker.png diff --git a/images/docker-compose/upgrade-docker.png b/static/images/docker-compose/upgrade-docker.png similarity index 100% rename from images/docker-compose/upgrade-docker.png rename to static/images/docker-compose/upgrade-docker.png diff --git a/images/faq-2.png b/static/images/faq-2.png similarity index 100% rename from images/faq-2.png rename to static/images/faq-2.png diff --git a/images/github-imp/comments.png b/static/images/github-imp/comments.png similarity index 100% rename from images/github-imp/comments.png rename to static/images/github-imp/comments.png diff --git a/images/github-imp/configure.png b/static/images/github-imp/configure.png similarity index 100% rename from images/github-imp/configure.png rename to static/images/github-imp/configure.png diff --git a/images/github-imp/confirm.png b/static/images/github-imp/confirm.png similarity index 100% rename from images/github-imp/confirm.png rename to static/images/github-imp/confirm.png diff --git a/images/github-imp/import.png b/static/images/github-imp/import.png similarity index 100% rename from images/github-imp/import.png rename to static/images/github-imp/import.png diff --git a/images/github-imp/integration.png b/static/images/github-imp/integration.png similarity index 100% rename from images/github-imp/integration.png rename to static/images/github-imp/integration.png diff --git a/images/github-imp/map.png b/static/images/github-imp/map.png similarity index 100% rename from images/github-imp/map.png rename to static/images/github-imp/map.png diff --git a/images/github-imp/merge.png b/static/images/github-imp/merge.png similarity index 100% rename from images/github-imp/merge.png rename to static/images/github-imp/merge.png diff --git a/images/github-imp/sync.png b/static/images/github-imp/sync.png similarity index 100% rename from images/github-imp/sync.png rename to static/images/github-imp/sync.png diff --git a/images/github-imp/verify.png b/static/images/github-imp/verify.png similarity index 100% rename from images/github-imp/verify.png rename to static/images/github-imp/verify.png diff --git a/images/github-imp/workspace-settings.png b/static/images/github-imp/workspace-settings.png similarity index 100% rename from images/github-imp/workspace-settings.png rename to static/images/github-imp/workspace-settings.png diff --git a/images/importers/github/comments.png b/static/images/importers/github/comments.png similarity index 100% rename from images/importers/github/comments.png rename to static/images/importers/github/comments.png diff --git a/images/importers/github/configure.png b/static/images/importers/github/configure.png similarity index 100% rename from images/importers/github/configure.png rename to static/images/importers/github/configure.png diff --git a/images/importers/github/confirm.png b/static/images/importers/github/confirm.png similarity index 100% rename from images/importers/github/confirm.png rename to static/images/importers/github/confirm.png diff --git a/images/importers/github/import.png b/static/images/importers/github/import.png similarity index 100% rename from images/importers/github/import.png rename to static/images/importers/github/import.png diff --git a/images/importers/github/integration.png b/static/images/importers/github/integration.png similarity index 100% rename from images/importers/github/integration.png rename to static/images/importers/github/integration.png diff --git a/images/importers/github/map.png b/static/images/importers/github/map.png similarity index 100% rename from images/importers/github/map.png rename to static/images/importers/github/map.png diff --git a/images/importers/github/merge.png b/static/images/importers/github/merge.png similarity index 100% rename from images/importers/github/merge.png rename to static/images/importers/github/merge.png diff --git a/images/importers/github/sync.png b/static/images/importers/github/sync.png similarity index 100% rename from images/importers/github/sync.png rename to static/images/importers/github/sync.png diff --git a/images/importers/github/verify.png b/static/images/importers/github/verify.png similarity index 100% rename from images/importers/github/verify.png rename to static/images/importers/github/verify.png diff --git a/images/importers/github/workspace-settings.png b/static/images/importers/github/workspace-settings.png similarity index 100% rename from images/importers/github/workspace-settings.png rename to static/images/importers/github/workspace-settings.png diff --git a/images/importers/jira/jira-importer-first-step.png b/static/images/importers/jira/jira-importer-first-step.png similarity index 100% rename from images/importers/jira/jira-importer-first-step.png rename to static/images/importers/jira/jira-importer-first-step.png diff --git a/images/importers/jira/jira-importer-second-step.png b/static/images/importers/jira/jira-importer-second-step.png similarity index 100% rename from images/importers/jira/jira-importer-second-step.png rename to static/images/importers/jira/jira-importer-second-step.png diff --git a/images/importers/jira/jira-importer-step-fore.png b/static/images/importers/jira/jira-importer-step-fore.png similarity index 100% rename from images/importers/jira/jira-importer-step-fore.png rename to static/images/importers/jira/jira-importer-step-fore.png diff --git a/images/importers/jira/jira-importer-step-three.png b/static/images/importers/jira/jira-importer-step-three.png similarity index 100% rename from images/importers/jira/jira-importer-step-three.png rename to static/images/importers/jira/jira-importer-step-three.png diff --git a/images/importers/jira/jira-workspace-setting.png b/static/images/importers/jira/jira-workspace-setting.png similarity index 100% rename from images/importers/jira/jira-workspace-setting.png rename to static/images/importers/jira/jira-workspace-setting.png diff --git a/images/inbox/RTE-reactions-and-mentions.png b/static/images/inbox/RTE-reactions-and-mentions.png similarity index 100% rename from images/inbox/RTE-reactions-and-mentions.png rename to static/images/inbox/RTE-reactions-and-mentions.png diff --git a/images/inbox/accept-intake-issue.webp b/static/images/inbox/accept-intake-issue.webp similarity index 100% rename from images/inbox/accept-intake-issue.webp rename to static/images/inbox/accept-intake-issue.webp diff --git a/images/inbox/create-issue-intake.webp b/static/images/inbox/create-issue-intake.webp similarity index 100% rename from images/inbox/create-issue-intake.webp rename to static/images/inbox/create-issue-intake.webp diff --git a/images/inbox/enable-intake-feature.webp b/static/images/inbox/enable-intake-feature.webp similarity index 100% rename from images/inbox/enable-intake-feature.webp rename to static/images/inbox/enable-intake-feature.webp diff --git a/images/inbox/enter-issue-details.webp b/static/images/inbox/enter-issue-details.webp similarity index 100% rename from images/inbox/enter-issue-details.webp rename to static/images/inbox/enter-issue-details.webp diff --git a/images/inbox/inbox-activity.png b/static/images/inbox/inbox-activity.png similarity index 100% rename from images/inbox/inbox-activity.png rename to static/images/inbox/inbox-activity.png diff --git a/images/inbox/inbox-description-box.png b/static/images/inbox/inbox-description-box.png similarity index 100% rename from images/inbox/inbox-description-box.png rename to static/images/inbox/inbox-description-box.png diff --git a/images/inbox/inbox-navigate.png b/static/images/inbox/inbox-navigate.png similarity index 100% rename from images/inbox/inbox-navigate.png rename to static/images/inbox/inbox-navigate.png diff --git a/images/inbox/inbox-tabs.png b/static/images/inbox/inbox-tabs.png similarity index 100% rename from images/inbox/inbox-tabs.png rename to static/images/inbox/inbox-tabs.png diff --git a/images/inbox/mark-duplicate-intake-issues.webp b/static/images/inbox/mark-duplicate-intake-issues.webp similarity index 100% rename from images/inbox/mark-duplicate-intake-issues.webp rename to static/images/inbox/mark-duplicate-intake-issues.webp diff --git a/images/inbox/snooze-intake-issue.webp b/static/images/inbox/snooze-intake-issue.webp similarity index 100% rename from images/inbox/snooze-intake-issue.webp rename to static/images/inbox/snooze-intake-issue.webp diff --git a/images/instance-admin/access-god-mode.webp b/static/images/instance-admin/access-god-mode.webp similarity index 100% rename from images/instance-admin/access-god-mode.webp rename to static/images/instance-admin/access-god-mode.webp diff --git a/images/instance-admin/email-settings.png b/static/images/instance-admin/email-settings.png similarity index 100% rename from images/instance-admin/email-settings.png rename to static/images/instance-admin/email-settings.png diff --git a/images/instance-admin/god-mode-ai.webp b/static/images/instance-admin/god-mode-ai.webp similarity index 100% rename from images/instance-admin/god-mode-ai.webp rename to static/images/instance-admin/god-mode-ai.webp diff --git a/images/instance-admin/god-mode-authentication.webp b/static/images/instance-admin/god-mode-authentication.webp similarity index 100% rename from images/instance-admin/god-mode-authentication.webp rename to static/images/instance-admin/god-mode-authentication.webp diff --git a/images/instance-admin/god-mode-email.webp b/static/images/instance-admin/god-mode-email.webp similarity index 100% rename from images/instance-admin/god-mode-email.webp rename to static/images/instance-admin/god-mode-email.webp diff --git a/images/instance-admin/god-mode-general.webp b/static/images/instance-admin/god-mode-general.webp similarity index 100% rename from images/instance-admin/god-mode-general.webp rename to static/images/instance-admin/god-mode-general.webp diff --git a/images/instance-admin/god-mode-images.webp b/static/images/instance-admin/god-mode-images.webp similarity index 100% rename from images/instance-admin/god-mode-images.webp rename to static/images/instance-admin/god-mode-images.webp diff --git a/images/instance-admin/god-mode-workspaces.webp b/static/images/instance-admin/god-mode-workspaces.webp similarity index 100% rename from images/instance-admin/god-mode-workspaces.webp rename to static/images/instance-admin/god-mode-workspaces.webp diff --git a/images/instance-ready.png b/static/images/instance-ready.png similarity index 100% rename from images/instance-ready.png rename to static/images/instance-ready.png diff --git a/images/integrations/github/add-callback-url.webp b/static/images/integrations/github/add-callback-url.webp similarity index 100% rename from images/integrations/github/add-callback-url.webp rename to static/images/integrations/github/add-callback-url.webp diff --git a/images/integrations/github/add-setup-url.webp b/static/images/integrations/github/add-setup-url.webp similarity index 100% rename from images/integrations/github/add-setup-url.webp rename to static/images/integrations/github/add-setup-url.webp diff --git a/images/integrations/github/add-webhook-url.webp b/static/images/integrations/github/add-webhook-url.webp similarity index 100% rename from images/integrations/github/add-webhook-url.webp rename to static/images/integrations/github/add-webhook-url.webp diff --git a/images/integrations/github/app-name-homepage-url.webp b/static/images/integrations/github/app-name-homepage-url.webp similarity index 100% rename from images/integrations/github/app-name-homepage-url.webp rename to static/images/integrations/github/app-name-homepage-url.webp diff --git a/images/integrations/github/create-github-app.webp b/static/images/integrations/github/create-github-app.webp similarity index 100% rename from images/integrations/github/create-github-app.webp rename to static/images/integrations/github/create-github-app.webp diff --git a/images/integrations/github/general-tab.webp b/static/images/integrations/github/general-tab.webp similarity index 100% rename from images/integrations/github/general-tab.webp rename to static/images/integrations/github/general-tab.webp diff --git a/images/integrations/github/private-keys.webp b/static/images/integrations/github/private-keys.webp similarity index 100% rename from images/integrations/github/private-keys.webp rename to static/images/integrations/github/private-keys.webp diff --git a/images/integrations/github/setup-permissions.webp b/static/images/integrations/github/setup-permissions.webp similarity index 100% rename from images/integrations/github/setup-permissions.webp rename to static/images/integrations/github/setup-permissions.webp diff --git a/images/integrations/github/subscribe-to-events.webp b/static/images/integrations/github/subscribe-to-events.webp similarity index 100% rename from images/integrations/github/subscribe-to-events.webp rename to static/images/integrations/github/subscribe-to-events.webp diff --git a/images/integrations/gitlab/add-app-details.webp b/static/images/integrations/gitlab/add-app-details.webp similarity index 100% rename from images/integrations/gitlab/add-app-details.webp rename to static/images/integrations/gitlab/add-app-details.webp diff --git a/images/integrations/gitlab/add-gitlab-application.webp b/static/images/integrations/gitlab/add-gitlab-application.webp similarity index 100% rename from images/integrations/gitlab/add-gitlab-application.webp rename to static/images/integrations/gitlab/add-gitlab-application.webp diff --git a/images/integrations/gitlab/copy-credentials.webp b/static/images/integrations/gitlab/copy-credentials.webp similarity index 100% rename from images/integrations/gitlab/copy-credentials.webp rename to static/images/integrations/gitlab/copy-credentials.webp diff --git a/images/integrations/slack/app-from-manifest.webp b/static/images/integrations/slack/app-from-manifest.webp similarity index 100% rename from images/integrations/slack/app-from-manifest.webp rename to static/images/integrations/slack/app-from-manifest.webp diff --git a/images/integrations/slack/choose-from-manifest.webp b/static/images/integrations/slack/choose-from-manifest.webp similarity index 100% rename from images/integrations/slack/choose-from-manifest.webp rename to static/images/integrations/slack/choose-from-manifest.webp diff --git a/images/integrations/slack/create-slack-app.webp b/static/images/integrations/slack/create-slack-app.webp similarity index 100% rename from images/integrations/slack/create-slack-app.webp rename to static/images/integrations/slack/create-slack-app.webp diff --git a/images/integrations/slack/event-subscriptions.webp b/static/images/integrations/slack/event-subscriptions.webp similarity index 100% rename from images/integrations/slack/event-subscriptions.webp rename to static/images/integrations/slack/event-subscriptions.webp diff --git a/images/integrations/slack/review-summary.webp b/static/images/integrations/slack/review-summary.webp similarity index 100% rename from images/integrations/slack/review-summary.webp rename to static/images/integrations/slack/review-summary.webp diff --git a/images/issues/activate-issue-type.webp b/static/images/issues/activate-issue-type.webp similarity index 100% rename from images/issues/activate-issue-type.webp rename to static/images/issues/activate-issue-type.webp diff --git a/images/issues/add-issue-type.webp b/static/images/issues/add-issue-type.webp similarity index 100% rename from images/issues/add-issue-type.webp rename to static/images/issues/add-issue-type.webp diff --git a/images/issues/add-new-property.webp b/static/images/issues/add-new-property.webp similarity index 100% rename from images/issues/add-new-property.webp rename to static/images/issues/add-new-property.webp diff --git a/images/issues/archived-issues.webp b/static/images/issues/archived-issues.webp similarity index 100% rename from images/issues/archived-issues.webp rename to static/images/issues/archived-issues.webp diff --git a/images/issues/create-issue-modal.png b/static/images/issues/create-issue-modal.png similarity index 100% rename from images/issues/create-issue-modal.png rename to static/images/issues/create-issue-modal.png diff --git a/images/issues/create-issue-type.webp b/static/images/issues/create-issue-type.webp similarity index 100% rename from images/issues/create-issue-type.webp rename to static/images/issues/create-issue-type.webp diff --git a/images/issues/enable-issue-types.webp b/static/images/issues/enable-issue-types.webp similarity index 100% rename from images/issues/enable-issue-types.webp rename to static/images/issues/enable-issue-types.webp diff --git a/images/issues/issue-activity-comments.png b/static/images/issues/issue-activity-comments.png similarity index 100% rename from images/issues/issue-activity-comments.png rename to static/images/issues/issue-activity-comments.png diff --git a/images/issues/issue-calendar-layout.png b/static/images/issues/issue-calendar-layout.png similarity index 100% rename from images/issues/issue-calendar-layout.png rename to static/images/issues/issue-calendar-layout.png diff --git a/images/issues/issue-filters.png b/static/images/issues/issue-filters.png similarity index 100% rename from images/issues/issue-filters.png rename to static/images/issues/issue-filters.png diff --git a/images/issues/issue-gantt-layout.png b/static/images/issues/issue-gantt-layout.png similarity index 100% rename from images/issues/issue-gantt-layout.png rename to static/images/issues/issue-gantt-layout.png diff --git a/images/issues/issue-kanban-layout.png b/static/images/issues/issue-kanban-layout.png similarity index 100% rename from images/issues/issue-kanban-layout.png rename to static/images/issues/issue-kanban-layout.png diff --git a/images/issues/issue-list-layout.png b/static/images/issues/issue-list-layout.png similarity index 100% rename from images/issues/issue-list-layout.png rename to static/images/issues/issue-list-layout.png diff --git a/images/issues/issue-quick-add.png b/static/images/issues/issue-quick-add.png similarity index 100% rename from images/issues/issue-quick-add.png rename to static/images/issues/issue-quick-add.png diff --git a/images/issues/issue-side-peek.png b/static/images/issues/issue-side-peek.png similarity index 100% rename from images/issues/issue-side-peek.png rename to static/images/issues/issue-side-peek.png diff --git a/images/issues/issue-spreadsheet-layout.png b/static/images/issues/issue-spreadsheet-layout.png similarity index 100% rename from images/issues/issue-spreadsheet-layout.png rename to static/images/issues/issue-spreadsheet-layout.png diff --git a/images/issues/issue-sub-issues.png b/static/images/issues/issue-sub-issues.png similarity index 100% rename from images/issues/issue-sub-issues.png rename to static/images/issues/issue-sub-issues.png diff --git a/images/issues/property-details.webp b/static/images/issues/property-details.webp similarity index 100% rename from images/issues/property-details.webp rename to static/images/issues/property-details.webp diff --git a/images/issues/setup-issue-types.webp b/static/images/issues/setup-issue-types.webp similarity index 100% rename from images/issues/setup-issue-types.webp rename to static/images/issues/setup-issue-types.webp diff --git a/images/issues/use-issue-type.webp b/static/images/issues/use-issue-type.webp similarity index 100% rename from images/issues/use-issue-type.webp rename to static/images/issues/use-issue-type.webp diff --git a/static/images/mcp/accept.png b/static/images/mcp/accept.png new file mode 100644 index 0000000..2752047 Binary files /dev/null and b/static/images/mcp/accept.png differ diff --git a/static/images/mcp/approve.png b/static/images/mcp/approve.png new file mode 100644 index 0000000..b1683a7 Binary files /dev/null and b/static/images/mcp/approve.png differ diff --git a/images/modules/add-issues-to-module.png b/static/images/modules/add-issues-to-module.png similarity index 100% rename from images/modules/add-issues-to-module.png rename to static/images/modules/add-issues-to-module.png diff --git a/images/modules/create-module.png b/static/images/modules/create-module.png similarity index 100% rename from images/modules/create-module.png rename to static/images/modules/create-module.png diff --git a/images/modules/module-gantt.png b/static/images/modules/module-gantt.png similarity index 100% rename from images/modules/module-gantt.png rename to static/images/modules/module-gantt.png diff --git a/images/modules/module-progress.png b/static/images/modules/module-progress.png similarity index 100% rename from images/modules/module-progress.png rename to static/images/modules/module-progress.png diff --git a/images/one-click-deploy/one-click-advanced.png b/static/images/one-click-deploy/one-click-advanced.png similarity index 100% rename from images/one-click-deploy/one-click-advanced.png rename to static/images/one-click-deploy/one-click-advanced.png diff --git a/images/one-click-deploy/one-click-help.png b/static/images/one-click-deploy/one-click-help.png similarity index 100% rename from images/one-click-deploy/one-click-help.png rename to static/images/one-click-deploy/one-click-help.png diff --git a/images/one-click-deploy/one-click-install.png b/static/images/one-click-deploy/one-click-install.png similarity index 100% rename from images/one-click-deploy/one-click-install.png rename to static/images/one-click-deploy/one-click-install.png diff --git a/images/pages/page-add-content.png b/static/images/pages/page-add-content.png similarity index 100% rename from images/pages/page-add-content.png rename to static/images/pages/page-add-content.png diff --git a/images/pages/page-create.png b/static/images/pages/page-create.png similarity index 100% rename from images/pages/page-create.png rename to static/images/pages/page-create.png diff --git a/images/plane-github.png b/static/images/plane-github.png similarity index 100% rename from images/plane-github.png rename to static/images/plane-github.png diff --git a/images/plane-one/prime-all-licenses.png b/static/images/plane-one/prime-all-licenses.png similarity index 100% rename from images/plane-one/prime-all-licenses.png rename to static/images/plane-one/prime-all-licenses.png diff --git a/images/plane-one/prime-inside-a-license.png b/static/images/plane-one/prime-inside-a-license.png similarity index 100% rename from images/plane-one/prime-inside-a-license.png rename to static/images/plane-one/prime-inside-a-license.png diff --git a/images/plane_analytics.png b/static/images/plane_analytics.png similarity index 100% rename from images/plane_analytics.png rename to static/images/plane_analytics.png diff --git a/images/power-k/power-k1.png b/static/images/power-k/power-k1.png similarity index 100% rename from images/power-k/power-k1.png rename to static/images/power-k/power-k1.png diff --git a/images/power-k/power-k2.png b/static/images/power-k/power-k2.png similarity index 100% rename from images/power-k/power-k2.png rename to static/images/power-k/power-k2.png diff --git a/images/power-k/power-k3.png b/static/images/power-k/power-k3.png similarity index 100% rename from images/power-k/power-k3.png rename to static/images/power-k/power-k3.png diff --git a/images/power-k/power-k4.png b/static/images/power-k/power-k4.png similarity index 100% rename from images/power-k/power-k4.png rename to static/images/power-k/power-k4.png diff --git a/images/power-k/power-k5.png b/static/images/power-k/power-k5.png similarity index 100% rename from images/power-k/power-k5.png rename to static/images/power-k/power-k5.png diff --git a/images/power-k/power-k6.png b/static/images/power-k/power-k6.png similarity index 100% rename from images/power-k/power-k6.png rename to static/images/power-k/power-k6.png diff --git a/images/power-k1.png b/static/images/power-k1.png similarity index 100% rename from images/power-k1.png rename to static/images/power-k1.png diff --git a/images/power-k2.png b/static/images/power-k2.png similarity index 100% rename from images/power-k2.png rename to static/images/power-k2.png diff --git a/images/power-k3.png b/static/images/power-k3.png similarity index 100% rename from images/power-k3.png rename to static/images/power-k3.png diff --git a/images/power-k4.png b/static/images/power-k4.png similarity index 100% rename from images/power-k4.png rename to static/images/power-k4.png diff --git a/images/power-k5.png b/static/images/power-k5.png similarity index 100% rename from images/power-k5.png rename to static/images/power-k5.png diff --git a/images/power-k6.png b/static/images/power-k6.png similarity index 100% rename from images/power-k6.png rename to static/images/power-k6.png diff --git a/images/projects/project-automations.png b/static/images/projects/project-automations.png similarity index 100% rename from images/projects/project-automations.png rename to static/images/projects/project-automations.png diff --git a/images/projects/project-close-automation.png b/static/images/projects/project-close-automation.png similarity index 100% rename from images/projects/project-close-automation.png rename to static/images/projects/project-close-automation.png diff --git a/images/projects/project-create.png b/static/images/projects/project-create.png similarity index 100% rename from images/projects/project-create.png rename to static/images/projects/project-create.png diff --git a/images/projects/project-features.png b/static/images/projects/project-features.png similarity index 100% rename from images/projects/project-features.png rename to static/images/projects/project-features.png diff --git a/images/projects/project-labels.png b/static/images/projects/project-labels.png similarity index 100% rename from images/projects/project-labels.png rename to static/images/projects/project-labels.png diff --git a/images/projects/project-members.png b/static/images/projects/project-members.png similarity index 100% rename from images/projects/project-members.png rename to static/images/projects/project-members.png diff --git a/images/projects/project-new-state.png b/static/images/projects/project-new-state.png similarity index 100% rename from images/projects/project-new-state.png rename to static/images/projects/project-new-state.png diff --git a/images/projects/project-states.png b/static/images/projects/project-states.png similarity index 100% rename from images/projects/project-states.png rename to static/images/projects/project-states.png diff --git a/images/secure-instance.png b/static/images/secure-instance.png similarity index 100% rename from images/secure-instance.png rename to static/images/secure-instance.png diff --git a/images/set-password.png b/static/images/set-password.png similarity index 100% rename from images/set-password.png rename to static/images/set-password.png diff --git a/images/signup-signin.png b/static/images/signup-signin.png similarity index 100% rename from images/signup-signin.png rename to static/images/signup-signin.png diff --git a/images/time-tracking/enable-time-tracking.webp b/static/images/time-tracking/enable-time-tracking.webp similarity index 100% rename from images/time-tracking/enable-time-tracking.webp rename to static/images/time-tracking/enable-time-tracking.webp diff --git a/images/time-tracking/filter-and-download-worklogs.webp b/static/images/time-tracking/filter-and-download-worklogs.webp similarity index 100% rename from images/time-tracking/filter-and-download-worklogs.webp rename to static/images/time-tracking/filter-and-download-worklogs.webp diff --git a/images/time-tracking/log-work.webp b/static/images/time-tracking/log-work.webp similarity index 100% rename from images/time-tracking/log-work.webp rename to static/images/time-tracking/log-work.webp diff --git a/images/time-tracking/project-settings.webp b/static/images/time-tracking/project-settings.webp similarity index 100% rename from images/time-tracking/project-settings.webp rename to static/images/time-tracking/project-settings.webp diff --git a/images/time-tracking/view-worklogs.webp b/static/images/time-tracking/view-worklogs.webp similarity index 100% rename from images/time-tracking/view-worklogs.webp rename to static/images/time-tracking/view-worklogs.webp diff --git a/images/time-tracking/worklog-created.webp b/static/images/time-tracking/worklog-created.webp similarity index 100% rename from images/time-tracking/worklog-created.webp rename to static/images/time-tracking/worklog-created.webp diff --git a/images/time-tracking/workspace-settings.webp b/static/images/time-tracking/workspace-settings.webp similarity index 100% rename from images/time-tracking/workspace-settings.webp rename to static/images/time-tracking/workspace-settings.webp diff --git a/images/update-plane/docker-volumes.png b/static/images/update-plane/docker-volumes.png similarity index 100% rename from images/update-plane/docker-volumes.png rename to static/images/update-plane/docker-volumes.png diff --git a/images/view-logs/container-logs.webp b/static/images/view-logs/container-logs.webp similarity index 100% rename from images/view-logs/container-logs.webp rename to static/images/view-logs/container-logs.webp diff --git a/images/views/create-view-modal.png b/static/images/views/create-view-modal.png similarity index 100% rename from images/views/create-view-modal.png rename to static/images/views/create-view-modal.png diff --git a/images/views/view-create-from-existing.png b/static/images/views/view-create-from-existing.png similarity index 100% rename from images/views/view-create-from-existing.png rename to static/images/views/view-create-from-existing.png diff --git a/images/views/views-overview.png b/static/images/views/views-overview.png similarity index 100% rename from images/views/views-overview.png rename to static/images/views/views-overview.png diff --git a/static/images/webhooks/create.png b/static/images/webhooks/create.png new file mode 100644 index 0000000..bc4b328 Binary files /dev/null and b/static/images/webhooks/create.png differ diff --git a/static/images/webhooks/details.png b/static/images/webhooks/details.png new file mode 100644 index 0000000..5f1bbb5 Binary files /dev/null and b/static/images/webhooks/details.png differ diff --git a/static/images/webhooks/key.png b/static/images/webhooks/key.png new file mode 100644 index 0000000..f860592 Binary files /dev/null and b/static/images/webhooks/key.png differ diff --git a/images/workspaces/add-user.png b/static/images/workspaces/add-user.png similarity index 100% rename from images/workspaces/add-user.png rename to static/images/workspaces/add-user.png diff --git a/images/workspaces/create-workspace.png b/static/images/workspaces/create-workspace.png similarity index 100% rename from images/workspaces/create-workspace.png rename to static/images/workspaces/create-workspace.png diff --git a/images/workspaces/remove-user.png b/static/images/workspaces/remove-user.png similarity index 100% rename from images/workspaces/remove-user.png rename to static/images/workspaces/remove-user.png diff --git a/images/workspaces/update-user.png b/static/images/workspaces/update-user.png similarity index 100% rename from images/workspaces/update-user.png rename to static/images/workspaces/update-user.png diff --git a/images/workspaces/workspace-settings.png b/static/images/workspaces/workspace-settings.png similarity index 100% rename from images/workspaces/workspace-settings.png rename to static/images/workspaces/workspace-settings.png diff --git a/static/img/favicon/black/android-chrome-192x192.png b/static/img/favicon/black/android-chrome-192x192.png new file mode 100644 index 0000000..4a005e5 Binary files /dev/null and b/static/img/favicon/black/android-chrome-192x192.png differ diff --git a/static/img/favicon/black/android-chrome-512x512.png b/static/img/favicon/black/android-chrome-512x512.png new file mode 100644 index 0000000..27fafe8 Binary files /dev/null and b/static/img/favicon/black/android-chrome-512x512.png differ diff --git a/static/img/favicon/black/apple-touch-icon.png b/static/img/favicon/black/apple-touch-icon.png new file mode 100644 index 0000000..a631267 Binary files /dev/null and b/static/img/favicon/black/apple-touch-icon.png differ diff --git a/static/img/favicon/black/favicon-16x16.png b/static/img/favicon/black/favicon-16x16.png new file mode 100644 index 0000000..af59ef0 Binary files /dev/null and b/static/img/favicon/black/favicon-16x16.png differ diff --git a/static/img/favicon/black/favicon-32x32.png b/static/img/favicon/black/favicon-32x32.png new file mode 100644 index 0000000..16a1271 Binary files /dev/null and b/static/img/favicon/black/favicon-32x32.png differ diff --git a/static/img/favicon/black/favicon.ico b/static/img/favicon/black/favicon.ico new file mode 100644 index 0000000..613b1a3 Binary files /dev/null and b/static/img/favicon/black/favicon.ico differ diff --git a/static/img/favicon/black/site.webmanifest b/static/img/favicon/black/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/static/img/favicon/black/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/static/img/favicon/brand/android-chrome-192x192.png b/static/img/favicon/brand/android-chrome-192x192.png new file mode 100644 index 0000000..abe1357 Binary files /dev/null and b/static/img/favicon/brand/android-chrome-192x192.png differ diff --git a/static/img/favicon/brand/android-chrome-512x512.png b/static/img/favicon/brand/android-chrome-512x512.png new file mode 100644 index 0000000..7f14471 Binary files /dev/null and b/static/img/favicon/brand/android-chrome-512x512.png differ diff --git a/static/img/favicon/brand/apple-touch-icon.png b/static/img/favicon/brand/apple-touch-icon.png new file mode 100644 index 0000000..be1806c Binary files /dev/null and b/static/img/favicon/brand/apple-touch-icon.png differ diff --git a/static/img/favicon/brand/favicon-16x16.png b/static/img/favicon/brand/favicon-16x16.png new file mode 100644 index 0000000..837ddff Binary files /dev/null and b/static/img/favicon/brand/favicon-16x16.png differ diff --git a/static/img/favicon/brand/favicon-32x32.png b/static/img/favicon/brand/favicon-32x32.png new file mode 100644 index 0000000..fad17f3 Binary files /dev/null and b/static/img/favicon/brand/favicon-32x32.png differ diff --git a/static/img/favicon/brand/favicon.ico b/static/img/favicon/brand/favicon.ico new file mode 100644 index 0000000..f303dd4 Binary files /dev/null and b/static/img/favicon/brand/favicon.ico differ diff --git a/static/img/favicon/brand/site.webmanifest b/static/img/favicon/brand/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/static/img/favicon/brand/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/static/img/favicon/white/android-chrome-192x192.png b/static/img/favicon/white/android-chrome-192x192.png new file mode 100644 index 0000000..cb04358 Binary files /dev/null and b/static/img/favicon/white/android-chrome-192x192.png differ diff --git a/static/img/favicon/white/android-chrome-512x512.png b/static/img/favicon/white/android-chrome-512x512.png new file mode 100644 index 0000000..2457f96 Binary files /dev/null and b/static/img/favicon/white/android-chrome-512x512.png differ diff --git a/static/img/favicon/white/apple-touch-icon.png b/static/img/favicon/white/apple-touch-icon.png new file mode 100644 index 0000000..e0b1435 Binary files /dev/null and b/static/img/favicon/white/apple-touch-icon.png differ diff --git a/static/img/favicon/white/favicon-16x16.png b/static/img/favicon/white/favicon-16x16.png new file mode 100644 index 0000000..8f8320f Binary files /dev/null and b/static/img/favicon/white/favicon-16x16.png differ diff --git a/static/img/favicon/white/favicon-32x32.png b/static/img/favicon/white/favicon-32x32.png new file mode 100644 index 0000000..05ce4ee Binary files /dev/null and b/static/img/favicon/white/favicon-32x32.png differ diff --git a/static/img/favicon/white/favicon.ico b/static/img/favicon/white/favicon.ico new file mode 100644 index 0000000..85774d0 Binary files /dev/null and b/static/img/favicon/white/favicon.ico differ diff --git a/static/img/favicon/white/site.webmanifest b/static/img/favicon/white/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/static/img/favicon/white/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/static/img/logo/old-dark.svg b/static/img/logo/old-dark.svg new file mode 100644 index 0000000..860442f --- /dev/null +++ b/static/img/logo/old-dark.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logo/old-favicon-32x32.png b/static/img/logo/old-favicon-32x32.png new file mode 100644 index 0000000..be1a753 Binary files /dev/null and b/static/img/logo/old-favicon-32x32.png differ diff --git a/static/img/logo/old-favicon.svg b/static/img/logo/old-favicon.svg new file mode 100644 index 0000000..860442f --- /dev/null +++ b/static/img/logo/old-favicon.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logo/old-light.svg b/static/img/logo/old-light.svg new file mode 100644 index 0000000..860442f --- /dev/null +++ b/static/img/logo/old-light.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logo/symbol-black.png b/static/img/logo/symbol-black.png new file mode 100644 index 0000000..3875e4e Binary files /dev/null and b/static/img/logo/symbol-black.png differ diff --git a/static/img/logo/symbol-white.png b/static/img/logo/symbol-white.png new file mode 100644 index 0000000..15f2f03 Binary files /dev/null and b/static/img/logo/symbol-white.png differ diff --git a/static/img/logo2/dark.svg b/static/img/logo2/dark.svg new file mode 100644 index 0000000..860442f --- /dev/null +++ b/static/img/logo2/dark.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logo2/favicon-32x32.png b/static/img/logo2/favicon-32x32.png new file mode 100644 index 0000000..be1a753 Binary files /dev/null and b/static/img/logo2/favicon-32x32.png differ diff --git a/static/img/logo2/favicon.svg b/static/img/logo2/favicon.svg new file mode 100644 index 0000000..860442f --- /dev/null +++ b/static/img/logo2/favicon.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logo2/light.svg b/static/img/logo2/light.svg new file mode 100644 index 0000000..860442f --- /dev/null +++ b/static/img/logo2/light.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..4028abc --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + // This file is not used in compilation. It is here just for a nice editor experience. + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + }, + "include": ["src", "docs"], + "exclude": [".docusaurus", "build", "node_modules"] +} diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..7eb4d56 --- /dev/null +++ b/vercel.json @@ -0,0 +1,30 @@ +{ + "cleanUrls": true, + "trailingSlash": false, + "redirects": [ + { + "source": "/self-hosting/methods/one-click", + "destination": "/self-hosting/methods/docker-compose" + }, + { + "source": "/intro", + "destination": "/" + }, + { + "source": "/self-hosting/telemetry", + "destination": "/self-hosting/govern/telemetry" + }, + { + "source": "/self-hosting/upgrade-from-community", + "destination": "/self-hosting/manage/upgrade/upgrade-from-community" + }, + { + "source": "/api-reference/(.*)", + "destination": "/api" + }, + { + "source": "/api-reference/byoa/build-plane-app", + "destination": "/apps/build-plane-app" + } + ] +} diff --git a/webhooks/intro-webhooks.mdx b/webhooks/intro-webhooks.mdx deleted file mode 100644 index 3c5d1f2..0000000 --- a/webhooks/intro-webhooks.mdx +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Webhooks -sidebarTitle: Introduction -description: A webhook triggers a HTTP POST request on the specified url, whenever there is a change in an event. Like a new project is created, updated or deleted then a webhook can be triggered to receive the required payload. ---- -## Creating a webhook - -`url` You are required to provide a url in which you want the payloads to be triggered. - -Then select the events for which you want the webhook to be triggered. - -After you create the webhook, a secret key will be created automatically and will be downloaded in csv format. - -``` -"Content-Type": "application/json", -"User-Agent": "Autopilot", -"X-Plane-Delivery": "f819eff4-cd50-4987-bc97-e5be1e04c94f", -"X-Plane-Event": "project", -"X-Plane-Signature": "7896ae9addb1f73931132b4f3e052bf12c410b837b24898e75dcd660c7" - -``` - - - -|Header |Description | -|-----------------|--------------------------------------------------------------------| -|X-Plane-Delivery |It is a randomly generated UUID for uniquely identifying the payload| -|X-Plane-Event |It describes the event for which the webhook triggered | -|X-Plane-Signature|A signature is generated based on the secret and the payload | - - -### Webhook Payload Example for the project `update` - -``` -"event": "project", -"action": "update", -"webhook_id": "3c2c32ac-82df-48b3-be2a-a3e21dbe8692", -"workspace_id": "d2d97c94-a6ad-4012-b526-5577c0d7c769", -"data": { - "id":"22b6fc9c-1849-45da-b103-52a3e3a6b4c1", - "workspace_detail": { - "name":"Testing Project", - "slug":"testing-project", - "id":"bob1b192-f988-4bf9-b569-825de8cb0678" - }, - "created_at":"2023-10-25T04:38:59.566962Z", - "updated_at":"2023-10-25T06:44:48.543685Z", - "name":"vfecddcwerj", - "description":"", - "description_text":null, - "description_html":null, - "network":2, - "identifier":"TRACE", - "emoji":null, - "icon_prop":null, - "module_view":true, - "cycle_view":true, - "issue_views_view":true, - "page_view":true, - "inbox_view":true, - "cover_image":null, - "archive_in":0, - "close_in":0, - "created_by":"6bb20d1c-4960-41ca-af4f-cee01de160c4", - "updated_by":"6bb20d1c-4960-41ca-af4f-cee01de160c4", - "workspace":"bob1b192-f988-4bf9-b569-825de8cb0678", - "default_assignee":null, - "project_lead":null, - "estimate":null, - "default_state":null -}, - -``` - - -User can choose the things for which they want the webhook to be triggered. - -Currently Plane supports the following events for which webhook can be trigged: - - - Project - - Issue - - Cycle - - Module - - Issue Comment - -## Verifying Signature - -``` -import hashlib -import hmac - -secret_token = os.environ.get("WEBHOOK_SECRET") - -received_signature = request.headers.get('X-Plane-Signature') -received_payload = json.dumps(request.json).encode('utf-8') - -expected_signature = hmac.new(secret_token.encode('utf-8'), msg=received_payload, digestmod=hashlib.sha256).hexdigest() - -if not hmac.compare_digest(expected_signature, received_signature): - raise HTTPException(status_code=403, detail="Invalid Signature provided") - -``` - - -## How webhook works - -Your webhook consumer is a simple HTTP endpoint. It must satisfy the following conditions: - -* It's available in a publicly accessible non-localhost URL. -* It will respond to the Plane Webhook push (HTTP POST request) with a `HTTP 200` ("OK") response. - -If a delivery fails (i.e. server unavailable or responded with a non-200 HTTP status code), the push will be retried a couple of times. Here an exponential backoff delay is used: the attempt will be retried after approximately 10 minutes, then 30 minutes, and so on. - -The webhooks are triggered for POST, PATCH, and DELETE requests. - -* For DELETE requests, the response only includes the ID of the deleted entity. - -``` -"action":"delete", -"data":{ - "id":"9a28bd00-ed9c-4f5d-8be9-fc05cbb1fc57" -}, -"event":"issue", -"webhook_id":"f1a2fe64-c8d4-4eed-b3ef-498690052c1d", -"workspace_id":"c467e125-59e3-44ec-b5ee-f9c1e138c611" - -``` - - -* However, for both POST and PATCH requests, the complete payload is sent in the response. - -``` -"event":"issue", -"action":"update", -"webhook_id":"f1a2fe64-c8d4-4eed-b3ef-498690052c1d", -"workspace_id":"c467e125-59e3-44ec-b5ee-f9c1e138c611", -"data":{ ... } - -``` - - -Note: Whenever an issue is added to the module, the corresponding issue webhook will be triggered. Similarly, any updates made to the cycle issue will also activate the issue webhook. \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index fb57ccd..0000000 --- a/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - -