diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5d47c21 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# 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 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/workflows/ci.yml b/.github/workflows/ci.yml index 3fbeb4e..74d3408 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/.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..d78db47 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "printWidth": 85, + "tabWidth": 2, + "singleQuote": true +} 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/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..484b650 --- /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/ai-solutions/overview.mdx b/docs/ai-solutions/overview.mdx new file mode 100644 index 0000000..e020100 --- /dev/null +++ b/docs/ai-solutions/overview.mdx @@ -0,0 +1,101 @@ +--- +title: AI Solutions Overview +sidebar_label: Overview +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 that can be used by developers to build +robust applications that leverage the power of AI. +Please send feedback to engineering@plane.so. +::: + +## Using the Plane MCP Server + +Follow the steps below to integrate with the Plane MCP Server. + +### Claude.ai + +- Open **Settings** from the sidebar on the web or desktop app. +- Scroll down to the **Integrations** section and click **Add more**. +- Enter the following Integration URL: `https://mcp.plane.so/sse` +- Click **Connect** to link your Plane workspace. + +### Claude Desktop + +You can 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 + +You can also 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 face any issues with Plane Auth, please run the command below in the +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 following the above steps, when activating the server, you will be +prompted via your browser to connect your Plane workspace to the MCP server. + +When prompted to authorize, click "**Approve**". + +import Approve from '@site/static/images/mcp/approve.png'; + +authorization + +
+
+Next, choose the workspace to which you want to connect, review the permissions +and click "**Accept**". + +import Accept from '@site/static/images/mcp/accept.png'; + +accept + +## Congrats! + +You have successfully connected your Plane workspace to the MCP server! 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: eJztnVt3HDeS579KnnrpmTks8WJKdvNpKUqWZJEyW6Tk7bF9qlGZYCVYmUAJmSBV0uF3nxOBWwSqaOvSszu7LT/IxD9+QCKRuBUqovLjxKykFaMy+kUzOZrUVopRzpQexVLObo1dztQo+8nOpJFDbdUKyMnR5MLNezVWotLytgKsAqwaTTW2slpZcy3r8S9D5Quq3jnpZHVlbGXljZK3ldBNNVolFvJBdexG04tR1aLr1pWvwYDl5IJv1dhWjbwSrhtDxmoYxShDSaJeDpWoR3WjxvWDyc5kJazo5SjtMDn69eNEQaVXYmwnOxMtegkpX8mZaiY7k6FuZS8mRx8n43oF1mG0Si8mO5MrY3sxTo4mzqlmclc2xLkvpXrxZLIzsfKdU1Y2k6PROrkzke9Fv+rkAOU+9X8H/sUT0G5E5+BiDx/uyR8O9/am8uCv8+nhfnM4Fd/vP5oeHj569PDh4eHe3t4eVNL1vbDryVEsLDa0vzqv2HE1rlfQpgl68+bFk8nd3d3O1uYYOrf4g4bYuPFfjF0OK1HLKuT8hJtPeejN9+vpbdK33SS13nePt7w2d3d3v+9MRrGApz95gZ1w8ruvoxzGx6ZZQxVqo0epR/hTrFadqnEg7F4PUPrHzbYwc2jIzcEgrRKd+iAtdnHswUovYudPvXjw3Vj2c9k0sqnUMDhZNWIUD37Tv+kzocVCDhvZQoFGV0rXnWugaC2HMZUQ7Tu/aRgTbqjEMKiF7qUed3CADMbZWvpxAtmhmj6vH5k9Xhp4HDsWJoVR+WeHHDZR1/18haPps5oj3wfcKTaB0vEmB5hHhkEZPWAbPBe66eRQyWGQelThyfrsV0p2zeDr7nOvrKnlMPi2Dk3zmw5PtboRnWp8w0EbrKwyVo1r0jhYVphN4DpXnbkdNlvAj5DNqaFX+lTqxdhOjvZ3JqMaOzC/wHZ9BXl2Jr14H5GDhw/LQfSRC7N27LutQy/WnT8GqV0P/dvZBfTinUmrFjCie9koB3N2Z25hgBuNnb+sPn9q/1H9w5fzj2pavcG/ftP/Uf0DygTpuVq0KPjSQTrDv1DszC0op+YWk3BJSL+CS+emOQ+38RQqjiOUtVk0T+7u6HTyq38AJf6jsX5gv/aDGgvk9/QiDTD/pFsZe47v1Hc7E5/+pInfj62tj2B6sDPd39nb2d85yA2t9CgX0m5r6ekBtM651L7HgrIPymsJI0o2KO2BcqGN+RAERI7rWq4igsU8cX7qoi3tWwbm2xej7C+w5qnVe6VVD/WeHuwffn/4w3ePDn/ArurVJH4PN+2vPxtVt6VrklZqxCino8Jer13XiTlUBJYC6OSxirPR/HlbbynAT2DbsnJ0y4jzWWeyF2rrHRTXKrpe6B87YRr8vWxi7GInuGdJ/ZCvfRtcnh/JMkjm2bAgv5K3Feba6EBgCWsH0eksEaeAu41lOy6qYSXkC5bQxfiA/HRlfD+9vb2dwtOaOttJXZsGmunbUvltqfy2VH5bKr8tld+Wyn/lpbJ33ahWwo67uETCaPq2OH5bHL8tjt8Wx2+L47fF8V95cbwrD4ihRWXt/HV+/Tg5XqmXcn3sxhYmbP95c3L06+9wXP0zyAdbbHikO6yMHnwbHezt/xPPdU9Mv7KylXpQN7Ia+HJ036L8fiU0WZTlKFTn16Rza25UI4fqynXd5uqM00temYvVXWnft9nyHNfhHfJ9StXLUaSp6pMX5+ZThpOVovlZd+v0BLH4mb/Jz1nan74fJbZSvn3SvNiQ2EhWdnjLQ6tWvmlhieetee8TwMyyKRu2XtedHHaq3jQO/vhNd2Iuu2EnLOgSjLjZGfGLKOzZrCdggVaurITNBVbwn9aiWLvPacpTtWjHWwn/+lsrOyrO0qLztR6t0MOVtLwJ8y7Jl0A6G7apcSM2gYPm7OVoVQ3tZlaj6tUH2eB1OjWMFXy5N2DrWXklrdS1rDpjlm61ZT/0pU2Es18zE+MnLyQbZbhV83Vl5Pn7VAxjdWYadaVkUx2P/quyTn5m8RtL1X27xXjdE3xUn7Y//JNCnhDYb1DsOIPKfXntpW6+sgToSjPoMIPf4A7GjjNjG7/chTK16+e4NcplGgel4OI5SqtFN/uKRT+Vsb2v/mn+lTULK4dhNmixGloz+nsRtm7VzVd2kM4sDG0g4D7ARvkob+mPr6yqxe7xXDXXAtb2KNS1FSTZNGqYHc/FnIrdQsH351kYekFzPRa9WBqa1gunWPradSSthkE4ku6EHtdWEsWKDx/Ejeo6Krpr188dvfKJUNbQ5CDmndA1RaQbadJosbTrLDwRS2Fp0s7kMLsQnRA9ka/V3LiR3NQT40RHCn7azY6FcqRtf7RSjuaWKM/E3Fj/ESYoz4UV9MZ/Mq3QWg5zZxdEdfR5vBT9il36ZSvsaByp7ku1EJ2iaT20YiB5TsXCkEd6qubgkcHa+9T0NOWEbmgBbu76uRhaRbVBLAlzJjoxNzS9ciNLD9KSjnAGHY82z5lZiEYNLWWMhuWKXOUVdII5qcar5lr0UlNEiV6Sh/7KOLGsWzOOWfvZiYVojFsYcrVzY0czfWVuSK0vhJldsra5tGplaHtfOq1I6/6idNMauQSll2GkCZbUdWusWEimLZzq/INO0qgWjilWLJxQmmvwaVtpGDJSm2F2rKwctgInYhS9sPX27CfGNma+3faTu3brrZZTMXutzPX2bGdSN+bDdttrZWbPRNfJ0DU3gAvRjduzXgg9+8n5mW2r8dSp7WVeutr192R8M7ROKH5Fx9tjcLr2n5aSNKqlWbISH4uWlYLp2WPYnloxMIOdi4bd/WPZod8VSasPtJvA7FlPL8S8Y9V4bMTsrRpYez02C1MIaqBlnYh+blWzkLPHYs31lZk9s1BjJuvaaSZYUbM7OhFrqTXPtObtfdKqWiwMV1onWtbRT5RrRAMP2coPVDfDCB2OdeETK4eRNceJU4I9uRMHVaVXfSJ0L+xyaMWNZvLtYDaF2YmVbEQ/kfoGtyBZGK1RI1UMbMJZTZ82vdG8qk+VdVquaJs97WBFuhGNoRf4EXZCr2THqweq6CQbY886UZfP9Jkxw4YGT3h26eySiVKLhhXnRCM741gdnzkxyl50BbgW75zqmLYWbLp6Ljp1Jd4z5aZApO3NoLqOPq8XulFCp//DDDxsMb/U5v0W+UxYqRfbyjtHd8G4AhfGS9l1sxM4rNi0vZU3YquudA2DYFvtflFa9KJmFnejaPu/eCc6x/rRT6IXvBv95LT0W6ogvJR6dPVyvXtqnBrSyl5azwwcpEjesC+t6OAo8ZrW4lTMzgUdeKeqpzU4hXVGL2THbvPU3Eo7O7fQAlQ/E7VUhgla8JUNFMfzWLUwI1dGpdU7J5k4it5Yw7N+EGPHZp0zqWE0SpZVWsU6+pkcO7GErEx8r2pTdoIzqAafgs+MrsdSGaW1cl1q8PnbFOIgrRX0dl+JuG+Ogryd/d2wwfoqbExS0hrdCq6M7eyJWJoRFhPXifY+64mE2t5nhYtfCL44vXKOVubna6XFgl79XEB3Z4KFDYia07s/b43Uio5a2IdNhZv6nlQYZuZqdrESShe6mb2VXcsKdhLk16rmqh7F7BimOdppXgu9VHr2QneSPoXXslZXkgkLvv96LQfTuZExysweW6HZdS+EHoVlDQiS4oshSGaGS0ehm9m5cGzkXtTGymG+HpxuqKzGJa3gxTh7LOzYwtZizfWfTKsHLr1U41hIp65WRYGXrelFgfmJjzbexa26GmcnzlquX8qFq+FDy4oWe9k6Nm1dqmvHF4ZL6N+j4cpo2Hh9C83u+Nr8S6tG2RrLdj+/KK3VStJp/+9i6UY/COFZ1aPfwQx+BGfpibjxiw+RHKzsT97YNPlm25mo3zlh1YYctxpEq8+cbQwXz0XX+/vJ2mszttJ/OM7ixdrcFtKlNV3HpbdmGA0OXBR2T41erKWw87XE2gwKPrCQv7te+MkPU33Yz2FCi2ZtU+rd6CeskDBzmVJDuxBz37SYHtc2s4/Fom1Ek5OtDePbJ5eE1Iulr7xPWi38YQMmpbIuXeOxGtqlzCzss1RMnbTK7419wqi56IZ8YyemM72fpSD5RPRiqP36hOk2fPLFhOpSsU/cXJDE0AqdG+FH0YuFG/J1n4kP6e/ncm5Nuv5zMztp1exM6TZLejF7afCoKAg3qcle2KUbh3SvP8ExR77OT2ItVuEoBdPSuiFO5iC8FPPcii9FX7dizDf4Evb5rcrJse2FbtJDedkK3awXmTfdUuSrv7Ri0GYtbK7fSzhNmZ26fuVs1upW5bt76W6FSs/yTNS5u5zBR/f8rM7EEpZKm9NadenqZ26oc797pWozqGSEj/pL90FL0nagDWquSHV/7snfVqSWOm+16WfnMj+kc9hhCS0Sfr6G0SXyff1NjLmqf4OPM1qkwfW39Yd1Z2yTKvharUWTSr8Qy1Z0eWRcwGK6FDp1gwtp8nO8aIVetLk7Xii9ECtjU3+8sLLRcmm6Nbm/S6FWeZhcChhDOrXf5Vx1ashm2dr8IC5b1a/a9JguzXJtcoJc400nhJ4L2hJvrOvfpXLfDOP0lcwd9q3Cbyp0qvrbTjTqJk1kIOHkPZCkXuTx9He5FKO0SseNvhetvPHVh+0izIXHH0w4PInKY2l75x9IlE6EFv5QMSsrOXsrrf+8HNUfhTVMOBONVJaV9Vqul9cifASI4oVxYzt7Jo1dKEZfjLPnsguHXVkUuvNLlBtGKzo/f3dC+eok8bFVQzxxI6JZSj17rvwykfQnwt76npakp6724yopz81c2JFJp0o3MiwRWTS2mT03t/zSZ7KbG2eLCp1LixFKWblYNxrvDxq+gcXD33lWYO/qx2UQnooBjvCzcGZg26eI8kreXhmnm86Pn6Cei1pdYdFPHXxttXvcQ0kNHg9HSTfG4mOMAtR02eJNRwm+tR5y+rHsFlbgA0mK9UM5piEgb+jEjaCaGwbZ0XJc3Qo476BSI1aFAl5NkhR+0qpBaZxCo2JWUreCUU/cnFXpmZpbOISzRHLSar8hCspz2Q1KL1VWXgydhF36GW2QFzDT+VUmKD9Jywp6CVOb0tBMRFTW3JDkWpHUqRrmhlzj9NrNu2u/Z4yS0Q1D3HvZQ69bZO1MNFY1NO0PHlPSKtmKnpRypjTONDFptMC9fkoPNTpPhfTPQ0es58Iq8kTPTbMw1n/AjxIc85Ku8lotiPW1/9AXUrgGCJrWM6ixNlSz4lreFMpIG/ZC9VfSmpUhD+hiaVbX9FLmStErjaZetqYjI+NSdJ3SpKEulfUTTki/6dZCmxvaeG9F4z7QJGxSSREw99Mn+lZ1WjnSgG9NtzC81/wi7CDIA/hPsbByTtLOqhommWdnl5OdiT+egfN2oWFuV9hUQT1pw5cnKW3VMPpPP1EyNSMMnEjk9EtpFw6m7SydiVbSVNeoGzlQBXxk/G0maW3GkeR6LZ32h9Fh0to9XuHzSUlXL8PsFqXHxi2E0vFDSpRPWjG2OMVlxX+4j2k/oVLhyvuMxfSPYinMlaGKulY06bS48l+qRemZ6MQqtG7W+rliV4LzR9HVQuMET1Ra3+dGm851jkgvRThqTYKCNgUPByqawQp6Iy9vxbXopKI5z8S1s4YJFjygBK35mWpucSsXhVfCWVqhV8rRC70y9sp0S6a4XtIneC4W8LF/YZjWCVrquRproSyt7rlptd/EZcWOszN/XEDk18Ka0egFveaFUCtBS7sUrWJNdimsuKVZLqGIUaxotX7xjm852fkD2zcXu8edGPDTBfxt1QejQyIv428uyBL+5mL3ubgVSvm/yVL+5oIs2G8uTz7JUZV/O45ekUxB30j6jTlFIM2A/B06xbLKYP/dOgW9wiD8vp0yKFDEfwVPEC9wBL5PZAgIBXLtOo5cu44h+N09RVBgSPg6n0JBYlj+jp+SWWVw/O6folGjIHoEEAjTHIg+AoyKIkPBdYBSkGaAdyagiFcohA4GBME0B4jLAQOJzjIEZwTKBolh6KFAIRQoEp0WCBQlikVPBoJFiWLRvYFgUaKY93kgkBcoQt0gCEhlhjs21iBJzcFhghBBYVBwoqBUkBiGnhUUQoEj3tmCQV6iGHpgEAbTDEg+GZRKIkNNzyDTczP6blAABY5Edw6GRZGj4OXBMBAo4h0/COIFjoAvCENA4Ai4hzAEBIZ4jxHKeIVB0YuEYlHjoPctYZyXKBYcTggVFAYFJxRKBYlh6JlCIRQYkpxVKJZEihIfFsISlcLZt4WwWaRodHkhYJQoFvxgCBUUBoFvDEUgTYHoLUOYKHksOlo0wjMkzYHoVMOoKBao97XhpNcKED1wOIcSx6JbDgOjWKDbvHV4vm3EPYUkj57tJSTzfdm9y889mb3xnqzoEbQ9I5ruyRbdhbbnjNZ7Mgd3ou15g/GerNTbaHt+StxTCHokbc+NpnuzeXel+3J66x9kBnem+zOD9Z7Mwd1pe95gvCdr8IbanjUYi6yu7Emu7D3Bf4pRQeNg8KpiYNAYiL5VlEJhE0nuVxtsshSZvGsWx73GQfhWlVEglIj6IAtGfeBTEvXrYijReYbo8cXoKBYoOIJxDpQCUgOvJAgMYf5iFGWGMktyJStyJL3IAE5mHAWlgNDxjFMoFRh6o3EMpRIrxohXOOTd1hjlpRLzvmwF6EWOUhc3hlMDz5K83xifVA57rzhGeolj6CrHKFQKCN3nOIUSw6hPHWWpXmSAr8A5CsoWyHvgbaJe5xnQN4+hqBQQ+utxCiWOBSc+xgWNgdG1j4JR42Bw+GNg0DiY3QAZm2WGE/9AihN5A0fHwRJGkaHJn5CiSeRodDNkaBQ5mrwPGZvUAkavRE6ixLHkqsjIpJawd2EsWC+WqPdsLFAvFig4PHIOFAYFJ0hKBanAboqyvMKh5C3JwKQyeJsXJc22zb61APCz3JYR9K0ZggfmtjzBtDVbds/cljNbt2ZO7pvb8ibj1qzo3bktGxq2Z4mOn1uzRePWrMEvdFvGYCqygdMop0HhkHckZZSXGBa8SykWJI6hyymjUGHQFjdUmmOLeXv27Ke6NXs28+zJkZXlSiqDvYMrBb3CIdWzhoE0B7IbLOOyXODEP5ZnIAaWxbvOUtYrBYTutJxCaQNzQ0m58oLod8splEosOOMWZFALODjpcjaIBep9dznpNQ5Gj15GRrFAwdGXc6AUUHT+5WBUCzg5BXM6yRwP3sKMDRoHvQ8x47xUYt6xuAC9uImiv/EGi+oG7P2QS9irDPb+yRT0CoeCzzLDgsbBeN5E0gWAvs2cQanESofnIktpvj+794i+N7s33589uUzfW0IieCHO8fZyjrdVcLSmTJAY5r2vKeWVAooe2RyMKoe9pzYjvcQx5r7NaGbZyJRcu8s8ybCRJXh9lxmCzPHsDs7wLBd49hPnfNZZBupBTjNQnWdA33KGolJAi+Jg0SsF5H3QOeY1DibPdIYmlcHRY52iUdsAVfHpOGobYPJuL+lkKLIEx3eOB5GjxB+e0UTnGcBTnpEgcIQ6zzOUGsos6Fdf0KiVIHrbFyBqJYg++AWIWgl6z/yC9GKJBof9gg0qh6kjP+OpgWUhPv40A5E5Ds7/DASBIz4egEFe4pgPEmCYl0oMIgcKDCSGpXACCiaRoTnKgLJZ5XCIPmBo0BgYYhIoFySPFYEKyBVaCWL4QgGitgGyoIYyBzOWWVPMQ5Er6ZsZ0lFQKW6gPkiiZL1awj54omC9WKIhpqJgg1rCGGtRoKiVIEZgFCBqJejjMgrSix7dDNdAeFP2eIzjQCgmiAnDOrIRk8Tcx0PRlCJGjPvIVkwSMwSCZCukmNHMJbWauSTmECmSgSAQBINHMoDJbA7RJMke0hTA+BICYJoCS0esS1Y4BqAQK6YpgCEpBMA0ATBIJdsxScw+aiXbfZoAGMeS7ZjMZgxsSVZMUWMMdCFElAjmo18y49MZiPEwiYgCQdroNpBSxKi6fAeQICaIoMk2SFGjj6ghdi9kJAXZJCYpGYLAm2SHRDb5OJxk9ElizoE5mckaBUO4DsGCQqGbhthvSCcNET3JGtIZCDE+CQhpCvioH0J4gSAxECgzUckQBgclAFPUGIKFCBAUCmEAEUEwTYEQUkSQoBAohBllJggE8ZFHmfBpAuRYpAxljYAkQimTRKQoBi4RCtMUgFAmYodkNmNsU7Jiihox1omYMU0BH/1ECC9QBAKiCABJYsYIqWzGZDaHkKlkD2kCkCCqTBGRoyG2ipFByyBEXCUCEsRkRe6NkMimHI+VgCwRLAZpZSoqBIqBWxmKSoYwmCsBmCLGENyV7UEgSIz3ykxUMuRjwBLhk9kcg8ISEAWKhDgxwgSFQBA7lgFIEWOIJcv2IBAkhpdlJioEoiFnGaRqhn0oWqJ8kpp9bBoBvEAQH66WCZ8mAAawZTsmidlHtGW7TxMAYtyyGVLUSG8SU9lIYuASQjQCYmRcZjBJzCFULgNByEiKnktMUgiUI+oylrUMhji7BIU0BSDyjtghScw0FC9TVKUwhugRDNMe4EF7yHCJYyGSj3FB46CP72Ocl0osBv0VaJQ5jtGAjESFQyFCkGFB42CKG2RoUjnM4glZBmYpMsVYQ54hqiWMMYgFipoHNyITEd1QCzhGLHI4qhtwimQs+WQosvggR057rQAx9JFzKBWYj4fknNcKMEZJcjSqJRyjJws6ygWewio5nuQCx3hLjqJUYD4Ik3NeQ7AIzQSukCgWAj0IFRQKhQAQAgWFQjEYhFBRohgN9iQolSkegkoIGRSEyshQwEqNgT5elGJeYVCMIaVY1BiIkaWUQoEiMdiUQFHimA37BiYwJAWlUiyJHPWxqgz0EsNiACvlosZBH9bKOC9xzMe6MsxLFIsBsASLEsNSVCwFk0hRHyxLMC9QJMXPEippDAxRtZQLEsViqC3BokQxEn9LSKJy2MflMtJLFPPBugTyAkVI/C7hiMpgiOulGKQZsFbMvlbM7EN/CeAFhsRoYEpFjYEYI0wpFBiSwoYplkSK+mhignmBI8GPmKY5EEKOGRQ0BkIgMoUgzQAMTaYEChyBaGWGgEARCGAmACSpGSOaiR3TDIgxzhSKGgMx8plSKFAEgqEJAElmDl8kkyQ1+3BpAniBIzGCmmFR5KgPrGagl0psZN09KAxKEdiUSyJDMTCbYigwBGK1KQFpBsTobQpFjYIhpptgQWEQxnlTBgWKpNBvQiWNghgQTiBMcwBDxBmCCoMwbJwyKHAEI8kZgwqDYnQ5xaJGQR9zTigvUMSHoRPECwzByHSKoIDIs7NLMDw7u8Tklqh1MG+RKe7D2QnoBY6ECHdGBY2BEPdOIUhzADx8GAECRVJwPKGSRkEImScMJLnZx9AzxEscC4H1jAsaBzHcnmGoUCiE4BMoKAjRsHxAaJoDIVCfQUFjIA3fpzDVWYYQ2E/ZIBVY8DlhAkP83psyXuEQ/CgAY0BgSPidAAoFiWPqWjFGXSsOhJ8TYFDQGJh+ZICSSSxQ/O0BDqLEsfyDBAzNcon3BcdbP/52AYWixkD/iwYU8wqH0q8cMDCpHMZfP2AgKhyKv4jAuCgy1P9QAuW8UkDhxxM4F0SO4m8qMA4VBuHvLFAGBY4ox+4S0hzwP8bAGC8VGPxCA6dAYVD61QbKJbFAO+E41gle9fj7DowKGgf9rz4wzksFln8KgrNZZxnSj0RQOokM9b8dQTmvMMj/ngSFvFJA8BsTHAKFQ/F3JxgXRYbCz1FQCtIF0AVfeK4glH60AuwpkUz+NyyizaeikRx15FQ0kiOOnIpG/5sXweYT0URPPUgymsnxRU554+UJqpcn5HUgl+EVEv4VXzuTG2kH/gaR/DKyLe/52v5KMPLKlvn6i97aFd/W8iXZ73tRy+O1fyGewbfqfMp72+BFQ8NKbH+TyAZtbvUn1njrW+pIAbmWtA6/Fy9xOVWjnPgXYhXvuvEvOvrSdwr53F/1UqFQxLe3Cv0/8FahM/+svvK1QqGU4r1C9BWVo3yPd3HfYN0soXp9WRYS33P5GYU8vzw7/cx3HG1rxlHYhfyK/PkdkPFNPXNRLzsDmVcd/NgJdFKlp/EFQqALN6AMgwZ7AvwtNMS/yOaTfvAoXAQm/sf+T1wLwhVxyfN/okwu7z/XVOch6XNhffw6CX+hmOqGJ+Yx4U2xquEwPdS7fFz0JZP/n7wF6r/ldU//gmtqJ8UnTe4bN9vD2xTtQPIKa/EX2vDFgZ908WK2LxZtMjfvxBX8T5Zt393vX7f9awm31W0DTW8u/CQaX2z4pfsBzPxV2wFfAt0N5Jcz3qjBia7KK/pvGpb9hTVuBXa8AN8hvHlRNWpYdWKNO4Qr1aH3wOKftjO4b8m8b+m+wPvDFRSGqemM/fzsJ5jtbmeCt779fc15yXAa1zOcTfNf29eJnYl/UejXLBjpevgRIibQRAwXRP7sdQFNvqagX/o652Z6Bu2SXkW8OThZc94/yP5Ftn0rozTNvuVj3P4B+fi29wVbx/+OF5ZTCNTVSn7CElxknCv8le4/arz5etz2WDbb8V/sBer/9zfK8H5pXUu+9fqCU4jyHi9CwdWLJ5Mv2VemCe2rxuXn7Ay35VfDrLHiimaeG9NJof+n7H0/b5v6pwPw87atf1zcP2kbu2VF+Ixt7ZbcK2Gl/qQLb752d8CjfTkrJ/xPL8Jn+OyM2w6xyonlKb6ae/tCrPTcvP92cnP/VJGPDDYWnunBznR/Z29nf+cgLy95jtxYX6YH+Kkdfgwj+LBP90F5LaHHh73XHm7htDEfgoDIcV3LVUSwmCdu1anaz0/paePL7X8xdvlilD39RP/7fbPzlokcbtpffzbCSym+vOm+fPrzWWeyD2+4/9ONx/+EOVe+H634klOCb9MvzkTQeT/pTEDBrPZFF2niqJmN5utn21Dl38sRiLOu3wkI2K7g9EFNRx8nN6Lzf0Bnmzx8uCd/ONzbm8qDv86nh/vN4VR8v/9oenj46NHDh4eHe3t7e5M8Ge3lwTVReiZWqwlplU8tcT+emRxNfpRidFZWcHdyGI+qJ8Iu4RsEuTGRHTdN1URrNbjVytixGk01trISK9++/rUIedue9+RsZ7l/cFisJJODvYPD6d7+dG//cn/v6Lu9o729/5zwlSIx+3uX+w+PDh8icwf/lZX1jV5Bz6zgzKkK14KHc7i3B61VZrgRnWpiQ/iTj5U/TQm59jdzHTtwAR7DncNFGn/qMlS30spKmzEVUhlbCQsnMXilB77Q7zYLPZe2VwN8EVg1UivZPKjeDNJWnaiXQxX7YbVK2BDKOtws67JNz1bCzfneU92KAeuGPtgP8CuxXo6tgQ60MvhGm5WACW6yK1Zq92Z/N43xYffj0LnF3W6YMYbdj+GvmWrudv3QmGKfHHbxudsbPAv89ePE2W5yNGnHcTUc7ULJD+AoXD4YzEZvO7emcXX4KoPmPNrd7UwtutYM49EPfngUx2dgxqVvkDU4GK0v6lb2fjQer9RLuebPjZ5Tohm/C4DrSdHgkh5Gy/+eHp+/mHqg6AjnL6qlXFeCFfygCudx1do4W0VIaRwzqbTKXwef4s9QtYN762fgAgcwYXXm1u9O3Ngaqz4geQIDtxTfYNvtgrZrdqNJTsVqBQ9ohBgNzqCED682K99uFs+CJ6+laCpR13IYYOjHDgXfl9xaOPU5mvwC/9/KQDerO4iAOskDBW/u/2AVNqYK3+LFk4vzGxyCzs3YVqxFqxqmQHgEeAbq74mNfrA9qH409j7jTjiFldVfxGo1U3Co13VY+kw1f6lW8ENA8CN7sbdgg6TpaSXWnRGNv7laqhtZCahowOCgNo1YmJwreoHBj/jrwejXvrzHplk/9WsWLiRxRQn9fvvRyfZTpQyTVSCc1JDVfvLdlfjh4dWjw+nD7/e/nx4+fHQwnX93VU8P6r8++u7q0SNxJR6RlW96UO5Ow2rw/fTgr7AaPNw/Ovjhwd73+7Bq8OX+k68Vl9Z0C3w7Sg7K4Dgde2705Gglfpcnq9dPLy5hpE+IO8dk78Heg/2NSWMzExzhv1WDGiuYL945VS8rPBGqFg6mETxxd12HU0ljatdLPfouKcbq10beyA6O4Ic0sf7+b3G63WKEKXiavuOHuTvNuv/+AE+09Sj8pjD0BKwuLMtsJiezeGoqP37+VzLBNyyqlnqgHevZqzfV8bPz05vvNspcqLF18we16Xd7sZRYjr/Q7rwz890VvJ9B3u6evjh5+uri6YPx/Yi9GpYveAtevsgJLv2VKrYEG90ZbxdPAiYXbt6rsRKVlrdkExE2O2G9+8sQy3znpJM46Hyl8Dn5w/QH1bEbTY9u0l23DvuQAcvJBYN/RtXIK+G6MWQM39v4knDlF/WobtS4hicTlgP4Wh8aReH5Ezbgx7By/wprGXTCffqFGMySR7B+5+/LUMpL+CSO0bCGT3YmsNGF5RYK/fhxLgb5xnZ3dyC/cxKOen/9fWdyI6zyW+ZfP04aBW96gd3ylegG+QdN/W+vw4bm32GxhErAEeE9dxhXaQ0rcNhJTyY7k6WEWYbcBOwZvqgOv6RZM7TSF9QDc979frcTNxDQIt504q85vYQCclayfd59P729vZ3CB5Kps53UsNb4G/JF+COBezLDnO4/9cft3PnPF/Cmtblp8DMkbu1hQk4l79DE0a9QbVjs+KZoiXue8Af5BpO3AN0f+crCv1D1rfjHj367dXeXeG+6N0fakHkaHsbvd3d3/wVi1Kkb +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: eJztWW1v2zgS/isEv+wuIFtOYrutP12a9hbG5bZGXnYXyAYBLY5tbihSJSk7XkP//TCkJMuW0ja94g5Y9EtiicPhvDx8ZkjtqM7AMCe0mnI6oYkB5uBBWJvDg9tmQCPKwSZGZChDJ/TCSxBGFGyIlyMoRxbaEEYyo/+ExNGIZsywFBwYSyd3OypwbsbcikZUsRTwKcg+CE4japMVpIxOdtSvOqHWGaGWNKILbVLm6ITmueC0OLZnFrSQ6TsaUQMfc2GA04kzOUQUnliaSbCo9334XcpP3+G7NZM5LjYaDeD1cDDowembeW94woc99upk3BsOx+PRaDgcDAYDNDJPU2a2dFIpq/wNqx8ado5xEQmTtdDt7fQdLYoi6gyHlfnyE4FoOf6bNo82YwmQcuYXOF/PaTqfbnub+n2Xk83R53zcHFpTFMV9RB1bYva9qWTqICU32wwsvQ/GgnVvNd+iLYlWDpTDnyzLpEg8JOM/LS6zawdFzyuYGQSwE8HNPaRsQ5gZw7Y0osJBar8AYkWVk7ZkKtQlqKVb0clJRFP2VD2djkbHGerIoLAPkImkMTbXWgJT5SBLnFhD9zA8OTCKyQerc5N0WqdyKdlcQoWAln21DsG/Yn7RxNhdiBFmWTicQqdIBpjg89n0KqQ32L2HYVPkGoxgUvwFpgHGXbUb3npIH6Ntni+JsIFn5hJSshFuRdwKiNULt2EGiFsxRzIDa1DOEuHIwujUw1OoJWGWwFMGiQPep0fxoCenZ8PR+NXrNwPaEW66FG6Vz9sbsdomJaQ9E3oe9QuqBkn6zX8A8KfeZrPpIf56uZGgEs2Bf0f8d8T/rRCf5tKJjBkXe6Rz5th3jH/H+N8I48Vx+1VE1EKSG+G2vv89z8S/YHueuxUoV7I/ndzdYzP4AV+fdoz5PslmWtkQ6NPByTdslrrRcrhr0ADGPyi5rd3iIMEBf2Duk9M5c9BzIoUOBLZ0frMdHs4vLzKuZUye8f9Ox37zXDLryL81FwsBnJz7nfMsCb2UdqRe6gdMqY9Ny43PsRKHBcul6xjviMlnWEzCGmRjSOXpHMxBtHSOAOhQ/f9nwD1s5tuXb4lj9Q0EfQt1z4Hp7RYDv2ke6F64lV9A/KGMHxLkdH/2L8OHBg0DRR1R/AG1oTjHRyYt2YABojSSu14LDpzgPYIBItSaScH7QelZW+kMTCqsRYUclADeJ7cWDJEsebSk8oxktZgtdQ3bum5WNdEDJwYCFMmGWW/bQueqsuRNe3YjEvvKxVIgFSyJ4IQpvn8u9TOJKdkSeBLWWU9gKbiVxrKVaRuuURClNGaZiNcncZ1vG+/woF3EJXXaeLcn0SL21amHJtkYz/Rg1tVNTG4kndCVc5mdxKi3n0mmoG91qzTPjOZ54h+wTu1nTuJY6oTJlbZu8jpcjhxOvcRhihWsKoPXWJZC5ekuhnve98NI/KhpBYx7Lil7iN9757NpLwgcwWw2JY+wJexAcZ/MArTIVueGVEJC+TzV2khYx2e5uyDv6ykucIobTOqNdwhfaCP+8pIXmkPr5a2PXYzvYh1XQ9BjWYYJcvoRjmT8K5+8RGdQczyd0CtgnLAkAWuJ0zVcLY3oxgiHJv6G/ztlfJWUApS72G9D79z/0IQWmYSIH2WO2DzLtPEd11y7FTmIKMGzMsEU+L0VfDrgFhzrk39i49Y9GBGhEplzID+wLHsQyjompdf+IPgPpL7DrNDiA1K3hBnbSs14cC4BscZr0bl2pRh2jPtrMZZlpLkAslERUWzarvZ3YWXX2Tr13NGzBXs9WoyHvdGrk1e94Wh82pufLZLeafJmfLYYj9mCjZG+q9vEqggcxrl+XXcHocY06nt1eXjcKNdTD9vrxjFILbQHUllAkFRnSC3k6v31DW48GlGkoWDKoD/on7QMbE/6Q/2hfhVWOILb92MukkdiHTOOLHPc1Zj8RS6l39lcJ3kKygWEMEfuOLYm2Pbamufuf6zYr2MQGbFnYAEGVAKxUK4mwZ/wcIHNN0tc41DjzaXREbE2SBVSJnCohPM/6iHsnEQCyjbPSD//ckvOf55drs9aOsNZpZ/oNE7ZI3g9YaF4LvU8xgOSgE18Ob14/8v1+757ch5kWEtSphqLPHOLf5yOxlnjiy/+S5J08OTQNuEbRO/Hrqxmd8jwiAVM/76i0YhOyqvsqqjhq4PPBI26RiOKeMcShCp3uzmzcGtkUeDrjzngHfbdfUTXzIjQT93tKBcWf3M6WTBp4RP+/nhVthA/kYNvDJ3+VZVLYVWqLtZpRB9he/ilA+voV9nQuu7/CjvC1fx9EVVFFSMShi7Cmr2bgIJq6ufvKtGhoOI8SSBzz0z2h1NsB+oGZ/bh+oZGdF5+AUh91aQNzVHzwR+VfUk9bBQefR9Q/kB3OiPQ7BmCsfgXTe8U3+1CC1IUtXwYenZG3aQEaUzGfVEU/wFRR3co +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: 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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 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: eJztWutz27gR/1cwaGfuUVKkbDkX61Mdx009dROPH73OOa4DkSsJJxBgANCyouH/3lmApEiJvktyfXw4fbEpLLDYXez+dvFYU5WDZpYreZ7SMU00MAsPxjILNKApmETzHMl0TE8dkTAiYUmWSi+mQi2J60umShNGcq1+hsSSJbdzYnJI+JRDSiTLICCJEkoHhMmUzLQq8gENaM40y8CCNnR8t6Ycp8mZndOA4iD85Vk+8JQG1CRzyBgdr6ld5Ug1VnM5owGdKp0xS8e0KHhKy23RLyvBzl/TgGr4WHANKR1bXUBA4YlluQCDfM/8d9X//DW2PTJR4GRHRzG8HMVxCAfHk3A0TEch+2H4IhyNXrw4OhqN4jiOUcgiy5he0XHNrDGLm70r2Amxq5wnTDSdbm/PX9OyLINecxhRzH7BEDuK/6j0wuQsAVKN/AzlmzFt5bNVuGza+5RsU5/TcdmVpizL+4BaNsPVp9foSIbeexnB2FcqXaEIiZIWpMVPlueCJ85fo58Ncl/v2kJN0JA7YlyD5kzwT6Cdt6IshFvIvAcb77QpTFkhbOXVGZNsBhlIO3gv38u/MpkKMBXRxQpX0nl0kaeOCZeJKFIuZ1ucHpngqev+XmJ/VliVMcuTrX5myW0yx/G1jC7IWoJg1GiMWsv9qnnP2A2JjMsLkDM7p+NhQC23AsnOyuQtjgloxp7qLgdHR9vOs8uyy+R1q3MZUBffXyrIqRvUI4lBH5BJWzNZZBPQ7WBPVTERgJM7RMG+IIsMvWnCkoVQOH0hjWXaggOQ5itR6LXVN5MJCOG+reZsBuiF22p0vel78qGa4gMJySv/+V5+Tz408yHhtv7hSC3Cdau5kQUJp/UPT6pFc6T6hyN5SbH9xsu8se0btMYZWqIMKDcPlVIbU06UEsCkxwvnf/1EeLKgJRMPRhU66XUzWQjBcBUqQNlZyYYHT79ifNmGrLvKySo4vN/ypiuPG17wDaw5mk9eGwxoYVsdQvQtLMl1lfoqb6Z/mE4rXK9crOVZHc3o8OBwdPTih5fHMe0xHJ1xOy8muwhd42cFei7uPbTIGWEeFlw+6IDfU7hcLkMMhLDQAmSiUkj3aLhHwz0a7tHwd4GGWSEsz5m2kUPBlFm2x789/u3xb49/vwP8K7d38i5IkkJzu3JHKSc5/xusTgo7B2mrqpGO7+7xXOEdNh/00Nze2+RKGm+rgzjeb8B/FXL7Pbl7IoWGZek7KVbNcvmztvSB2V8cjmqFljuE3uHhtf4NPDYxc8GMJX9XqT+yO7HeNx32/Bb23YAug2cT1P8xJX1uEsIzq57h2yrnzGK40zH9113Iwk8n4U9xePxw/6c/0n0q26eyZnwNAJPVl+NHT2DVWPCfYPccLLxaofGqo+qvQr1l+3D5C0d/SfbvTfudNO/S9Gee6Vclwbkkl1rNNBjTKQoOj5PhQasoaMVlE+0HLY+cMmGgmwHoQXwwCuNhGA9vhvH4MB7H8U+0i/BNn2F8Mzwaj45cn9KXA1u5dpMhwd2HjHwq7/Y6ly4tNtUGbqLwIuKRp/Wo4e6obuGAk6T4kwlDlqCBSGUbJgTvhTQQ7mcaeKaHu0wvQWfcGGSYguSQDsitAU0ESxaG1MtO8qabqXiNdnndzJsCClA5H+NkyYyTbaoKWUtyvDvam84VI3YOxLAM3A0WYQL9cUXgiRtrqNuEgp0r9KNcGevuszC8acRyHj0Oo8bZTbTG7FFGVeiYaL252CojXwBFzl/0Y30bVmhBx3RubW7GEbIc5IJJGBi1A9qXWqVFUiW69shxFAmVMDFXxo5femfuDr1AMsXSr64fr7Ge81HTX0U2gcscmQb+pmoOLAW9iZZ/hieX56HvsOVBl+dkASsswlqMBxhc6DVkpQpN6k5cunVouBE/j1vA/kp2U4jiBBiYWMM5hbBBaf7J9TxVKew03jrbRdgWqagmQcjyHBfIqgVs9XFNbvESlXu7oaPQMb0ClhKWJGAMsarxRASPpeaIR/RH/N/bB/0rERykPd1EmFPufyjCDrB4i2+tHDFFnivtNikTZeekY1GCh9PEldFYeXudOrCBtAH5C+51+olBVdcD+Ybl+QPH4kMIx/2Bp9+Q5h659hZnkAbXcrYSiqVeuQT4I95iT5StutWVvr+aZHlO2hMg0JQBxd3O1eZistqotfaLz9RTTXOdLpqGTW6I+/aTrfLGp+QmfdQ3t9ubyoZzdyu6uRvmcqqcB1WZEoHyEjGFXJ1d32DE0YAi/njR40E8GO4otDsIt2b/4IZbgnH7seDJgrgUSGYFhjOu+rQQwoV0qpIC91HV1s2SuxQeQeCGyjQAd/9tDXs9RITCUMMUNFov4tI26PfdwBlaWubLk2ppnLiYTDuI2kJTyBhHUuXHf25IZUAFT0Ca9kq/eXtLTt5cXjwe7vD0+/pBorIoYwtwfPxE0USoSZRreOSwjC7OT8/eXp8N7JN13oX5I2OyNUn12qL3KUZrS/7feJVRoaeFJ4uyc1cxOz3XVYa7Q+hHX0H32GQ5GtBx9c6gTnTY1H3D4a/5A4olG6Yl5LZeT5iBWy3KEps/FoBvC+7uA/rINPd16d2aptzgd9pUUM9a5durqmL4jnTefvSqVmcziZmqfvBAA7qAVfcFCubWr5Jh5xnGV8jhn0zcl0GdaNEinnTq5wxvkMFm6K9fGKJCnsVJkkBunxnsTnqwRGjqnct31zc0oJPqiUbmMiltcQ7aP9y5k0uz3eJh4WqD6gPV6bVAu47wwuJfFL23+3rty5KybPp70rMjmsLF98bFuC/L8t8YeM1t +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: eJztW1tz4joS/isqvZxL2WAIkISnzZmZPZPazExqkuxubSbFCLsBnciSR5JDOBT/faslY2xwEuZSe6niJcGSutVq9eVTW15SlYFmlit5ntAhjTUwC6O50vcjbiGlAU3AxJpnOIQO6Ss3gDAiYU5wGMFhhEtiZ0BMBjGfcEhIptUfEFsy53bmujKtHngCCUnAMi5MiwY0Y5qlYEEbOrxdUo4TZMzOaEAlSwGfPJsRT2hATTyDlNHhktpFhr3Gai6nNKATpVNm6ZDmOU/oalvoy0KY89c0oBq+5FxDQodW5xBQeGRpJsAg3zf+dzH+/DW2PTCR42T9fgQnvSgKoXs6DnudpBey484g7PUGg36/14uiKEIh8zRlekGHa2alKtzsdcHOiF1kPGaiHHRzc/6arlaroFEdRuTTZxSxs/B/KH1vMhYDKSj3WHxJU118ugjnZXvTIqu9T61xXpdmtVrdBdSyKe6+E5WcW0gNvfNygrG/qWSBYsRKWpAWf7IsEzx2Ftv+w+AMy119qDEqc9d4VZppmIE0/AEq1mtAcyb4n6C9vU5yIYgG4WYxM56RlEk2hRSkbX2Sn+RbJhMBhsQKF2+rvASfQLyIBRAuY5EnXE4JM4ZPJYAJiGBjECYgD0zwxPEPPkkmEz8dJCRVCQiSZwmzYFrkKs8ypa0hyUKylMdkwkEkBB4zJg1XkiDt2+t3F6TQEVpSDMZwOXUuptHBLfdbXApS0RXTmi1oQLnT/T7ONdfcwgcpFt6KVgH1q/rBTJEEHf9F6oDKXAg2FlDSJoDbkoyYfZYclRxankITj0xxWSXn0sIUNA1oyh55mqd02OkGNOXSP0QNPLzf7kqQcnkBcmpndNgJqOUWaei5MTmQ98zJk7LH9ZBuv1937dHMpuIl/x9ha5ZBowZ3V6u50tw6d2NCfJi4kAwSV3ZLcz1F/wvojE8xHqWQ8Byzg1Bz5KYkoNtuz1J3v1/JZ8/nMwnJjfv1Sf5KPiNPbHrLpzPX4Llj0zv3yzUKNceWCzV3jzglPr/HqTcqvCyW8QYFd/Glptt1N6rKWKbtCE3gRRtpUphlegrfQW8wxMl4y8QbjKzb6R33To4GveOKsYVl68n2Gq8KxphwcB6l7UjpBHRlGpmnYzfLRkyVo3SrgK6D2vd5D9PxjD/sx6SJnptRotmkSjxWSgCTKCM8WtCSiZFRuY4bN6DOscGfSh7NMeZFeo+VktF48U0hKmMa5PO6eYrU2JeM7ilKMJaniPC2g9v+LDzBVxOuquDj1gfGbff86LO+3+ANMHF9HnhelZm6gk6Wa3j0HubEDd4JPdjDnXdU26tRbxPSCu3SCOJBPGG9EE6jQdhjLAlPj06jsJtMoqPoiPU6Ma6zklNv96O52yTMvSicomrWSjvdo15/cHxyipBzxxnolNtZPt7Fg2u0VsArMlGaODN2KGWDYhwCrUGtx3A+n4e4x2GuBchYJT6xHLDXAXsdsNcBex2w1wF7HbDXAXsdsNcPwV5pLizPmLZth7kSZtkBbR3Q1gFtHdDWAW0d0NYBbR3Q1gFt/SC0tdp+L+piVpx7dd0u6VnG/waLs9zOQNqiIkaHt3f4lvYDNncb+txbTJMpafzedqPO4VXmjwN4+8ElDSz5YVBrHQa/IlnszO+18R08NoHkghlL3qnEX7g4s/T/AA3+L+C/KuGYS3eP4RldjRe2aRcOsPIAKw+w8r8JK9ehdD/y5/33qaj6mzP04nLWNyWcefU61VdTH6DzDnRuxMw1jOxw457X9Qo8fY7sEBOR3IAmrA7ndq60JQlxuI90W9HWYDLxEb0WnTo1/F2kgBqc3kPcTh1O70HRRYoqaqHdqNsLo07Y6V93ouFRNIyif9E6Kmkes/I4efd6obuzR4pJiMljRGyIOp3n9KIId6ROdi4dZCyxORY3y/uhnqqzS1WH2Dhjgo9MGDIHDUQqu7lkqjRhGnGrm6nlmR7tMr0EnXLj0GcCkkPSIjdoAILF94asbZFk5TBT8Oo18CqucKIgE5XLYimnuyM/go+6HqIblgJZx1Jy/powgXFgQeCRG2uoKweDnSk060wZ627OYhilbZbx9kOnXQYZ017i3cpVuwhZpr3cXKFdtd3B0LSdeeqH9b3bXAu0SmszM2wjy1YmmISWUTuWf6lVksfuAQ8/G8phuy1UzMRMGTs88b5VJ73Aboco1merKzzreCduPmFtiqyuG6usyGkGLHG5t3Def4Znl+ehH7BlM5fn5B4WWy7aIpfeTshC5ZqsBxV3mEtuxM/jNrz5lLc5pOEEXYxvQs19/Tm3M6X5n27kK5XATuON010b29qqve6CkGUZbpBV97A1xjW5zYtV5vWGhuIMiiWEOdcjVhFd2JehRbUZfRX/N45B+4oFB2lfbXzKLe4/KMJObPEa3w6uxp8h8SQ6VnZGaholeCnFxV93lPRrqgUK7GuRv2ItoLkzKI66QH5iWTbi0lgm/OF5xJOfSHljfW0tTiFlJMvYQiiW+MXFgEdzhoIWw7AIsbkEzbKMVCfA0LIKKFYCPm6uPxeFjK13Grf0aMJO+pNBL+wfd47DXn/QDcdHkzjsxqeDo8lgwCZsUE8Y+1KUR+T9KOqHziJ7HIfd0+tOf9jvDLsnrei4g1mmgBPR5jp7wzGnOPA1923OeZv+SmItD1nVk0lFIrp16Kh31TJ2VMf90Taqf26dNeRen2MDytf377cLWuW66mWwsrkKmvfdoDWK3Hf8ui645/BtvLgvXRE89xqNBxo5US4sFWjwegbkEhMV+fjm6hrDOA0oJjUfQKJW1OrsZIRdIiyC/Z0bbgkmgy85j++Jsx8yzTFHYChxVTTME4mKc4SJPt4wS24TeACBhSlTZs27n9e5tKET82uoYQIaba3NpS1T6i9Y5cLaF/NnjcJLnLgI0mppupKiIWXcuYwPjn8pu/B9JY9Bmmrp+Pf3N+Ts98uLh6Mdnr6Y2opV2k7ZPTg+fqL2WKhxO9PwwGHevjh/9eb91ZuWfbQuZCEoSZmsTFJ8JrQps27tQ6UO+mM/KSpsysKjRcm5O+y6VS4L0HSLaAItBY1jA5xoQIfFRzJr7IRNtQ+QPHyiAcUwiUgHuS2XY2bgRovVCpu/5IAFpdu7gD4wzf3h5nZJE27wd0KHEyYMPKOPnz8WsPMXUvtwqXFpa4AkEfysv9ahAb2HRf3zKYRr3yTDzjdE3yCH/97nbhWssRtqxHe98nOG18hgQ/ry3VNckGdxFseQ2SeIXWEdUWcJoS8/XF3TgI6Lb4tSB85ohXNQfXBlfofc6nj03sHN4gcup1EDVWjqhcW/KHrj8OXSI93Vqhzvu56kKLGwH42bcbdarf4NHeH0uQ== +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: 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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 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..dd680c6 --- /dev/null +++ b/docs/api/introduction.mdx @@ -0,0 +1,287 @@ +--- +title: Plane API Documentation +sidebar_label: Introduction +description: Use the Plane API to programatically 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. + +Enough talk. 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 time the key will no longer be valid + +:::danger +Treat your API key like a password. Keep it secret. Keep it safe. It is +important to 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, you'll always set the `x-api-key` +request header to your API key. For example, if using `curl` this looks like: + +```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. + +Given below is the 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 + +Given below is the list of 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 + +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 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. + +### Querystring parameters + +Paging is controlled by clients via the following querystring 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 querystring 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 querystring 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: eJy9nVlz3Diy778Ko15m5oRkyR73TF89XVl2e9HSGi3uO9PjqJNFQkWoSKAMEpJLDn33E4k1E0V52t03zout/OcPIAiC4FKZxNeZXgsDo9TqfTM7mHVyGOdg6lbeiWZeb+pODLOdWSOG2sg1YrOD2YUYjRR3ooKuqzxTjS2MVQt3oloIoapYRSVVNbaiWht9K+rx2WxntgYDvRiFGWYHv36dSazxsxVmM9uZKejF7GBWWzNoM9uZDXUrepgdfJ2NmzV6htFItZw9lk06h6VUbjcqX7i60aZainGUalkp8WWsBjFW+qYyYrDdiDslvkC/xv07+Do7E1/Gc1iKI7/lg6+zO+gsbvHF/sHzg31si+17MJvZgYOrNSxFlRrKW3OUmtDDeFD9Cdn5IB/EgftL2X4hzIG+uRnE+KfZ4+PjznQ/rIWZY4mpnpBqFEthtrvizNVOdrVaC+Ob++dG3IDtxoPqxf5O1cOXg+r5/v5fir547SHSCS/2H3dmp/BF9rYn8vP9fdL2NYwtabo/4HPZfOMw7sx8F80OZtbKZuKw+lqq969nOzMjPltpRDM7GI0VvM1v/N+Bf/+aHsEfftgXP77c398VL/7PYvfl8+blLvz9+d92X778299++OHly/39fX58Q2Vx0Pqt84YdVuNmLWvoEnR9/f717MnuGDq7/J7x/Is2q2ENtahCyd+w86kM3fl+s3uf9KmdpN6n9vGet+bx8fHTzmyEJZ7BsyM/SXzamQ2itkaOG3deH67lsdgc2rEVapQ1+Ep//YQd9DPKLyZ8n3BHh7VWg9+zF/v7+F+t1SiUG5GwXnehxN7tgMW+bveqXuAhwbnG4PQ2Sl/b0mi7Fs18sZkaisp2HSw64Xv4EftqMf/OIqMeoZvX2vrGbp+qOBPN6zTJbI2CtRF33/K78m4SifNYphZadwJUquY/Y99oqN8TrGL4FrBdPUHEl9HAfBiBAU/33nZlYAzgfChH0Q9TB7iYd3EoVoMwEjr5IEx1L8e2qnW/NqIVapB3+aTu8SJWDxWophplL6rRQL2Savns3+rf6tzoO9mIwV/eqkaMILuhkqrubIOXFDwlKmxW5TpxqBabCvfUDju4iaURw1CJYZQ9jGLY+beK29ldaKsaLOovu1UDI7irVWoZKFiKXqjRNW5YG6nGat2BUti8rWEtm/88s2LnQvOz6jbFWJXDYCcP8USJGlQtuk4031dK4zwzfmepYQTzvWWs+j2lFlCvOr38rjK+79LhJYX8tZ32f6MtDvJv9swfrSnu9x9ukRGA9cD4zSHVwCh2cTBPHoV188fq2JmNcsRpYXYCw1id6kbeSNFUh6O/Tvou+wPVb008/iK9XVtsh59XzsDV1sOXE6GWYzs7ePHDD+WV+z9V8prA8cDNsbG/eW+2Wi9U8wdruJPifo6TCo4bbJU241ybRpjfMo78TC+Mgm4+aGvqyZbwjU50Y6pjej77j+XjrDsfFKyHVo9+X9LDzHcMmK0O6vRS0w5C7kErt6NC4U3xr7PDGyNr2DtcyOYW1GwnCXVtgJhNI4f54QIWVOyWEh+IsjD0QEu9gh5WmtpqaSWzb21HbDkMYIndgRo3RhDFwMMD3Mmuo6K9tf3C0i0fgTSamgMsOlA1RYQdqakVrNxjTBBewwoMNc1cDPNL6AB6It/KhbYj2anX2kJHKn7TzQ9BWtK3PxkhRn1PlLew0AaPTFLegQG64x90C0qJYWHNkqiWHo9j6Nds08ctmFFb0txjuYROUlsNLQykzAksNTmkJ3JhRNHfJ7qnlgXV0ArswvYLGFpJtQFWhDmFDhaa2ms7MnsQhgyEUxx4tHtO9RIaObSU0Qpvf8hWznAQLEgzzppb6IWiiIRekIN+pi2s6laPY9Z+trCERtulJls712bUu2f6jrT6EvT8ivXNlZFrTfv7yipJevcXqZpWixUqvQhnGjBT1a02/mk6a0srO3+gkzTKpWWKgaUFqbi2xEcXhaeMUHqYH0rj3pRsA0cwQg+mni5+pE2jF9O+D/bWbiY9JzC/kPp2utipUI1+mPZdSD1/C10nwtDcAi6hG6eLXoKaf7B+Zpt0nlg5XeeVrW3/RMHrobUg+RYt74/Bqhovl0Qa5UqvWI2voGW1OHv+ClQjDAzMYRbQsL1/JTrRc1s+0GGCs2e9ewmLjjXjlYb5Rzmw/nqll7oQ5EDrOoJ+YWSzFPNXsOH6Ws/fGmwxk1VtFRMM1GyPjmAjlOKFNry/j1pZw1JzpbXQsoF+JG0DDR5kIx6orocRBxwbwkdGDCPrjiMrgR25I4tNpVt9DaoHsxpauFNMvh/0tjA/MoKd0a+FunO3IFkYjZYjVXQvFW/pm6bXijf1jTRWiTXtszcdXpHuoNF0Az/hndCZ6HjzUIVOsHPsbQd1eUzfaj1saXiE51fWrJgoFDSsOguN6PDlAxdH0UNXgBv4bGXHtA2w6eoddPIGvjDlrkCE6fUgu44er/eqkaDS/zgDDxPuY6W/TMinYIRaTtV37t7/xitw4bwSXTc/wvdI276P4g4mdalqPAmmWveLVNBDzTz2TtL+f/8ZOsvG0QfogQ+jD1YJf0sVhGOhRluvNnsn2sohXdlL76nGd1yCd+yxgU6oRt7SVpzA/BzoiXcie9qCE7zOqKXo2G6e6Hth5ucGe4Dqp1ALqZmggF/ZULG8jJFLPXJllEp+toKJI/TaaF70AcaOzTqnQuHZKFhRYSQb6Kdi7GCFRZn4Rda6HASn2Aw+BZ9qVY+lMgpjxKbU8H2OLsRBGAN0d88g3jdHQdzP/6nZyXoWbkySabRqgStjO38NKz3ixcR20D7lPRLY2qe8uPFL4BenM2tpY36+lQqWdOvngMOdCQZvQOSC7v15q4WS9KzF+7BdsLt+JBWOub6ZX65BqkLX84+ia1nFVqB8IWuuqhHmhzjN0UFzAWol1fy96gQ9CheiljeCCUt+/3UhBt3ZkTFSz18ZUGy7l6BGMKwDUZL8YoiSnrtLR6Hr+TlYduZe1tqIYbEZrGqoLMcVbeDlOH8FZmzx1mLD9Q+6VQOXjuU4FtKJrWVR4VWreygwP/HRzru8lzfj/Mgaw/UrsbQ1PrSsabVXrWXT1pW8tfzCcIXje9RcGTU7Xz9it1t+bf6llaNotWF3P79IpeRa0Gn/n7Cyoz8J8VjVo7+DGfwZnKXXcOcvPkSyeGV/fW3S5Jt9p1B/tmDklhxvNYhWn1rTaC6eQ9f7/cnahR5b4R+Os3i50feFdGV013Hpox5G7U5cJ+ydaLXcCDCLjXCtGSQ+sJC/ux785OesPtzPOUNBszHJ+jz6CSsYeiGSNbRLWPiudfa4MZl9Bcu2gSabrQnntzdXhFTLlW+8N40C/7LBmUIam7bxSg7tSmQW77NktI5a6e+NvaHlAroh79iR7nTvZyk0X0MPQ+2vT85uw5OvM2SXqn1tF0CMoQWVO+En6GFph7zdt/CQ/n4nFkan7b/T86NWzk+larOklvNj7V4VBeEuddl7s7LjkPb1A77myNv5ABtYh1cpzhbGDnEyR+EYFrkXj6GvWxjzDh7jfX4rszm2PagmHZTjFlSzWWZedyvIWz82MCi9AZPbd4xvU+Yntl9bk7W6lXnvju09yHQsT6HOw+UUH93zsTqFFV4qTbaV7NLWT+1Q53F3Jms9yOTER/2VfVCC9B1qg1xI0tyfe/K3gdRT563S/fxc5IN0jndYoCDh5xs8uyDv1z9gzE39Bz7OKEgn1z82D5tOmyY18EJuoEm1X8KqhS6fGZd4MV2BSsPgUuh8HC9bUMs2D8dLqZaw1iaNx0sjGiVWutuQ/bsCuc6nyRXgOaRS/10tZCeH7BatyQfiqpX9uk2H6UqvNjobZBvXHYBaAO2Ja2P7z6ne62HcPRN5wH6UwvVravrHDhp5lyYylNzkPRBTLfP59E+xglEYqeKNvheNuPPNx9tFnAsPH3R4eRKVV8L01h+QKB2BAv9SMStrMf8ojH9ejupPYDQTTqER0rC6LsRmdQvhESCKl9qO7fyt0GYpGX05zt+JLrzsyiKozl+i7DAa6Pz83YH0zUniKyOH+MaNiHol1Pyd9JeJpL8Gc+9HWpLe2NqfV0l5pxdgRiadSNWIcInIojbN/J2+55s+Fd1CW1M06FwYF66QlctNo9z+Ycc3ePHwe54VvHf152UQ3sCAr/CzcIo/jfqLSlDOxP0N/v7Z+fMnqOdQyxtX9RuLP23uHfZYU+NeD0dJNdq4wxgFbOmqdTsdJQwoGLL9SnRLA+6AJMX4Uzna+CPs0MEdUM0Og+hoPbZuAd93UKmBdaEMUi0FqfyolYNUbgqNil4L1QKjXtsFa9JbuTD4Es4QyQqj/A1RUN6JbpBqJbPyfugE3qWf0g55jzOdv8oE5YMwrKJjnNqkwm4iojT6jpgbSawTOSw02cbJrV10t/6eMUpaNQyxX0SPo26ZtVNojGyo7V88JtNI0UJPajmVys000dQK3L1+soda32f756Ej3nMwkhzRc90stfEP+FHC17xkqFzIJfFe+Ie+YLlrAFBbzbHFSlPNwK24K5SRduyl7G+E0WtNDtDlSq9v6ab0jaRbGnW9anVHzowr6DqpSEddSeMnnGBfdxtQ+o523kdo7AM18SaVVIFzPz2iH2WnpCUd+FF3S81HzS9gBiAH4F+wNGJBbGtkjZPM29Or2c7Mv57B9+2gcG6XrquCetSGH0+SbeQw+qefKOmaERrfSGT7WJilxWk7S6fQCmp1jbwTA1UwfMnvZpI2ehxJqQthlX8ZHSatvcO1Oz7JtPUqzG5ReqXtEqSKDylRPmphbN0UlxX/cB9tP6FS4QZGWsVPsAJ9o6kibyU1rYIb/6NalN5CB+vQu1nrF5JtCd8/QleDchM8UWl732mlO9tZIh1DeNWaBIl92gNrw7EeDNAdOb6HW+iEpCVP4dYazQTz2YoBaMtPZXPvbuWicAbW0AadSUs3dKbNje5WTLG9oEfwHJb42L/UTOuA1nouxxqkoc09163yN3FZMeP81L8uIPIFGD1qtaTbvAS5BlrbFbSSddkVGLinRa6wihHWtFm/wEows/MvbK8v9w47GNzTBf5t5INWwciX8etLcgm/vtx7B/cgpf+bXMqvL8kF+/rqCEP/yp/VeVzWf1X/zX8d/+9qt+LKvxWB8BdziqDNgPwbOsWyymD/2zoFvcIg93s7ZZxAEf8TPEG8wBH8PZEhKBTIre04cms7hrjf7iniBIaEn/MpFCSG5d/4KZlVBsff/ikaNQq6iAACOZsDMUaAUVFkKIYOUAptBvhgAop4hUIuwIAgzuYACTlgINFZgRCMQNkgMcxFKFDICRSJQQsEihLFYiQDwaJEsRjeQLAoUczHPBDICxShYRAEpDLDLTvX0KTuEDBBiKAwKARRUCpIDHORFRRyAkd8sAWDvEQxF4FBGGczIMVkUCqJDNU9g3TP3S52gwJO4EgM52BYFDmKUR4MQ4EiPvCDIF7gCMaCMAQFjmB4CENQYIiPGKGMVxgUo0goFjUO+tgSxnmJYiHghFBBYVAIQqFUkBjmIlMo5ASGpGAViiWRoiSGhbBEpXCObSFsFikaQ14IGCWKhTgYQgWFQRgbQxG0KRCjZQgTJY/FQIsGPENsDsSgGkZFsUB9rA0nvVaALgKHc07iWAzLYWAUC3QqWoeXmyKeqCRF9EzXkNxPFfchP08U9s4nirqIoOmCzvVEsRguNF0yep8oHMKJpssG5xNFabTRdHlKPFGJi0iaLu1cTxbz4UpPlfTebxTGcKanC6P3icIh3Gm6bHA+UTREQ00XDc6iqC1Hki1HT4ifYlTQOBiiqhgYNAa62CpKOWEbSeFXW2zyFIV8aBbHvcZB/FWVUSiUiHwQBSMf+JRE47oYSnReIEZ8MTqKBYqBYJxDpYDkwBuJAkNYvBhFmaMskkLJihJJLwpgkBlHUSkgF3jGKScVmItG45iTSqw4R7zCIR+2xigvlZiPZStAL3KUhrgxnDp4kRT9xvikcthHxTHSSxxzoXKMckoBufA5TjmJYTSmjrJULwrgT+AcRWUC8hF426jXeQEXm8dQpxSQi9fjlJM4FoL4GBc0BsbQPgpGjYMh4I+BQeNgDgNkbJYZTuIDKU7kLdwFDpawExma4gkpmkSOxjBDhkaRoyn6kLFJLWAXlchJJ3EshSoyMqkl7EMYC9aLJeojGwvUiwWKAY+cQ4VBIQiSUkEqsLuiLq9wKEVLMjCpDJ6KoqTFpvyTFWCc5VRB1CcLhAjMqTLBNVksh2dOlczeycIpfHOqbHJOFnXRnVPFnGO6SAz8nCwWnZNFQ1zoVMHgKoph0CinUeGQDyRllJcYFqJLKRYkjrmQU0Y5hUETYai0xIR7uniOU50snt28eApkZaWSymAf4EpBr3BI9qxj0OZADoNlXJYLnMTH8gLEwYr40FnKeqWAXDgtp5y0hdmhpGy5QRd3yyknlVgIxi3IoBZwCNLlbBAL1MfuctJrHIwRvYyMYoFioC/nUCmgGPzLwagWcAoK5nSSOR6ihRkbNA76GGLGeanEfGBxAXpxG3XxxlusU7dgH4dcwl5lsI9PpqBXOBRilhkWNA7G903ELgAX28wZJ5VYGfBcFCndTxf3EdFPFvfup4unkOkna0gEr8Ra3l/W8r4KgdaUCRLDfPQ1pbxSQDEim4NR5bCP1GaklzjGwrcZzTxbhVJod1kmObaKhKjvskCQOZ7DwRme5QLPceKczzorQCPIaQGq8wIutpyhTimgZfFi0SsF5GPQOeY1DqbIdIYmlcExYp2iUdsCZfF0HLUtMEW3l3RyFEVC4DvHg8hREg/PaKLzAhgpz0gUOEKD5xlKHWURF1df0E4rQRdtX4BOK0EXg1+ATitBH5lfkF4s0RCwX7BB5TAN5Gc8dbAiJMafFiAyxzH4n4EocMTnAzDISxzzSQIM81KJYeZAgaHEsJROQMEkMjRnGVA2qxwO2QcMDRoDQ04C5YLksSJRwXGFVoIufaEAnbYFsqSGsgRzlkVTzkNRKunbBdKroFLcQn2SRMl6tYR98kTBerFEQ05FwQa1hF2uRYE6rQRdBkYBOq0EfV5GQXrRo9vpGg7elj0e8zgcFA3icmkd2elM4u7jS9FkEafL+8heZxI3JoJkL1rMqReCevVCEHfIFMlAEAjikkcy4MzsDtkkyR9sCrj8EgI4mwIrS7wrVrlLQCFeZ1PApaQQwNkEcEkq2e9M4vZZK9nvbQK4PJbsd2Z2u8SW5HUWdcZEF0JEiWA++yUz3s5AzIdJRBQI0sawgWQRp+zyHqBBXJhBk31oUafPqCF+L2QkJdkkJikZwsSb5Ecju3weTnJ6k7hzYk5mskbBkK5DsKBQ6K4h/jsySENGT/IGOwMhxycBwaaAz/ohhBcIEhOBMhOVDLnkoAQ4izpDshABgkIhl0BEEGdTIKQUESQoBAppRpkJAkF85lEmvE2AnIuUoawRkGQoZZKIFHWJS4RyNgUwlYn40cxul9uUvM6iTpfrRNzOpoDPfiKEFyiCCVEEQJO4XYZUdjszu0PKVPIHmwAkiSpTRORoyK1iZNAyiBlXiUCDuAzk0YhGduV8rARkiWAxSStTUSFQTNzKUFQy5JK5EuAs4gzJXdkfBILEfK/MRCVDPgcsEd7M7pgUloAoUCTkiREmKATC3LEMoEWcIZcs+4NAkJhelpmoEIimnGWQqhn2qWiJ8iZ1+9w0AniBID5dLRPeJoBLYMt+ZxK3z2jLfm8TAHPcshst6qQ76azsJDlwCSEaAV1mXGacSdwhVS4DQchIyp5LTFIIlDPqMpa1DIY8uwQFmwKYeUf8aBI3TcXLFFUp7FL0COZsD/CkPcdwiWMhk49xQeOgz+9jnJdKLCb9FWiUOe6yARnpFA6FDEGGBY2DKW+QoUnlMMsnZAWYpygUcw15gaiWsMtBLFCneXArM9GhW2oBx4xFDkd1C06ZjCWfHEURn+TIaa8VoEt95JyTCsznQ3LOawUYsyQ5GtUSjtmTBR3lAk9plRxPcoG7fEuOOqnAfBIm57zmwCI1E7lColhI9CBUUCgUEkAIFBQKxWQQQkWJYjTZk6BUpnhIKiFkUBxUZoYiVmoM9PmiFPMKg2IOKcWixkCXWUopJ1AkJpsSKEocM+G+gQkMSUmpFEsiR32uKgO9xLCYwEq5qHHQp7Uyzksc87muDPMSxWICLMGixLCUFUvBJFLUJ8sSzAsUSfmzhEoaA0NWLeWCRLGYakuwKFGM5N8Skqgc9nm5jPQSxXyyLoG8QBGSv0s4ojIY83ophjYDNpL5N5K5feovAbzAkJgNTKmoMdDlCFPKCQxJacMUSyJFfTYxwbzAkRBHTG0OhJRjBgWNgZiITCG0GeBSkynhBI5gtjJDUKAIJjATAE3qdhnNxO9sBsQcZwpFjYEu85lSTqAIJkMTAE3mDj8kE5O6fbo0AbzAkZhBzbAoctQnVjPQSyU2suEeFAalDGzKJZGhLjGbYk5gCOZqUwJtBsTsbQpFjYIhp5tgQWGQy/OmjBMoklK/CZU0CrqEcAI5mwMuRZwhTmGQSxunjBM44jLJGeMUBsXscopFjYI+55xQXqCIT0MniBcY4jLTKeIEh7w9vULH29MrZ05kraN7Qqa4T2cnoBc4EjLcGRU0BmLeO4XQ5gBG+DACBYqk5HhCJY2CmDJPGDS52+fQM8RLHAuJ9YwLGgdduj3DnEKhkIJPoKA4iKblI0JtDoREfQYFjYE0fZ/CVGcFQmI/ZYNUYCHmhAkM8ffelPEKh/CjAIxBgSHhOwEUChLH5K1kjLyVHAifE2BQ0BiYPjJAySQWqPv2AAedxLH8QQKGZrnE+4LjvR+/XUChqDHQf9GAYl7hUPrKAQOTymH39QMGOoVD8YsIjIsiQ/2HEijnlQIKH0/gXBA56r6pwDinMMh9Z4EyTuCItGwv0eaA/xgDY7xUYPiFBk6hwqD01QbKJbFAO7Ac64A3PX7fgVFB46D/6gPjvFRg+VMQnM06K5A+EkHpJDLUfzuCcl5hkP+eBIW8UkD4jQkOocKh+N0JxkWRofg5CkqhXQBdiIXnioPSRyvQn4zk8t+wiD5vRSd51ZGt6CSvOLIVnf6bF8Hnjeiibz2IGd3k9UW2vPPqyKlXR2Q5kKuwhMQbXD4C1+AQZuAriOT1Z/q49NqL5y///vLHv/7t5d93ZpgO48TdpP5IlnCZXrHq26sCTax8EVdz+f9R3VMLu7za+DWr3PJHv2sto3u69Nl3l9b36nfu4eMjXZntV7+QzKdizRe3KhzD/LpbfIGsHbo8GV8obGrZL75U2NSKX3k9ra2lzPhCZXyxr3JlL7I3YZFF0RyGNVXc7l2EBdv8OjB5VbppeiCL0/EV2XAtnFFsNxbXEpTa+E9BswXWnv+wX6yolldrZAupobzv5In10/zInFgx7Qa6QaRF0l7sF4ui/bi1BpprD1v0DMc/WdfsV79Y129dkTCsHXjpF+p7P7pPh9IlmmYv9l+83N1/vvv8h6vnLw729w/29/81e/z0SBf6S8ehigeiCkfi0Q3MyYU0RVPhUqC4imRayjOsBvq4M3u5/xyPXrFcIFvOr6qNaNzvXd1Q3QsjKqVHXOIMA+CbSpsKjKikuoNONs98pX/drvRcmF4Og1snTSgpmmfV9SBM1UG9Gqp4TuEKlwEbQl0vt+u6aoUrIQbcPSP8WkXVPQyube6d9LMZdkkvxlbjgVq6z1K7pRwPZnuwlnt3z/fSZDPsfcX1EB/3wtQ17H3Ny14+7sWO2/Udt4dDW5i7uPCpNd3sYNaO43o42MO6n+ESb+LZoLe+n3RudGPrsGYULXmwt9fpGrpWD+PBj37U8KIn6J49ktUZL3G1RH8eTq/RmFffc25cfg9ragU07moUhuX/2z08f7/rgWIknL+vVmJTAav4WRUW1as22poqQmGB2FRb5bfjDuP0OpF5FUDcwAucpDt973YIBW3kgyOPdCO2xGvXd3uo7em96BK7sF7vufllJQrGSe7g1Xrt+w0vAm4dXGgqqGtc6m/UaUThHHpvJC7INfsF/59kcJzVHf4kfJTPFLdz/4tN2Dr9fY8XR64a7HqtjVtKd6HHtmI9WtW6ERUeArdcod8ndvqj71n1kzZPOXfCwoqi+hOs13OJ6/h1nat9Lps/VWnJ4DhaXIfEk7law6bT0PidqwWu8gjY0IDh2op5BVNYryu6gcGf8lLdaNf78fasFdU5no/VxZvLKxytM3KPNtt/tv/s+dbA3y6Ea0l+lIMcKxzzn62sV5Vb861aWjwVsMdubNe506HRtcVlH323wlj92og70eFaj0OaHD79OU4ZE06cRnaNuBFGqFrsSTWmmeMvuHAkLqQK/h4rnMWuubOdYjYiM5HoQaIrjIH/m1y4LJqsBV75c3Vvz66rw7fnJ3d/3apzKcfWLp7Vut/rYSVcPX5De4tOL/bwCizF/d7J+6M3Z5dvno1fRndk1hpfgSmykRO8MpWXpa11+NKisX9wveow2Yziy4jNlW7dPrdrX8OV4VecKXF44IjIV4fZzuwgrN4bLxAosZWRi2vEbGeGN1w4nWO1X78uYBDXpnt8RNmvDo3Xjkbix9TwZjLcpDy5779nYezJPV6JDV2ZO64v7C5Iv705v2tx6m+0h6yQnVv0CQ0j/YPHd/XWny/CHcVfKrb09GQL4lVSbejWU8vyYf6+LiJt2FoF+ne0w6/YjLeE4QKOPeJdh3Ut1iMptLW4MnZluhl6+wY/24pzP79HWLlbgPAH1j7ZIHq74DeP/2LXTOJfv/q7j8fHxHvXkyXS/YmnsW8+PT4+/g9/E/+o +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: 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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 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: 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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"; + + + + + + + + + + +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: 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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 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: 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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 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/overview.mdx b/docs/apps/overview.mdx new file mode 100644 index 0000000..f114c5a --- /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. +sidebar_position: 1 +--- + +{frontMatter.description &&

{frontMatter.description}

} + +## Introduction + +With Plane Apps, you seamlessly integrate your tools and services with +Plane, allowing you to use them without ever leaving your Plane Workspace. You +can either build your own or simply install existing Apps directly from our +[marketplace](https://plane.so/marketplace/integrations), helping you 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? + +### 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 Plane 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 apps, CI/CD pipelines, +communication tools, and anything else you can imagine, together into Plane. One +change in Plane triggerring updates across your entire tech stack. + +### Build exactly what you need + +Unlike rigid SaaS platforms, Plane's [open core nature](https://plane.so/open-source) means you can create +integrations that fit your specific workflow. + +## Get Started + +Next up, follow along with our [quickstart guide](/apps/quickstart) to build your first Plane App. diff --git a/api-reference/byoa/build-plane-app.mdx b/docs/apps/quickstart.mdx similarity index 72% rename from api-reference/byoa/build-plane-app.mdx rename to docs/apps/quickstart.mdx index 2a8c366..6954715 100644 --- a/api-reference/byoa/build-plane-app.mdx +++ b/docs/apps/quickstart.mdx @@ -1,63 +1,45 @@ --- -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. +title: Build a Plane App +sidebar_label: Quickstart +description: Step-by-step development guide to building a Plane App --- -Plane apps are currently in **Beta**. Please send any feedback to support@plane.so. +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -## 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. +{frontMatter.description &&

{frontMatter.description}

} -## 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. +:::tip Beta +Plane Apps are currently in **Beta**. Some aspects of the API may change. Please send feedback to support@plane.so. +::: ## Prerequisites - A [Plane](https://app.plane.so) workspace -- Admin access to your workspace settings -- Familiarity with OAuth 2.0 concepts (authorization code flow) +- Admin access to your Plane Workspace settings +- Familiarity with OAuth 2.0 concepts - 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) +1. [Register your Plane App](#register-your-plane-app) +2. [Implement OAuth](#implement-oauth-flow) +3. [Obtain access tokens](#obtain-and-store-access-tokens-securely) +4. [Make authenticated API requests to Plane](#make-authenticated-api-requests-to-plane) +5. [Handle token refresh](#handle-token-refresh) -## Registering Your App +## Register your Plane App -To build an OAuth application with Plane: +1. Navigate to `https://app.plane.so//settings/applications/` +2. Click on the **Build your own** button +3. Fill out these required details: -1. Navigate to `https://app.plane.so//settings/applications/`. -2. Click on the **Build your own** button. -3. Fill out the form with the required details: - - - **Redirect URIs**: Provide the URIs where Plane will send the authorization code after the user consents to the app. - - **Contact Details**: Add your email or other contact information. - - **Setup URL(Optional)**: Provide the URL that users will be redirected to when they click "Install App" from the marketplace. This URL should initiate the OAuth flow for your application. - - **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. - - **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). + - `Name` and `Sort Description`: Provide a name and brief description for your app. + - **Redirect URIs**: Provide the URIs where Plane will send the authorization code after the user consents to the app. + - **Contact Details**: Add your email or other contact information. + - **Setup URL(Optional)**: Provide the URL that users will be redirected to when they click "Install App" from the marketplace. This URL should initiate the OAuth flow for your application. + - **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. + - **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 **Is Mentionable** 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. @@ -73,7 +55,7 @@ If this flow needs to be triggered from Plane marketplace as well, then provide Below are sample implementations: - + ```python import os @@ -88,10 +70,8 @@ params = { consent_url = f"https://api.plane.so/auth/o/authorize-app/?{urlencode(params)}" ``` - - - - + + ```typescript import { URLSearchParams } from 'url'; @@ -105,7 +85,7 @@ const params = new URLSearchParams({ const consentUrl = `https://api.plane.so/auth/o/authorize-app/?${params.toString()}`; ``` - + There are two types of authenticated actions your application can perform: @@ -130,8 +110,7 @@ Plane will make a GET request to the Redirect URI with below parameters: #### Examples - - + ```python import base64 import requests @@ -161,9 +140,8 @@ bot_token = response_data['access_token'] expires_in = response_data["expires_in"] ``` - - - + + ```typescript import axios from 'axios'; @@ -196,7 +174,7 @@ const botToken = responseData.access_token; const expiresIn = responseData.expires_in; ``` - + ### User-Authorized Actions (Authorization Code Flow) @@ -214,8 +192,7 @@ Plane will make a GET request to the Redirect URI with below parameters: #### Examples - - + ```python import requests @@ -246,9 +223,8 @@ refresh_token = response_data["refresh_token"] expires_in = response_data["expires_in"] ``` - - - + + ```typescript import axios from 'axios'; @@ -282,8 +258,7 @@ const accessToken = responseData.access_token; const refreshToken = responseData.refresh_token; const expiresIn = responseData.expires_in; ``` - - + ### Fetching App Installation Details @@ -293,8 +268,7 @@ In both user-authorized and app-authorized flows, the `app_installation_id` iden #### Examples - - + ```python import requests @@ -312,9 +286,8 @@ response = requests.get( workspace_details = response.data[0] ``` - - - + + ```typescript import axios from 'axios'; @@ -332,7 +305,7 @@ const response = await axios.get( const workspaceDetails = response.data[0]; ``` - + #### Sample Response @@ -360,26 +333,15 @@ const workspaceDetails = response.data[0]; ] ``` - - ## 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) | +Use the access token obtained from the OAuth flow to make authenticated requests to Plane by +utilizing our [Plane API](/api/introduction) directly or through one of our [official SDKs](/sdks/overview). ## Handle Token Refresh @@ -389,8 +351,7 @@ When the access token expires, you can use the refresh token to get a new access #### Examples - - + ```python # When access token expires, use refresh token to get a new access token refresh_payload = { @@ -411,9 +372,8 @@ refresh_response_data = refresh_response.json() access_token = refresh_response_data["access_token"] ``` - - - + + ```typescript // When access token expires, use refresh token to get a new access token const refreshPayload = { @@ -437,11 +397,9 @@ const refreshResponse = await axios.post( 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) diff --git a/docs/intro.md b/docs/intro.md new file mode 100644 index 0000000..80059d1 --- /dev/null +++ b/docs/intro.md @@ -0,0 +1,37 @@ +--- +title: Introduction +slug: / +sidebar_position: 1 +description: Explore our guides and examples to integrate Plane +--- + +# Plane Developer Documentation + +{frontMatter.description &&

{frontMatter.description}

} + +:::tip Let's Go! +Get Started with Self-Hosting right away by visiting our [QuickStart](/self-hosting/overview). +::: + +Greetings developer! 👋 + +We're happy you're here. This site is focused on making it easy for you to +integrate with Plane. Whether hosting Plane yourself or creating a custom +integration, this is where you'll find all the fun details you need. 🦾 + +import { Card } from '@site/src/components/Card'; +import { CardGroup } from '@site/src/components/CardGroup'; + +## Solutions + + + + Learn how to self-host Plane. + + + Use our API reference to build a custom integration. + + + Learn how to integrate Plane's webhooks with your service. + + diff --git a/docs/sdks/overview.mdx b/docs/sdks/overview.mdx new file mode 100644 index 0000000..d88e04e --- /dev/null +++ b/docs/sdks/overview.mdx @@ -0,0 +1,25 @@ +--- +title: SDKs Overview +sidebar_label: Overview +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..ecc5331 --- /dev/null +++ b/docs/self-hosting/_category_.yml @@ -0,0 +1,2 @@ +label: 'Self-Hosting' +position: 2 diff --git a/self-hosting/editions-and-versions.mdx b/docs/self-hosting/editions-and-versions.mdx similarity index 93% rename from self-hosting/editions-and-versions.mdx rename to docs/self-hosting/editions-and-versions.mdx index d6f3c01..466d1dd 100644 --- a/self-hosting/editions-and-versions.mdx +++ b/docs/self-hosting/editions-and-versions.mdx @@ -1,8 +1,11 @@ --- title: Understanding Plane's editions -sidebarTitle: Plane's Editions +sidebar_label: Plane 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 @@ -53,9 +56,8 @@ Each of our editions is built on a distinct codebase. Versions with each differ - Be intentful and deliberate with changes to the Community Edition -For both the Commercial and Community Editions, version updates are in your control. Regular updates ensure you’re benefiting from the latest features and improvements. See [Update Plane](/self-hosting/manage/upgrade-plane) for how to upgrade your versions. - +For both the Commercial and Community Editions, version updates are in your control. Regular updates ensure you’re benefiting from the latest features and improvements. See [Update Plane](/self-hosting/manage/update/to-latest-version) for how to upgrade your versions. ## Changelog -We maintain a detailed changelog for all editions. [Check it out](https://plane.so/changelog) and bookmark it to stay informed about the latest features, bug fixes, and improvements by edition. \ No newline at end of file +We maintain a detailed changelog for all editions. [Check it out](https://plane.so/changelog) and bookmark it to stay informed about the latest features, bug fixes, and improvements by edition. diff --git a/docs/self-hosting/govern/_category_.yml b/docs/self-hosting/govern/_category_.yml new file mode 100644 index 0000000..b3eb7ca --- /dev/null +++ b/docs/self-hosting/govern/_category_.yml @@ -0,0 +1 @@ +label: 'Configure' diff --git a/docs/self-hosting/govern/authentication/_category_.yml b/docs/self-hosting/govern/authentication/_category_.yml new file mode 100644 index 0000000..2348382 --- /dev/null +++ b/docs/self-hosting/govern/authentication/_category_.yml @@ -0,0 +1 @@ +label: 'Authentication' diff --git a/self-hosting/govern/github-oauth.mdx b/docs/self-hosting/govern/authentication/github-oauth.mdx similarity index 85% rename from self-hosting/govern/github-oauth.mdx rename to docs/self-hosting/govern/authentication/github-oauth.mdx index f5e141d..5e298c7 100644 --- a/self-hosting/govern/github-oauth.mdx +++ b/docs/self-hosting/govern/authentication/github-oauth.mdx @@ -2,6 +2,8 @@ title: Github OAuth --- +{frontMatter.description &&

{frontMatter.description}

} + Plane also supports GitHub OAuth so your users can sign-in with GitHub instead. ## Configure Plane as an OAuth app on GitHub @@ -9,7 +11,7 @@ Plane also supports GitHub OAuth so your users can sign-in with GitHub instead. 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) + ![](/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**\ @@ -17,7 +19,7 @@ Plane also supports GitHub OAuth so your users can sign-in with GitHub instead. 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) + ![](/images/authentication/github/github-auth-2.png#center) 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 diff --git a/self-hosting/govern/google-oauth.mdx b/docs/self-hosting/govern/authentication/google-oauth.mdx similarity index 79% rename from self-hosting/govern/google-oauth.mdx rename to docs/self-hosting/govern/authentication/google-oauth.mdx index 8f1183b..092fda4 100644 --- a/self-hosting/govern/google-oauth.mdx +++ b/docs/self-hosting/govern/authentication/google-oauth.mdx @@ -2,6 +2,8 @@ title: Google OAuth --- +{frontMatter.description &&

{frontMatter.description}

} + 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 @@ -10,11 +12,11 @@ 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) + ![](/images/authentication/google/google-auth-1.png#center) 3. Configure the OAuth consent screen with information about the app. - ![](/images/authentication/google/google-auth-2.png) + ![](/images/authentication/google/google-auth-2.png#center) 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) + ![](/images/authentication/google/google-auth-3.png#center) 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` @@ -22,7 +24,7 @@ First, you will need to identify Plane as an approved OAuth app to Google. 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) + ![](/images/authentication/google/google-auth-4.png#center) ## Configure Plane @@ -32,5 +34,6 @@ First, you will need to identify Plane as an approved OAuth app to Google. 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. +:::note +We don't restrict domains in with Google OAuth yet. It's on our roadmap. +::: diff --git a/self-hosting/govern/oidc-sso.mdx b/docs/self-hosting/govern/authentication/oidc-sso.mdx similarity index 71% rename from self-hosting/govern/oidc-sso.mdx rename to docs/self-hosting/govern/authentication/oidc-sso.mdx index ba664e7..05c4a8a 100644 --- a/self-hosting/govern/oidc-sso.mdx +++ b/docs/self-hosting/govern/authentication/oidc-sso.mdx @@ -1,9 +1,11 @@ --- 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,25 +17,25 @@ 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 ↓. - - `domain.tld` is the domain that you have hosted your Plane app on. - +:::tip +`domain.tld` is the domain that you have hosted your Plane app on. +::: -| **Config** | **Key** | -|----------------|-------------------------------------------------------| -| Origin URL | `http(s)://domain.tld/auth/oidc/` | -| Callback URL | `http(s)://domain.tld/auth/oidc/callback/` | -| Logout URL | `http(s)://domain.tld/auth/oidc/logout/` | +| **Config** | **Key** | +| ------------ | ------------------------------------------ | +| Origin URL | `http(s)://domain.tld/auth/oidc/` | +| Callback URL | `http(s)://domain.tld/auth/oidc/callback/` | +| Logout URL | `http(s)://domain.tld/auth/oidc/logout/` | ### On Plane Go to `/god-mode/authentication/oidc` on your Plane app and find the configs ↓. - - Your IdP will generate some of the following configs for you. Others, you will specify yourself. Just copy them over to each field. - +:::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 +55,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) + ![](/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) + ![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. - diff --git a/self-hosting/govern/authentication.mdx b/docs/self-hosting/govern/authentication/overview.mdx similarity index 58% rename from self-hosting/govern/authentication.mdx rename to docs/self-hosting/govern/authentication/overview.mdx index 1ca7bd8..5e94d98 100644 --- a/self-hosting/govern/authentication.mdx +++ b/docs/self-hosting/govern/authentication/overview.mdx @@ -1,10 +1,11 @@ --- -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. +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 --- -{/* ## 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. */} +{frontMatter.description &&

{frontMatter.description}

} ## Authentication methods diff --git a/docs/self-hosting/govern/authentication/reset-password.mdx b/docs/self-hosting/govern/authentication/reset-password.mdx new file mode 100644 index 0000000..3486b5d --- /dev/null +++ b/docs/self-hosting/govern/authentication/reset-password.mdx @@ -0,0 +1,26 @@ +--- +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 + ``` + +2. Log in to the container. + + ```bash + docker exec -it /bin/sh + ``` + +3. Run the reset password command. + `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. + ::: diff --git a/docs/self-hosting/govern/authentication/saml-sso.mdx b/docs/self-hosting/govern/authentication/saml-sso.mdx new file mode 100644 index 0000000..9cb411e --- /dev/null +++ b/docs/self-hosting/govern/authentication/saml-sso.mdx @@ -0,0 +1,75 @@ +--- +title: SAML SSO +sidebar_label: SAML SSO +--- + +{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 + +Create a Plane client or application per your IdP's documentation and configure ↓ + +| **Config** | **Description** | **Value** | +| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | +| Entity ID | Metadata that identifies Plane as an authorized service on your IdP | `http(s)://domain.tld/auth/oidc/` | +| 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. + +| **Config** | **Value** | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Name ID format | emailAddress

By default, your IdP should send back a username, but Plane recognizes email addresses as the username. Set the value to the above so Plane recognizes the user correctly. | + +### Set additional attribute values. + +By default, your IdP will send the value listed under `Property`. You have to map it to the SAML attribute Plane recognizes. + +| **Default property value** | **Plane SAML attribute** | +| -------------------------- | ------------------------ | +| `user.firstName` | first_name | +| `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#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. + +- Copy the `SSO URL` for the Plane client or app from your IdP and paste it in the field for it. + + This will bring up the IdP's authentication screen for your users. + + ![](/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. + + ![](/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. diff --git a/self-hosting/govern/communication.mdx b/docs/self-hosting/govern/communication.mdx similarity index 80% rename from self-hosting/govern/communication.mdx rename to docs/self-hosting/govern/communication.mdx index 7b91181..6a191b3 100644 --- a/self-hosting/govern/communication.mdx +++ b/docs/self-hosting/govern/communication.mdx @@ -1,19 +1,22 @@ --- -title : Configure SMTP for email notifications -sidebarTitle: 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. +title: Configure SMTP for email notifications +sidebar_label: SMTP for Email +description: Set SMTP settings to let users receive emails to reset passwords, onboard, be notified of changes, and receive data exports. --- - -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) +![](/images/instance-admin/email-settings.png#center) - **Host**\ The address of your SMTP server. @@ -30,15 +33,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 +52,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/docs/self-hosting/govern/configure-dns-email-service.mdx b/docs/self-hosting/govern/configure-dns-email-service.mdx new file mode 100644 index 0000000..96bfd27 --- /dev/null +++ b/docs/self-hosting/govern/configure-dns-email-service.mdx @@ -0,0 +1,179 @@ +--- +title: Configure 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. +--- + +{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 + +Ensure that the Plane server allows inbound traffic on the following email-related ports: `25`, `465`, and `587`. + +If any of these ports are currently in use, you can free them by running: + +```bash +fuser -k 25/tcp 465/tcp 587/tcp +``` + +## 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** - Update your system and install Certbot. + + ```bash + sudo apt update && sudo apt install certbot + ``` + + For NGINX: + + ```bash + sudo apt install python3-certbot-nginx + ``` + + For Apache: + + ```bash + sudo apt install python3-certbot-apache + ``` + +2. **Generate SSL Certificate** - Choose the method that matches your web server setup: + + For NGINX: + ```bash + sudo certbot --nginx -d + ``` + + For Apache: + ```bash + sudo certbot --apache -d + ``` + + For standalone (no web server): + ```bash + sudo certbot certonly --standalone -d + ``` + +3. **Copy Certificate Files** - Copy the generated certificate files to Plane's expected directory: + + ```bash + sudo cp /etc/letsencrypt/live//fullchain.pem /opt/plane/data/email/tls/cert.pem + sudo cp /etc/letsencrypt/live//privkey.pem /opt/plane/data/email/tls/key.pem + ``` + +4. **Configure Environment Variables** - Add the following settings to your plane.env file: + + ```bash + # If using SMTP_DOMAIN as FQDN (e.g., intake.example.com), + # generate a valid SSL certificate and set these paths accordingly. + SMTP_DOMAIN=intake.example.com + TLS_CERT_PATH=tls/cert.pem + TLS_PRIV_KEY_PATH=tls/key.pem + INTAKE_EMAIL_DOMAIN=intake.example.com + ``` + + :::warning + Important: `SMTP_DOMAIN` and `INTAKE_EMAIL_DOMAIN` must be identical. + ::: + +## Configure DNS records + +1. **Create an A Record** + This record points to the server running your email service. + + ```bash + Type: A + Host: # Example: plane.example.com + Value: # Your server's public IP address + 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. + + ```bash + Type: MX + Host: # Example: intake.example.com + Value: # Same as your A record host + Priority: 10 + TTL: Auto | 3600 + ``` + +3. **Configure an SPF Record** + This record helps prevent email spoofing. + + ```bash + Type: TXT + Host: # Example: intake.example.com + Value: "v=spf1 ip4: -all" + TTL: Auto | 3600 + ``` + +4. **Set Up a DMARC record** + This record specifies how receiving mail servers should handle authentication failures. + + ```bash + Type: TXT + Host: _dmarc. # Example: _dmarc.intake.example.com + Value: "v=DMARC1; p=reject; rua=mailto:" + TTL: Auto | 3600 + ``` + +## Verify your configuration + +After setting up your DNS records, verify that they're correctly configured: + + ```bash + # Verify A record + dig A + + # Verify MX record + dig MX + + # Verify SPF record + dig TXT + + # Verify DMARC record + dig TXT _dmarc. + ``` + + You can also use [MXToolbox](https://mxtoolbox.com) to check for any issues with your DNS configuration. + +## Test your mail server + +Once your DNS records have propagated, test your SMTP connections: + + ```bash + # Test SMTP connection on standard ports + telnet 25 + telnet 465 + telnet 587 + ``` + +## Troubleshooting + +- MX Record issues + - Ensure there's a proper dot at the end of the domain. + - Check that the priority number is correct (lower = higher priority). + - Allow 24-48 hours for DNS changes to fully propagate. + +- A Record issues + - Verify that the IP address is correct. + - Ensure your mail subdomain matches the MX record. + +## See also + +[Intake Email](https://docs.plane.so/intake/intake-email) diff --git a/self-hosting/govern/custom-domain.mdx b/docs/self-hosting/govern/custom-domain.mdx similarity index 73% rename from self-hosting/govern/custom-domain.mdx rename to docs/self-hosting/govern/custom-domain.mdx index 8bb862a..6f082c1 100644 --- a/self-hosting/govern/custom-domain.mdx +++ b/docs/self-hosting/govern/custom-domain.mdx @@ -1,28 +1,37 @@ --- 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. --- - -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. - - +{frontMatter.description &&

{frontMatter.description}

} + +:::note +With the Commercial Edition, you can set up a custom domain during +installation. If you need to change the domain later, contact our +support team for assistance. +::: + +## 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 +### Update the .env file -This step is mandatory for you to host Plane on a custom domain. +:::warning +This step is mandatory for you 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: +Open your project's `.env` file. This file contains configuration settings for +your application. Locate the following lines: ``` WEB_URL= CORS_ALLOWED_ORIGINS= ``` -Replace `` with your actual domain name, including the protocol (http:// or https://). For example: +Replace `` with your actual domain name, +including the `http://` or `https://` protocol. For example: ``` WEB_URL=https://example.com @@ -31,7 +40,7 @@ CORS_ALLOWED_ORIGINS=https://example.com If you are hosting Plane on a public IP, then follow the steps here. However, if you are hosting Plane on an internal IP then follow these steps. -## Set DNS A record (for public IP) +### Set DNS A record (for public IP) If your server has a public IP address, you need to configure the DNS A record to point to this IP address. This allows users to access your application using your custom domain name. Here’s how to do it: @@ -41,7 +50,7 @@ If your server has a public IP address, you need to configure the DNS A record t - Add a new A record with the hostname set to `@` (or your subdomain if applicable) and the IP address set to your server's public IP address. - Save the changes. It may take some time for the DNS changes to propagate. -## Configure reverse proxy (for internal IP) +### Configure reverse proxy (for internal IP) If your server is behind a firewall or router and has an internal IP address, you'll need to set up a reverse proxy to route requests from your custom domain to your server. Follow these steps: @@ -54,5 +63,3 @@ 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 51% rename from self-hosting/govern/database-and-storage.mdx rename to docs/self-hosting/govern/database-and-storage.mdx index 833c050..33a2f83 100644 --- a/self-hosting/govern/database-and-storage.mdx +++ b/docs/self-hosting/govern/database-and-storage.mdx @@ -1,90 +1,94 @@ --- 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. 1. Run the Prime CLI with ↓: - ```sudo prime-cli``` - -2. Once the CLI is running, enter `configure`, which will guide you through a step-by-step form where you can specify the following: - - - `Listening port` - Define the port for the built-in reverse proxy. - *Default*: `80` - - - `Max file-upload size` - Set the maximum file size (in MB) that members can upload. - *Default*: `5 MB` - - - `External Postgres URL` - 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. - - - 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. - *Default*: `Redis 7.2.4` - - - `External storage` - Plane currently supports only S3 compatible storages. - *Default*: `MinIO` - - 1. Ensure your IAM user has the following permissions on your S3 bucket. - - **s3:GetObject** - To access the objects. - - **s3:PutObject** - To upload new assets using the presigned url. - 2. Configure the CORS policy on your bucket to enable presigned uploads. Use the example policy below, making sure to replace `` with your actual domain. - ``` - [ - { - "AllowedHeaders": [ - "*" - ], - "AllowedMethods": [ - "GET", - "POST", - "PUT", - "DELETE", - "HEAD" - ], - "AllowedOrigins": [ - "", - ], - "ExposeHeaders": [ - "ETag", - "x-amz-server-side-encryption", - "x-amz-request-id", - "x-amz-id-2" - ], - "MaxAgeSeconds": 3000 - } - ] - ``` - 3. Switch to your external storage by providing the following values: - - S3 access key ID  - - S3 secret access key - - S3 bucket name - - S3 region  - - S3 endpoint URL - -3. After confirming your choices, your instance will automatically restart with the updated configuration. - - + + ```bash + sudo prime-cli + ``` + +2. Once the CLI is running, enter `configure`, which will guide you through a step-by-step form where you can specify the following: + - `Listening port` + Define the port for the built-in reverse proxy. + _Default_: `80` + + - `Max file-upload size` + Set the maximum file size (in MB) that members can upload. + _Default_: `5 MB` + + - `External Postgres URL` + 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. + _Default_: `Redis 7.2.4` + + - `External storage` + Plane currently supports only S3 compatible storages. + _Default_: `MinIO` + 1. Ensure your IAM user has the following permissions on your S3 bucket. + - **s3:GetObject** + To access the objects. + - **s3:PutObject** + To upload new assets using the presigned url. + 2. Configure the CORS policy on your bucket to enable presigned uploads. Use the example policy below, making sure to replace `` with your actual domain. + ``` + [ + { + "AllowedHeaders": [ + "*" + ], + "AllowedMethods": [ + "GET", + "POST", + "PUT", + "DELETE", + "HEAD" + ], + "AllowedOrigins": [ + "", + ], + "ExposeHeaders": [ + "ETag", + "x-amz-server-side-encryption", + "x-amz-request-id", + "x-amz-id-2" + ], + "MaxAgeSeconds": 3000 + } + ] + ``` + 3. Switch to your external storage by providing the following values: + - S3 access key ID + - S3 secret access key + - S3 bucket name + - 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. 1. Open the `plane.env` file on your server where Plane is installed. 2. In the **DB SETTINGS** section, update the variables to connect to your external Postgres instance: + ```bash # DB SETTINGS PGHOST=your-external-postgres-host # Replace with the hostname or IP address of your Postgres server. @@ -97,13 +101,14 @@ 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. ``` - - 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. + :::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. - + 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 # REDIS SETTINGS REDIS_HOST=your-external-redis-host # Hostname or IP of the Redis server. @@ -111,7 +116,7 @@ To configure external Postgres, Redis, and S3 storage for the Plane Community Ed REDIS_URL= # Leave this empty if you're providing values for the variables above. If you choose to use the REDIS_URL, you can leave all the other redis-related variables empty. ``` -4. In the **DATA STORE SETTINGS** section, update the variables for any S3-compatible storage: +4. In the **DATA STORE SETTINGS** section, update the variables for any S3-compatible storage: ```bash # DATA STORE SETTINGS USE_MINIO=0 # Set to 0 if using an external S3, 1 if using MinIO (default). @@ -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/docs/self-hosting/govern/environment-variables.mdx b/docs/self-hosting/govern/environment-variables.mdx new file mode 100644 index 0000000..bec9289 --- /dev/null +++ b/docs/self-hosting/govern/environment-variables.mdx @@ -0,0 +1,244 @@ +--- +title: Environment variables reference guide +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 + +The environment file for Plane Commercial Edition is located at: +`bash + /opt/plane/plane.env + ` + +This is where you'll make all configuration changes. Remember to restart the instance after making changes to ensure they take effect. + +## Environment variables + +### General settings + +| Variable | Description | Default Value | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------- | +| **INSTALL_DIR** | Directory where Plane is installed. | `/opt/plane` | +| **DOMAIN_NAME** | Primary domain name for your Plane instance. This determines how users will access your installation. | `localhost` | +| **APP_RELEASE_VERSION** | The version of Plane Commercial Edition you're running. This helps with troubleshooting and ensures compatibility. | _Current release version_ | +| **WEB_URL** | The complete base URL for the web application including protocol (e.g., `https://plane.example.com`). | `http://localhost` | +| **CORS_ALLOWED_ORIGINS** | Comma-separated list of origins allowed to make cross-origin requests to your API. Usually, this should include your WEB_URL. | `http://localhost` | +| **DEBUG** | Toggles debug mode for more verbose logging and debugging information. | `0` (disabled) | + +### Scaling and performance + +| Variable | Description | Default Value | +| ------------------------ | ---------------------------------------------------------------------------------------------------------------- | ------------- | +| **WEB_REPLICAS** | Number of web server replicas for load balancing. | `1` | +| **SPACE_REPLICAS** | Number of space service replicas for workspaces. | `1` | +| **ADMIN_REPLICAS** | Number of admin service replicas. | `1` | +| **API_REPLICAS** | Number of API service replicas. | `1` | +| **WORKER_REPLICAS** | Number of worker service replicas for background tasks. | `1` | +| **BEAT_WORKER_REPLICAS** | Number of beat worker replicas for scheduled tasks. | `1` | +| **LIVE_REPLICAS** | Number of live service replicas for real-time updates. | `1` | +| **GUNICORN_WORKERS** | Number of Gunicorn workers for handling web requests. Increase for better performance on high-traffic instances. | `2` | + +### Networking and security + +| Variable | Description | Default Value | +| --------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------- | +| **LISTEN_HTTP_PORT** | Port for HTTP traffic. | `80` | +| **LISTEN_HTTPS_PORT** | Port for HTTPS traffic. | `443` | +| **APP_PROTOCOL** | Protocol to be used, either `http` or `https`. | `http` | +| **TRUSTED_PROXIES** | CIDR notation of trusted proxies for request forwarding. Important when behind load balancers or reverse proxies. | `0.0.0.0/0` | +| **SSL_VERIFY** | Whether to verify SSL certificates for outgoing connections. Set to `0` only in development environments. | `1` | + +### SSL and certificates + +| Variable | Description | Default Value | +| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ | +| **CERT_EMAIL** | Email used for SSL certificate registration with Let's Encrypt or other ACME providers. | `admin@example.com` | +| **CERT_ACME_CA** | ACME Certificate Authority URL for SSL certificate issuance. | `https://acme-v02.api.letsencrypt.org/directory` | +| **CERT_ACME_DNS** | DNS provider configuration for SSL certificate domain validation. Format varies by provider. | | +| **SITE_ADDRES** | The domain name and port required by Caddy for serving your Plane instance. This determines how Caddy will handle incoming requests. | `localhost:80` | + +### Database settings + +| Variable | Description | Default Value | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| **PGHOST** | Hostname or IP address of your PostgreSQL server. | `plane-db` | +| **PGDATABASE** | Name of the PostgreSQL database Plane will use. | `plane` | +| **POSTGRES_USER** | Username for PostgreSQL authentication. | `plane` | +| **POSTGRES_PASSWORD** | Password for PostgreSQL authentication. **Critical:** Use a strong, unique password here. | `plane` | +| **POSTGRES_DB** | Same as PGDATABASE - the name of the PostgreSQL database. | `plane` | +| **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | `5432` | +| **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL within the same container/system. | `/var/lib/postgresql/data` | +| **DATABASE_URL** | Full connection string for PostgreSQL. If provided, this takes precedence over individual connection parameters. Format: `postgresql://username:password@host:port/dbname` | | + +### Redis settings + +| Variable | Description | Default Value | +| -------------- | -------------------------------------------- | ------------- | +| **REDIS_HOST** | Hostname or IP address of your Redis server. | `plane-redis` | +| **REDIS_PORT** | TCP port your Redis server is listening on. | `6379` | +| **REDIS_URL** | Full connection string for Redis. | | + +### RabbitMQ settings + +| Variable | Description | Default Value | +| -------------------------- | --------------------------------------------------------------------------------------- | ------------- | +| **RABBITMQ_HOST** | Hostname or IP address of your RabbitMQ server. | `plane-mq` | +| **RABBITMQ_PORT** | TCP port your RabbitMQ server is listening on. | `5672` | +| **RABBITMQ_DEFAULT_USER** | Username for RabbitMQ authentication. | `plane` | +| **RABBITMQ_DEFAULT_PASS** | Password for RabbitMQ authentication. | `plane` | +| **RABBITMQ_DEFAULT_VHOST** | Virtual host for RabbitMQ, providing logical separation of resources. | `plane` | +| **AMQP_URL** | Full connection string for RabbitMQ. Format: `amqp://username:password@host:port/vhost` | | + +### Authentication and security + +| Variable | Description | Default Value | +| --------------------- | ---------------------------------------------------------------------------------- | ------------- | +| **SECRET_KEY** | Secret key used for various cryptographic operations, including JWT token signing. | | +| **MACHINE_SIGNATURE** | Unique identifier for your instance, used for licensing and authentication. | | + +### File Storage (MinIO / S3) + +| Variable | Description | Default Value | +| ------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------- | +| **USE_MINIO** | Determines whether to use MinIO for object storage. Set to `1` to enable MinIO, `0` to use configured S3 or local storage. | `1` | +| **AWS_REGION** | AWS region for S3 storage services. | | +| **AWS_ACCESS_KEY_ID** | Access key for MinIO or AWS S3 authentication. | | +| **AWS_SECRET_ACCESS_KEY** | Secret key for MinIO or AWS S3 authentication. | | +| **AWS_S3_ENDPOINT_URL** | Custom endpoint URL for MinIO or S3-compatible storage. | `http://plane-minio:9000` | +| **AWS_S3_BUCKET_NAME** | S3 bucket name for file storage. | `uploads` | +| **MINIO_ROOT_USER** | Username for MinIO authentication. This is effectively your MinIO admin account. | `access-key` | +| **MINIO_ROOT_PASSWORD** | Password for MinIO root user authentication. Keep this secure as it provides full access to your storage. | `secret-key` | +| **BUCKET_NAME** | S3 bucket name where all file uploads will be stored. This bucket will be automatically created if it doesn't exist. | `uploads` | +| **FILE_SIZE_LIMIT** | Maximum file upload size in bytes. | `5242880` (5MB) | +| **MINIO_ENDPOINT_SSL** | Force HTTPS for MinIO when dealing with SSL termination. Set to `1` to enable. | `0` | + +### GitHub integration + +| Variable | Description | Default Value | +| ------------------------ | ------------------------------------------------ | ------------- | +| **GITHUB_CLIENT_ID** | OAuth client ID for GitHub integration. | | +| **GITHUB_CLIENT_SECRET** | OAuth client secret for GitHub integration. | | +| **GITHUB_APP_NAME** | GitHub App name for enhanced GitHub integration. | | +| **GITHUB_APP_ID** | GitHub App ID for enhanced GitHub integration. | | +| **GITHUB_PRIVATE_KEY** | Private key for GitHub App authentication. | | + +### Slack integration + +| Variable | Description | Default Value | +| ----------------------- | ------------------------------------------ | ------------- | +| **SLACK_CLIENT_ID** | OAuth client ID for Slack integration. | | +| **SLACK_CLIENT_SECRET** | OAuth client secret for Slack integration. | | + +### GitLab integration + +| Variable | Description | Default Value | +| ------------------------ | ------------------------------------------- | ------------- | +| **GITLAB_CLIENT_ID** | OAuth client ID for GitLab integration. | | +| **GITLAB_CLIENT_SECRET** | OAuth client secret for GitLab integration. | | + +### API settings + +| Variable | Description | Default Value | +| ---------------------- | ----------------------------------------------------------------------- | ------------- | +| **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. + +## Where to find the environment file + +The environment configuration file is located at: +`bash + plane-selfhost/plane-app/plane.env + ` + +## Environment Variables + +### General settings + +| Variable | Description | Default Value | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | +| **APP_DOMAIN** | Domain name for your Plane instance. This determines how users will access your installation. | `localhost` | +| **APP_RELEASE** | Release version of Plane. Helps with compatibility and troubleshooting. | `stable` | +| **WEB_URL** | The complete base URL for the web application including protocol. Essential for email links and integrations. | `http://${APP_DOMAIN}` | +| **CORS_ALLOWED_ORIGINS** | Comma-separated list of origins allowed to make cross-origin requests to your API. | `http://${APP_DOMAIN}` | +| **DEBUG** | Toggles debug mode for verbose logging. Set to `1` to enable, `0` to disable. Not recommended in production as it may expose sensitive information. | `0` | +| **NGINX_PORT** | Port for HTTP traffic. The primary port your users will connect to. | `80` | + +### Scaling and performance + +| Variable | Description | Default Value | +| ------------------------ | ------------------------------------------------------------------------------------------------- | ------------- | +| **WEB_REPLICAS** | Number of web server replicas for serving the frontend UI. Increase for better load distribution. | `1` | +| **SPACE_REPLICAS** | Number of space service replicas handling workspace-related operations. | `1` | +| **ADMIN_REPLICAS** | Number of admin service replicas for administrative functions. | `1` | +| **API_REPLICAS** | Number of API service replicas processing API requests. | `1` | +| **WORKER_REPLICAS** | Number of worker service replicas handling background tasks. | `1` | +| **BEAT_WORKER_REPLICAS** | Number of beat worker replicas for scheduled/periodic tasks. | `1` | +| **LIVE_REPLICAS** | Number of live service replicas for real-time updates and WebSocket connections. | `1` | +| **GUNICORN_WORKERS** | Number of Gunicorn workers per API instance. Increase for better request handling capacity. | `1` | + +### API settings + +| Variable | Description | Default Value | +| ---------------------- | ----------------------------------------------------------------------- | ------------- | +| **API_KEY_RATE_LIMIT** | Rate limit for API requests to prevent abuse. Format: `number/timeunit` | `60/minute` | + +### Database settings + +| Variable | Description | Default Value | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| **PGHOST** | Hostname or IP address of your PostgreSQL server. | `plane-db` | +| **PGDATABASE** | Name of the PostgreSQL database Plane will use. | `plane` | +| **POSTGRES_USER** | Username for PostgreSQL authentication. | `plane` | +| **POSTGRES_PASSWORD** | Password for PostgreSQL authentication. Use a strong, unique password. | `plane` | +| **POSTGRES_DB** | Same as PGDATABASE - the name of the PostgreSQL database. | `plane` | +| **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | `5432` | +| **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL directly. | `/var/lib/postgresql/data` | +| **DATABASE_URL** | Full connection string for PostgreSQL. If provided, overrides individual settings. Format: `postgresql://username:password@host:port/dbname` | | + +### Redis settings + +| Variable | Description | Default Value | +| -------------- | ------------------------------------------------------------------------------- | ------------- | +| **REDIS_HOST** | Hostname or IP address of your Redis server. | `plane-redis` | +| **REDIS_PORT** | TCP port your Redis server is listening on. | `6379` | +| **REDIS_URL** | Full connection string for Redis. Format: `redis://username:password@host:port` | | + +### RabbitMQ settings + +| Variable | Description | Default Value | +| --------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------- | +| **RABBITMQ_HOST** | Hostname or IP address of your RabbitMQ server. | `plane-mq` | +| **RABBITMQ_PORT** | TCP port your RabbitMQ server is listening on. | `5672` | +| **RABBITMQ_USER** | Username for RabbitMQ authentication. | `plane` | +| **RABBITMQ_PASSWORD** | Password for RabbitMQ authentication. Use a strong, unique password. | `plane` | +| **RABBITMQ_VHOST** | Virtual host for RabbitMQ, providing logical separation of resources. | `plane` | +| **AMQP_URL** | Full connection string for RabbitMQ. If not provided, it's constructed from individual settings. | `amqp://plane:plane@plane-mq:5672/plane` | + +### File Storage (MinIO / S3) + +| Variable | Description | Default Value | +| ------------------------- | --------------------------------------------------------------------------------------------------- | --------------- | +| **USE_MINIO** | Whether to use MinIO for object storage. Set to `1` to enable, `0` to use other configured storage. | `1` | +| **MINIO_ENDPOINT_SSL** | Force HTTPS for MinIO when handling SSL termination. Set to `1` to enable. | `0` | +| **AWS_REGION** | AWS region for S3 storage services. Applies when using S3 or MinIO. | | +| **AWS_ACCESS_KEY_ID** | Access key for MinIO or AWS S3 authentication. | `access-key` | +| **AWS_SECRET_ACCESS_KEY** | Secret key for MinIO or AWS S3 authentication. | `secret-key` | +| **AWS_S3_ENDPOINT_URL** | Endpoint URL for MinIO or S3-compatible storage. | | +| **AWS_S3_BUCKET_NAME** | S3 bucket name for file storage. All uploads will be stored in this bucket. | `uploads` | +| **FILE_SIZE_LIMIT** | Maximum file upload size in bytes. | `5242880` (5MB) | + +### Security settings + +| Variable | Description | Default Value | +| -------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------- | +| **SECRET_KEY** | Secret key used for cryptographic operations like session handling and token generation. Should be a long, random string. | | + +
diff --git a/docs/self-hosting/govern/external-secrets.mdx b/docs/self-hosting/govern/external-secrets.mdx new file mode 100644 index 0000000..eb66261 --- /dev/null +++ b/docs/self-hosting/govern/external-secrets.mdx @@ -0,0 +1,197 @@ +--- +title: Configure external secrets for Kubernetes deployments +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 + +1. Create a dedicated IAM user (e.g., `external-secret-access-user`). You can uncheck **Console Access Required**. +2. Generate `ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` and keep them handy. +3. Note the user's ARN for later use (format: `arn:aws:iam:::user/`). + +4. Create IAM policy (e.g., `external-secret-access-policy`) with the following JSON: + + ```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "secretsmanager:GetResourcePolicy", + "secretsmanager:GetSecretValue", + "secretsmanager:DescribeSecret", + "secretsmanager:ListSecretVersionIds" + ], + "Resource": ["arn:aws:secretsmanager:::secret:*"] + } + ] + } + ``` + + Replace `` and `` with your AWS region and account ID. + +5. Create IAM role (e.g., external-secret-access-role) with the following trust relationship: + + ```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "AWS": "" + }, + "Action": "sts:AssumeRole" + } + ] + } + ``` + + Replace `` with the ARN of the user created in step 1. + +6. Attach the AWS IAM policy created in step 4 to the IAM role. + +7. Create secrets in AWS Secrets Manager with your Plane configuration values. For example, store RabbitMQ credentials with a name like `prod/secrets/rabbitmq`. + + | Key | Value | + | ----------------------- | -------- | + | `RABBITMQ_DEFAULT_USER` | plane | + | `RABBITMQ_DEFAULT_PASS` | plane123 | + + Follow this pattern to manage all the [environment variables](/self-hosting/methods/kubernetes#external-secrets-config) in AWS Secrets Manager. + +8. Create a Kubernetes secret containing AWS credentials in your application namespace: + + ```sh + kubectl create secret generic aws-creds-secret \ + --from-literal=access-key= \ + --from-literal=secret-access-key= \ + -n + ``` + +9. Apply the following YAML to create a ClusterSecretStore resource: + + ```yaml + apiVersion: external-secrets.io/v1 + kind: ClusterSecretStore + metadata: + name: cluster-aws-secretsmanager + namespace: + spec: + provider: + aws: + service: SecretsManager + role: arn:aws:iam:::role/ + region: eu-west-1 + auth: + accessKeyIDSecretRef: + name: aws-creds-secret + key: access-key + secretAccessKeySecretRef: + name: aws-creds-secret + key: secret-access-key + ``` + + Replace `` and `` with your AWS account ID and the role name created in Step 5. + +10. Create an ExternalSecret resource to fetch secrets from AWS and create a corresponding Kubernetes secret: + ```yaml + apiVersion: external-secrets.io/v1 + kind: ExternalSecret + metadata: + name: rabbitmq-external-secrets + namespace: + spec: + refreshInterval: 1m + secretStoreRef: + name: cluster-aws-secretsmanager # ClusterSecretStore name + kind: ClusterSecretStore + target: + name: rabbitmq-secret # Target Kubernetes secret name + creationPolicy: Owner + data: + - secretKey: RABBITMQ_DEFAULT_USER + remoteRef: + key: prod/secrets/rabbitmq + property: RABBITMQ_DEFAULT_USER + - secretKey: RABBITMQ_DEFAULT_PASS + remoteRef: + key: prod/secrets/rabbitmq + ``` + +Make sure to set all [environment variables](/self-hosting/methods/kubernetes#external-secrets-config) in the AWS Secrets Manager, and then access them via ExternalSecret resources in your Kubernetes cluster. + +## HashiCorp Vault + +1. Access the Vault UI at `https:///`. + +2. Set up a KV secrets engine if not already configured. + +3. Create a secret with your Plane configuration values (e.g., `secrets/rabbitmq_secrets`). For this example, we're setting up RabbitMQ credentials: + + | Key | Value | + | ----------------------- | -------- | + | `RABBITMQ_DEFAULT_USER` | plane | + | `RABBITMQ_DEFAULT_PASS` | plane123 | + + Follow this pattern to manage all the other [environment variables](/self-hosting/methods/kubernetes#external-secrets-config) in the Vault. + +4. Create a Kubernetes secret containing your Vault token in your application namespace: + + ```sh + kubectl create secret generic vault-token -n --from-literal=token= + ``` + +5. Apply the following YAML to create a ClusterSecretStore resource: + + ```yaml + apiVersion: external-secrets.io/v1 + kind: ClusterSecretStore + metadata: + name: vault-backend + namespace: + spec: + provider: + vault: + server: 'https://' # the address of your vault instance + path: 'secrets' # path for accessing the secrets + version: 'v2' # Vault API version + auth: + tokenSecretRef: + name: 'vault-token' # Use a k8s secret called vault-token + key: 'token' # Use this key to access the vault token + ``` + + Replace `` with your Vault server address. + +6. Create an ExternalSecret resource to fetch secrets from Vault and create a corresponding Kubernetes secret: + ```yaml + apiVersion: external-secrets.io/v1 + kind: ExternalSecret + metadata: + name: rabbitmq-external-secrets + namespace: # application-namespace + spec: + refreshInterval: '1m' + secretStoreRef: + name: vault-backend # ClusterSecretStore name + kind: ClusterSecretStore + target: + name: rabbitmq-secret # Target Kubernetes secret name + creationPolicy: Owner + data: + - secretKey: RABBITMQ_DEFAULT_USER + remoteRef: + key: secrets/data/rabbitmq_secrets + property: RABBITMQ_DEFAULT_USER + - secretKey: RABBITMQ_DEFAULT_PASS + remoteRef: + 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. diff --git a/docs/self-hosting/govern/instance-admin.mdx b/docs/self-hosting/govern/instance-admin.mdx new file mode 100644 index 0000000..c113923 --- /dev/null +++ b/docs/self-hosting/govern/instance-admin.mdx @@ -0,0 +1,194 @@ +--- +title: Instance admin and God mode +sidebar_label: Instance admin and God mode +sidebar_position: 1 +--- + +{frontMatter.description &&

{frontMatter.description}

} + +:::note Version +This feature is available beginning in version 0.14. +::: + +An **instance** is a single self-managed installation of Plane on a private cloud +or server. A single instance can house multiple workspaces. + +**Instance admin** is a role that permits you to administer and govern your Plane instance and workspaces. +You can access the instance admin features by going to `/god-mode` on your self-hosted Plane instance. + +{/* 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. */} + +## Settings + +God Mode features a few screens as shown below. + +### General + +The General settings page allows you to view or configure core instance details and telemetry preferences. +Here’s what you can manage: + +- **Name of instance** + Customize the name of your instance. + +- **Email** + Displays the instance admin email address. + +- **Instance ID** + Displays a unique identifier for your instance. + +- **Chat with us** + 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/govern/telemetry) for more info. + +![](/images/instance-admin/god-mode-general.webp#center) + +### Workspaces + +The Workspaces section allows you to manage all workspaces within your Plane instance. + +- **View all Workspaces** + Access a complete list of workspaces on your instance. + +- **Create Workspaces** + You can create new workspaces directly from this section. If workspace creation is restricted, only the instance admin will have this ability. + +- **Restrict Workspace creation** + Toggle the **Prevent anyone from creating a workspace** option to prevent anyone else from creating workspaces. Once enabled, only you (the instance admin) can create new workspaces. + +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. + +:::info +Workspace deletion is currently not supported. +::: + +![](/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#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). + +- **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. + +:::tip +This is where you will see new SSO services and custom OAuth configs in the future. +::: + +![](/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#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#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. + +To promote an existing user to Instance Admin, execute the following command in your terminal: + +```bash + docker exec /bin/bash -c "python manage.py create_instance_admin " +``` + +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 + +
+ 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. +![](/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. + +
+ +
+ + This is unreal, but I have an instance that has a /god-mode path already. I can’t access my Plane instance. Help! + + +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. + +
+ +
+ 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. + +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. + +
+ +
+ 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..5131f3e --- /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..7641462 --- /dev/null +++ b/docs/self-hosting/govern/integrations/github.mdx @@ -0,0 +1,258 @@ +--- +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 this **Setup URL** and check the box for **Redirect on update**. + + ```bash + https:///silo/api/github/auth/callback + ``` + + ![Add setup URL](/images/integrations/github/add-setup-url.webp#center) + + 6. 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/github/auth/callback + https://silo.plane.so/api/github/auth/user/callback + ``` + + **For Plane self-hosted instance** + + ```bash + https:///silo/api/github/auth/callback + https:///silo/api/github/auth/user/callback + ``` + + ![Add Callback URL](/images/integrations/github/add-callback-url.webp#center) + + 5. In the **Post installation** section, + + - Add the appropriate **Setup URL**, based on your hosting type: + + - **Plane cloud**: `https://silo.plane.so/api/oauth/github-enterprise/auth/callback` + - **Self-hosted**: `https:///silo/api/oauth/github-enterprise/auth/callback` + + - Check the box for **Redirect on update** + + ![Add setup URL](/images/integrations/github/add-setup-url.webp#center) + + 6. 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. Now add these values as environment variables to your Plane instance's `.env` file. + + :::tip + Private keys are typically multi-line which can cause parsing errors + when used as an environment variable. To avoid this, run the + following command to convert the private key to base64: + ```bash + cat private_key.pem | base64 -w 0 + ``` + ::: + + ```bash + # .env + GITHUB_CLIENT_ID= + GITHUB_CLIENT_SECRET= + GITHUB_APP_NAME= + GITHUB_APP_ID= + GITHUB_PRIVATE_KEY= + ``` + 8. Save the file and restart the instance. + + ### Next steps + + You've completed the configuration of your instance! Now you need to [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#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 + - App Slug (You can find this in browser url) + - Client ID + - Client secret + - Private key + 7. Now add these values as environment variables to your Plane instance's `.env` file. + + :::tip + Private keys are typically multi-line which can cause parsing errors + when used as an environment variable. To avoid this, run the + following command to convert the private key to base64: + ```bash + cat private_key.pem | base64 -w 0 + ``` + ::: + + ```bash + # .env + GITHUB_CLIENT_ID= + GITHUB_CLIENT_SECRET= + GITHUB_APP_NAME= + GITHUB_APP_ID= + GITHUB_PRIVATE_KEY= + ``` + 8. Save the file and restart the instance. + + ### Next steps + + You've completed the configuration of your instance! Now you need to [activate the GitHub Enterprise integration in Plane](https://docs.plane.so/integrations/github#connect-github-enterprise-organization). + + diff --git a/docs/self-hosting/govern/integrations/gitlab.mdx b/docs/self-hosting/govern/integrations/gitlab.mdx new file mode 100644 index 0000000..de4ed94 --- /dev/null +++ b/docs/self-hosting/govern/integrations/gitlab.mdx @@ -0,0 +1,64 @@ +--- +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](#create-gitlab-application) +2. [Configure your Plane instance](#configure-plane-instance) + +## Create GitLab Application + +1. On the left sidebar in GitLab, select your avatar. + +2. Select **Preferences** tab. + +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) + +5. Provide a **Name** for your application. + +6. Enter the following **Redirect URI**, replacing [YOUR_DOMAIN] with your actual domain: + ```bash + https://[YOUR_DOMAIN]/silo/api/gitlab/auth/callback + ``` +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) + +8. Set permissions by selecting the required **Scopes**. The table below explains each scope: + + | Permission | Explanation | + | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | `api` | Grants full read/write access to the API, including all groups, projects, container registry, dependency proxy, and package registry. Required for API requests. | + | `read_api` | Allows read-only access to all groups, projects, container registry, and package registry. | + | `read_user` | Grants read-only access to user profiles via the /user API endpoint, including username, public email, and full name. Also provides access to /users endpoints. | + | `read_repository` | Enables read-only access to repositories in private projects via Git-over-HTTP or the Repository Files API. | + | `write_repository` | Allows read/write access to repositories on private projects via Git-over-HTTP (not through the API). | + | `profile` | Grants read-only access to the user's profile data using OpenID Connect. | + | `email` | Provides read-only access to the user's primary email address using OpenID Connect. | + +9. Click **Save Application** to finalize the setup. + +## Configure Plane instance + +1. Copy the **Application ID** and **Secret** from the newly created application. + ![Copy credentials](/images/integrations/gitlab/copy-credentials.webp) + +2. Add these environment variables with the values to your Plane instance's `.env` file. + + ```bash + GITLAB_CLIENT_ID= + GITLAB_CLIENT_SECRET= + ``` + +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). diff --git a/docs/self-hosting/govern/integrations/slack.mdx b/docs/self-hosting/govern/integrations/slack.mdx new file mode 100644 index 0000000..33ae778 --- /dev/null +++ b/docs/self-hosting/govern/integrations/slack.mdx @@ -0,0 +1,308 @@ +--- +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) + +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/govern/private-bucket.mdx b/docs/self-hosting/govern/private-bucket.mdx similarity index 50% rename from self-hosting/govern/private-bucket.mdx rename to docs/self-hosting/govern/private-bucket.mdx index 7f3eed0..30b4ce2 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. @@ -26,6 +28,7 @@ Simply run the command ↓. ```bash docker exec -it python manage.py update_bucket ``` + A successful run keeps any public files you already have accessible while moving you to private storage. ## For external storage • S3 or S3 compatible @@ -34,91 +37,94 @@ 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 [ - { - "AllowedHeaders": [ - "*" - ], - "AllowedMethods": [ - "GET", - "POST", - "PUT", - "DELETE", - "HEAD" - ], - "AllowedOrigins": [ - "", - ], - "ExposeHeaders": [ - "ETag", - "x-amz-server-side-encryption", - "x-amz-request-id", - "x-amz-id-2" - ], - "MaxAgeSeconds": 3000 - } + { + "AllowedHeaders": [ + "*" + ], + "AllowedMethods": [ + "GET", + "POST", + "PUT", + "DELETE", + "HEAD" + ], + "AllowedOrigins": [ + "", + ], + "ExposeHeaders": [ + "ETag", + "x-amz-server-side-encryption", + "x-amz-request-id", + "x-amz-id-2" + ], + "MaxAgeSeconds": 3000 + } ] ``` ### 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: -1. First, make sure you have the following permissions on your S3 bucket. If you don't, make changes to get those permissions on your bucket first. - - **s3:GetObject** - So you can access your public files so far To access existing objects publicly +1. First, make sure you have the following permissions on your S3 bucket. If you don't, make changes to get those permissions on your bucket first. + - **s3:GetObject** + So you can access your public files so far To access existing objects publicly - - **s3:ListBucket** - So you can apply policies to your bucket for public access + - **s3:ListBucket** + So you can apply policies to your bucket for public access - - **s3:PutObject** - So you can create new files + - **s3:PutObject** + So you can create new files - - **s3:PutBucketPolicy** - So you can update your buckets' policy + - **s3:PutBucketPolicy** + So you can update your buckets' policy 2. Now, run the command ↓. - ```bash - docker exec -it python manage.py update_bucket - ``` - - 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 - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": "*", - "Action": "s3:GetObject", - "Resource": [ - "arn:aws:s3:::/", - "arn:aws:s3:::/" - ] - } - ] - } - ``` - - 2. To copy the `permissions.json` file to the local machine, run the command ↓. - - ```bash - docker cp :/code/permissions.json . - ``` - - + + ```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 + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": [ + "arn:aws:s3:::/", + "arn:aws:s3:::/" + ] + } + ] + } + ``` + + 2. To copy the `permissions.json` file to the local machine, run the command ↓. + + ```bash + 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) diff --git a/self-hosting/govern/reverse-proxy.mdx b/docs/self-hosting/govern/reverse-proxy.mdx similarity index 64% rename from self-hosting/govern/reverse-proxy.mdx rename to docs/self-hosting/govern/reverse-proxy.mdx index 0199820..0f5c27a 100644 --- a/self-hosting/govern/reverse-proxy.mdx +++ b/docs/self-hosting/govern/reverse-proxy.mdx @@ -1,82 +1,86 @@ --- title: Configure external reverse proxy • Commercial Edition -sidebarTitle: External reverse proxy +sidebar_label: External reverse proxy --- -This page provides configuration for setting up an external reverse proxy with Plane. +{frontMatter.description &&

{frontMatter.description}

} + +This page provides configuration for setting up an external reverse proxy with Plane. ## Plane environment setup Make sure to update the following environment variables in your plane.env file. 1. Assign free ports for Plane to listen on. Update the following variables with two different unsused ports: - ```bash - LISTEN_HTTP_PORT= - LISTEN_HTTPS_PORT= - ``` + + ```bash + LISTEN_HTTP_PORT= + LISTEN_HTTPS_PORT= + ``` 2. Update the SITE_ADDRESS variable to `:80` - ```bash - SITE_ADDRESS=:80 - ``` - This is required so that generated links and redirects work correctly behind the proxy: + ```bash + SITE_ADDRESS=:80 + ``` + This is required so that generated links and redirects work correctly behind the proxy: ## Proxy setup 1. Choose the appropriate [configuration template](#configuration-templates) for your reverse proxy. 2. Replace the following placeholders: - - `` - Your Plane application's domain name. - - `` - The IP address where Plane is hosted. - - `` - The port Plane listens on. - + - `` + Your Plane application's domain name. + - `` + The IP address where Plane is hosted. + - `` + The port Plane listens on. + 3. For Traefik, also update `your-email@example.com` with your email. Ensure that your reverse proxy setup follows the template provided, and that the forwarded headers and ports are correctly set to match the environment variable configuration. - ## Configuration templates All configurations include: + - Automatic HTTPS redirection - WebSocket support - Standard proxy headers - SSL/TLS certificate management - - NGINX: Uses Certbot - - Caddy: Handles certificates automatically - - Traefik: Uses Let’s Encrypt - - - - ```bash - server { - server_name ; + - NGINX: Uses Certbot + - Caddy: Handles certificates automatically + - Traefik: Uses Let’s Encrypt - location / { - proxy_pass http://:/; - - # Set headers for proxied request - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Real-IP $remote_addr; - - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $http_host; - proxy_http_version 1.1; - } - - client_max_body_size 10M; +
+NGINX configuration - listen 443 ssl; # managed by Certbot - ssl_certificate /etc/letsencrypt/live//fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live//privkey.pem; - include /etc/letsencrypt/options-ssl-nginx.conf; - ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; +```bash +server { + server_name ; + + location / { + proxy_pass http://:/; + + # Set headers for proxied request + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_http_version 1.1; + } + + client_max_body_size 10M; + + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live//fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live//privkey.pem; + include /etc/letsencrypt/options-ssl-nginx.conf; + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; } server { @@ -90,10 +94,11 @@ server { } ``` - +
+
+Caddy configuration - ```bash { tls { @@ -108,7 +113,7 @@ server { header_up X-Real-IP {remote_host} header_up X-Forwarded-For {remote_host} header_up Host {http.request.host} - + header_up Upgrade {http.request.header.Upgrade} header_up Connection {http.request.header.Connection} @@ -125,9 +130,11 @@ server { } ``` - +
+ +
+Traefik configuration - ```bash entryPoints: web: @@ -138,7 +145,7 @@ entryPoints: to: websecure scheme: https permanent: true - + websecure: address: ":443" @@ -175,7 +182,7 @@ providers: dialTimeout: 30s responseHeaderTimeout: 30s idleConnTimeout: 90s - + middlewares: headers: headers: @@ -183,5 +190,5 @@ providers: X-Forwarded-Proto: "https" X-Real-IP: "{{ .RemoteAddr }}" ``` - +
diff --git a/self-hosting/telemetry.mdx b/docs/self-hosting/govern/telemetry.mdx similarity index 63% rename from self-hosting/telemetry.mdx rename to docs/self-hosting/govern/telemetry.mdx index 3b394e6..eb3efef 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 @@ -9,67 +12,73 @@ Plane collects anonymized data to enhance your user experience, ensure product s With the exception of the instance admin's email address on self-hosted Plane, we don't collect any personally identifiable information (PII). All usage data is anonymized and isn't connected to individual users. ### Instance admin details + Plane collects just the instance admin's name and email to communicate essential upgrade news, security alerts, and other critical notifications. ### Instance setup + When an instance is created, Plane collects just the instance ID so we can track upgrades and troubleshoot paid features. ### Usage for billing + Plane tracks the number of workspaces, members, and roles to bill you correctly and ensure accurate reporting in your workspace's **Billing and plans** screen and the Prime portal. ### Application data + Plane tracks anonymized workspace activity, including but not limited to the number of projects, issues, cycles, modules, comments, issue types, custom properties, timesheet downloads, active importers, and integrations. This data helps us understand product usage, adoption, and build new features. ### User interaction and behavior + Plane collects anonymized data for how you work with Plane when creating, updating, or deleting Plane entities, including but not restricted to projects, issues, cycles, modules, and others. This data helps us understand user journeys, pain points, and overall behavior. ### Performance data + Plane collects machine configurations, environment details, OS flavors, network throughput, and stack traces to help troubleshoot and prevent performance hiccups. ## Data sample + ```json - { - "Created At": "October 7, 2024, 1:50 PM", - "Page Count": "14", - "Is Telemetry Enabled": "true", - "Updated At": "October 7, 2024, 1:50 PM", - "User Count": "97", - "Cycle Count": "62", - "Cycle Issue Count": "710", - "Module Issue Count": "428", - "ID": "1234567890", - "Updated By ID": null, - "Current Version": "0.23.0", - "Issue Count": "2,000", - "Instance ID": "1234567890", - "Latest Version": "0.23.0", - "Module Count": "81", - "Name": "Test", - "Workspace Count": "11", - "Project Count": "20", - } +{ + "Created At": "October 7, 2024, 1:50 PM", + "Page Count": "14", + "Is Telemetry Enabled": "true", + "Updated At": "October 7, 2024, 1:50 PM", + "User Count": "97", + "Cycle Count": "62", + "Cycle Issue Count": "710", + "Module Issue Count": "428", + "ID": "1234567890", + "Updated By ID": null, + "Current Version": "0.23.0", + "Issue Count": "2,000", + "Instance ID": "1234567890", + "Latest Version": "0.23.0", + "Module Count": "81", + "Name": "Test", + "Workspace Count": "11", + "Project Count": "20" +} ``` ## How we use the data -- **Improving your experience** -Analyzing real-world usage guides us in making Plane more intuitive and user-friendly. +- **Improving your experience** + Analyzing real-world usage guides us in making Plane more intuitive and user-friendly. -- **Detecting and fixing bugs** -Identifying bugs and errors as they occur enables us to quickly investigate and fix issues, minimize downtime, and improve product performance. +- **Detecting and fixing bugs** + Identifying bugs and errors as they occur enables us to quickly investigate and fix issues, minimize downtime, and improve product performance. -- **Enhancing security** -Monitoring for abnormal patterns helps us identify and mitigate potential security threats or vulnerabilities, ensuring data protection and platform integrity. +- **Enhancing security** + Monitoring for abnormal patterns helps us identify and mitigate potential security threats or vulnerabilities, ensuring data protection and platform integrity. -- **Driving product decisions** -Understanding how you interact with Plane helps us prioritize future developments and focus on high-impact features and improvements that drive better outcomes. +- **Driving product decisions** + Understanding how you interact with Plane helps us prioritize future developments and focus on high-impact features and improvements that drive better outcomes. ## Disable telemetry + As much as we'd love to understand your usage better, we agree that you should be in control of your data. If for any reason you don't want to send us that data, you can turn telemetry collection off in three clicks. 1. Go to your instance's God Mode by appending `/god-mode` to the domain you have hosted Plane on. 2. In the **General Settings** pane on the right, disable the **Telemetry** toggle button. - ![Disable telemetry](/images/disable-telemetry.webp) + ![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..3f947ea --- /dev/null +++ b/docs/self-hosting/manage/_category_.yml @@ -0,0 +1 @@ +label: 'Manage' diff --git a/docs/self-hosting/manage/backup-restore.mdx b/docs/self-hosting/manage/backup-restore.mdx new file mode 100644 index 0000000..1b5a0d1 --- /dev/null +++ b/docs/self-hosting/manage/backup-restore.mdx @@ -0,0 +1,142 @@ +--- +title: Backup and restore data +sidebar_label: Backup and restore +--- + +{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 and restore Community Edition 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/docs/self-hosting/manage/migrate-plane.mdx b/docs/self-hosting/manage/migrate-plane.mdx new file mode 100644 index 0000000..46f7d30 --- /dev/null +++ b/docs/self-hosting/manage/migrate-plane.mdx @@ -0,0 +1,52 @@ +--- +title: Move your Plane instance to a new server • Commercial Edition +sidebar_label: Move to another server +--- + +{frontMatter.description &&

{frontMatter.description}

} + +Switching to another machine is straightforward on the Commercial Edition. + +## Prerequisites + +Before we dive in, ensure: + +- You’re running Plane's Commercial Edition. +- 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** + Log in to Plane on your current server. Head to each paid workspace like One or Pro and [delink the licenses](https://docs.plane.so/workspaces-and-users/upgrade-plan#delink-license-key). This will free up the licenses for activation on your new server. Ideally, you have just one paid workspace. + +2. **Backup data** + Create a backup of your Plane instance with ↓: + `bash +prime-cli backup +` + This command will generate a backup file in the path: `/opt/plane/backups`. + +3. **Set up Plane on the new server** + Follow the [installation guide](/self-hosting/methods/docker-compose#install-plane) to deploy Plane on the new instance. + +4. **Transfer backup files** + Copy the `backups` folder from the old server, created in step 2, to the new server. Place the backup in the folder `/opt/plane`. + +5. **Restore data** + On the new server, restore your data with ↓: + + ```bash + prime-cli restore + ``` + + Follow the prompts during the restore process to make sure everything is set up correctly. + +6. **Reactivate license** + Finally, [reactivate your license keys](https://docs.plane.so/workspaces-and-users/upgrade-plan#self-hosted-only) on the new instance. + +This should get your Plane instance up and running on the new server. diff --git a/docs/self-hosting/manage/prime-cli.mdx b/docs/self-hosting/manage/prime-cli.mdx new file mode 100644 index 0000000..49c104e --- /dev/null +++ b/docs/self-hosting/manage/prime-cli.mdx @@ -0,0 +1,151 @@ +--- +title: Command Line Tools +sidebar_label: CLIs +sidebar_position: 1 +--- + +{frontMatter.description &&

{frontMatter.description}

} + +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. + +## Commercial Edition • Prime CLI + +:::note +If you are on the Community edition and want to upgrade to the Commercial edition, see [Upgrade to Commercial Edition](/self-hosting/manage/upgrade/upgrade-from-community). +::: + +Prime CLI provides commands for common tasks like configuring services, monitoring health, managing backups, and upgrading your Plane instance. + +Bring up Prime CLI with `sudo prime-cli` from any directory on your machine. + +### Prime CLI Commands + +- `start` starts a service in the Docker network +- `stop` stops a service in the Docker network +- `restart` restarts a service in the Docker network +- `monitor` allows you to see if services are up or down and access their [logs](/self-hosting/manage/view-logs) +- `healthcheck` shows you the service status and errors, if any +- `repair` automatically diagnoses and fixes common errors. 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 `update-cli` before you download any Plane updates. The latest version of the CLI ensures your Plane upgrades happen smoothly. + ::: + +- `configure` brings up a step form to let you specify the following: + +
+Configuration steps + - `Listening port` + + Specify the port that the built-in reverse proxy will use + + Default value: 80 + + - `Max file-upload size` + + Specify a size in MBs for how big each file uploaded to your Plane app can be + + Default value: 5 MB + + - `External Postgres URL` + + Specify the URL of your own hosted Postgres if you would like to change the database your Plane app uses. + + Default database: Postgres 15.5 in the Docker container + + - `External Redis URL` + + Specify the URL of your own hosted REdis if you would like to change the default Redis Plane ships with. + + Default Redis: Redis 7.2.4 + + - `External storage` + + Specify your AWS S3 bucket's credentials in the format below to change storage from the default Plane ships with. + - AWS Access Key ID + - AWS Secret Access Key + - AWS S3 Bucket Name + + Default storage: MinIO + + - Confirm your choices on the screen ↓. + + This restarts your instance with the new configs. + +
+ +- `upgrade` checks your instance for available version upgrades. You will be asked for confirmation before downloading the latest available version. + 1. Typing `YES` lets the CLI automatically download the latest version and installs it. Then it restarts the instance to load the latest app. + 2. Typing `NO` cancels the upgrade. + +- `uninstall` uninstalls Plane. Before continuing, you are asked for confirmation. + 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) + +## Community Edition • setup.sh + +The setup script `setup.sh` provides a menu-driven interface to help you install +and manage your Plane Community Edition instance. + +### Usage + +To run the setup.sh script, use the following command in your terminal from the directory where the script is located: + +```bash +./setup.sh +``` + +This will launch an interactive menu with options to manage various aspects of your Plane instance. + +```bash +Select a Action you want to perform: + 1) Install + 2) Start + 3) Stop + 4) Restart + 5) Upgrade + 6) View Logs + 7) Backup Data + 8) Exit +``` + +### Actions + +- **Install** + Installs the Plane Community Edition on your machine. Choose this option if you are setting up Plane for the first time. + +- **Start** + Starts the Plane server and all related services. + +- **Stop** + Stops the Plane server and all services currently running on the machine. + +- **Restart** + 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/update/to-latest-version#download-and-update-community-edition) for more info. + + :::warning + It’s recommended to create a backup before upgrading your instance. See [Backup and restore](/self-hosting/manage/backup-restore). + {/* It’s recommended to create a backup before upgrading your instance. See [Backup and restore](/self-hosting/manage/backup-restore#backup-and-restore-community-edition-data). */} + ::: + +- **View Logs** + Displays real-time logs of specific Plane services. See [View logs](/self-hosting/manage/view-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) for more info. + +- **Exit** + Closes the setup script and returns you to the command line. diff --git a/docs/self-hosting/manage/update/_category_.yml b/docs/self-hosting/manage/update/_category_.yml new file mode 100644 index 0000000..93f5361 --- /dev/null +++ b/docs/self-hosting/manage/update/_category_.yml @@ -0,0 +1 @@ +label: 'Update Plane' diff --git a/self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx b/docs/self-hosting/manage/update/from-0.13.2-0.14.0.mdx similarity index 77% rename from self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx rename to docs/self-hosting/manage/update/from-0.13.2-0.14.0.mdx index 6199b34..e13486e 100644 --- a/self-hosting/manage/upgrade-from-0.13.2-0.14.0.mdx +++ b/docs/self-hosting/manage/update/from-0.13.2-0.14.0.mdx @@ -1,51 +1,60 @@ --- 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. - ```bash - docker compose down - ``` + + ```bash + docker compose down + ``` 2. Create a new folder for `v0.14-0` to ensure a clean installation. - ```bash - mkdir plane-selfhost - cd plane-selfhost - ``` + ```bash + mkdir plane-selfhost + cd plane-selfhost + ``` 3. Set up the environment variable for the `RELEASE` variable, then download and prepare the installation script: - ```bash - export RELEASE=v0.14-dev - curl -fsSL https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/install.sh | sed -e 's@BRANCH=${BRANCH:-master}@BRANCH='"$RELEASE"'@' -e 's@APP_RELEASE="stable"@APP_RELEASE='"$RELEASE"'@' > setup.sh - chmod +x setup.sh - ``` + + ```bash + export RELEASE=v0.14-dev + curl -fsSL https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/install.sh | sed -e 's@BRANCH=${BRANCH:-master}@BRANCH='"$RELEASE"'@' -e 's@APP_RELEASE="stable"@APP_RELEASE='"$RELEASE"'@' > setup.sh + chmod +x setup.sh + ``` 4. Execute the script to install Plane: - ```bash - ./setup.sh install - ``` + + ```bash + ./setup.sh install + ``` 5. Start up your new v0.14-0 Plane instance: - ```bash - ./setup.sh start - ``` + + ```bash + ./setup.sh start + ``` 6. Now stop the instance to initialize the new Docker volumes: - ```bash - ./setup.sh stop - ``` + + ```bash + ./setup.sh stop + ``` 7. Download the migration script: + ```bash curl -fsSL -o migrate.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/migration-0.13-0.14.sh chmod +x migrate.sh ``` -8. Run the migration script: +8. Run the migration script: + ```bash ./migrate.sh ``` @@ -84,12 +93,13 @@ 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#center) In this example, `plane-013-dev` is the prefix for `v0.13.2`, and `plane-app` is the prefix for `v0.14.0`. 10. Return to the original terminal, enter the source volume prefix `plane-013-dev` and destination volume prefix `plane-app`, and press ENTER: - ```bash + + ```bash Provide the Source Volume Prefix : plane-013-dev Provide the Destination Volume Prefix : plane-app ``` @@ -97,6 +107,7 @@ If you’re upgrading from `v0.13.2` or below, there are some additional migrati If there are any issues, an error will appear. For a successful migration, there will be no error, and the process will exit quietly. 11. Restart the upgraded v0.14.0 instance with: + ```bash ./setup.sh restart ``` @@ -105,6 +116,6 @@ If you’re upgrading from `v0.13.2` or below, there are some additional migrati 13. Once logged in, just click **Save Changes** to finalize your setup. -14. You’re all set! Log in to your updated `v0.14-0` instance to check if all of your data has migrated successfully. +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/update/to-latest-version#download-and-update-community-edition). diff --git a/docs/self-hosting/manage/update/to-latest-version.mdx b/docs/self-hosting/manage/update/to-latest-version.mdx new file mode 100644 index 0000000..eb6a848 --- /dev/null +++ b/docs/self-hosting/manage/update/to-latest-version.mdx @@ -0,0 +1,99 @@ +--- +title: Update Plane 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}

} + +:::note +The update 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 and restore data](/self-hosting/manage/backup-restore). + +## Check version + +You can quickly check your Plane version by clicking the **?** icon on the sidebar. + +![Check version number](https://media.docs.plane.so/product/check-version.webp#center) + +## Update version + +1. Update your Prime CLI with the command ↓: + +:::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. +::: + +```bash +sudo prime-cli update-cli +``` + +The latest version of the CLI ensures your Plane upgrades happen smoothly. + +2. To update Plane to the latest version, run: + ```bash + sudo prime-cli upgrade + ``` + 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/update/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) section. This is strongly recommended to ensure you have a safe restore point. + +## Download and update community edition + +1. Download the latest stable release with ↓: + + ```bash + curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh + ``` + +2. Execute the setup script with ↓: + + ```bash + ./setup.sh + ``` + + This will bring up a menu with several options. Select option `5` to upgrade: + + ```bash + Select a 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]: 5 + ``` + + Choosing this option stops all services and downloads the latest `docker-compose.yaml` and `variables-upgrade.env` files. The `plane.env` file won’t be overwritten, so your existing environment settings are safe. + + You’ll see a message indicating the services have been stopped. + ![Stopped Docker services](/images/docker-compose/stopped-docker.png) + +3. After the update completes, select `6` to exit the prompt. + +4. After the upgrade, open `variables-upgrade.env` and compare it with your `plane.env` file. Copy any new variables from `variables-upgrade.env` to your `plane.env` file and set the correct values. This step is essential to ensure that all configuration changes are in place for the latest version. + +5. Once your `plane.env` file is updated, start your Plane instance again by selecting option `2`. + +
diff --git a/docs/self-hosting/manage/upgrade/_category_.yml b/docs/self-hosting/manage/upgrade/_category_.yml new file mode 100644 index 0000000..5e12c54 --- /dev/null +++ b/docs/self-hosting/manage/upgrade/_category_.yml @@ -0,0 +1 @@ +label: 'Upgrade Plane' diff --git a/self-hosting/manage/community-to-airgapped.mdx b/docs/self-hosting/manage/upgrade/community-to-airgapped.mdx similarity index 52% rename from self-hosting/manage/community-to-airgapped.mdx rename to docs/self-hosting/manage/upgrade/community-to-airgapped.mdx index 781d8b8..841060a 100644 --- a/self-hosting/manage/community-to-airgapped.mdx +++ b/docs/self-hosting/manage/upgrade/community-to-airgapped.mdx @@ -1,14 +1,16 @@ --- title: Upgrade from Community to Airgapped Edition -sidebarTitle: Upgrade to Airgapped Edition +sidebar_label: Upgrade to Airgapped Edition +sidebar_position: 3 --- +{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. - -**Important** +:::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 @@ -18,49 +20,55 @@ Make sure you already have Commercial Airgapped Edition installed on a fresh mac ## Backup data on Community instance 1. Download the latest version of `setup.sh`. - ```bash - curl -fsSL https://github.com/makeplane/plane/releases/latest/download/setup.sh -o setup.sh - ``` + + ```bash + curl -fsSL https://github.com/makeplane/plane/releases/latest/download/setup.sh -o setup.sh + ``` 2. Run the setup.sh backup script to take the backup of the Community Edition instance. - ```bash - ./setup.sh backup - ``` - This will create a backup of the plane community instance in the `backup/` folder with the timestamp as the folder name. - ```bash - backup/ - └── 20250605-0938 - ├── pgdata.tar.gz - ├── rabbitmq_data.tar.gz - ├── redisdata.tar.gz - └── uploads.tar.gz - ``` + ```bash + ./setup.sh backup + ``` + This will create a backup of the plane community instance in the `backup/` folder with the timestamp as the folder name. + `bash +backup/ +└── 20250605-0938 + ├── pgdata.tar.gz + ├── rabbitmq_data.tar.gz + ├── redisdata.tar.gz + └── uploads.tar.gz +` ## Restore data on Airgapped instance 1. Download the latest version of `restore-airgapped.sh` - ```bash - curl -fsSL https://github.com/makeplane/plane/releases/latest/download/restore-airgapped.sh -o restore-airgapped.sh - chmod +x restore-airgapped.sh - ``` - This allows you to restore the Community Edition data to the Commercial Airgapped instance. + + ```bash + curl -fsSL https://github.com/makeplane/plane/releases/latest/download/restore-airgapped.sh -o restore-airgapped.sh + chmod +x restore-airgapped.sh + ``` + + This allows you to restore the Community Edition data to the Commercial Airgapped instance. 2. Copy the `restore-airgapped.sh` script into your backup folder. 3. Move your entire backup folder to the server running the Commercial Airgapped Edition. 4. Open terminal, and execute the following command: - ```bash - sudo bash restore-airgapped.sh ./20250605-0938 - ``` - This will prompt you to enter the Commercial Airgapped Edition installation folder using whatever secure method works in your environment. + + ```bash + sudo bash restore-airgapped.sh ./20250605-0938 + ``` + + This will prompt you to enter the Commercial Airgapped Edition installation folder using whatever secure method works in your environment. 5. After the data restore is finished, start the instance. - ```bash - cd - sudo docker compose -f docker-compose.yml --env-file plane.env up -d - ``` - You can now access the Commercial Airgapped instance at `http://` + ```bash + cd + sudo docker compose -f docker-compose.yml --env-file plane.env up -d + ``` + + You can now access the Commercial Airgapped instance at `http://` -Once your migration is complete, verify that all your projects, issues, and team data have been successfully transferred to your air-gapped environment. \ No newline at end of file +Once your migration is complete, verify that all your projects, issues, and team data have been successfully transferred to your air-gapped environment. diff --git a/self-hosting/upgrade-from-community.mdx b/docs/self-hosting/manage/upgrade/upgrade-from-community.mdx similarity index 56% rename from self-hosting/upgrade-from-community.mdx rename to docs/self-hosting/manage/upgrade/upgrade-from-community.mdx index 7c17428..05101f7 100644 --- a/self-hosting/upgrade-from-community.mdx +++ b/docs/self-hosting/manage/upgrade/upgrade-from-community.mdx @@ -1,63 +1,72 @@ --- title: Upgrade from Community to Commercial Edition -sidebarTitle: Upgrade to Commercial Edition +sidebar_label: Upgrade to Commercial Edition +sidebar_position: 2 --- + +{frontMatter.description &&

{frontMatter.description}

} + The Commercial edition comes with the free plan and the flexibility to upgrade to a paid plan at any point. - -**IMPORTANT** +:::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) 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) 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 + 1. Download the latest version of `setup.sh`. - ```bash - curl -fsSL https://github.com/makeplane/plane/releases/latest/download/setup.sh -o setup.sh - ``` + + ```bash + curl -fsSL https://github.com/makeplane/plane/releases/latest/download/setup.sh -o setup.sh + ``` 2. Run the setup.sh backup script to take the backup of the Community Edition instance. - ```bash - ./setup.sh backup - ``` + ```bash + ./setup.sh backup + ``` 3. When done, your data will be backed up to the folder shown on the screen. - e.g., `/plane-selfhost/plane-app/backup/20240522-1027` - This folder will contain 3 `tar.gz` files. - - `pgdata.tar.gz` - - `redisdata.tar.gz` - - `uploads.tar.gz` + e.g., `/plane-selfhost/plane-app/backup/20240522-1027` + This folder will contain 3 `tar.gz` files. + - `pgdata.tar.gz` + - `redisdata.tar.gz` + - `uploads.tar.gz` 4. Copy all the 3 files from the server running the Community Edition to any folder on the server running the Commercial Edition on any folder of your choice. - e.g., `~/ce-backup` + e.g., `~/ce-backup` ## Restore data on Commercial instance + 1. Start any command-line interface like Terminal and go into the folder with the back-up files. - ``` - cd ~/ce-backup - ``` + ``` + cd ~/ce-backup + ``` 2. Copy and paste the script below on Terminal and hit Enter. - ``` - TARGET_DIR=/opt/plane/data - sudo mkdir -p $TARGET_DIR - for FILE in *.tar.gz; do - if [ -e "$FILE" ]; then - tar -xzvf "$FILE" -C "$TARGET_DIR" - else - echo "No .tar.gz files found in the current directory." - exit 1 - fi - done - - mv $TARGET_DIR/pgdata/ $TARGET_DIR/db - mv $TARGET_DIR/redisdata/ $TARGET_DIR/redis - mkdir -p $TARGET_DIR/minio - mv $TARGET_DIR/uploads/ $TARGET_DIR/minio/uploads/ - ``` + + ``` + TARGET_DIR=/opt/plane/data + sudo mkdir -p $TARGET_DIR + for FILE in *.tar.gz; do + if [ -e "$FILE" ]; then + tar -xzvf "$FILE" -C "$TARGET_DIR" + else + echo "No .tar.gz files found in the current directory." + exit 1 + fi + done + + mv $TARGET_DIR/pgdata/ $TARGET_DIR/db + mv $TARGET_DIR/redisdata/ $TARGET_DIR/redis + 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`. diff --git a/docs/self-hosting/manage/view-logs.mdx b/docs/self-hosting/manage/view-logs.mdx new file mode 100644 index 0000000..111af08 --- /dev/null +++ b/docs/self-hosting/manage/view-logs.mdx @@ -0,0 +1,115 @@ +--- +title: View container 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 ↓: + +```bash +sudo prime-cli monitor +``` + +This brings up a table where you can select which container logs you want to view. + +![Container logs](/images/view-logs/container-logs.webp) + +
+ Community Edition + +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. + +1. Start by running the setup script: + + ```bash + ./setup.sh + ``` + + This will bring up the main menu with options. Select `6` to view logs. + + ``` + Select a 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]: 6 + ``` + +2. After choosing `6`, you’ll see a sub-menu listing all available services: + + ``` + Select a Service you want to view the logs for: + 1) Web + 2) Space + 3) API + 4) Worker + 5) Beat-Worker + 6) Migrator + 7) Proxy + 8) Redis + 9) Postgres + 10) Minio + 0) Back to Main Menu + + Service: + ``` + +3. Pick the service whose logs you’d like to check. For example, if you want to view the **API logs**, type `3`. + + After selecting a service, you’ll see the logs in real-time. Here’s an example of what API logs might look like: + + ``` + api-1 | Waiting for database... + api-1 | Database available! + api-1 | Waiting for database migrations to complete... + api-1 | Waiting for database migrations to complete... + api-1 | Waiting for database migrations to complete... + api-1 | Waiting for database migrations to complete... + api-1 | Waiting for database migrations to complete... + api-1 | Waiting for database migrations to complete... + api-1 | Waiting for database migrations to complete... + api-1 | No migrations Pending. Starting processes ... + api-1 | Instance registered + api-1 | ENABLE_SIGNUP loaded with value from environment variable. + api-1 | ENABLE_EMAIL_PASSWORD loaded with value from environment variable. + api-1 | ENABLE_MAGIC_LINK_LOGIN loaded with value from environment variable. + api-1 | GOOGLE_CLIENT_ID loaded with value from environment variable. + api-1 | GITHUB_CLIENT_ID loaded with value from environment variable. + api-1 | GITHUB_CLIENT_SECRET loaded with value from environment variable. + api-1 | EMAIL_HOST loaded with value from environment variable. + api-1 | EMAIL_HOST_USER loaded with value from environment variable. + api-1 | EMAIL_HOST_PASSWORD loaded with value from environment variable. + api-1 | EMAIL_PORT loaded with value from environment variable. + api-1 | EMAIL_FROM loaded with value from environment variable. + api-1 | EMAIL_USE_TLS loaded with value from environment variable. + api-1 | EMAIL_USE_SSL loaded with value from environment variable. + api-1 | OPENAI_API_KEY loaded with value from environment variable. + api-1 | GPT_ENGINE loaded with value from environment variable. + api-1 | UNSPLASH_ACCESS_KEY loaded with value from environment variable. + api-1 | Checking bucket... + api-1 | Bucket 'uploads' does not exist. Creating bucket... + api-1 | Bucket 'uploads' created successfully. + api-1 | Public read access policy set for bucket 'uploads'. + api-1 | Cache Cleared + api-1 | [2024-05-02 03:56:01 +0000] [1] [INFO] Starting gunicorn 21.2.0 + api-1 | [2024-05-02 03:56:01 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1) + api-1 | [2024-05-02 03:56:01 +0000] [1] [INFO] Using worker: uvicorn.workers.UvicornWorker + api-1 | [2024-05-02 03:56:01 +0000] [25] [INFO] Booting worker with pid: 25 + api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] Started server process [25] + api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] Waiting for application startup. + api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] ASGI 'lifespan' protocol appears unsupported. + api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] Application startup complete. + ``` + +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. + +
diff --git a/docs/self-hosting/methods/_category_.yml b/docs/self-hosting/methods/_category_.yml new file mode 100644 index 0000000..7f39a9e --- /dev/null +++ b/docs/self-hosting/methods/_category_.yml @@ -0,0 +1,2 @@ +label: 'Install' +position: 2 diff --git a/self-hosting/methods/airgapped-edition.mdx b/docs/self-hosting/methods/airgapped-edition.mdx similarity index 78% rename from self-hosting/methods/airgapped-edition.mdx rename to docs/self-hosting/methods/airgapped-edition.mdx index d5f4844..e1eef0a 100644 --- a/self-hosting/methods/airgapped-edition.mdx +++ b/docs/self-hosting/methods/airgapped-edition.mdx @@ -1,23 +1,26 @@ --- title: Deploy Plane Commercial Airgapped Edition -sidebarTitle: Airgapped Edition +sidebar_label: Airgapped Edition --- +{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. - -**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). - +:::warning +**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/upgrade/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`) + - Docker image files (`.tar` format) + - Configuration files (`docker-compose.yml` and `plane.env`) + - Installation script (`install.sh`) ### Required files @@ -38,19 +41,20 @@ Before we get started, make sure your air-gapped machine has: - `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: +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. + The download may take 15 minutes. Once the file is downloaded you no longer need internet access. -4. Once you have the file on your air-gapped machine, extract the package. +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 @@ -58,9 +62,10 @@ Before we get started, make sure your air-gapped machine has: cd airgapped ``` - The airgapped directory contains your `plane.env`, `docker-compose.yml`, and `install.sh` files which are used in the following steps. + 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: -5. Run the installation script: ```bash bash install.sh ``` @@ -71,7 +76,7 @@ Before we get started, make sure your air-gapped machine has: ********************************************************** You are about to install/upgrade Plane as airgapped setup - Pre-requisites: + Pre-requisites: - Docker installed and running - Docker version 24 or higher @@ -93,15 +98,13 @@ Before we get started, make sure your air-gapped machine has: ********************************************************** ``` - 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. + 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 + + ````bash + ****************************\*\***************************** + Plane Setup is ready to configure and start Use below commands to configure and start Plane Switch to the setup directory @@ -119,13 +122,14 @@ Before we get started, make sure your air-gapped machine has: ``` After installation, your directory structure will look like this: + ```bash ~/planeairgapped/ ├── docker-compose.yml ├── plane.env ├── data/ └── logs/ - ``` + ```` ## Environment variables @@ -137,43 +141,46 @@ The following key environment variables are automatically configured during inst - `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 - ``` + + ```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 database migration process: - - To monitor the API service startup: - ```bash - docker compose logs -f api - ``` + ```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` + 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) + ![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* +:::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. - \ No newline at end of file +::: diff --git a/self-hosting/methods/coolify.mdx b/docs/self-hosting/methods/coolify.mdx similarity index 62% rename from self-hosting/methods/coolify.mdx rename to docs/self-hosting/methods/coolify.mdx index 6dd3d4f..b57a38f 100644 --- a/self-hosting/methods/coolify.mdx +++ b/docs/self-hosting/methods/coolify.mdx @@ -1,8 +1,10 @@ --- title: Deploy Plane with Coolify • Commercial Edition -sidebarTitle: Coolify +sidebar_label: Coolify --- +{frontMatter.description &&

{frontMatter.description}

} + This guide shows you the steps to deploy a self-hosted instance of Plane using Coolify. ## Install Plane @@ -14,16 +16,16 @@ This guide shows you the steps to deploy a self-hosted instance of Plane using C ### Procedure -1. **Download the required depoyment files** +1. **Download the required depoyment files** - `coolify-compose.yml` – Defines Plane's services and dependencies. ```bash curl -fsSL https://prime.plane.so/releases//coolify-compose.yml -o coolify-compose.yml ``` - - The `` value should be v1.8.2 or higher. - + :::warning + The `` value should be v1.8.2 or higher. + ::: 2. Create a new project in Coolify. @@ -34,14 +36,13 @@ 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. - - 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. - - + :::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. -8. Deploy to launch your Plane instance. +7. Deploy to launch your Plane instance. -Once the deployment is complete, your Plane instance should be accessible on the configured domain. \ No newline at end of file +Once the deployment is complete, your Plane instance should be accessible on the configured domain. diff --git a/self-hosting/methods/docker-compose.mdx b/docs/self-hosting/methods/docker-compose.mdx similarity index 63% rename from self-hosting/methods/docker-compose.mdx rename to docs/self-hosting/methods/docker-compose.mdx index 2abf40d..27f096d 100644 --- a/self-hosting/methods/docker-compose.mdx +++ b/docs/self-hosting/methods/docker-compose.mdx @@ -1,79 +1,90 @@ --- -title: Docker +title: Deploy Plane with Docker +sidebar_label: Docker +sidebar_position: 1 --- +{frontMatter.description &&

{frontMatter.description}

} + 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). - + +:::tip +If you want to upgrade from Community to the Commercial edition, see [Upgrade to +Commercial Edition](/self-hosting/manage/upgrade/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 +- 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. - +:::tip +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. - +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. + :::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. - - + ::: +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). - - - - 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 +::: + +
+ 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 + ```bash cd plane-selfhost ``` 3. Download the latest stable release. - ```bash + ```bash curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh ``` 4. Make the file executable. @@ -97,7 +108,7 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so 8) Exit Action [2]: 1 ``` - 6. Enter `1` as input. + 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: @@ -109,7 +120,7 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so ./setup.sh ``` 10. Enter `2` as input to start the services. - You will something like this: + 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) @@ -135,8 +146,10 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so 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..6b57fd2 --- /dev/null +++ b/docs/self-hosting/methods/docker-swarm.mdx @@ -0,0 +1,62 @@ +--- +title: Deploy Plane with Docker Swarm • Commercial Edition +sidebar_label: Docker Swarm +sidebar_position: 2 +--- + +{frontMatter.description &&

{frontMatter.description}

} + +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 +` + :::warning + 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** + :::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/self-hosting/methods/kubernetes.mdx b/docs/self-hosting/methods/kubernetes.mdx similarity index 97% rename from self-hosting/methods/kubernetes.mdx rename to docs/self-hosting/methods/kubernetes.mdx index 75b4e13..fdd8d62 100644 --- a/self-hosting/methods/kubernetes.mdx +++ b/docs/self-hosting/methods/kubernetes.mdx @@ -1,25 +1,27 @@ --- -title: Kubernetes +title: Deploy Plane with Kubernetes +sidebar_label: Kubernetes +sidebar_position: 3 --- +{frontMatter.description &&

{frontMatter.description}

} + 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). - +:::tip +If you want to upgrade from Community to the Commercial edition, see [Upgrade to +Commercial Edition](/self-hosting/manage/upgrade/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**. - - + - `helm` chart v1.3.1 or later ### Procedure @@ -32,9 +34,9 @@ Ensure you're using use **Helm chart v1.3.0**. DOMAIN_NAME= ``` - + :::warning 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. @@ -43,7 +45,7 @@ Ensure you're using use **Helm chart v1.3.0**. ``` 4. Use one of the following ways to deploy Plane: - - **Quick setup**: + - **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: @@ -63,19 +65,19 @@ Ensure you're using use **Helm chart v1.3.0**. --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**: - + - **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. + + 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 @@ -101,11 +103,12 @@ Ensure you're using use **Helm chart v1.3.0**. -f values.yaml \ --timeout 10m \ --wait \ - --wait-for-jobs + --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 @@ -157,7 +160,7 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | 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 | @@ -250,7 +253,7 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | 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.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 | @@ -268,9 +271,9 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | 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.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 | @@ -286,11 +289,11 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | 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. - + 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` | @@ -325,8 +328,8 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | | `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 | @@ -365,9 +368,11 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | 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: + +
+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 @@ -389,7 +394,9 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so 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. + :::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. @@ -409,21 +416,23 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so --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. + + 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. + :::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. @@ -434,7 +443,7 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so -f values.yaml \ --timeout 10m \ --wait \ - --wait-for-jobs + --wait-for-jobs ``` ### Configuration settings @@ -519,7 +528,7 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | 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.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 @@ -593,7 +602,7 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so #### 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. + 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 | |--- |:---|:---|:---|:---| @@ -639,4 +648,5 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so | 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/podman-quadlets.mdx b/docs/self-hosting/methods/podman-quadlets.mdx similarity index 55% rename from self-hosting/methods/podman-quadlets.mdx rename to docs/self-hosting/methods/podman-quadlets.mdx index 4c41a9c..ceffc87 100644 --- a/self-hosting/methods/podman-quadlets.mdx +++ b/docs/self-hosting/methods/podman-quadlets.mdx @@ -1,131 +1,150 @@ --- title: Deploy Plane with Podman Quadlets • Commercial Edition -sidebarTitle: Podman Quadlets +sidebar_label: Podman Quadlets --- +{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** ## Set up Podman + 1. Add the Podman repository. - ```bash - echo 'deb http://download.opensuse.org/repositories/home:/alvistack/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:alvistack.list - ``` + + ```bash + echo 'deb http://download.opensuse.org/repositories/home:/alvistack/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:alvistack.list + ``` 2. Add the GPG key. - ```bash - curl -fsSL https://download.opensuse.org/repositories/home:alvistack/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_alvistack.gpg > /dev/null - ``` + + ```bash + curl -fsSL https://download.opensuse.org/repositories/home:alvistack/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_alvistack.gpg > /dev/null + ``` 3. Refresh your package lists. - ```bash - sudo apt update - ``` + + ```bash + sudo apt update + ``` 4. Install Podman and its dependencies. - ```bash - sudo apt install -y podman uidmap netavark passt - ``` - The `uidmap` package handles user namespace mapping, `netavark` takes care of networking, and `passt` helps with network connectivity. + ```bash + sudo apt install -y podman uidmap netavark passt + ``` -5. Download and extract Podman Quadlets. - ```bash - tar -xzf podman-quadlets.tar.gz - cd podman-quadlets - ``` + The `uidmap` package handles user namespace mapping, `netavark` takes care of networking, and `passt` helps with network connectivity. + +5. Download and extract Podman Quadlets. + + ```bash + tar -xzf podman-quadlets.tar.gz + cd podman-quadlets + ``` - The directory contains an `install.sh` script that will handle the installation and configuration. + The directory contains an `install.sh` script that will handle the installation and configuration. ## Install Plane The installation script sets up Plane and configures all required services. You have two options: ### 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 + ```bash ./install.sh --domain your-domain.com ``` This installs Plane in `/opt/plane`, which is a standard system location. - +:::note Systemd configurations are installed in `~/.config/containers/systemd/` - +::: ## Start Plane - -**Important** +:::warning +**Important** Note that you should run these commands without `sudo`. - +::: 1. Reload systemd to recognize new configurations. - ```bash - systemctl --user daemon-reload - ``` + + ```bash + systemctl --user daemon-reload + ``` 2. Start the network service. - ```bash - systemctl --user start plane-nw-network.service - ``` + + ```bash + systemctl --user start plane-nw-network.service + ``` 3. Start core dependencies. - ```bash - systemctl --user start plane-{db,redis,mq,minio}.service - ``` + + ```bash + systemctl --user start plane-{db,redis,mq,minio}.service + ``` 4. Start backend services. - ```bash - systemctl --user start {api,worker,beat-worker,migrator,monitor}.service - ``` + + ```bash + systemctl --user start {api,worker,beat-worker,migrator,monitor}.service + ``` 5. Start frontend services. - ```bash - systemctl --user start {web,space,admin,live,proxy}.service - ``` + ```bash + systemctl --user start {web,space,admin,live,proxy}.service + ``` The startup sequence is important: network first, then dependencies, followed by backend services, and finally frontend services. ### Verify service status + Check that all services are running correctly: 1. Check network status. - ```bash - systemctl --user status plane-nw-network.service - ``` + + ```bash + systemctl --user status plane-nw-network.service + ``` 2. Check core dependencies. - ```bash - systemctl --user status plane-{db,redis,mq,minio}.service - ``` + + ```bash + systemctl --user status plane-{db,redis,mq,minio}.service + ``` 3. Check backend services. - ```bash - systemctl --user status {api,worker,beat-worker,migrator,monitor}.service - ``` + + ```bash + systemctl --user status {api,worker,beat-worker,migrator,monitor}.service + ``` 4. Check frontend services. - ```bash - systemctl --user status {web,space,admin,live,proxy}.service - ``` + ```bash + systemctl --user status {web,space,admin,live,proxy}.service + ``` Your Plane installation should now be running successfully with Podman Quadlets. This setup provides automatic service restart capabilities and standard systemd management commands for maintaining your installation. ## Troubleshoot To debug service issues, examine the logs using: - ```bash +`bash journalctl --user -u --no-pager - ``` + ` The logs will provide detailed information about any configuration issues or errors that may occur. diff --git a/docs/self-hosting/methods/portainer.mdx b/docs/self-hosting/methods/portainer.mdx new file mode 100644 index 0000000..efcb1be --- /dev/null +++ b/docs/self-hosting/methods/portainer.mdx @@ -0,0 +1,58 @@ +--- +title: Deploy Plane with Portainer • Commercial Edition +sidebar_label: Portainer +--- + +{frontMatter.description &&

{frontMatter.description}

} + +This guide shows you the steps to deploy a self-hosted instance of Plane using Portainer. + +## Install Plane + +### Prerequisites + +- Before you get started, make sure you have a Portainer environment set up and ready to go. +- Your setup should support either amd64 or arm64 architectures. + +### Procedure + +1. **Download the required depoyment files** + - `portainer-compose.yml` – Defines Plane's services and dependencies. + ```bash + curl -fsSL https://prime.plane.so/releases//portainer-compose.yml -o portainer-compose.yml + ``` + - `variables.env` – Stores environment variables for your deployment. + `bash +curl -fsSL https://prime.plane.so/releases//variables.env -o plane.env +` + :::warning + The `` value should be v1.8.2 or higher. + ::: + +2. Click **+ Add stack** on Portainer. + +3. Copy and paste the contents of `portainer-compose.yml` into the editor. + +4. Load environment variables from the `variables.env` file. + +5. **Configure environment variables** + Before deploying, edit the following variables: + - `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). + +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. + +7. Click **Deploy the stack**. + +That's it! Once the deployment is complete, Plane should be up and running on your configured domain. diff --git a/docs/self-hosting/overview.mdx b/docs/self-hosting/overview.mdx new file mode 100644 index 0000000..5a58629 --- /dev/null +++ b/docs/self-hosting/overview.mdx @@ -0,0 +1,64 @@ +--- +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 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/docs/self-hosting/troubleshoot/_category_.yml b/docs/self-hosting/troubleshoot/_category_.yml new file mode 100644 index 0000000..d5939f0 --- /dev/null +++ b/docs/self-hosting/troubleshoot/_category_.yml @@ -0,0 +1 @@ +label: 'Troubleshoot' diff --git a/self-hosting/troubleshoot/cli-errors.mdx b/docs/self-hosting/troubleshoot/cli-errors.mdx similarity index 63% rename from self-hosting/troubleshoot/cli-errors.mdx rename to docs/self-hosting/troubleshoot/cli-errors.mdx index c5254e1..4ff7020 100644 --- a/self-hosting/troubleshoot/cli-errors.mdx +++ b/docs/self-hosting/troubleshoot/cli-errors.mdx @@ -2,22 +2,24 @@ 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 -
- Error: Failed to update Prime CLI, please contact support or try again later. +
+ Error: Failed to update Prime CLI, please contact support or try again later.
This error typically happens if you're using an older version of the Prime CLI. To fix it, follow these steps: 1. Start by taking a [data backup](/self-hosting/manage/backup-restore#backup-data) to be safe. 2. Run this command to remove the existing CLI: - ```bash - rm -rf /usr/bin/prime-cli - ``` + ```bash + rm -rf /usr/bin/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 + ```bash + curl -fsSL https://prime.plane.so/install/ | sh + ``` diff --git a/self-hosting/troubleshoot/installation-errors.mdx b/docs/self-hosting/troubleshoot/installation-errors.mdx similarity index 76% rename from self-hosting/troubleshoot/installation-errors.mdx rename to docs/self-hosting/troubleshoot/installation-errors.mdx index bef0bb8..fc3e002 100644 --- a/self-hosting/troubleshoot/installation-errors.mdx +++ b/docs/self-hosting/troubleshoot/installation-errors.mdx @@ -2,12 +2,15 @@ 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 -
- Error: Error during docker compose execution. Please check permissions and try again. +
+ Error: Error during docker compose execution. Please check permissions and try + again.
- This error typically occurs when the user doesn't have sudo or root privileges. To resolve this, ensure you're logged in as the root user or as a user with sudo access before attempting the installation again. @@ -16,10 +19,10 @@ This guide is designed to help you resolve common issues encountered while insta ## Migrator container exited -
- Error: plane-migrator-1 container exited with status 1 +
+ Error: plane-migrator-1 container exited with status 1
This error typically occurs if you have configured an external database that is running on localhost. Since the connection is being attempted from inside the container, localhost won’t work, as the database is not running within the container. -To resolve this issue, ensure that the database is hosted on a network-accessible server rather than localhost. Update the database URL to reflect the correct server address. See [how to configure external db](/self-hosting/govern/database-and-storage). \ No newline at end of file +To resolve this issue, ensure that the database is hosted on a network-accessible server rather than localhost. Update the database URL to reflect the correct server address. See [how to configure external db](/self-hosting/govern/database-and-storage). diff --git a/self-hosting/troubleshoot/license-errors.mdx b/docs/self-hosting/troubleshoot/license-errors.mdx similarity index 76% rename from self-hosting/troubleshoot/license-errors.mdx rename to docs/self-hosting/troubleshoot/license-errors.mdx index 4ddad10..4a8260b 100644 --- a/self-hosting/troubleshoot/license-errors.mdx +++ b/docs/self-hosting/troubleshoot/license-errors.mdx @@ -2,14 +2,13 @@ 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 -
- Error: Your license is invalid or already in use. -
- +
Error: Your license is invalid or already in use.
- This issue usually occurs when your server has trouble connecting to ours to verify the license. Try running `prime-cli restart`, and it should resolve the problem. @@ -17,30 +16,24 @@ This guide is designed to help you resolve common issues encountered while activ ## Something went wrong -
- Error: Something went wrong please try again later +
+ Error: Something went wrong please try again later
This error usually occurs when the license validation service is unavailable. Here's how you can troubleshoot it: 1. Confirm that your Plane instance is running the latest version. -2. If it's not up-to-date, [update to the latest version](/self-hosting/manage/upgrade-plane#prerequisites). +2. If it's not up-to-date, [update to the latest version](/self-hosting/manage/update/to-latest-version#prerequisites). Updating typically resolves this issue. If the problem persists, double-check your network connection and any firewall rules that might block access to the license validation service. ## Payment server is not configured -
- Error: Payment server is not configured -
+
Error: Payment server is not configured
-This usually occurs when the environment confiuration is incorrect. The Env variable `payment_server_url` is missing in the setup. In this case, follow the below steps. +This usually occurs when the environment confiuration is incorrect. The Env variable `payment_server_url` is missing in the setup. In this case, follow the below steps. 1. Backup the `plane.env` file. See [this](http://localhost:3000/self-hosting/manage/backup-restore#backup-plane-env). 2. Run `prime-cli repair` to allow Prime CLI to attempt automatic fixes to the `plane.env` file. 3. Try activating your workspace with the license key. -3. If needed, you can configure the instance in [God mode](/self-hosting/govern/instance-admin#settings) or adjust the environment variables directly in the new plane.env file. - - - - +4. If needed, you can configure the instance in [God mode](/self-hosting/govern/instance-admin#settings) or adjust the environment variables directly in the new plane.env file. diff --git a/docs/self-hosting/troubleshoot/storage-errors.mdx b/docs/self-hosting/troubleshoot/storage-errors.mdx new file mode 100644 index 0000000..56d91e1 --- /dev/null +++ b/docs/self-hosting/troubleshoot/storage-errors.mdx @@ -0,0 +1,92 @@ +--- +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 + +
+ Error: An error occurred (PolicyTooLarge) when calling the PutBucketPolicy + operation: Policy exceeds the maximum allowed document size. +
+ +This error occurs when the bucket policy exceeds the 20KB size limit allowed by MinIO. It typically happens when trying to add complex policies or when unnecessary data bloats the policy size. + +To resolve this issue, you can define a streamlined bucket policy file and apply it correctly within the MinIO container. Follow these steps: + +1. **Create a bucket policy JSON file** + - On your local machine, create a file named `bucket-policy.json` with the following content: + + ```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "AWS": ["*"] + }, + "Action": ["s3:GetObject"], + "Resource": ["arn:aws:s3:::uploads/*"], + "Condition": { + "StringEquals": { + "s3:ExistingObjectTag/publicAccess": ["true"] + } + } + } + ] + } + ``` + + - 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 + mc alias set myminio http://plane-plane-minio:9000 + ``` + + Replace `plane-plane-minio:9000` with your MinIO server address. + + - Tag existing objects: + ```bash + mc find myminio/uploads --exec "mc tag set {} publicAccess=true" + ``` + + - Copy the policy file to the MinIO container: + ```bash + docker cp bucket-policy.json :/tmp + ``` + + Replace `` with the actual ID of your MinIO container. You can find the container ID by running `docker ps`. + + - Apply the policy to the bucket: + ```bash + mc anonymous set-json /tmp/bucket-policy.json myminio/uploads + ``` + +3. **Verification** + - Verify that objects are correctly tagged: + + ```bash + mc tag list myminio/uploads/ + ``` + + - Test public access using: + ```bash + curl http://:9000/uploads/ + ``` + +### Notes + +- 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/overview.mdx b/docs/webhooks/overview.mdx new file mode 100644 index 0000000..59f09a7 --- /dev/null +++ b/docs/webhooks/overview.mdx @@ -0,0 +1,216 @@ +--- +title: Webhooks Overview +sidebar_label: Overview +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, navigate to your Plane workspace settings, **Developer** +section, and click **Webhooks**. Then click the **Add webhook** button. + +import ImgCreate from '@site/static/images/webhooks/create.png'; + +Create webhook + +Next, enter your URL, optionally choose the events which 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 which satisfies the following conditions: + +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` response, Plane will retry the delivery +up to three times with an exponential backoff delay. +::: + +## Webhook payloads + +When a webhook is triggered, Plane sends a JSON payload to your specified URL via HTTP `POST`. +The payload contains the following fields: + +- `action`: One of `create`, `update`, or `delete`, indicating the type of event +- `event`: One of `project`, `cycle`, `module`, or `issue`, indicating the type of event that triggered the webhook + - _Note: `issue` refers to Work Items in Plane. This will be updated in the future to reflect the correct terminology._ +- `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 + +When Plane sends a webhook payload, it includes several HTTP headers to help you +identify and verify the request. The most important headers are: + +```json +"Content-Type": "application/json", +"X-Plane-Delivery": "f819eff4-cd50-4987-bc97-e5be1e04c94f", +"X-Plane-Event": "project", +"X-Plane-Signature": "7896ae9addb1f73931132b4f3e052bf12c410b837b24898e75dcd660c7" +``` + +| Header | Description | +| ----------------- | -------------------------------------------------------------------- | +| X-Plane-Delivery | A randomly generated UUID for uniquely identifying the payload | +| X-Plane-Event | The event for which the webhook was triggered | +| X-Plane-Signature | A signature generated based on the secret and the payload | + + +## Verifying payloads + +To verify the authenticity of the webhook payloads, you can use the `X-Plane-Signature` header. +This header contains an HMAC SHA-256 signature of the payload, generated using the secret key +you received when creating the webhook. If the signature in the header matches +the HMAC SHA-256 hash of the incoming payload and your secret, you can be +confident that the payload was sent by Plane and has not been tampered with. + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + ```javascript + // 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'); + }) + ``` + + + ```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") + ``` + + + +:::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..9499c74 --- /dev/null +++ b/docusaurus.config.ts @@ -0,0 +1,374 @@ +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: '/img/logo/symbol-black.png', + srcDark: '/img/logo/symbol-white.png', + }, + items: [ + { + type: 'search', + position: 'left', + }, + { + href: 'https://docs.plane.so', + 'aria-label': 'Plane Docs', + position: 'right', + className: 'navbar--plane-docs-link', + }, + { + 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-regular.otf', + as: 'font', + type: 'font/otf', + crossorigin: 'anonymous', + }, + }, + { + 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-semibold.otf', + as: 'font', + type: 'font/otf', + 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 e831fc5..0000000 --- a/mint.json +++ /dev/null @@ -1,363 +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", - "self-hosting/methods/airgapped-edition", - "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 100% rename from plane-one/manage/prime-cli.mdx rename to old/plane-one/manage/prime-cli.mdx 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 100% rename from plane-one/self-host/methods/docker.mdx rename to old/plane-one/self-host/methods/docker.mdx 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..aa5fae0 --- /dev/null +++ b/package.json @@ -0,0 +1,61 @@ +{ + "name": "dev-docs", + "version": "0.1.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "dev": "docusaurus start --port 3030", + "start": "docusaurus start", + "start:local": "docusaurus start --port 3030", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "serve:local": "docusaurus serve --port 3030", + "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@9.14.4", + "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/configure-dns-email-service.mdx b/self-hosting/govern/configure-dns-email-service.mdx deleted file mode 100644 index f2e62fc..0000000 --- a/self-hosting/govern/configure-dns-email-service.mdx +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: Configure DNS for Intake Email -sidebarTitle: 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. - -## Prerequisites - -Ensure that the Plane server allows inbound traffic on the following email-related ports: `25`, `465`, and `587`. - -If any of these ports are currently in use, you can free them by running: - - ```bash - fuser -k 25/tcp 465/tcp 587/tcp - ``` - -## Generate SSL/TLS Certificate for Email Domain - -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** -Update your system and install Certbot. - ```bash - sudo apt update && sudo apt install certbot - ``` - For NGINX: - ```bash - sudo apt install python3-certbot-nginx - ``` - For Apache: - ```bash - sudo apt install python3-certbot-apache - ``` - -2. **Generate SSL Certificate** -Choose the method that matches your web server setup: - - For NGINX: - ```bash - sudo certbot --nginx -d - ``` - - For Apache: - ```bash - sudo certbot --apache -d - ``` - - For standalone (no web server): - ```bash - sudo certbot certonly --standalone -d - ``` - -3. **Copy Certificate Files** -Copy the generated certificate files to Plane's expected directory: - - ```bash - sudo cp /etc/letsencrypt/live//fullchain.pem /opt/plane/data/email/tls/cert.pem - sudo cp /etc/letsencrypt/live//privkey.pem /opt/plane/data/email/tls/key.pem - ``` - -4. **Configure Environment Variables** -Add the following settings to your plane.env file: - - ```bash - # If using SMTP_DOMAIN as FQDN (e.g., intake.example.com), - # generate a valid SSL certificate and set these paths accordingly. - SMTP_DOMAIN=intake.example.com - TLS_CERT_PATH=tls/cert.pem - TLS_PRIV_KEY_PATH=tls/key.pem - INTAKE_EMAIL_DOMAIN=intake.example.com - ``` - - - Important: `SMTP_DOMAIN` and `INTAKE_EMAIL_DOMAIN` must be identical. - - - -## Configure DNS records - -1. **Create an A Record** -This record points to the server running your email service. - - ```bash - Type: A - Host: # Example: plane.example.com - Value: # Your server's public IP address - TTL: Auto | 3600 - ``` - - - 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. - ```bash - Type: MX - Host: # Example: intake.example.com - Value: # Same as your A record host - Priority: 10 - TTL: Auto | 3600 - ``` - -3. **Configure an SPF Record** -This record helps prevent email spoofing. - - ```bash - Type: TXT - Host: # Example: intake.example.com - Value: "v=spf1 ip4: -all" - TTL: Auto | 3600 - ``` -4. **Set Up a DMARC record** -This record specifies how receiving mail servers should handle authentication failures. - - ```bash - Type: TXT - Host: _dmarc. # Example: _dmarc.intake.example.com - Value: "v=DMARC1; p=reject; rua=mailto:" - TTL: Auto | 3600 - ``` -## Verify your configuration -After setting up your DNS records, verify that they're correctly configured: - - ```bash - # Verify A record - dig A - - # Verify MX record - dig MX - - # Verify SPF record - dig TXT - - # Verify DMARC record - dig TXT _dmarc. - ``` - - You can also use [MXToolbox](https://mxtoolbox.com) to check for any issues with your DNS configuration. - -## Test your mail server -Once your DNS records have propagated, test your SMTP connections: - - ```bash - # Test SMTP connection on standard ports - telnet 25 - telnet 465 - telnet 587 - ``` - -## Troubleshooting - -- MX Record issues - - - Ensure there's a proper dot at the end of the domain. - - Check that the priority number is correct (lower = higher priority). - - Allow 24-48 hours for DNS changes to fully propagate. - -- A Record issues - - - Verify that the IP address is correct. - - Ensure your mail subdomain matches the MX record. - -## See also - -[Intake Email](https://docs.plane.so/intake/intake-email) \ No newline at end of file diff --git a/self-hosting/govern/environment-variables.mdx b/self-hosting/govern/environment-variables.mdx deleted file mode 100644 index 021a8cd..0000000 --- a/self-hosting/govern/environment-variables.mdx +++ /dev/null @@ -1,242 +0,0 @@ ---- -title: Environment variables reference guide -sidebarTitle: Environment variables ---- - -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 - -The environment file for Plane Commercial Edition is located at: - ```bash - /opt/plane/plane.env - ``` - -This is where you'll make all configuration changes. Remember to restart the instance after making changes to ensure they take effect. - -## Environment variables - -### General settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **INSTALL_DIR** | Directory where Plane is installed. | `/opt/plane` | -| **DOMAIN_NAME** | Primary domain name for your Plane instance. This determines how users will access your installation. | `localhost` | -| **APP_RELEASE_VERSION** | The version of Plane Commercial Edition you're running. This helps with troubleshooting and ensures compatibility. | *Current release version* | -| **WEB_URL** | The complete base URL for the web application including protocol (e.g., `https://plane.example.com`).|`http://localhost`| -| **CORS_ALLOWED_ORIGINS** | Comma-separated list of origins allowed to make cross-origin requests to your API. Usually, this should include your WEB_URL. |`http://localhost`| -| **DEBUG** | Toggles debug mode for more verbose logging and debugging information.| `0` (disabled) | - -### Scaling and performance - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **WEB_REPLICAS** | Number of web server replicas for load balancing. | `1` | -| **SPACE_REPLICAS** | Number of space service replicas for workspaces. | `1` | -| **ADMIN_REPLICAS** | Number of admin service replicas. | `1` | -| **API_REPLICAS** | Number of API service replicas. | `1` | -| **WORKER_REPLICAS** | Number of worker service replicas for background tasks. | `1` | -| **BEAT_WORKER_REPLICAS** | Number of beat worker replicas for scheduled tasks. | `1` | -| **LIVE_REPLICAS** | Number of live service replicas for real-time updates. | `1` | -| **GUNICORN_WORKERS** | Number of Gunicorn workers for handling web requests. Increase for better performance on high-traffic instances. | `2` | - -### Networking and security - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **LISTEN_HTTP_PORT** | Port for HTTP traffic. | `80` | -| **LISTEN_HTTPS_PORT** | Port for HTTPS traffic. | `443` | -| **APP_PROTOCOL** | Protocol to be used, either `http` or `https`. | `http` | -| **TRUSTED_PROXIES** | CIDR notation of trusted proxies for request forwarding. Important when behind load balancers or reverse proxies. | `0.0.0.0/0` | -| **SSL_VERIFY** | Whether to verify SSL certificates for outgoing connections. Set to `0` only in development environments. | `1` | - -### SSL and certificates - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **CERT_EMAIL** | Email used for SSL certificate registration with Let's Encrypt or other ACME providers. |`admin@example.com`| -| **CERT_ACME_CA** | ACME Certificate Authority URL for SSL certificate issuance. | `https://acme-v02.api.letsencrypt.org/directory` | -| **CERT_ACME_DNS** | DNS provider configuration for SSL certificate domain validation. Format varies by provider. | | -| **SITE_ADDRES** | The domain name and port required by Caddy for serving your Plane instance. This determines how Caddy will handle incoming requests. | `localhost:80` | - -### Database settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **PGHOST** | Hostname or IP address of your PostgreSQL server. | `plane-db` | -| **PGDATABASE** | Name of the PostgreSQL database Plane will use. | `plane` | -| **POSTGRES_USER** | Username for PostgreSQL authentication. | `plane` | -| **POSTGRES_PASSWORD** | Password for PostgreSQL authentication. **Critical:** Use a strong, unique password here. |`plane`| -| **POSTGRES_DB** | Same as PGDATABASE - the name of the PostgreSQL database. | `plane` | -| **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | `5432` | -| **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL within the same container/system. | `/var/lib/postgresql/data` | -| **DATABASE_URL** | Full connection string for PostgreSQL. If provided, this takes precedence over individual connection parameters. Format: `postgresql://username:password@host:port/dbname` | | - -### Redis settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **REDIS_HOST** | Hostname or IP address of your Redis server. | `plane-redis` | -| **REDIS_PORT** | TCP port your Redis server is listening on. | `6379` | -| **REDIS_URL** | Full connection string for Redis.| | - -### RabbitMQ settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **RABBITMQ_HOST** | Hostname or IP address of your RabbitMQ server. | `plane-mq` | -| **RABBITMQ_PORT** | TCP port your RabbitMQ server is listening on. | `5672` | -| **RABBITMQ_DEFAULT_USER** | Username for RabbitMQ authentication. | `plane` | -| **RABBITMQ_DEFAULT_PASS** | Password for RabbitMQ authentication. | `plane` | -| **RABBITMQ_DEFAULT_VHOST** | Virtual host for RabbitMQ, providing logical separation of resources. | `plane` | -| **AMQP_URL** | Full connection string for RabbitMQ. Format: `amqp://username:password@host:port/vhost` | | - -### Authentication and security -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **SECRET_KEY** | Secret key used for various cryptographic operations, including JWT token signing. | | -| **MACHINE_SIGNATURE** | Unique identifier for your instance, used for licensing and authentication.| | - -### File Storage (MinIO / S3) - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **USE_MINIO** | Determines whether to use MinIO for object storage. Set to `1` to enable MinIO, `0` to use configured S3 or local storage. | `1` | -| **AWS_REGION** | AWS region for S3 storage services. | | -| **AWS_ACCESS_KEY_ID** | Access key for MinIO or AWS S3 authentication. | | -| **AWS_SECRET_ACCESS_KEY** | Secret key for MinIO or AWS S3 authentication. | | -| **AWS_S3_ENDPOINT_URL** | Custom endpoint URL for MinIO or S3-compatible storage. | `http://plane-minio:9000`| -| **AWS_S3_BUCKET_NAME** | S3 bucket name for file storage. | `uploads` | -| **MINIO_ROOT_USER** | Username for MinIO authentication. This is effectively your MinIO admin account. | `access-key` | -| **MINIO_ROOT_PASSWORD** | Password for MinIO root user authentication. Keep this secure as it provides full access to your storage. | `secret-key` | -| **BUCKET_NAME** | S3 bucket name where all file uploads will be stored. This bucket will be automatically created if it doesn't exist. | `uploads` | -| **FILE_SIZE_LIMIT** | Maximum file upload size in bytes. | `5242880` (5MB) | -| **MINIO_ENDPOINT_SSL** | Force HTTPS for MinIO when dealing with SSL termination. Set to `1` to enable. | `0` | - -### GitHub integration - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **GITHUB_CLIENT_ID** | OAuth client ID for GitHub integration. | | -| **GITHUB_CLIENT_SECRET** | OAuth client secret for GitHub integration. | | -| **GITHUB_APP_NAME** | GitHub App name for enhanced GitHub integration. | | -| **GITHUB_APP_ID** | GitHub App ID for enhanced GitHub integration. | | -| **GITHUB_PRIVATE_KEY** | Private key for GitHub App authentication. | | - -### Slack integration - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **SLACK_CLIENT_ID** | OAuth client ID for Slack integration. | | -| **SLACK_CLIENT_SECRET** | OAuth client secret for Slack integration. | | - -### GitLab integration - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **GITLAB_CLIENT_ID** | OAuth client ID for GitLab integration. | | -| **GITLAB_CLIENT_SECRET** | OAuth client secret for GitLab integration. | | - -### API settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **API_KEY_RATE_LIMIT** | Rate limit for API requests to prevent abuse. Format: `number/timeunit` | `60/minute` | - - - - -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. - -## Where to find the environment file - -The environment configuration file is located at: - ```bash - plane-selfhost/plane-app/plane.env - ``` - -## Environment Variables - -### General settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **APP_DOMAIN** | Domain name for your Plane instance. This determines how users will access your installation. | `localhost` | -| **APP_RELEASE** | Release version of Plane. Helps with compatibility and troubleshooting. | `stable` | -| **WEB_URL** | The complete base URL for the web application including protocol. Essential for email links and integrations. | `http://${APP_DOMAIN}` | -| **CORS_ALLOWED_ORIGINS** | Comma-separated list of origins allowed to make cross-origin requests to your API. | `http://${APP_DOMAIN}` | -| **DEBUG** | Toggles debug mode for verbose logging. Set to `1` to enable, `0` to disable. Not recommended in production as it may expose sensitive information. | `0` | -| **NGINX_PORT** | Port for HTTP traffic. The primary port your users will connect to. | `80` | - -### Scaling and performance - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **WEB_REPLICAS** | Number of web server replicas for serving the frontend UI. Increase for better load distribution. | `1` | -| **SPACE_REPLICAS** | Number of space service replicas handling workspace-related operations. | `1` | -| **ADMIN_REPLICAS** | Number of admin service replicas for administrative functions. | `1` | -| **API_REPLICAS** | Number of API service replicas processing API requests. | `1` | -| **WORKER_REPLICAS** | Number of worker service replicas handling background tasks. | `1` | -| **BEAT_WORKER_REPLICAS** | Number of beat worker replicas for scheduled/periodic tasks. | `1` | -| **LIVE_REPLICAS** | Number of live service replicas for real-time updates and WebSocket connections. | `1` | -| **GUNICORN_WORKERS** | Number of Gunicorn workers per API instance. Increase for better request handling capacity. | `1` | - -### API settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **API_KEY_RATE_LIMIT** | Rate limit for API requests to prevent abuse. Format: `number/timeunit` | `60/minute` | - -### Database settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **PGHOST** | Hostname or IP address of your PostgreSQL server. | `plane-db` | -| **PGDATABASE** | Name of the PostgreSQL database Plane will use. | `plane` | -| **POSTGRES_USER** | Username for PostgreSQL authentication. | `plane` | -| **POSTGRES_PASSWORD** | Password for PostgreSQL authentication. Use a strong, unique password. | `plane` | -| **POSTGRES_DB** | Same as PGDATABASE - the name of the PostgreSQL database. | `plane` | -| **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | `5432` | -| **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL directly. | `/var/lib/postgresql/data` | -| **DATABASE_URL** | Full connection string for PostgreSQL. If provided, overrides individual settings. Format: `postgresql://username:password@host:port/dbname` | | - -### Redis settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **REDIS_HOST** | Hostname or IP address of your Redis server. | `plane-redis` | -| **REDIS_PORT** | TCP port your Redis server is listening on. | `6379` | -| **REDIS_URL** | Full connection string for Redis. Format: `redis://username:password@host:port` | | - -### RabbitMQ settings - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **RABBITMQ_HOST** | Hostname or IP address of your RabbitMQ server. | `plane-mq` | -| **RABBITMQ_PORT** | TCP port your RabbitMQ server is listening on. | `5672` | -| **RABBITMQ_USER** | Username for RabbitMQ authentication. | `plane` | -| **RABBITMQ_PASSWORD** | Password for RabbitMQ authentication. Use a strong, unique password. | `plane` | -| **RABBITMQ_VHOST** | Virtual host for RabbitMQ, providing logical separation of resources. | `plane` | -| **AMQP_URL** | Full connection string for RabbitMQ. If not provided, it's constructed from individual settings. | `amqp://plane:plane@plane-mq:5672/plane` | - -### File Storage (MinIO / S3) - -| Variable | Description | Default Value | -|----------|-------------|---------------| -| **USE_MINIO** | Whether to use MinIO for object storage. Set to `1` to enable, `0` to use other configured storage. | `1` | -| **MINIO_ENDPOINT_SSL** | Force HTTPS for MinIO when handling SSL termination. Set to `1` to enable. | `0` | -| **AWS_REGION** | AWS region for S3 storage services. Applies when using S3 or MinIO. | | -| **AWS_ACCESS_KEY_ID** | Access key for MinIO or AWS S3 authentication. | `access-key` | -| **AWS_SECRET_ACCESS_KEY** | Secret key for MinIO or AWS S3 authentication. | `secret-key` | -| **AWS_S3_ENDPOINT_URL** | Endpoint URL for MinIO or S3-compatible storage. | | -| **AWS_S3_BUCKET_NAME** | S3 bucket name for file storage. All uploads will be stored in this bucket. | `uploads` | -| **FILE_SIZE_LIMIT** | Maximum file upload size in bytes. | `5242880` (5MB) | - - -### Security settings - -| 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/self-hosting/govern/external-secrets.mdx deleted file mode 100644 index a10e680..0000000 --- a/self-hosting/govern/external-secrets.mdx +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: Configure external secrets for Kubernetes deployments -sidebarTitle: External secrets ---- - -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 - -1. Create a dedicated IAM user (e.g., `external-secret-access-user`). You can uncheck **Console Access Required**. -2. Generate `ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` and keep them handy. -3. Note the user's ARN for later use (format: `arn:aws:iam:::user/`). - -4. Create IAM policy (e.g., `external-secret-access-policy`) with the following JSON: - - ```json - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "secretsmanager:GetResourcePolicy", - "secretsmanager:GetSecretValue", - "secretsmanager:DescribeSecret", - "secretsmanager:ListSecretVersionIds" - ], - "Resource": [ - "arn:aws:secretsmanager:::secret:*" - ] - } - ] - } - ``` - Replace `` and `` with your AWS region and account ID. - -5. Create IAM role (e.g., external-secret-access-role) with the following trust relationship: - - ```json - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "AWS": "" - }, - "Action": "sts:AssumeRole" - } - ] - } - ``` - - Replace `` with the ARN of the user created in step 1. - -6. Attach the AWS IAM policy created in step 4 to the IAM role. - -7. Create secrets in AWS Secrets Manager with your Plane configuration values. For example, store RabbitMQ credentials with a name like `prod/secrets/rabbitmq`. - - |Key|Value| - |-------|--------| - |RABBITMQ_DEFAULT_USER|plane| - |RABBITMQ_DEFAULT_PASS|plane123| - - Follow this pattern to manage all the [environment variables](/self-hosting/methods/kubernetes#external-secrets-config) in AWS Secrets Manager. - -8. Create a Kubernetes secret containing AWS credentials in your application namespace: - ```sh - kubectl create secret generic aws-creds-secret \ - --from-literal=access-key= \ - --from-literal=secret-access-key= \ - -n - ``` - -9. Apply the following YAML to create a ClusterSecretStore resource: - ```yaml - apiVersion: external-secrets.io/v1 - kind: ClusterSecretStore - metadata: - name: cluster-aws-secretsmanager - namespace: - spec: - provider: - aws: - service: SecretsManager - role: arn:aws:iam:::role/ - region: eu-west-1 - auth: - accessKeyIDSecretRef: - name: aws-creds-secret - key: access-key - secretAccessKeySecretRef: - name: aws-creds-secret - key: secret-access-key - ``` - Replace `` and `` with your AWS account ID and the role name created in Step 5. - -10. Create an ExternalSecret resource to fetch secrets from AWS and create a corresponding Kubernetes secret: - ```yaml - apiVersion: external-secrets.io/v1 - kind: ExternalSecret - metadata: - name: rabbitmq-external-secrets - namespace: - spec: - refreshInterval: 1m - secretStoreRef: - name: cluster-aws-secretsmanager # ClusterSecretStore name - kind: ClusterSecretStore - target: - name: rabbitmq-secret # Target Kubernetes secret name - creationPolicy: Owner - data: - - secretKey: RABBITMQ_DEFAULT_USER - remoteRef: - key: prod/secrets/rabbitmq - property: RABBITMQ_DEFAULT_USER - - secretKey: RABBITMQ_DEFAULT_PASS - remoteRef: - key: prod/secrets/rabbitmq - ``` - -Make sure to set all [environment variables](/self-hosting/methods/kubernetes#external-secrets-config) in the AWS Secrets Manager, and then access them via ExternalSecret resources in your Kubernetes cluster. - -## HashiCorp Vault - -1. Access the Vault UI at `https:///`. - -2. Set up a KV secrets engine if not already configured. - -3. Create a secret with your Plane configuration values (e.g., `secrets/rabbitmq_secrets`). For this example, we're setting up RabbitMQ credentials: - - |Key|Value| - |-------|--------| - |RABBITMQ_DEFAULT_USER|plane| - |RABBITMQ_DEFAULT_PASS|plane123| - - Follow this pattern to manage all the other [environment variables](/self-hosting/methods/kubernetes#external-secrets-config) in the Vault. - -4. Create a Kubernetes secret containing your Vault token in your application namespace: - ```sh - kubectl create secret generic vault-token -n --from-literal=token= - ``` - -5. Apply the following YAML to create a ClusterSecretStore resource: - ```yaml - apiVersion: external-secrets.io/v1 - kind: ClusterSecretStore - metadata: - name: vault-backend - namespace: - spec: - provider: - vault: - server: "https://" # the address of your vault instance - path: "secrets" # path for accessing the secrets - version: "v2" # Vault API version - auth: - tokenSecretRef: - name: "vault-token" # Use a k8s secret called vault-token - key: "token" # Use this key to access the vault token - ``` - - Replace `` with your Vault server address. - -6. Create an ExternalSecret resource to fetch secrets from Vault and create a corresponding Kubernetes secret: - ```yaml - apiVersion: external-secrets.io/v1 - kind: ExternalSecret - metadata: - name: rabbitmq-external-secrets - namespace: # application-namespace - spec: - refreshInterval: "1m" - secretStoreRef: - name: vault-backend # ClusterSecretStore name - kind: ClusterSecretStore - target: - name: rabbitmq-secret # Target Kubernetes secret name - creationPolicy: Owner - data: - - secretKey: RABBITMQ_DEFAULT_USER - remoteRef: - key: secrets/data/rabbitmq_secrets - property: RABBITMQ_DEFAULT_USER - - secretKey: RABBITMQ_DEFAULT_PASS - remoteRef: - 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. diff --git a/self-hosting/govern/instance-admin.mdx b/self-hosting/govern/instance-admin.mdx deleted file mode 100644 index d1b374a..0000000 --- a/self-hosting/govern/instance-admin.mdx +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: Instance admin and God mode -description: Starting 0.14, we are introducing a new role for self-managed instances called `Instance admin`. ---- - - - -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. - - -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 - -God Mode features a few screens as shown below. - -### General -The General settings page allows you to view or configure core instance details and telemetry preferences. -Here’s what you can manage: - -- **Name of instance** -Customize the name of your instance. - -- **Email** -Displays the instance admin email address. - -- **Instance ID** -Displays a unique identifier for your instance. - -- **Chat with us** -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. - -![](/images/instance-admin/god-mode-general.webp) - -### Workspaces -The Workspaces section allows you to manage all workspaces within your Plane instance. - -- **View all Workspaces** -Access a complete list of workspaces on your instance. - -- **Create Workspaces** -You can create new workspaces directly from this section. If workspace creation is restricted, only the instance admin will have this ability. - -- **Restrict Workspace creation** -Toggle the **Prevent anyone from creating a workspace** option to prevent anyone else from creating workspaces. Once enabled, only you (the instance admin) can create new workspaces. - -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. - - -Workspace deletion is currently not supported. - - -![](/images/instance-admin/god-mode-workspaces.webp) - -### 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) - -### 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). - -- **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. - - -This is where you will see new SSO services and custom OAuth configs in the future. - - -![](/images/instance-admin/god-mode-authentication.webp) - -### 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 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) - -## 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. - -To promote an existing user to Instance Admin, execute the following command in your terminal: -```bash - docker exec /bin/bash -c "python manage.py create_instance_admin " -``` -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. - - - - 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) - - - - 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. - - - - 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. - - - - - 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. - - 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. - - 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. - - - - Not now, but soon enough, there will be a `God Mode` for Cloud admins. - - - - - - - diff --git a/self-hosting/govern/integrations/github.mdx b/self-hosting/govern/integrations/github.mdx deleted file mode 100644 index 5c55295..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/github/auth/callback - https://silo.plane.so/api/github/auth/user/callback - ``` - - **For Plane self-hosted instance** - - ```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**. - - **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#connect-github-enterprise-organization). - - diff --git a/self-hosting/govern/integrations/gitlab.mdx b/self-hosting/govern/integrations/gitlab.mdx deleted file mode 100644 index 4e12c0a..0000000 --- a/self-hosting/govern/integrations/gitlab.mdx +++ /dev/null @@ -1,61 +0,0 @@ ---- -title : Configure GitLab Application for Plane integration -sidebarTitle: GitLab ---- - -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) -2. [Configure your Plane instance](/self-hosting/govern/integrations/gitlab#configure-plane-instance) - -## Create GitLab Application - -1. On the left sidebar in GitLab, select your avatar. - -2. Select **Preferences** tab. - -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) - -5. Provide a **Name** for your application. - -6. Enter the following **Redirect URI**, replacing [YOUR_DOMAIN] with your actual domain: - ```bash - https://[YOUR_DOMAIN]/silo/api/gitlab/auth/callback - ``` -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) - -8. Set permissions by selecting the required **Scopes**. The table below explains each scope: - - |Permission|Explanation| - |----------|-----------| - |`api`|Grants full read/write access to the API, including all groups, projects, container registry, dependency proxy, and package registry. Required for API requests.| - |`read_api`|Allows read-only access to all groups, projects, container registry, and package registry.| - |`read_user`|Grants read-only access to user profiles via the /user API endpoint, including username, public email, and full name. Also provides access to /users endpoints.| - |`read_repository`|Enables read-only access to repositories in private projects via Git-over-HTTP or the Repository Files API.| - |`write_repository`|Allows read/write access to repositories on private projects via Git-over-HTTP (not through the API).| - |`profile`|Grants read-only access to the user's profile data using OpenID Connect.| - |`email`|Provides read-only access to the user's primary email address using OpenID Connect.| - -9. Click **Save Application** to finalize the setup. - -## Configure Plane instance - -1. Copy the **Application ID** and **Secret** from the newly created application. - ![Copy credentials](/images/integrations/gitlab/copy-credentials.webp) - -2. Add these environment variables with the values to your Plane instance's `.env` file. - - ```bash - GITLAB_CLIENT_ID= - GITLAB_CLIENT_SECRET= - ``` -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). 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/govern/reset-password.mdx b/self-hosting/govern/reset-password.mdx deleted file mode 100644 index 5de21f0..0000000 --- a/self-hosting/govern/reset-password.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -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. ---- -1. Get the container id for **plane-api**. - ```bash - docker ps - ``` - -2. Log in to the container. - ```bash - docker exec -it /bin/sh - ``` - -3. Run the reset password command. - ```bash - python manage.py reset_password - ``` - -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/saml-sso.mdx b/self-hosting/govern/saml-sso.mdx deleted file mode 100644 index 227e54d..0000000 --- a/self-hosting/govern/saml-sso.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: SAML SSO -sidebarTitle: SAML SSO ---- - -> **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. - - `domain.tld` is the domain that you have hosted your Plane app on. - - -### On your preferred IdP - -Create a Plane client or application per your IdP's documentation and configure ↓. - -| **Config** | **Value** | -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------| -| Entity ID

Metadata that identifies Plane as an authorized service on your IdP | `http(s)://domain.tld/auth/oidc/` | -| 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/` | - - -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. - -| **Config** | **Value** | -|----------------------------|--------------------------------------------------------| -| Name ID format | emailAddress

By default, your IdP should send back a username, but Plane recognizes email addresses as the username. Set the value to the above so Plane recognizes the user correctly. -### Set additional attribute values. - -By default, your IdP will send the value listed under `Property`. You have to map it to the SAML attribute Plane recognizes. - -| **Default property value** | **Plane SAML attribute** | -|----------------------------|--------------------------------------------| -| user.firstName | first_name | -| user.lastName | last_name | -| user.email | email | - - - 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) - - - 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. - -- Copy the `SSO URL` for the Plane client or app from your IdP and paste it in the field for it. - - This will bring up the IdP's authentication screen for your users. - - ![SSO URL](/images/custom-sso/okta-signin.webp) - -- 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) - -- 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. 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/manage/migrate-plane.mdx b/self-hosting/manage/migrate-plane.mdx deleted file mode 100644 index 6d9d013..0000000 --- a/self-hosting/manage/migrate-plane.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Move your Plane instance to a new server • Commercial Edition -sidebarTitle: Move to another server ---- - -Switching to another machine is straightforward on the Commercial Edition. - -## Prerequisites -Before we dive in, ensure: - -- You’re running Plane's Commercial Edition. -- 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. - - -If you need to change your domain during migration, contact our support team for assistance. - - -## Steps -1. **Delink licenses** -Log in to Plane on your current server. Head to each paid workspace like One or Pro and [delink the licenses](https://docs.plane.so/workspaces-and-users/upgrade-plan#delink-license-key). This will free up the licenses for activation on your new server. Ideally, you have just one paid workspace. - -2. **Backup data** -Create a backup of your Plane instance with ↓: - ```bash - prime-cli backup - ``` - This command will generate a backup file in the path: `/opt/plane/backups`. - -3. **Set up Plane on the new server** -Follow the [installation guide](/self-hosting/methods/docker-compose#install-plane) to deploy Plane on the new instance. - -4. **Transfer backup files** -Copy the `backups` folder from the old server, created in step 2, to the new server. Place the backup in the folder `/opt/plane`. - -5. **Restore data** -On the new server, restore your data with ↓: - ```bash - prime-cli restore - ```` - Follow the prompts during the restore process to make sure everything is set up correctly. - -6. **Reactivate license** -Finally, [reactivate your license keys](https://docs.plane.so/workspaces-and-users/upgrade-plan#self-hosted-only) on the new instance. - -This should get your Plane instance up and running on the new server. \ No newline at end of file diff --git a/self-hosting/manage/prime-cli.mdx b/self-hosting/manage/prime-cli.mdx deleted file mode 100644 index f4b7112..0000000 --- a/self-hosting/manage/prime-cli.mdx +++ /dev/null @@ -1,160 +0,0 @@ ---- -title: Command line tools -sidebarTitle: CLIs ---- - -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. - - -## 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). - - -The Prime CLI provides commands for common tasks like configuring services, monitoring health, managing backups, and upgrading your Plane instance. - -Bring up the Prime CLI with ```sudo prime-cli``` from any directory on your machine. - -- The three operators you will use the most are: - - - `start` - - You will use this to start a service in the Docker network with the name of the service. - - - `stop` - - You will use this to stop a service in the Docker network with the name of the service. - - - `restart` - - You will use this to restart a service in the Docker network with the name of the service as a `{param or flag}`. -- Often, you will want to monitor the health of your instance and see if some services are up or down. Use `monitor` to do that. - -- `healthcheck` is another useful utility that lets you see the status and errors, if any, of all running services - -- `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. - - 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` - - Specify the port that the built-in reverse proxy will use - - Default value: 80 - - - `Max file-upload size` - - Specify a size in MBs for how big each file uploaded to your Plane app can be - - Default value: 5 MB - - - `External Postgres URL` - - Specify the URL of your own hosted Postgres if you would like to change the database your Plane app uses. - - Default database: Postgres 15.5 in the Docker container - - - `External Redis URL` - - Specify the URL of your own hosted REdis if you would like to change the default Redis Plane ships with. - - Default Redis: Redis 7.2.4 - - - `External storage` - - Specify your AWS S3 bucket's credentials in the format below to change storage from the default Plane ships with. - - AWS Access Key ID - - AWS Secret Access Key - - AWS S3 Bucket Name - - Default storage: MinIO - - - Confirm your choices on the screen ↓. - - This restarts your instance with the new configs. - - -- `upgrade` - - checks your instance for available version upgrades and asks you for a confirmation before downloading the latest available version. - 1. Typing `YES` lets the CLI automatically download's the latest version and installs it. Then it restarts the instance to load the latest app. - 2. Typing `NO` cancels the upgrade. - -- `uninstall` - - uninstalls Plane. Before it goes through, it asks you for a confirmation. - 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. - - - - -The setup script `setup.sh` provides a menu-driven interface to help you install and manage your Plane instance. - -## Usage -To run the setup.sh script, use the following command in your terminal from the directory where the script is located: - -```bash -./setup.sh -``` -This will launch an interactive menu with options to manage various aspects of your Plane instance. - -```bash -Select a Action you want to perform: - 1) Install - 2) Start - 3) Stop - 4) Restart - 5) Upgrade - 6) View Logs - 7) Backup Data - 8) Exit -``` - -## Actions - -- **Install** - Installs the Plane Community Edition on your machine. Choose this option if you are setting up Plane for the first time. - -- **Start** - Starts the Plane server and all related services. - -- **Stop** - Stops the Plane server and all services currently running on the machine. - -- **Restart** - 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. - - - 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). - - -- **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. - - - 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. - -- **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 diff --git a/self-hosting/manage/upgrade-plane.mdx b/self-hosting/manage/upgrade-plane.mdx deleted file mode 100644 index 64d368a..0000000 --- a/self-hosting/manage/upgrade-plane.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Update Plane version -sidebarTitle: Update to latest version ---- -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. - - -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). - -## Check version - -You can quickly check your Plane version by clicking the **?** icon on the sidebar. - -![Check version number](https://media.docs.plane.so/product/check-version.webp#center) - -## Update version - - -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 ↓: - ```bash - sudo prime-cli update-cli - ``` - The latest version of the CLI ensures your Plane upgrades happen smoothly. - -2. To update Plane to the latest version, run: - ```bash - sudo prime-cli upgrade - ``` - This command checks for the latest version of Plane and applies the upgrade if a new version is available. - - - - -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. - -## Update version - -1. Download the latest stable release with ↓: - ```bash - curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh - ``` - -2. Execute the setup script with ↓: - ```bash - ./setup.sh - ``` - This will bring up a menu with several options. Select option `5` to upgrade: - - ```bash - Select a 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]: 5 - ``` - Choosing this option stops all services and downloads the latest `docker-compose.yaml` and `variables-upgrade.env` files. The `plane.env` file won’t be overwritten, so your existing environment settings are safe. - - You’ll see a message indicating the services have been stopped. - ![Stopped Docker services](/images/docker-compose/stopped-docker.png) - -3. After the update completes, select `6` to exit the prompt. - -4. After the upgrade, open `variables-upgrade.env` and compare it with your `plane.env` file. Copy any new variables from `variables-upgrade.env` to your `plane.env` file and set the correct values. This step is essential to ensure that all configuration changes are in place for the latest version. - -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/self-hosting/manage/view-logs.mdx deleted file mode 100644 index 798eb9b..0000000 --- a/self-hosting/manage/view-logs.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: View container logs -sidebarTitle: View logs ---- -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 ↓: - ```bash - sudo prime-cli monitor - ``` - -This brings up a table where you can select which container logs you want to view. - -![Container logs](/images/view-logs/container-logs.webp) - - - -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. - -1. Start by running the setup script: - ```bash - ./setup.sh - ``` - - This will bring up the main menu with options. Select `6` to view logs. - - ``` - Select a 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]: 6 - ``` -2. After choosing `6`, you’ll see a sub-menu listing all available services: - - ``` - Select a Service you want to view the logs for: - 1) Web - 2) Space - 3) API - 4) Worker - 5) Beat-Worker - 6) Migrator - 7) Proxy - 8) Redis - 9) Postgres - 10) Minio - 0) Back to Main Menu - - Service: - ``` - -3. Pick the service whose logs you’d like to check. For example, if you want to view the **API logs**, type `3`. - - After selecting a service, you’ll see the logs in real-time. Here’s an example of what API logs might look like: - - ``` - api-1 | Waiting for database... - api-1 | Database available! - api-1 | Waiting for database migrations to complete... - api-1 | Waiting for database migrations to complete... - api-1 | Waiting for database migrations to complete... - api-1 | Waiting for database migrations to complete... - api-1 | Waiting for database migrations to complete... - api-1 | Waiting for database migrations to complete... - api-1 | Waiting for database migrations to complete... - api-1 | No migrations Pending. Starting processes ... - api-1 | Instance registered - api-1 | ENABLE_SIGNUP loaded with value from environment variable. - api-1 | ENABLE_EMAIL_PASSWORD loaded with value from environment variable. - api-1 | ENABLE_MAGIC_LINK_LOGIN loaded with value from environment variable. - api-1 | GOOGLE_CLIENT_ID loaded with value from environment variable. - api-1 | GITHUB_CLIENT_ID loaded with value from environment variable. - api-1 | GITHUB_CLIENT_SECRET loaded with value from environment variable. - api-1 | EMAIL_HOST loaded with value from environment variable. - api-1 | EMAIL_HOST_USER loaded with value from environment variable. - api-1 | EMAIL_HOST_PASSWORD loaded with value from environment variable. - api-1 | EMAIL_PORT loaded with value from environment variable. - api-1 | EMAIL_FROM loaded with value from environment variable. - api-1 | EMAIL_USE_TLS loaded with value from environment variable. - api-1 | EMAIL_USE_SSL loaded with value from environment variable. - api-1 | OPENAI_API_KEY loaded with value from environment variable. - api-1 | GPT_ENGINE loaded with value from environment variable. - api-1 | UNSPLASH_ACCESS_KEY loaded with value from environment variable. - api-1 | Checking bucket... - api-1 | Bucket 'uploads' does not exist. Creating bucket... - api-1 | Bucket 'uploads' created successfully. - api-1 | Public read access policy set for bucket 'uploads'. - api-1 | Cache Cleared - api-1 | [2024-05-02 03:56:01 +0000] [1] [INFO] Starting gunicorn 21.2.0 - api-1 | [2024-05-02 03:56:01 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1) - api-1 | [2024-05-02 03:56:01 +0000] [1] [INFO] Using worker: uvicorn.workers.UvicornWorker - api-1 | [2024-05-02 03:56:01 +0000] [25] [INFO] Booting worker with pid: 25 - api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] Started server process [25] - api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] Waiting for application startup. - api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] ASGI 'lifespan' protocol appears unsupported. - api-1 | [2024-05-02 03:56:03 +0000] [25] [INFO] Application startup complete. - ``` - -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/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/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/methods/portainer.mdx b/self-hosting/methods/portainer.mdx deleted file mode 100644 index ee82971..0000000 --- a/self-hosting/methods/portainer.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Deploy Plane with Portainer • Commercial Edition -sidebarTitle: Portainer ---- - -This guide shows you the steps to deploy a self-hosted instance of Plane using Portainer. - -## Install Plane - -### Prerequisites - - Before you get started, make sure you have a Portainer environment set up and ready to go. - - Your setup should support either amd64 or arm64 architectures. - -### Procedure - -1. **Download the required depoyment files** - - `portainer-compose.yml` – Defines Plane's services and dependencies. - ```bash - curl -fsSL https://prime.plane.so/releases//portainer-compose.yml -o portainer-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.2 or higher. - - -2. Click **+ Add stack** on Portainer. - -3. Copy and paste the contents of `portainer-compose.yml` into the editor. - -4. Load environment variables from the `variables.env` file. - -5. **Configure environment variables** - Before deploying, edit the following variables: - - - `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). - -6. **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. - -7. Click **Deploy the stack**. - -That's it! Once the deployment is complete, Plane should be up and running on your configured domain. \ 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/self-hosting/troubleshoot/storage-errors.mdx b/self-hosting/troubleshoot/storage-errors.mdx deleted file mode 100644 index a2d5577..0000000 --- a/self-hosting/troubleshoot/storage-errors.mdx +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: Storage errors ---- - -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 - -
- Error: An error occurred (PolicyTooLarge) when calling the PutBucketPolicy operation: Policy exceeds the maximum allowed document size. -
- -This error occurs when the bucket policy exceeds the 20KB size limit allowed by MinIO. It typically happens when trying to add complex policies or when unnecessary data bloats the policy size. - -To resolve this issue, you can define a streamlined bucket policy file and apply it correctly within the MinIO container. Follow these steps: - -1. **Create a bucket policy JSON file** - - On your local machine, create a file named `bucket-policy.json` with the following content: - ```json - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "AWS": ["*"] - }, - "Action": ["s3:GetObject"], - "Resource": ["arn:aws:s3:::uploads/*"], - "Condition": { - "StringEquals": { - "s3:ExistingObjectTag/publicAccess": ["true"] - } - } - } - ] - } - ``` - - - Save this file in an accessible location. - -2. **Set up and apply the policy** - - **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 - mc alias set myminio http://plane-plane-minio:9000 - ``` - - Replace `plane-plane-minio:9000` with your MinIO server address. - - - Tag existing objects: - ```bash - mc find myminio/uploads --exec "mc tag set {} publicAccess=true" - ``` - - - Copy the policy file to the MinIO container: - ```bash - docker cp bucket-policy.json :/tmp - ``` - - Replace `` with the actual ID of your MinIO container. You can find the container ID by running `docker ps`. - - - Apply the policy to the bucket: - ```bash - mc anonymous set-json /tmp/bucket-policy.json myminio/uploads - ``` - -3. **Verification** - - - Verify that objects are correctly tagged: - ```bash - mc tag list myminio/uploads/ - ``` - - - Test public access using: - ```bash - curl http://:9000/uploads/ - ``` - -### Notes -- 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/sidebars.ts b/sidebars.ts new file mode 100644 index 0000000..61f379c --- /dev/null +++ b/sidebars.ts @@ -0,0 +1,84 @@ +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: 'category', + label: 'Self-Hosting', + items: [ + { + type: 'autogenerated', + dirName: 'self-hosting', + }, + ], + }, + { + type: 'category', + label: 'SDKs', + items: [ + { + type: 'autogenerated', + dirName: 'sdks', + }, + ], + }, + { + type: 'category', + label: 'AI Solutions', + items: [ + { + type: 'autogenerated', + dirName: 'ai-solutions', + }, + ], + }, + { + type: 'category', + label: 'Apps', + items: [ + { + type: 'autogenerated', + dirName: 'apps', + }, + ], + }, + { + type: 'category', + label: 'Webhooks', + items: [ + { + type: 'autogenerated', + dirName: 'webhooks', + }, + ], + }, + { + type: 'category', + label: 'API', + 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, + }, + ], +}; + +export default sidebars; diff --git a/src/components/Card.tsx b/src/components/Card.tsx new file mode 100644 index 0000000..51e585e --- /dev/null +++ b/src/components/Card.tsx @@ -0,0 +1,41 @@ +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..a66f5e9 --- /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..d52b67a --- /dev/null +++ b/src/components/Tags.tsx @@ -0,0 +1,28 @@ +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..15ff6be --- /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..a921dfe --- /dev/null +++ b/src/css/custom.css @@ -0,0 +1,884 @@ +/** + * 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; +} + +@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; +} + +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); +} 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..d4ae5d7 --- /dev/null +++ b/vercel.json @@ -0,0 +1,46 @@ +{ + "cleanUrls": true, + "trailingSlash": false, + "redirects": [ + { + "source": "/self-hosting/methods/one-click", + "destination": "/self-hosting/methods/docker-compose" + }, + { + "source": "/intro", + "destination": "/" + }, + { + "source": "/self-hosting/govern/reset-password", + "destination": "/self-hosting/govern/authentication/reset-password" + }, + { + "source": "/self-hosting/telemetry", + "destination": "/self-hosting/govern/telemetry" + }, + { + "source": "/self-hosting/upgrade-from-community", + "destination": "/self-hosting/manage/upgrade/upgrade-from-community" + }, + { + "source": "/self-hosting/manage/community-to-airgapped", + "destination": "/self-hosting/manage/upgrade/community-to-airgapped" + }, + { + "source": "/self-hosting/manage/upgrade-from-0.13.2-0.14.0", + "destination": "/self-hosting/manage/update/from-0.13.2-0.14.0" + }, + { + "source": "/self-hosting/manage/upgrade-plane", + "destination": "/self-hosting/manage/update/to-latest-version" + }, + { + "source": "/webhooks/intro-webhooks", + "destination": "/webhooks/overview" + }, + { + "source": "/api-reference/(.*)", + "destination": "/api" + } + ] +} 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 - -