From f9e7e99b329e145a1d87db779fc30f7fb8689efd Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Tue, 16 Sep 2025 00:08:41 +0530 Subject: [PATCH 1/2] feat: initial migration towards docusarus --- .editorconfig | 13 + .eslintrc.json | 3 - .github/instructions/docs.instructions.md | 11 + .github/workflows/ci.yml | 34 +- .github/workflows/docs-to-vector.yml | 8 +- .gitignore | 5 +- .nvmrc | 1 + .prettierignore | 8 + .prettierrc | 5 + CONTRIBUTING.md | 120 +- README.md | 22 +- _category_.json | 9 + api-reference/cycle-issue/add-cycle-issue.mdx | 20 - .../cycle-issue/delete-cycle-issue.mdx | 15 - .../cycle-issue/list-cycle-issues.mdx | 13 - api-reference/cycle-issue/overview.mdx | 74 - api-reference/cycle/add-cycle.mdx | 15 - api-reference/cycle/delete-cycle.mdx | 13 - api-reference/cycle/get-cycle-detail.mdx | 13 - api-reference/cycle/list-cycles.mdx | 11 - api-reference/cycle/overview.mdx | 93 - api-reference/cycle/update-cycle-detail.mdx | 17 - api-reference/inbox-issue/add-inbox-issue.mdx | 17 - .../inbox-issue/delete-inbox-issue.mdx | 15 - .../inbox-issue/get-inbox-issue-detail.mdx | 13 - .../inbox-issue/list-inbox-issues.mdx | 11 - api-reference/inbox-issue/overview.mdx | 116 - .../inbox-issue/update-inbox-issue-detail.mdx | 19 - .../intake-issue/add-intake-issue.mdx | 17 - .../intake-issue/delete-intake-issue.mdx | 15 - .../intake-issue/get-intake-issue-detail.mdx | 13 - .../intake-issue/list-intake-issues.mdx | 11 - api-reference/intake-issue/overview.mdx | 116 - .../update-intake-issue-detail.mdx | 19 - api-reference/introduction.mdx | 293 - .../get-issue-activity-detail.mdx | 15 - .../issue-activity/list-issue-activities.mdx | 13 - api-reference/issue-activity/overview.mdx | 101 - .../issue-attachments/complete-upload.mdx | 20 - .../issue-attachments/get-attachments.mdx | 50 - .../get-upload-credentials.mdx | 67 - api-reference/issue-attachments/overview.mdx | 161 - .../issue-attachments/upload-file.mdx | 24 - .../issue-comment/add-issue-comment.mdx | 17 - .../issue-comment/delete-issue-comment.mdx | 15 - .../get-issue-comment-detail.mdx | 15 - .../issue-comment/list-issue-comments.mdx | 13 - api-reference/issue-comment/overview.mdx | 80 - .../update-issue-comment-detail.mdx | 19 - .../options/add-dropdown-options.mdx | 19 - .../options/delete-dropdown-options.mdx | 12 - .../options/get-option-details.mdx | 12 - .../options/list-dropdown-options.mdx | 11 - .../issue-types/options/overview.mdx | 61 - .../options/update-dropdown-options.mdx | 20 - .../issue-types/properties/add-property.mdx | 27 - .../properties/delete-property.mdx | 12 - .../properties/get-property-details.mdx | 12 - .../properties/list-properties.mdx | 11 - .../issue-types/properties/overview.mdx | 67 - .../properties/update-property.mdx | 28 - .../issue-types/types/add-issue-type.mdx | 16 - .../issue-types/types/delete-issue-type.mdx | 11 - .../types/get-issue-type-details.mdx | 11 - .../issue-types/types/list-issue-types.mdx | 10 - api-reference/issue-types/types/overview.mdx | 59 - .../issue-types/types/update-issue-types.mdx | 17 - .../values/add-property-values.mdx | 18 - .../values/list-property-values.mdx | 12 - api-reference/issue-types/values/overview.mdx | 58 - api-reference/issue/add-issue.mdx | 15 - api-reference/issue/delete-issue.mdx | 13 - api-reference/issue/get-issue-detail.mdx | 13 - api-reference/issue/get-issue-sequence-id.mdx | 11 - api-reference/issue/list-issues.mdx | 12 - api-reference/issue/overview.mdx | 128 - api-reference/issue/update-issue-detail.mdx | 17 - api-reference/label/add-label.mdx | 15 - api-reference/label/delete-label.mdx | 13 - api-reference/label/get-label-detail.mdx | 13 - api-reference/label/list-labels.mdx | 11 - api-reference/label/overview.mdx | 69 - api-reference/label/update-label-detail.mdx | 17 - api-reference/link/add-link.mdx | 19 - api-reference/link/delete-link.mdx | 15 - api-reference/link/get-link-detail.mdx | 15 - api-reference/link/list-links.mdx | 13 - api-reference/link/overview.mdx | 64 - api-reference/link/update-link-detail.mdx | 21 - api-reference/members/get-project-members.mdx | 48 - .../members/get-workspace-members.mdx | 50 - api-reference/members/overview.mdx | 52 - .../module-issue/add-module-issue.mdx | 19 - .../module-issue/delete-module-issue.mdx | 15 - .../module-issue/list-module-issues.mdx | 13 - api-reference/module-issue/overview.mdx | 70 - api-reference/module/add-module.mdx | 15 - api-reference/module/delete-module.mdx | 13 - api-reference/module/get-module-detail.mdx | 13 - api-reference/module/list-modules.mdx | 11 - api-reference/module/overview.mdx | 106 - api-reference/module/update-module-detail.mdx | 17 - api-reference/project/add-project.mdx | 15 - api-reference/project/delete-project.mdx | 11 - api-reference/project/get-project-detail.mdx | 11 - api-reference/project/list-projects.mdx | 9 - api-reference/project/overview.mdx | 183 - .../project/update-project-detail.mdx | 17 - api-reference/state/add-state.mdx | 17 - api-reference/state/delete-state.mdx | 13 - api-reference/state/get-state-detail.mdx | 13 - api-reference/state/list-states.mdx | 11 - api-reference/state/overview.mdx | 87 - api-reference/state/update-state-detail.mdx | 17 - api-reference/worklogs/create-worklog.mdx | 37 - api-reference/worklogs/delete-worklog.mdx | 16 - api-reference/worklogs/get-total-time.mdx | 29 - .../worklogs/get-worklogs-for-issue.mdx | 32 - api-reference/worklogs/overview.mdx | 78 - api-reference/worklogs/update-worklog.mdx | 38 - api/schema.yaml | 13851 ++++++++++++++++ docs/api/add-cycle-work-items.api.mdx | 71 + docs/api/add-module-work-items.api.mdx | 71 + docs/api/archive-cycle.api.mdx | 71 + docs/api/archive-module.api.mdx | 71 + docs/api/archive-project.api.mdx | 71 + docs/api/create-cycle.api.mdx | 71 + docs/api/create-generic-asset-upload.api.mdx | 71 + docs/api/create-intake-work-item.api.mdx | 71 + docs/api/create-issue-property-option.api.mdx | 71 + docs/api/create-issue-property-value.api.mdx | 71 + docs/api/create-issue-property.api.mdx | 71 + docs/api/create-issue-type.api.mdx | 71 + docs/api/create-issue-worklog.api.mdx | 71 + docs/api/create-label.api.mdx | 71 + docs/api/create-module.api.mdx | 71 + docs/api/create-project.api.mdx | 71 + docs/api/create-state.api.mdx | 71 + docs/api/create-user-asset-upload.api.mdx | 71 + docs/api/create-work-item-attachment.api.mdx | 71 + docs/api/create-work-item-comment.api.mdx | 71 + docs/api/create-work-item-link.api.mdx | 71 + docs/api/create-work-item.api.mdx | 71 + docs/api/delete-cycle-work-item.api.mdx | 71 + docs/api/delete-cycle.api.mdx | 71 + docs/api/delete-intake-work-item.api.mdx | 71 + docs/api/delete-issue-property-option.api.mdx | 71 + docs/api/delete-issue-property.api.mdx | 71 + docs/api/delete-issue-type.api.mdx | 71 + docs/api/delete-issue-worklog.api.mdx | 71 + docs/api/delete-label.api.mdx | 71 + docs/api/delete-module-work-item.api.mdx | 71 + docs/api/delete-module.api.mdx | 71 + docs/api/delete-project.api.mdx | 71 + docs/api/delete-state.api.mdx | 71 + docs/api/delete-user-asset.api.mdx | 74 + docs/api/delete-work-item-attachment.api.mdx | 71 + docs/api/delete-work-item-comment.api.mdx | 71 + docs/api/delete-work-item-link.api.mdx | 71 + docs/api/delete-work-item.api.mdx | 71 + docs/api/get-current-user.api.mdx | 63 + docs/api/get-generic-asset.api.mdx | 71 + docs/api/get-intake-work-items-list.api.mdx | 71 + docs/api/get-labels.api.mdx | 71 + docs/api/get-project-members.api.mdx | 71 + docs/api/get-project-worklog-summary.api.mdx | 71 + docs/api/get-workspace-members.api.mdx | 71 + docs/api/get-workspace-work-item.api.mdx | 71 + docs/api/introduction.mdx | 291 + docs/api/list-archived-cycles.api.mdx | 71 + docs/api/list-archived-modules.api.mdx | 71 + docs/api/list-cycle-work-items.api.mdx | 71 + docs/api/list-cycles.api.mdx | 71 + docs/api/list-issue-properties.api.mdx | 71 + docs/api/list-issue-property-options.api.mdx | 71 + docs/api/list-issue-property-values.api.mdx | 71 + docs/api/list-issue-types.api.mdx | 71 + docs/api/list-issue-worklogs.api.mdx | 71 + docs/api/list-labels.api.mdx | 71 + docs/api/list-module-work-items.api.mdx | 71 + docs/api/list-modules.api.mdx | 71 + docs/api/list-projects.api.mdx | 71 + docs/api/list-states.api.mdx | 71 + docs/api/list-work-item-activities.api.mdx | 71 + docs/api/list-work-item-attachments.api.mdx | 71 + docs/api/list-work-item-comments.api.mdx | 71 + docs/api/list-work-item-links.api.mdx | 71 + docs/api/list-work-items.api.mdx | 71 + docs/api/retrieve-cycle-work-item.api.mdx | 71 + docs/api/retrieve-cycle.api.mdx | 71 + docs/api/retrieve-intake-work-item.api.mdx | 71 + .../retrieve-issue-property-option.api.mdx | 71 + docs/api/retrieve-issue-property.api.mdx | 71 + docs/api/retrieve-issue-type.api.mdx | 71 + docs/api/retrieve-module.api.mdx | 71 + docs/api/retrieve-project.api.mdx | 71 + docs/api/retrieve-state.api.mdx | 71 + docs/api/retrieve-work-item-activity.api.mdx | 71 + .../api/retrieve-work-item-attachment.api.mdx | 71 + docs/api/retrieve-work-item-comment.api.mdx | 71 + docs/api/retrieve-work-item-link.api.mdx | 71 + docs/api/retrieve-work-item.api.mdx | 71 + docs/api/search-work-items.api.mdx | 71 + docs/api/sidebar.ts | 714 + docs/api/the-plane-rest-api.info.mdx | 154 + docs/api/transfer-cycle-work-items.api.mdx | 71 + docs/api/unarchive-cycle.api.mdx | 71 + docs/api/unarchive-module.api.mdx | 71 + docs/api/unarchive-project.api.mdx | 71 + docs/api/update-cycle.api.mdx | 71 + docs/api/update-generic-asset.api.mdx | 71 + docs/api/update-intake-work-item.api.mdx | 71 + docs/api/update-issue-link.api.mdx | 71 + docs/api/update-issue-property-option.api.mdx | 71 + docs/api/update-issue-property.api.mdx | 71 + docs/api/update-issue-type.api.mdx | 71 + docs/api/update-issue-worklog.api.mdx | 71 + docs/api/update-label.api.mdx | 71 + docs/api/update-module.api.mdx | 71 + docs/api/update-project.api.mdx | 71 + docs/api/update-state.api.mdx | 71 + docs/api/update-user-asset.api.mdx | 71 + docs/api/update-work-item-comment.api.mdx | 71 + docs/api/update-work-item.api.mdx | 71 + .../byoa => docs/apps}/build-plane-app.mdx | 134 +- docs/apps/overview.mdx | 46 + docs/intro.md | 38 + docs/mcp-server/overview.mdx | 90 + docs/sdks/overview.mdx | 28 + docs/self-hosting/_category_.yml | 3 + .../self-hosting}/editions-and-versions.mdx | 10 +- docs/self-hosting/govern/_category_.yml | 2 + docs/self-hosting/govern/authentication.mdx | 23 + .../self-hosting}/govern/communication.mdx | 29 +- .../govern/configure-dns-email-service.mdx | 27 +- .../self-hosting}/govern/custom-domain.mdx | 24 +- .../govern/database-and-storage.mdx | 23 +- .../govern/environment-variables.mdx | 14 +- .../self-hosting}/govern/external-secrets.mdx | 9 +- docs/self-hosting/govern/github-oauth.mdx | 32 + docs/self-hosting/govern/google-oauth.mdx | 41 + .../self-hosting}/govern/instance-admin.mdx | 128 +- .../govern/integrations/_category_.yml | 1 + .../govern/integrations/github.mdx | 255 + .../govern/integrations/gitlab.mdx | 19 +- .../govern/integrations/slack.mdx | 309 + .../self-hosting}/govern/oidc-sso.mdx | 26 +- .../self-hosting}/govern/private-bucket.mdx | 30 +- .../self-hosting}/govern/reset-password.mdx | 11 +- .../self-hosting}/govern/reverse-proxy.mdx | 26 +- .../self-hosting}/govern/saml-sso.mdx | 33 +- .../self-hosting/govern}/telemetry.mdx | 6 +- docs/self-hosting/manage/_category_.yml | 2 + docs/self-hosting/manage/backup-restore.mdx | 142 + .../manage/community-to-airgapped.mdx | 12 +- .../self-hosting}/manage/migrate-plane.mdx | 11 +- .../self-hosting}/manage/prime-cli.mdx | 58 +- .../manage/upgrade-from-0.13.2-0.14.0.mdx | 11 +- .../manage}/upgrade-from-community.mdx | 19 +- .../self-hosting}/manage/upgrade-plane.mdx | 29 +- .../self-hosting}/manage/view-logs.mdx | 18 +- docs/self-hosting/methods/_category_.yml | 3 + .../methods/airgapped-edition-kubernetes.mdx | 0 .../methods/airgapped-edition.mdx | 198 + .../self-hosting}/methods/coolify.mdx | 19 +- docs/self-hosting/methods/docker-compose.mdx | 175 + docs/self-hosting/methods/docker-swarm.mdx | 68 + docs/self-hosting/methods/kubernetes.mdx | 661 + .../self-hosting}/methods/podman-quadlets.mdx | 39 +- .../self-hosting}/methods/portainer.mdx | 18 +- docs/self-hosting/overview.mdx | 48 + docs/self-hosting/troubleshoot/_category_.yml | 2 + .../self-hosting}/troubleshoot/cli-errors.mdx | 7 +- .../troubleshoot/installation-errors.mdx | 5 + .../troubleshoot/license-errors.mdx | 6 +- .../troubleshoot/storage-errors.mdx | 14 +- docs/webhooks/intro-webhooks.mdx | 202 + docusaurus.config.ts | 438 + logo/favicon-32x32.png | Bin 1438 -> 0 bytes mint.json | 370 - .../governance/authentication/custom-sso.mdx | 0 .../governance/workspaces-and-teams.mdx | 0 {plane-one => old/plane-one}/introduction.mdx | 0 .../plane-one}/manage/prime-cli.mdx | 2 +- .../plane-one}/manage/prime-client.mdx | 0 .../plane-one}/self-host/guides.mdx | 0 .../plane-one}/self-host/methods/docker.mdx | 4 +- .../self-host/methods/kubernetes.mdx | 0 .../plane-one}/self-host/overview.mdx | 0 package.json | 58 + pnpm-lock.yaml | 13560 +++++++++++++++ self-hosting/govern/authentication.mdx | 17 - self-hosting/govern/github-oauth.mdx | 29 - self-hosting/govern/google-oauth.mdx | 36 - self-hosting/govern/integrations/github.mdx | 258 - self-hosting/govern/integrations/slack.mdx | 304 - self-hosting/manage/backup-restore.mdx | 135 - self-hosting/methods/airgapped-edition.mdx | 179 - self-hosting/methods/docker-compose.mdx | 143 - self-hosting/methods/docker-swarm.mdx | 59 - self-hosting/methods/kubernetes.mdx | 650 - self-hosting/methods/one-click.mdx | 75 - self-hosting/overview.mdx | 34 - sidebars.ts | 158 + src/components/Card.tsx | 37 + src/components/CardGroup.tsx | 17 + src/components/Tags.tsx | 23 + src/components/index.ts | 3 + src/css/custom.css | 1122 ++ src/css/fonts.css | 55 + .../advanced-deploy.mdx => static/.nojekyll | 0 static/fonts/ibm/ibmplexmono-bold.ttf | Bin 0 -> 135932 bytes static/fonts/ibm/ibmplexmono-light.ttf | Bin 0 -> 133392 bytes static/fonts/ibm/ibmplexmono-regular.ttf | Bin 0 -> 133720 bytes static/fonts/ibm/ibmplexmono-semibold.ttf | Bin 0 -> 138372 bytes .../fonts/nacelle/SIL Open Font License.txt | 91 + static/fonts/nacelle/nacelle-black.otf | Bin 0 -> 65284 bytes static/fonts/nacelle/nacelle-blackitalic.otf | Bin 0 -> 64780 bytes static/fonts/nacelle/nacelle-bold.otf | Bin 0 -> 65120 bytes static/fonts/nacelle/nacelle-bolditalic.otf | Bin 0 -> 65068 bytes static/fonts/nacelle/nacelle-heavy.otf | Bin 0 -> 65764 bytes static/fonts/nacelle/nacelle-heavyitalic.otf | Bin 0 -> 65540 bytes static/fonts/nacelle/nacelle-italic.otf | Bin 0 -> 63916 bytes static/fonts/nacelle/nacelle-light.otf | Bin 0 -> 63704 bytes static/fonts/nacelle/nacelle-lightItalic.otf | Bin 0 -> 63876 bytes static/fonts/nacelle/nacelle-regular.otf | Bin 0 -> 64084 bytes static/fonts/nacelle/nacelle-semibold.otf | Bin 0 -> 64952 bytes .../fonts/nacelle/nacelle-semibolditalic.otf | Bin 0 -> 64316 bytes static/fonts/nacelle/nacelle-thin.otf | Bin 0 -> 61740 bytes static/fonts/nacelle/nacelle-thinitalic.otf | Bin 0 -> 62364 bytes static/fonts/nacelle/nacelle-ultralight.otf | Bin 0 -> 63112 bytes .../nacelle/nacelle-ultralightitalic.otf | Bin 0 -> 63996 bytes {images => static/images}/1.gif | Bin {images => static/images}/2.gif | Bin {images => static/images}/3.gif | Bin {images => static/images}/4.gif | Bin {images => static/images}/5.gif | Bin .../images}/account/account-dashboard.png | Bin .../account/account-email-preferences.png | Bin .../images}/account/account-notifications.png | Bin .../account/account-profile-activity.png | Bin .../account/account-profile-dropdown.png | Bin .../images}/account/account-theme.png | Bin .../activate-pro-license.webp | Bin .../billing-and-plans-cloud.webp | Bin .../activate-license/copy-license-key.webp | Bin .../enter-license-key-selfhosted.webp | Bin .../activate-license/pro-activated-cloud.webp | Bin .../upload-airgapped-license-file.webp | Bin .../activate-license/workspace-settings.webp | Bin .../analytics/analytics-custom-analytics.png | Bin .../analytics/analytics-scope-demand.png | Bin .../api-reference/add-api-key-plane.png | Bin .../api-reference/api-tokens-plane.png | Bin .../api-reference/profile-settings.png | Bin .../authentication/github/github-auth-1.png | Bin .../authentication/github/github-auth-2.png | Bin .../authentication/google/google-auth-1.png | Bin .../authentication/google/google-auth-2.png | Bin .../authentication/google/google-auth-3.png | Bin .../authentication/google/google-auth-4.png | Bin .../images}/custom-sso/instance-login.png | Bin .../images}/custom-sso/oidc-config.png | Bin .../images}/custom-sso/okta-signin.webp | Bin .../images}/custom-sso/plane-login.png | Bin .../images}/custom-sso/saml-config.png | Bin .../images}/cycles/active-cycle-ui.png | Bin .../images}/cycles/active-cycle.png | Bin .../images}/cycles/active-cycles-ui.png | Bin .../images}/cycles/create-cycles.png | Bin .../images}/cycles/cycle-empty-state.png | Bin .../images}/disable-telemetry.webp | Bin .../docker-compose/download-complete.png | Bin .../docker-compose/download-docker.png | Bin .../images}/docker-compose/migrate-error.png | Bin .../images}/docker-compose/restart-docker.png | Bin .../images}/docker-compose/stopped-docker.png | Bin .../images}/docker-compose/upgrade-docker.png | Bin {images => static/images}/faq-2.png | Bin .../images}/github-imp/comments.png | Bin .../images}/github-imp/configure.png | Bin .../images}/github-imp/confirm.png | Bin .../images}/github-imp/import.png | Bin .../images}/github-imp/integration.png | Bin {images => static/images}/github-imp/map.png | Bin .../images}/github-imp/merge.png | Bin {images => static/images}/github-imp/sync.png | Bin .../images}/github-imp/verify.png | Bin .../images}/github-imp/workspace-settings.png | Bin .../images}/importers/github/comments.png | Bin .../images}/importers/github/configure.png | Bin .../images}/importers/github/confirm.png | Bin .../images}/importers/github/import.png | Bin .../images}/importers/github/integration.png | Bin .../images}/importers/github/map.png | Bin .../images}/importers/github/merge.png | Bin .../images}/importers/github/sync.png | Bin .../images}/importers/github/verify.png | Bin .../importers/github/workspace-settings.png | Bin .../jira/jira-importer-first-step.png | Bin .../jira/jira-importer-second-step.png | Bin .../jira/jira-importer-step-fore.png | Bin .../jira/jira-importer-step-three.png | Bin .../importers/jira/jira-workspace-setting.png | Bin .../inbox/RTE-reactions-and-mentions.png | Bin .../images}/inbox/accept-intake-issue.webp | Bin .../images}/inbox/create-issue-intake.webp | Bin .../images}/inbox/enable-intake-feature.webp | Bin .../images}/inbox/enter-issue-details.webp | Bin .../images}/inbox/inbox-activity.png | Bin .../images}/inbox/inbox-description-box.png | Bin .../images}/inbox/inbox-navigate.png | Bin .../images}/inbox/inbox-tabs.png | Bin .../inbox/mark-duplicate-intake-issues.webp | Bin .../images}/inbox/snooze-intake-issue.webp | Bin .../instance-admin/access-god-mode.webp | Bin .../images}/instance-admin/email-settings.png | Bin .../images}/instance-admin/god-mode-ai.webp | Bin .../god-mode-authentication.webp | Bin .../instance-admin/god-mode-email.webp | Bin .../instance-admin/god-mode-general.webp | Bin .../instance-admin/god-mode-images.webp | Bin .../instance-admin/god-mode-workspaces.webp | Bin {images => static/images}/instance-ready.png | Bin .../integrations/github/add-callback-url.webp | Bin .../integrations/github/add-setup-url.webp | Bin .../integrations/github/add-webhook-url.webp | Bin .../github/app-name-homepage-url.webp | Bin .../github/create-github-app.webp | Bin .../integrations/github/general-tab.webp | Bin .../integrations/github/private-keys.webp | Bin .../github/setup-permissions.webp | Bin .../github/subscribe-to-events.webp | Bin .../integrations/gitlab/add-app-details.webp | Bin .../gitlab/add-gitlab-application.webp | Bin .../integrations/gitlab/copy-credentials.webp | Bin .../integrations/slack/app-from-manifest.webp | Bin .../slack/choose-from-manifest.webp | Bin .../integrations/slack/create-slack-app.webp | Bin .../slack/event-subscriptions.webp | Bin .../integrations/slack/review-summary.webp | Bin .../images}/issues/activate-issue-type.webp | Bin .../images}/issues/add-issue-type.webp | Bin .../images}/issues/add-new-property.webp | Bin .../images}/issues/archived-issues.webp | Bin .../images}/issues/create-issue-modal.png | Bin .../images}/issues/create-issue-type.webp | Bin .../images}/issues/enable-issue-types.webp | Bin .../issues/issue-activity-comments.png | Bin .../images}/issues/issue-calendar-layout.png | Bin .../images}/issues/issue-filters.png | Bin .../images}/issues/issue-gantt-layout.png | Bin .../images}/issues/issue-kanban-layout.png | Bin .../images}/issues/issue-list-layout.png | Bin .../images}/issues/issue-quick-add.png | Bin .../images}/issues/issue-side-peek.png | Bin .../issues/issue-spreadsheet-layout.png | Bin .../images}/issues/issue-sub-issues.png | Bin .../images}/issues/property-details.webp | Bin .../images}/issues/setup-issue-types.webp | Bin .../images}/issues/use-issue-type.webp | Bin static/images/mcp/accept.png | Bin 0 -> 152966 bytes static/images/mcp/approve.png | Bin 0 -> 101257 bytes .../images}/modules/add-issues-to-module.png | Bin .../images}/modules/create-module.png | Bin .../images}/modules/module-gantt.png | Bin .../images}/modules/module-progress.png | Bin .../one-click-deploy/one-click-advanced.png | Bin .../one-click-deploy/one-click-help.png | Bin .../one-click-deploy/one-click-install.png | Bin .../images}/pages/page-add-content.png | Bin .../images}/pages/page-create.png | Bin {images => static/images}/plane-github.png | Bin .../images}/plane-one/prime-all-licenses.png | Bin .../plane-one/prime-inside-a-license.png | Bin {images => static/images}/plane_analytics.png | Bin .../images}/power-k/power-k1.png | Bin .../images}/power-k/power-k2.png | Bin .../images}/power-k/power-k3.png | Bin .../images}/power-k/power-k4.png | Bin .../images}/power-k/power-k5.png | Bin .../images}/power-k/power-k6.png | Bin {images => static/images}/power-k1.png | Bin {images => static/images}/power-k2.png | Bin {images => static/images}/power-k3.png | Bin {images => static/images}/power-k4.png | Bin {images => static/images}/power-k5.png | Bin {images => static/images}/power-k6.png | Bin .../images}/projects/project-automations.png | Bin .../projects/project-close-automation.png | Bin .../images}/projects/project-create.png | Bin .../images}/projects/project-features.png | Bin .../images}/projects/project-labels.png | Bin .../images}/projects/project-members.png | Bin .../images}/projects/project-new-state.png | Bin .../images}/projects/project-states.png | Bin {images => static/images}/secure-instance.png | Bin {images => static/images}/set-password.png | Bin {images => static/images}/signup-signin.png | Bin .../time-tracking/enable-time-tracking.webp | Bin .../filter-and-download-worklogs.webp | Bin .../images}/time-tracking/log-work.webp | Bin .../time-tracking/project-settings.webp | Bin .../images}/time-tracking/view-worklogs.webp | Bin .../time-tracking/worklog-created.webp | Bin .../time-tracking/workspace-settings.webp | Bin .../images}/update-plane/docker-volumes.png | Bin .../images}/view-logs/container-logs.webp | Bin .../images}/views/create-view-modal.png | Bin .../views/view-create-from-existing.png | Bin .../images}/views/views-overview.png | Bin static/images/webhooks/create.png | Bin 0 -> 317591 bytes static/images/webhooks/details.png | Bin 0 -> 109913 bytes static/images/webhooks/key.png | Bin 0 -> 54693 bytes .../images}/workspaces/add-user.png | Bin .../images}/workspaces/create-workspace.png | Bin .../images}/workspaces/remove-user.png | Bin .../images}/workspaces/update-user.png | Bin .../images}/workspaces/workspace-settings.png | Bin .../favicon/black/android-chrome-192x192.png | Bin 0 -> 5217 bytes .../favicon/black/android-chrome-512x512.png | Bin 0 -> 14419 bytes static/img/favicon/black/apple-touch-icon.png | Bin 0 -> 6294 bytes static/img/favicon/black/favicon-16x16.png | Bin 0 -> 466 bytes static/img/favicon/black/favicon-32x32.png | Bin 0 -> 761 bytes static/img/favicon/black/favicon.ico | Bin 0 -> 15406 bytes static/img/favicon/black/site.webmanifest | 1 + .../favicon/brand/android-chrome-192x192.png | Bin 0 -> 5113 bytes .../favicon/brand/android-chrome-512x512.png | Bin 0 -> 14027 bytes static/img/favicon/brand/apple-touch-icon.png | Bin 0 -> 6235 bytes static/img/favicon/brand/favicon-16x16.png | Bin 0 -> 485 bytes static/img/favicon/brand/favicon-32x32.png | Bin 0 -> 772 bytes static/img/favicon/brand/favicon.ico | Bin 0 -> 15406 bytes static/img/favicon/brand/site.webmanifest | 1 + .../favicon/white/android-chrome-192x192.png | Bin 0 -> 5079 bytes .../favicon/white/android-chrome-512x512.png | Bin 0 -> 13933 bytes static/img/favicon/white/apple-touch-icon.png | Bin 0 -> 6134 bytes static/img/favicon/white/favicon-16x16.png | Bin 0 -> 462 bytes static/img/favicon/white/favicon-32x32.png | Bin 0 -> 755 bytes static/img/favicon/white/favicon.ico | Bin 0 -> 15406 bytes static/img/favicon/white/site.webmanifest | 1 + static/img/logo/old-dark.svg | 43 + static/img/logo/old-favicon-32x32.png | Bin 0 -> 463 bytes static/img/logo/old-favicon.svg | 43 + static/img/logo/old-light.svg | 43 + static/img/logo/symbol-black.png | Bin 0 -> 6699 bytes static/img/logo/symbol-white.png | Bin 0 -> 5939 bytes static/img/logo2/dark.svg | 43 + static/img/logo2/favicon-32x32.png | Bin 0 -> 463 bytes static/img/logo2/favicon.svg | 43 + static/img/logo2/light.svg | 43 + tsconfig.json | 9 + vercel.json | 30 + webhooks/intro-webhooks.mdx | 142 - yarn.lock | 4 - 554 files changed, 41024 insertions(+), 6450 deletions(-) create mode 100644 .editorconfig delete mode 100644 .eslintrc.json create mode 100644 .github/instructions/docs.instructions.md create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 _category_.json delete mode 100644 api-reference/cycle-issue/add-cycle-issue.mdx delete mode 100644 api-reference/cycle-issue/delete-cycle-issue.mdx delete mode 100644 api-reference/cycle-issue/list-cycle-issues.mdx delete mode 100644 api-reference/cycle-issue/overview.mdx delete mode 100644 api-reference/cycle/add-cycle.mdx delete mode 100644 api-reference/cycle/delete-cycle.mdx delete mode 100644 api-reference/cycle/get-cycle-detail.mdx delete mode 100644 api-reference/cycle/list-cycles.mdx delete mode 100644 api-reference/cycle/overview.mdx delete mode 100644 api-reference/cycle/update-cycle-detail.mdx delete mode 100644 api-reference/inbox-issue/add-inbox-issue.mdx delete mode 100644 api-reference/inbox-issue/delete-inbox-issue.mdx delete mode 100644 api-reference/inbox-issue/get-inbox-issue-detail.mdx delete mode 100644 api-reference/inbox-issue/list-inbox-issues.mdx delete mode 100644 api-reference/inbox-issue/overview.mdx delete mode 100644 api-reference/inbox-issue/update-inbox-issue-detail.mdx delete mode 100644 api-reference/intake-issue/add-intake-issue.mdx delete mode 100644 api-reference/intake-issue/delete-intake-issue.mdx delete mode 100644 api-reference/intake-issue/get-intake-issue-detail.mdx delete mode 100644 api-reference/intake-issue/list-intake-issues.mdx delete mode 100644 api-reference/intake-issue/overview.mdx delete mode 100644 api-reference/intake-issue/update-intake-issue-detail.mdx delete mode 100644 api-reference/introduction.mdx delete mode 100644 api-reference/issue-activity/get-issue-activity-detail.mdx delete mode 100644 api-reference/issue-activity/list-issue-activities.mdx delete mode 100644 api-reference/issue-activity/overview.mdx delete mode 100644 api-reference/issue-attachments/complete-upload.mdx delete mode 100644 api-reference/issue-attachments/get-attachments.mdx delete mode 100644 api-reference/issue-attachments/get-upload-credentials.mdx delete mode 100644 api-reference/issue-attachments/overview.mdx delete mode 100644 api-reference/issue-attachments/upload-file.mdx delete mode 100644 api-reference/issue-comment/add-issue-comment.mdx delete mode 100644 api-reference/issue-comment/delete-issue-comment.mdx delete mode 100644 api-reference/issue-comment/get-issue-comment-detail.mdx delete mode 100644 api-reference/issue-comment/list-issue-comments.mdx delete mode 100644 api-reference/issue-comment/overview.mdx delete mode 100644 api-reference/issue-comment/update-issue-comment-detail.mdx delete mode 100644 api-reference/issue-types/options/add-dropdown-options.mdx delete mode 100644 api-reference/issue-types/options/delete-dropdown-options.mdx delete mode 100644 api-reference/issue-types/options/get-option-details.mdx delete mode 100644 api-reference/issue-types/options/list-dropdown-options.mdx delete mode 100644 api-reference/issue-types/options/overview.mdx delete mode 100644 api-reference/issue-types/options/update-dropdown-options.mdx delete mode 100644 api-reference/issue-types/properties/add-property.mdx delete mode 100644 api-reference/issue-types/properties/delete-property.mdx delete mode 100644 api-reference/issue-types/properties/get-property-details.mdx delete mode 100644 api-reference/issue-types/properties/list-properties.mdx delete mode 100644 api-reference/issue-types/properties/overview.mdx delete mode 100644 api-reference/issue-types/properties/update-property.mdx delete mode 100644 api-reference/issue-types/types/add-issue-type.mdx delete mode 100644 api-reference/issue-types/types/delete-issue-type.mdx delete mode 100644 api-reference/issue-types/types/get-issue-type-details.mdx delete mode 100644 api-reference/issue-types/types/list-issue-types.mdx delete mode 100644 api-reference/issue-types/types/overview.mdx delete mode 100644 api-reference/issue-types/types/update-issue-types.mdx delete mode 100644 api-reference/issue-types/values/add-property-values.mdx delete mode 100644 api-reference/issue-types/values/list-property-values.mdx delete mode 100644 api-reference/issue-types/values/overview.mdx delete mode 100644 api-reference/issue/add-issue.mdx delete mode 100644 api-reference/issue/delete-issue.mdx delete mode 100644 api-reference/issue/get-issue-detail.mdx delete mode 100644 api-reference/issue/get-issue-sequence-id.mdx delete mode 100644 api-reference/issue/list-issues.mdx delete mode 100644 api-reference/issue/overview.mdx delete mode 100644 api-reference/issue/update-issue-detail.mdx delete mode 100644 api-reference/label/add-label.mdx delete mode 100644 api-reference/label/delete-label.mdx delete mode 100644 api-reference/label/get-label-detail.mdx delete mode 100644 api-reference/label/list-labels.mdx delete mode 100644 api-reference/label/overview.mdx delete mode 100644 api-reference/label/update-label-detail.mdx delete mode 100644 api-reference/link/add-link.mdx delete mode 100644 api-reference/link/delete-link.mdx delete mode 100644 api-reference/link/get-link-detail.mdx delete mode 100644 api-reference/link/list-links.mdx delete mode 100644 api-reference/link/overview.mdx delete mode 100644 api-reference/link/update-link-detail.mdx delete mode 100644 api-reference/members/get-project-members.mdx delete mode 100644 api-reference/members/get-workspace-members.mdx delete mode 100644 api-reference/members/overview.mdx delete mode 100644 api-reference/module-issue/add-module-issue.mdx delete mode 100644 api-reference/module-issue/delete-module-issue.mdx delete mode 100644 api-reference/module-issue/list-module-issues.mdx delete mode 100644 api-reference/module-issue/overview.mdx delete mode 100644 api-reference/module/add-module.mdx delete mode 100644 api-reference/module/delete-module.mdx delete mode 100644 api-reference/module/get-module-detail.mdx delete mode 100644 api-reference/module/list-modules.mdx delete mode 100644 api-reference/module/overview.mdx delete mode 100644 api-reference/module/update-module-detail.mdx delete mode 100644 api-reference/project/add-project.mdx delete mode 100644 api-reference/project/delete-project.mdx delete mode 100644 api-reference/project/get-project-detail.mdx delete mode 100644 api-reference/project/list-projects.mdx delete mode 100644 api-reference/project/overview.mdx delete mode 100644 api-reference/project/update-project-detail.mdx delete mode 100644 api-reference/state/add-state.mdx delete mode 100644 api-reference/state/delete-state.mdx delete mode 100644 api-reference/state/get-state-detail.mdx delete mode 100644 api-reference/state/list-states.mdx delete mode 100644 api-reference/state/overview.mdx delete mode 100644 api-reference/state/update-state-detail.mdx delete mode 100644 api-reference/worklogs/create-worklog.mdx delete mode 100644 api-reference/worklogs/delete-worklog.mdx delete mode 100644 api-reference/worklogs/get-total-time.mdx delete mode 100644 api-reference/worklogs/get-worklogs-for-issue.mdx delete mode 100644 api-reference/worklogs/overview.mdx delete mode 100644 api-reference/worklogs/update-worklog.mdx create mode 100644 api/schema.yaml create mode 100644 docs/api/add-cycle-work-items.api.mdx create mode 100644 docs/api/add-module-work-items.api.mdx create mode 100644 docs/api/archive-cycle.api.mdx create mode 100644 docs/api/archive-module.api.mdx create mode 100644 docs/api/archive-project.api.mdx create mode 100644 docs/api/create-cycle.api.mdx create mode 100644 docs/api/create-generic-asset-upload.api.mdx create mode 100644 docs/api/create-intake-work-item.api.mdx create mode 100644 docs/api/create-issue-property-option.api.mdx create mode 100644 docs/api/create-issue-property-value.api.mdx create mode 100644 docs/api/create-issue-property.api.mdx create mode 100644 docs/api/create-issue-type.api.mdx create mode 100644 docs/api/create-issue-worklog.api.mdx create mode 100644 docs/api/create-label.api.mdx create mode 100644 docs/api/create-module.api.mdx create mode 100644 docs/api/create-project.api.mdx create mode 100644 docs/api/create-state.api.mdx create mode 100644 docs/api/create-user-asset-upload.api.mdx create mode 100644 docs/api/create-work-item-attachment.api.mdx create mode 100644 docs/api/create-work-item-comment.api.mdx create mode 100644 docs/api/create-work-item-link.api.mdx create mode 100644 docs/api/create-work-item.api.mdx create mode 100644 docs/api/delete-cycle-work-item.api.mdx create mode 100644 docs/api/delete-cycle.api.mdx create mode 100644 docs/api/delete-intake-work-item.api.mdx create mode 100644 docs/api/delete-issue-property-option.api.mdx create mode 100644 docs/api/delete-issue-property.api.mdx create mode 100644 docs/api/delete-issue-type.api.mdx create mode 100644 docs/api/delete-issue-worklog.api.mdx create mode 100644 docs/api/delete-label.api.mdx create mode 100644 docs/api/delete-module-work-item.api.mdx create mode 100644 docs/api/delete-module.api.mdx create mode 100644 docs/api/delete-project.api.mdx create mode 100644 docs/api/delete-state.api.mdx create mode 100644 docs/api/delete-user-asset.api.mdx create mode 100644 docs/api/delete-work-item-attachment.api.mdx create mode 100644 docs/api/delete-work-item-comment.api.mdx create mode 100644 docs/api/delete-work-item-link.api.mdx create mode 100644 docs/api/delete-work-item.api.mdx create mode 100644 docs/api/get-current-user.api.mdx create mode 100644 docs/api/get-generic-asset.api.mdx create mode 100644 docs/api/get-intake-work-items-list.api.mdx create mode 100644 docs/api/get-labels.api.mdx create mode 100644 docs/api/get-project-members.api.mdx create mode 100644 docs/api/get-project-worklog-summary.api.mdx create mode 100644 docs/api/get-workspace-members.api.mdx create mode 100644 docs/api/get-workspace-work-item.api.mdx create mode 100644 docs/api/introduction.mdx create mode 100644 docs/api/list-archived-cycles.api.mdx create mode 100644 docs/api/list-archived-modules.api.mdx create mode 100644 docs/api/list-cycle-work-items.api.mdx create mode 100644 docs/api/list-cycles.api.mdx create mode 100644 docs/api/list-issue-properties.api.mdx create mode 100644 docs/api/list-issue-property-options.api.mdx create mode 100644 docs/api/list-issue-property-values.api.mdx create mode 100644 docs/api/list-issue-types.api.mdx create mode 100644 docs/api/list-issue-worklogs.api.mdx create mode 100644 docs/api/list-labels.api.mdx create mode 100644 docs/api/list-module-work-items.api.mdx create mode 100644 docs/api/list-modules.api.mdx create mode 100644 docs/api/list-projects.api.mdx create mode 100644 docs/api/list-states.api.mdx create mode 100644 docs/api/list-work-item-activities.api.mdx create mode 100644 docs/api/list-work-item-attachments.api.mdx create mode 100644 docs/api/list-work-item-comments.api.mdx create mode 100644 docs/api/list-work-item-links.api.mdx create mode 100644 docs/api/list-work-items.api.mdx create mode 100644 docs/api/retrieve-cycle-work-item.api.mdx create mode 100644 docs/api/retrieve-cycle.api.mdx create mode 100644 docs/api/retrieve-intake-work-item.api.mdx create mode 100644 docs/api/retrieve-issue-property-option.api.mdx create mode 100644 docs/api/retrieve-issue-property.api.mdx create mode 100644 docs/api/retrieve-issue-type.api.mdx create mode 100644 docs/api/retrieve-module.api.mdx create mode 100644 docs/api/retrieve-project.api.mdx create mode 100644 docs/api/retrieve-state.api.mdx create mode 100644 docs/api/retrieve-work-item-activity.api.mdx create mode 100644 docs/api/retrieve-work-item-attachment.api.mdx create mode 100644 docs/api/retrieve-work-item-comment.api.mdx create mode 100644 docs/api/retrieve-work-item-link.api.mdx create mode 100644 docs/api/retrieve-work-item.api.mdx create mode 100644 docs/api/search-work-items.api.mdx create mode 100644 docs/api/sidebar.ts create mode 100644 docs/api/the-plane-rest-api.info.mdx create mode 100644 docs/api/transfer-cycle-work-items.api.mdx create mode 100644 docs/api/unarchive-cycle.api.mdx create mode 100644 docs/api/unarchive-module.api.mdx create mode 100644 docs/api/unarchive-project.api.mdx create mode 100644 docs/api/update-cycle.api.mdx create mode 100644 docs/api/update-generic-asset.api.mdx create mode 100644 docs/api/update-intake-work-item.api.mdx create mode 100644 docs/api/update-issue-link.api.mdx create mode 100644 docs/api/update-issue-property-option.api.mdx create mode 100644 docs/api/update-issue-property.api.mdx create mode 100644 docs/api/update-issue-type.api.mdx create mode 100644 docs/api/update-issue-worklog.api.mdx create mode 100644 docs/api/update-label.api.mdx create mode 100644 docs/api/update-module.api.mdx create mode 100644 docs/api/update-project.api.mdx create mode 100644 docs/api/update-state.api.mdx create mode 100644 docs/api/update-user-asset.api.mdx create mode 100644 docs/api/update-work-item-comment.api.mdx create mode 100644 docs/api/update-work-item.api.mdx rename {api-reference/byoa => docs/apps}/build-plane-app.mdx (89%) create mode 100644 docs/apps/overview.mdx create mode 100644 docs/intro.md create mode 100644 docs/mcp-server/overview.mdx create mode 100644 docs/sdks/overview.mdx create mode 100644 docs/self-hosting/_category_.yml rename {self-hosting => docs/self-hosting}/editions-and-versions.mdx (94%) create mode 100644 docs/self-hosting/govern/_category_.yml create mode 100644 docs/self-hosting/govern/authentication.mdx rename {self-hosting => docs/self-hosting}/govern/communication.mdx (84%) rename {self-hosting => docs/self-hosting}/govern/configure-dns-email-service.mdx (90%) rename {self-hosting => docs/self-hosting}/govern/custom-domain.mdx (89%) rename {self-hosting => docs/self-hosting}/govern/database-and-storage.mdx (95%) rename {self-hosting => docs/self-hosting}/govern/environment-variables.mdx (98%) rename {self-hosting => docs/self-hosting}/govern/external-secrets.mdx (97%) create mode 100644 docs/self-hosting/govern/github-oauth.mdx create mode 100644 docs/self-hosting/govern/google-oauth.mdx rename {self-hosting => docs/self-hosting}/govern/instance-admin.mdx (51%) create mode 100644 docs/self-hosting/govern/integrations/_category_.yml create mode 100644 docs/self-hosting/govern/integrations/github.mdx rename {self-hosting => docs/self-hosting}/govern/integrations/gitlab.mdx (90%) create mode 100644 docs/self-hosting/govern/integrations/slack.mdx rename {self-hosting => docs/self-hosting}/govern/oidc-sso.mdx (87%) rename {self-hosting => docs/self-hosting}/govern/private-bucket.mdx (93%) rename {self-hosting => docs/self-hosting}/govern/reset-password.mdx (85%) rename {self-hosting => docs/self-hosting}/govern/reverse-proxy.mdx (93%) rename {self-hosting => docs/self-hosting}/govern/saml-sso.mdx (91%) rename {self-hosting => docs/self-hosting/govern}/telemetry.mdx (96%) create mode 100644 docs/self-hosting/manage/_category_.yml create mode 100644 docs/self-hosting/manage/backup-restore.mdx rename {self-hosting => docs/self-hosting}/manage/community-to-airgapped.mdx (94%) rename {self-hosting => docs/self-hosting}/manage/migrate-plane.mdx (92%) rename {self-hosting => docs/self-hosting}/manage/prime-cli.mdx (85%) rename {self-hosting => docs/self-hosting}/manage/upgrade-from-0.13.2-0.14.0.mdx (94%) rename {self-hosting => docs/self-hosting/manage}/upgrade-from-community.mdx (87%) rename {self-hosting => docs/self-hosting}/manage/upgrade-plane.mdx (84%) rename {self-hosting => docs/self-hosting}/manage/view-logs.mdx (94%) create mode 100644 docs/self-hosting/methods/_category_.yml rename {self-hosting => docs/self-hosting}/methods/airgapped-edition-kubernetes.mdx (100%) create mode 100644 docs/self-hosting/methods/airgapped-edition.mdx rename {self-hosting => docs/self-hosting}/methods/coolify.mdx (84%) create mode 100644 docs/self-hosting/methods/docker-compose.mdx create mode 100644 docs/self-hosting/methods/docker-swarm.mdx create mode 100644 docs/self-hosting/methods/kubernetes.mdx rename {self-hosting => docs/self-hosting}/methods/podman-quadlets.mdx (79%) rename {self-hosting => docs/self-hosting}/methods/portainer.mdx (88%) create mode 100644 docs/self-hosting/overview.mdx create mode 100644 docs/self-hosting/troubleshoot/_category_.yml rename {self-hosting => docs/self-hosting}/troubleshoot/cli-errors.mdx (88%) rename {self-hosting => docs/self-hosting}/troubleshoot/installation-errors.mdx (93%) rename {self-hosting => docs/self-hosting}/troubleshoot/license-errors.mdx (96%) rename {self-hosting => docs/self-hosting}/troubleshoot/storage-errors.mdx (96%) create mode 100644 docs/webhooks/intro-webhooks.mdx create mode 100644 docusaurus.config.ts delete mode 100644 logo/favicon-32x32.png delete mode 100644 mint.json rename {plane-one => old/plane-one}/governance/authentication/custom-sso.mdx (100%) rename {plane-one => old/plane-one}/governance/workspaces-and-teams.mdx (100%) rename {plane-one => old/plane-one}/introduction.mdx (100%) rename {plane-one => old/plane-one}/manage/prime-cli.mdx (94%) rename {plane-one => old/plane-one}/manage/prime-client.mdx (100%) rename {plane-one => old/plane-one}/self-host/guides.mdx (100%) rename {plane-one => old/plane-one}/self-host/methods/docker.mdx (99%) rename {plane-one => old/plane-one}/self-host/methods/kubernetes.mdx (100%) rename {plane-one => old/plane-one}/self-host/overview.mdx (100%) create mode 100644 package.json create mode 100644 pnpm-lock.yaml delete mode 100644 self-hosting/govern/authentication.mdx delete mode 100644 self-hosting/govern/github-oauth.mdx delete mode 100644 self-hosting/govern/google-oauth.mdx delete mode 100644 self-hosting/govern/integrations/github.mdx delete mode 100644 self-hosting/govern/integrations/slack.mdx delete mode 100644 self-hosting/manage/backup-restore.mdx delete mode 100644 self-hosting/methods/airgapped-edition.mdx delete mode 100644 self-hosting/methods/docker-compose.mdx delete mode 100644 self-hosting/methods/docker-swarm.mdx delete mode 100644 self-hosting/methods/kubernetes.mdx delete mode 100644 self-hosting/methods/one-click.mdx delete mode 100644 self-hosting/overview.mdx create mode 100644 sidebars.ts create mode 100644 src/components/Card.tsx create mode 100644 src/components/CardGroup.tsx create mode 100644 src/components/Tags.tsx create mode 100644 src/components/index.ts create mode 100644 src/css/custom.css create mode 100644 src/css/fonts.css rename plane-one/manage/advanced-deploy.mdx => static/.nojekyll (100%) create mode 100644 static/fonts/ibm/ibmplexmono-bold.ttf create mode 100644 static/fonts/ibm/ibmplexmono-light.ttf create mode 100644 static/fonts/ibm/ibmplexmono-regular.ttf create mode 100644 static/fonts/ibm/ibmplexmono-semibold.ttf create mode 100644 static/fonts/nacelle/SIL Open Font License.txt create mode 100644 static/fonts/nacelle/nacelle-black.otf create mode 100644 static/fonts/nacelle/nacelle-blackitalic.otf create mode 100644 static/fonts/nacelle/nacelle-bold.otf create mode 100644 static/fonts/nacelle/nacelle-bolditalic.otf create mode 100644 static/fonts/nacelle/nacelle-heavy.otf create mode 100644 static/fonts/nacelle/nacelle-heavyitalic.otf create mode 100644 static/fonts/nacelle/nacelle-italic.otf create mode 100644 static/fonts/nacelle/nacelle-light.otf create mode 100644 static/fonts/nacelle/nacelle-lightItalic.otf create mode 100644 static/fonts/nacelle/nacelle-regular.otf create mode 100644 static/fonts/nacelle/nacelle-semibold.otf create mode 100644 static/fonts/nacelle/nacelle-semibolditalic.otf create mode 100644 static/fonts/nacelle/nacelle-thin.otf create mode 100644 static/fonts/nacelle/nacelle-thinitalic.otf create mode 100644 static/fonts/nacelle/nacelle-ultralight.otf create mode 100644 static/fonts/nacelle/nacelle-ultralightitalic.otf rename {images => static/images}/1.gif (100%) rename {images => static/images}/2.gif (100%) rename {images => static/images}/3.gif (100%) rename {images => static/images}/4.gif (100%) rename {images => static/images}/5.gif (100%) rename {images => static/images}/account/account-dashboard.png (100%) rename {images => static/images}/account/account-email-preferences.png (100%) rename {images => static/images}/account/account-notifications.png (100%) rename {images => static/images}/account/account-profile-activity.png (100%) rename {images => static/images}/account/account-profile-dropdown.png (100%) rename {images => static/images}/account/account-theme.png (100%) rename {images => static/images}/activate-license/activate-pro-license.webp (100%) rename {images => static/images}/activate-license/billing-and-plans-cloud.webp (100%) rename {images => static/images}/activate-license/copy-license-key.webp (100%) rename {images => static/images}/activate-license/enter-license-key-selfhosted.webp (100%) rename {images => static/images}/activate-license/pro-activated-cloud.webp (100%) rename {images => static/images}/activate-license/upload-airgapped-license-file.webp (100%) rename {images => static/images}/activate-license/workspace-settings.webp (100%) rename {images => static/images}/analytics/analytics-custom-analytics.png (100%) rename {images => static/images}/analytics/analytics-scope-demand.png (100%) rename {images => static/images}/api-reference/add-api-key-plane.png (100%) rename {images => static/images}/api-reference/api-tokens-plane.png (100%) rename {images => static/images}/api-reference/profile-settings.png (100%) rename {images => static/images}/authentication/github/github-auth-1.png (100%) rename {images => static/images}/authentication/github/github-auth-2.png (100%) rename {images => static/images}/authentication/google/google-auth-1.png (100%) rename {images => static/images}/authentication/google/google-auth-2.png (100%) rename {images => static/images}/authentication/google/google-auth-3.png (100%) rename {images => static/images}/authentication/google/google-auth-4.png (100%) rename {images => static/images}/custom-sso/instance-login.png (100%) rename {images => static/images}/custom-sso/oidc-config.png (100%) rename {images => static/images}/custom-sso/okta-signin.webp (100%) rename {images => static/images}/custom-sso/plane-login.png (100%) rename {images => static/images}/custom-sso/saml-config.png (100%) rename {images => static/images}/cycles/active-cycle-ui.png (100%) rename {images => static/images}/cycles/active-cycle.png (100%) rename {images => static/images}/cycles/active-cycles-ui.png (100%) rename {images => static/images}/cycles/create-cycles.png (100%) rename {images => static/images}/cycles/cycle-empty-state.png (100%) rename {images => static/images}/disable-telemetry.webp (100%) rename {images => static/images}/docker-compose/download-complete.png (100%) rename {images => static/images}/docker-compose/download-docker.png (100%) rename {images => static/images}/docker-compose/migrate-error.png (100%) rename {images => static/images}/docker-compose/restart-docker.png (100%) rename {images => static/images}/docker-compose/stopped-docker.png (100%) rename {images => static/images}/docker-compose/upgrade-docker.png (100%) rename {images => static/images}/faq-2.png (100%) rename {images => static/images}/github-imp/comments.png (100%) rename {images => static/images}/github-imp/configure.png (100%) rename {images => static/images}/github-imp/confirm.png (100%) rename {images => static/images}/github-imp/import.png (100%) rename {images => static/images}/github-imp/integration.png (100%) rename {images => static/images}/github-imp/map.png (100%) rename {images => static/images}/github-imp/merge.png (100%) rename {images => static/images}/github-imp/sync.png (100%) rename {images => static/images}/github-imp/verify.png (100%) rename {images => static/images}/github-imp/workspace-settings.png (100%) rename {images => static/images}/importers/github/comments.png (100%) rename {images => static/images}/importers/github/configure.png (100%) rename {images => static/images}/importers/github/confirm.png (100%) rename {images => static/images}/importers/github/import.png (100%) rename {images => static/images}/importers/github/integration.png (100%) rename {images => static/images}/importers/github/map.png (100%) rename {images => static/images}/importers/github/merge.png (100%) rename {images => static/images}/importers/github/sync.png (100%) rename {images => static/images}/importers/github/verify.png (100%) rename {images => static/images}/importers/github/workspace-settings.png (100%) rename {images => static/images}/importers/jira/jira-importer-first-step.png (100%) rename {images => static/images}/importers/jira/jira-importer-second-step.png (100%) rename {images => static/images}/importers/jira/jira-importer-step-fore.png (100%) rename {images => static/images}/importers/jira/jira-importer-step-three.png (100%) rename {images => static/images}/importers/jira/jira-workspace-setting.png (100%) rename {images => static/images}/inbox/RTE-reactions-and-mentions.png (100%) rename {images => static/images}/inbox/accept-intake-issue.webp (100%) rename {images => static/images}/inbox/create-issue-intake.webp (100%) rename {images => static/images}/inbox/enable-intake-feature.webp (100%) rename {images => static/images}/inbox/enter-issue-details.webp (100%) rename {images => static/images}/inbox/inbox-activity.png (100%) rename {images => static/images}/inbox/inbox-description-box.png (100%) rename {images => static/images}/inbox/inbox-navigate.png (100%) rename {images => static/images}/inbox/inbox-tabs.png (100%) rename {images => static/images}/inbox/mark-duplicate-intake-issues.webp (100%) rename {images => static/images}/inbox/snooze-intake-issue.webp (100%) rename {images => static/images}/instance-admin/access-god-mode.webp (100%) rename {images => static/images}/instance-admin/email-settings.png (100%) rename {images => static/images}/instance-admin/god-mode-ai.webp (100%) rename {images => static/images}/instance-admin/god-mode-authentication.webp (100%) rename {images => static/images}/instance-admin/god-mode-email.webp (100%) rename {images => static/images}/instance-admin/god-mode-general.webp (100%) rename {images => static/images}/instance-admin/god-mode-images.webp (100%) rename {images => static/images}/instance-admin/god-mode-workspaces.webp (100%) rename {images => static/images}/instance-ready.png (100%) rename {images => static/images}/integrations/github/add-callback-url.webp (100%) rename {images => static/images}/integrations/github/add-setup-url.webp (100%) rename {images => static/images}/integrations/github/add-webhook-url.webp (100%) rename {images => static/images}/integrations/github/app-name-homepage-url.webp (100%) rename {images => static/images}/integrations/github/create-github-app.webp (100%) rename {images => static/images}/integrations/github/general-tab.webp (100%) rename {images => static/images}/integrations/github/private-keys.webp (100%) rename {images => static/images}/integrations/github/setup-permissions.webp (100%) rename {images => static/images}/integrations/github/subscribe-to-events.webp (100%) rename {images => static/images}/integrations/gitlab/add-app-details.webp (100%) rename {images => static/images}/integrations/gitlab/add-gitlab-application.webp (100%) rename {images => static/images}/integrations/gitlab/copy-credentials.webp (100%) rename {images => static/images}/integrations/slack/app-from-manifest.webp (100%) rename {images => static/images}/integrations/slack/choose-from-manifest.webp (100%) rename {images => static/images}/integrations/slack/create-slack-app.webp (100%) rename {images => static/images}/integrations/slack/event-subscriptions.webp (100%) rename {images => static/images}/integrations/slack/review-summary.webp (100%) rename {images => static/images}/issues/activate-issue-type.webp (100%) rename {images => static/images}/issues/add-issue-type.webp (100%) rename {images => static/images}/issues/add-new-property.webp (100%) rename {images => static/images}/issues/archived-issues.webp (100%) rename {images => static/images}/issues/create-issue-modal.png (100%) rename {images => static/images}/issues/create-issue-type.webp (100%) rename {images => static/images}/issues/enable-issue-types.webp (100%) rename {images => static/images}/issues/issue-activity-comments.png (100%) rename {images => static/images}/issues/issue-calendar-layout.png (100%) rename {images => static/images}/issues/issue-filters.png (100%) rename {images => static/images}/issues/issue-gantt-layout.png (100%) rename {images => static/images}/issues/issue-kanban-layout.png (100%) rename {images => static/images}/issues/issue-list-layout.png (100%) rename {images => static/images}/issues/issue-quick-add.png (100%) rename {images => static/images}/issues/issue-side-peek.png (100%) rename {images => static/images}/issues/issue-spreadsheet-layout.png (100%) rename {images => static/images}/issues/issue-sub-issues.png (100%) rename {images => static/images}/issues/property-details.webp (100%) rename {images => static/images}/issues/setup-issue-types.webp (100%) rename {images => static/images}/issues/use-issue-type.webp (100%) create mode 100644 static/images/mcp/accept.png create mode 100644 static/images/mcp/approve.png rename {images => static/images}/modules/add-issues-to-module.png (100%) rename {images => static/images}/modules/create-module.png (100%) rename {images => static/images}/modules/module-gantt.png (100%) rename {images => static/images}/modules/module-progress.png (100%) rename {images => static/images}/one-click-deploy/one-click-advanced.png (100%) rename {images => static/images}/one-click-deploy/one-click-help.png (100%) rename {images => static/images}/one-click-deploy/one-click-install.png (100%) rename {images => static/images}/pages/page-add-content.png (100%) rename {images => static/images}/pages/page-create.png (100%) rename {images => static/images}/plane-github.png (100%) rename {images => static/images}/plane-one/prime-all-licenses.png (100%) rename {images => static/images}/plane-one/prime-inside-a-license.png (100%) rename {images => static/images}/plane_analytics.png (100%) rename {images => static/images}/power-k/power-k1.png (100%) rename {images => static/images}/power-k/power-k2.png (100%) rename {images => static/images}/power-k/power-k3.png (100%) rename {images => static/images}/power-k/power-k4.png (100%) rename {images => static/images}/power-k/power-k5.png (100%) rename {images => static/images}/power-k/power-k6.png (100%) rename {images => static/images}/power-k1.png (100%) rename {images => static/images}/power-k2.png (100%) rename {images => static/images}/power-k3.png (100%) rename {images => static/images}/power-k4.png (100%) rename {images => static/images}/power-k5.png (100%) rename {images => static/images}/power-k6.png (100%) rename {images => static/images}/projects/project-automations.png (100%) rename {images => static/images}/projects/project-close-automation.png (100%) rename {images => static/images}/projects/project-create.png (100%) rename {images => static/images}/projects/project-features.png (100%) rename {images => static/images}/projects/project-labels.png (100%) rename {images => static/images}/projects/project-members.png (100%) rename {images => static/images}/projects/project-new-state.png (100%) rename {images => static/images}/projects/project-states.png (100%) rename {images => static/images}/secure-instance.png (100%) rename {images => static/images}/set-password.png (100%) rename {images => static/images}/signup-signin.png (100%) rename {images => static/images}/time-tracking/enable-time-tracking.webp (100%) rename {images => static/images}/time-tracking/filter-and-download-worklogs.webp (100%) rename {images => static/images}/time-tracking/log-work.webp (100%) rename {images => static/images}/time-tracking/project-settings.webp (100%) rename {images => static/images}/time-tracking/view-worklogs.webp (100%) rename {images => static/images}/time-tracking/worklog-created.webp (100%) rename {images => static/images}/time-tracking/workspace-settings.webp (100%) rename {images => static/images}/update-plane/docker-volumes.png (100%) rename {images => static/images}/view-logs/container-logs.webp (100%) rename {images => static/images}/views/create-view-modal.png (100%) rename {images => static/images}/views/view-create-from-existing.png (100%) rename {images => static/images}/views/views-overview.png (100%) create mode 100644 static/images/webhooks/create.png create mode 100644 static/images/webhooks/details.png create mode 100644 static/images/webhooks/key.png rename {images => static/images}/workspaces/add-user.png (100%) rename {images => static/images}/workspaces/create-workspace.png (100%) rename {images => static/images}/workspaces/remove-user.png (100%) rename {images => static/images}/workspaces/update-user.png (100%) rename {images => static/images}/workspaces/workspace-settings.png (100%) create mode 100644 static/img/favicon/black/android-chrome-192x192.png create mode 100644 static/img/favicon/black/android-chrome-512x512.png create mode 100644 static/img/favicon/black/apple-touch-icon.png create mode 100644 static/img/favicon/black/favicon-16x16.png create mode 100644 static/img/favicon/black/favicon-32x32.png create mode 100644 static/img/favicon/black/favicon.ico create mode 100644 static/img/favicon/black/site.webmanifest create mode 100644 static/img/favicon/brand/android-chrome-192x192.png create mode 100644 static/img/favicon/brand/android-chrome-512x512.png create mode 100644 static/img/favicon/brand/apple-touch-icon.png create mode 100644 static/img/favicon/brand/favicon-16x16.png create mode 100644 static/img/favicon/brand/favicon-32x32.png create mode 100644 static/img/favicon/brand/favicon.ico create mode 100644 static/img/favicon/brand/site.webmanifest create mode 100644 static/img/favicon/white/android-chrome-192x192.png create mode 100644 static/img/favicon/white/android-chrome-512x512.png create mode 100644 static/img/favicon/white/apple-touch-icon.png create mode 100644 static/img/favicon/white/favicon-16x16.png create mode 100644 static/img/favicon/white/favicon-32x32.png create mode 100644 static/img/favicon/white/favicon.ico create mode 100644 static/img/favicon/white/site.webmanifest create mode 100644 static/img/logo/old-dark.svg create mode 100644 static/img/logo/old-favicon-32x32.png create mode 100644 static/img/logo/old-favicon.svg create mode 100644 static/img/logo/old-light.svg create mode 100644 static/img/logo/symbol-black.png create mode 100644 static/img/logo/symbol-white.png create mode 100644 static/img/logo2/dark.svg create mode 100644 static/img/logo2/favicon-32x32.png create mode 100644 static/img/logo2/favicon.svg create mode 100644 static/img/logo2/light.svg create mode 100644 tsconfig.json create mode 100644 vercel.json delete mode 100644 webhooks/intro-webhooks.mdx delete mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..80ac685 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 80 diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index bffb357..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/.github/instructions/docs.instructions.md b/.github/instructions/docs.instructions.md new file mode 100644 index 0000000..77a2b73 --- /dev/null +++ b/.github/instructions/docs.instructions.md @@ -0,0 +1,11 @@ +--- +applyTo: "docs/**/*.mdx, !docs/api/**/*.mdx" +--- + +Focus on documentation clarity and accuracy, ensuring that instructions are easy +to follow and understand by a technical audience. Avoid suggesting changes that +involve deleting existing content unless it is outdated or incorrect. + +When making changes to the documentation, be sure to honor the settings in .editorconfig. +When editing markdown or .MDX files, ignore the line length limit in bullet points, tables, +code blocks and front-matter. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3fbeb4e..2d72a42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,22 +16,30 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - name: Checkout code + - name: 📥 Checkout repository uses: actions/checkout@v4 with: fetch-depth: 2 - - name: Set up Node.js + - name: 📦 Setup pnpm package manager + uses: pnpm/action-setup@v4 + with: + run_install: false + + - name: 🟢 Setup Node.js runtime uses: actions/setup-node@v4 with: - node-version: "22" - - - name: Check for broken links - run: | - set -e - output=$(npx mint broken-links) - echo "$output" - if ! echo "$output" | grep -q '^success '; then - echo "Error: Broken links found! Fix the broken links listed above before merging." - exit 1 - fi + node-version-file: ".nvmrc" + cache: "pnpm" + + - name: Enable Corepack + run: corepack enable + + - name: 📚 Install project dependencies + run: pnpm install --frozen-lockfile + + - name: ✅ Check types + run: pnpm check:type + + - name: 🏗️ Build + run: pnpm build diff --git a/.github/workflows/docs-to-vector.yml b/.github/workflows/docs-to-vector.yml index 0abe358..b615bf4 100644 --- a/.github/workflows/docs-to-vector.yml +++ b/.github/workflows/docs-to-vector.yml @@ -24,20 +24,20 @@ jobs: }') echo "$payload" > /tmp/payload.json - + - name: Connect to company network uses: tailscale/github-action@v3 with: oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }} oauth-secret: ${{ secrets.TS_OAUTH_SECRET }} tags: tag:ci - + - name: Call Webhook (Preview) run: | payload=$(cat /tmp/payload.json) sig=$(printf '%s' "$payload" | \ openssl dgst -sha256 -hmac "${{ secrets.VECTOR_WEBHOOK_SECRET_PREVIEW }}" -binary | xxd -p -c 256) - + curl -X POST \ -H "Content-Type: application/json" \ -H "X-Hub-Signature-256: sha256=$sig" \ @@ -50,7 +50,7 @@ jobs: payload=$(cat /tmp/payload.json) sig=$(printf '%s' "$payload" | \ openssl dgst -sha256 -hmac "${{ secrets.VECTOR_WEBHOOK_SECRET }}" -binary | xxd -p -c 256) - + if [ "${{ secrets.VECTOR_WEBHOOK_URL }}" != "none" ]; then curl -X POST \ -H "Content-Type: application/json" \ diff --git a/.gitignore b/.gitignore index b9cc78f..5463d40 100644 --- a/.gitignore +++ b/.gitignore @@ -28,8 +28,9 @@ yarn-error.log* # local env files .env*.local .env + # vercel .vercel -# lock files -package-lock.json +# docusaurus +/.docusaurus diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..deed13c --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/jod diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..89c3a6d --- /dev/null +++ b/.prettierignore @@ -0,0 +1,8 @@ +docs/api/ +api-spec/ +build/ +.docusaurus/ +node_modules/ +pnpm-lock.yaml +static/**/*.webmanifest +old/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..87d988f --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "printWidth": 120, + "tabWidth": 2, + "trailingComma": "es5" +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 51e6954..103dd95 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,52 +1,118 @@ -# Contribution Guide for Plane Docs +# Contribution Guide -Thank you for considering contributing to Plane docs! Your contributions help improve the quality and accessibility of our documentation for all users. Please follow the guidelines outlined below to ensure a smooth contribution process. +Thank you for considering contributing to the Plane developer documentation! +Your contributions help improve the quality and accessibility of our +documentation for all users. Please follow the guidelines outlined below to +ensure a smooth contribution process. -### 1. Create a New Issue (if it doesn't exist) -If you encounter a problem or wish to suggest an improvement in the documentation that hasn't been addressed yet, please create a new issue. Be sure to check existing issues to avoid duplication. Include a clear description of the problem or enhancement you're suggesting. +## 1. Create a new issue -### 2. Create a New Branch from Master -Before making any changes, create a new branch from the `master` branch. This branch will contain your proposed changes and keep the `master` branch clean for stable releases. +If you encounter a problem or wish to suggest an improvement in the +documentation that hasn't been addressed yet, please create a [new issue](https://github.com/makeplane/developer-docs/issues/new). Be sure +to check existing [issues](https://github.com/makeplane/developer-docs/issues) to avoid duplication. Include a clear description of +the problem or enhancement you're suggesting. + +## 2. Contributing + +To contribute your changes, you have two options: + +1. Edit the files directly on Github + - Perfect for small, single-file changes. This is the easiest option but you + won't be able quickly iterate on your changes with a running server. +1. Run this site locally + - Excellent for any size of change. + +## Option 1 - Edit on Github + +1. While viewing our docs on [developers.plane.so](https://developers.plane.so), navigate to the page you want to change. Scroll to the bottom and click the 'Edit this page' link. +2. If prompted, click the 'Fork this repository' button +3. Make your edits +4. Click the 'Commit changes' button +5. Fill out the form, making sure the 'Commit message' is short and meaningful. + In the 'Extended description' field, be sure to reference the related issue + using GitHub's syntax (`#123`). This links your Pull Request to the + issue and helps us understand your reason for the changes. +6. Click 'Propose changes' +7. Click the 'Create pull request' button + +## Option 2 - Edit locally + +Follow these steps to run this site and make your changes locally. + +### 1. Clone this repository ```bash -git checkout master -git pull origin master +git clone git@github.com:makeplane/developer-docs.git && cd developer-docs +``` + +### 2. Create a new branch + +Before making any changes, create a new branch from the `main` branch. This +branch will contain your proposed changes and keep the `main` branch clean for +stable releases. + +```bash +git checkout main +git pull origin main git checkout -b ``` -### 3. Make Changes in the Appropriate Page -Navigate to the relevant documentation page in the repository and make your changes. Ensure that your changes align with our style guide and maintain consistency across the documentation. +Next, install the dependencies. + +```bash +corepack enable pnpm +pnpm install +``` + +### 3. Run the site locally + +Start up a local development server so you can preview your changes before submitting them for review. + +```bash +pnpm dev +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +#### About this site -### 4. Preview your changes -Make sure you are visually happy with your changes. +This site is built using [Docusaurus](https://docusaurus.io/), an open source +static website generator along with +[docusaurus-openapi-docs](https://github.com/PaloAltoNetworks/docusaurus-openapi-docs). -1. Run `npx mint dev` -1. A url will be printed to your console. Open it in your browser. -1. Visit your pages and confirm they look correct. +To find out which directories are served at which routes, [read this](https://docusaurus.io/docs/next/advanced/routing). -### 5. Fix broken links +### 4. Make changes -1. Run `npx mint broken-links` -2. Fix all reported broken links +Open the relevant documentation file and make your changes. Using your local +browser, review that your changes look as you expect and they align with our +current styles and tone across the documentation. -### 6. Raise a Pull Request (PR) -Once your changes are ready, raise a pull request (PR) to merge your branch into the `master` branch. Please provide a descriptive title and detailed description of your changes. +**Warning**: All files in `docs/api/*` are auto-generated. Do not edit by hand. -### 7. Leave a Clear Commit Message -When committing your changes, leave a clear and concise message that links to the corresponding issue (if applicable) and explains the fix or enhancement you've made. +### 5. Commit your changes + +When committing your changes, leave a clear and concise message that links to +the corresponding issue (if applicable) and explains the fix or enhancement +you've made. ```bash git add . git commit -m "Fixes #: Description of the fix or enhancement" ``` -### 8. Link the Issue to the Pull Request +### 6. Link the Issue to the Pull Request + In your pull request description, be sure to reference the related issue using GitHub's syntax (`#`). This links the PR to the issue and helps maintain context. -### 9. Sign the Contributor License Agreement (CLA) +### 7. Sign the Contributor License Agreement (CLA) + Before we can merge your contribution, you must sign our contributor license agreement (CLA). This agreement ensures that your contributions comply with our licensing terms. -### 10. Assign a Reviewer from Our Team -Once your PR is submitted, a member of our team will be assigned to review your changes. They will provide feedback and may request revisions if necessary. Please respond promptly to any review comments to expedite the merging process. +### 8. Reviews + +Once your Pull Request is submitted, a member of our team will be assigned to review your changes. They will provide feedback and may request revisions if necessary. Please respond promptly to any review comments to expedite the review and acceptance process. + +## Thank you! -Thank you for contributing to our documentation! We appreciate your efforts in making our product documentation more comprehensive and user-friendly. If you have any questions or need assistance, feel free to reach out to our team. Happy contributing! +Thank you for contributing to our documentation! We greatly appreciate your efforts to help improve the Plane community. diff --git a/README.md b/README.md index 0cdf7eb..5a5e862 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,19 @@ # Plane developer documentation -This repository hosts comprehensive developer documentation for Plane, accessible at [developers.plane.so](https://developers.plane.so). If you are looking for the product documentation, see [Plane documentation](https://github.com/makeplane/docs) +This repository hosts comprehensive developer documentation for Plane, accessible at [developers.plane.so](https://developers.plane.so). If you are looking for the product documentation, see [Plane documentation](https://github.com/makeplane/docs). -## Overview - -The Plane documentation provides detailed information on the following topics: - -- Setting up and managing a self-hosted instance of Plane. -- API Reference -- Webhooks - -## Raising Issues +## Raising issues If you encounter any issues with our documentation or have suggestions for improvements, we encourage you to follow these steps: -1. **Check Existing Issues**: Before raising a new issue, please verify if a similar issue already exists. -2. **Raise an Issue**: If you don't find an existing issue that matches your concern, feel free to create a new one. Provide as much detail as possible to clearly explain the problem or enhancement you're proposing. +1. **Check existing issues**: Before raising a new issue, please verify if a [similar issue](https://github.com/makeplane/developer-docs/issues) already exists. +2. **Raise an issue**: If you don't find an existing issue that matches your concern, feel free to [create a new one](https://github.com/makeplane/developer-docs/issues/new). Provide as much detail as possible to clearly explain the problem or enhancement you're proposing. ## Contributing Are you interested in contributing to our documentation? We welcome contributions from the community! You can contribute by: -- Fixing bugs in the existing documentation. -- Adding new guides or tutorials. +- Fixing bugs in the existing documentation +- Adding new guides or tutorials To get started with contributing, please refer to our [Contribution Guide](/CONTRIBUTING.md). We appreciate contributions related to self-hosting, core product functionality, and integrations with other applications. - -Thank you for considering contributing to Plane documentation. Your contributions help improve the overall user experience and make information more accessible to all users. Let's work together to make Plane documentation even better! \ No newline at end of file diff --git a/_category_.json b/_category_.json new file mode 100644 index 0000000..acc52bf --- /dev/null +++ b/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Overview", + "position": 1, + "collapsible": false, + "collapsed": false, + "link": { + "type": "generated-index" + } +} diff --git a/api-reference/cycle-issue/add-cycle-issue.mdx b/api-reference/cycle-issue/add-cycle-issue.mdx deleted file mode 100644 index 40afbd7..0000000 --- a/api-reference/cycle-issue/add-cycle-issue.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Add cycle issue -description: Adds an issue in a cycle -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/ ---- - -### Path parameters - - - - - - - -### Body - - -It expects a list of issue ids - - diff --git a/api-reference/cycle-issue/delete-cycle-issue.mdx b/api-reference/cycle-issue/delete-cycle-issue.mdx deleted file mode 100644 index 7cc8f6d..0000000 --- a/api-reference/cycle-issue/delete-cycle-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete cycle issue -description: Deletes an issue in a cycle -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/{issue_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/cycle-issue/list-cycle-issues.mdx b/api-reference/cycle-issue/list-cycle-issues.mdx deleted file mode 100644 index a238717..0000000 --- a/api-reference/cycle-issue/list-cycle-issues.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List cycle issues -description: Gets all the issues in a cycle -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id}/cycle-issues/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/cycle-issue/overview.mdx b/api-reference/cycle-issue/overview.mdx deleted file mode 100644 index d1e6291..0000000 --- a/api-reference/cycle-issue/overview.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Overview ---- - -It contains all the list of issues which are inside a cycle. - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/cycle-issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/cycle-issues/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/cycle-issues/:issue_id/ -``` - -For creating a cycle issue, the payload should be sent in the below format. - -``` -{ - "issues": ["d7a45e13-be2a-4942-aa15-b82c2cf244d0","d23wefadf-dafADfadfadfqeqerqer"] -} -``` - -### Cycle Issue Object - -**Attributes** - -- `sub_issues_count` - - It tells the count of sub issues of the issue - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved - -- `cycle` uuid - - Cycle id of which the issue belongs to - -- `issue` uuid - - Issue id of the issue - - -```json JSON -[ - { - "id": "81686eba-bd63-4fd1-b628-b08ecdb1db06", - "sub_issues_count": 0, - "created_at": "2023-11-20T05:02:41.238578Z", - "updated_at": "2023-11-20T05:02:41.238601Z", - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611", - "cycle": "866f3015-4811-4e8a-9577-e298a56488c5", - "issue": "2f9f16f7-604c-43d3-adb1-5466ade808aa" - } -] -``` - diff --git a/api-reference/cycle/add-cycle.mdx b/api-reference/cycle/add-cycle.mdx deleted file mode 100644 index 1343e5d..0000000 --- a/api-reference/cycle/add-cycle.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Add cycle -description: Adds a cycle in a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/ ---- - -### Path parameters - - - - - -### Body - - diff --git a/api-reference/cycle/delete-cycle.mdx b/api-reference/cycle/delete-cycle.mdx deleted file mode 100644 index 6b6e765..0000000 --- a/api-reference/cycle/delete-cycle.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Delete cycle -description: Deletes a cycle -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/cycle/get-cycle-detail.mdx b/api-reference/cycle/get-cycle-detail.mdx deleted file mode 100644 index fc7e036..0000000 --- a/api-reference/cycle/get-cycle-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get cycle details -description: Gets the details of a cycle -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/cycle/list-cycles.mdx b/api-reference/cycle/list-cycles.mdx deleted file mode 100644 index dcaa6a4..0000000 --- a/api-reference/cycle/list-cycles.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List cycles -description: Gets all the cycles in a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/ ---- - -### Path parameters - - - - diff --git a/api-reference/cycle/overview.mdx b/api-reference/cycle/overview.mdx deleted file mode 100644 index 1b59e85..0000000 --- a/api-reference/cycle/overview.mdx +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: Overview ---- - -Cycles is a custom time period in which a team works to complete items on their backlog. At the end of the sprint, the team will usually have finished building and implementing a new version of their project or product. - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/cycles/:cycle_id/transfer-issues/ -``` - -To transfer issues of one cycle to another, the payload should be sent in the below format - -``` -{ - "new_cycle_id": "2380ce13-1cc4-4f67-9f57-a2b7686886d7" -} -``` - -### Cycle Object - -**Attributes** - -- `name` string (required) - - Name of the cycle - -- `description` string - - Description of the cycle - -- `start_date` date - - Start date of the cycle - -- `end_date` date - - End date of the cycle - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `view_props` - - It store the filters and the display properties selected by the user to visualize the issues in the module - -- `sort_order` - - It gives the position of the module at which it should be displayed - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or the updated the - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved - -- `owned_by` uuid - - -```json JSON -{ - "id": "50ebc791-65e4-4b4d-a164-3b4e529e55a5", - "created_at": "2023-11-19T12:18:14.900078Z", - "updated_at": "2023-11-19T12:18:14.900088Z", - "name": "cycle testing", - "description": "", - "start_date": null, - "end_date": null, - "view_props": {}, - "sort_order": 35535.0, - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611", - "owned_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c" -} -``` - diff --git a/api-reference/cycle/update-cycle-detail.mdx b/api-reference/cycle/update-cycle-detail.mdx deleted file mode 100644 index e459c4e..0000000 --- a/api-reference/cycle/update-cycle-detail.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Update cycle details -description: Updates the details of a cycle -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/cycles/{cycle_id} ---- - -### Path parameters - - - - - - - -### Body - - \ No newline at end of file diff --git a/api-reference/inbox-issue/add-inbox-issue.mdx b/api-reference/inbox-issue/add-inbox-issue.mdx deleted file mode 100644 index 2164402..0000000 --- a/api-reference/inbox-issue/add-inbox-issue.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Add intake issue -description: Adds an intake issue in a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/ ---- - -### Path parameters - - - - - -### Body - - - - diff --git a/api-reference/inbox-issue/delete-inbox-issue.mdx b/api-reference/inbox-issue/delete-inbox-issue.mdx deleted file mode 100644 index 7000185..0000000 --- a/api-reference/inbox-issue/delete-inbox-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete intake issue -description: Deletes an intake issue -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/{issue_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/inbox-issue/get-inbox-issue-detail.mdx b/api-reference/inbox-issue/get-inbox-issue-detail.mdx deleted file mode 100644 index 0250d65..0000000 --- a/api-reference/inbox-issue/get-inbox-issue-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get intake issue detail -description: Gets the details of an intake issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/{issue_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/inbox-issue/list-inbox-issues.mdx b/api-reference/inbox-issue/list-inbox-issues.mdx deleted file mode 100644 index e0aa6bb..0000000 --- a/api-reference/inbox-issue/list-inbox-issues.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List intake issues -description: Gets all the intake issue of a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/ ---- - -### Path parameters - - - - diff --git a/api-reference/inbox-issue/overview.mdx b/api-reference/inbox-issue/overview.mdx deleted file mode 100644 index 5afc1f8..0000000 --- a/api-reference/inbox-issue/overview.mdx +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Overview ---- - - -**Deprecation notice** - -We are deprecating all `/api/v1/.../inbox-issues/` endpoints in favor of `/api/v1/.../intake-issues/`. - -**End of support** -31st March 2025 - -**What you need to do** -To ensure uninterrupted service, replace all `/inbox-issues/` references with `/intake-issues/` in your codebase before the support end date. - - -To enable the Intake feature, the user can hit a PATCH request on the project api with the body as - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/:issue_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/:issue_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/inbox-issues/:issue_id/ -``` - -``` -{ - inbox_view:true, -} -``` - -To create an Intake issue, the payload should be sent in the below format - -```json -{ - "issue": { - "name": "Snoozed Issue 2", - "priority": "high" - } -} -``` - -### Intake issue object - -**Attribute** - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `status` - - the status of the issue can be in above mentioned status - - - \-2 - Pending - - \-1 - Rejected - - 0 - Snoozed - - 1 - Accepted - - 2 - Duplicate - -- `snoozed_till` - - The time untill the issue is snoozed. - -- `source` - - The source describes the type intake issue from - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved. - -- `inbox` - - intake id of the issue - -- `issue` - - issue id of the issue - -- `duplicate_to` - - Id of the issue of which the current issue is duplicate of. - - -```json JSON -{ - "id": "0de4d6d1-fdc7-4849-8080-dc379ab210e3", - "pending_issue_count": 0, - "created_at": "2023-11-21T07:32:26.072634Z", - "updated_at": "2023-11-21T07:32:26.072648Z", - "name": "a dummy project with Intake", - "description": "", - "is_default": true, - "view_props": {}, - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611" -} - -``` - \ No newline at end of file diff --git a/api-reference/inbox-issue/update-inbox-issue-detail.mdx b/api-reference/inbox-issue/update-inbox-issue-detail.mdx deleted file mode 100644 index 6843abd..0000000 --- a/api-reference/inbox-issue/update-inbox-issue-detail.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Update intake issue detail -description: Updates the details of an intake issue -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/inbox-issues/{issue_id} ---- - -### Path parameters - - - - - - - -### Body - - - - diff --git a/api-reference/intake-issue/add-intake-issue.mdx b/api-reference/intake-issue/add-intake-issue.mdx deleted file mode 100644 index fd75958..0000000 --- a/api-reference/intake-issue/add-intake-issue.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Add intake issue -description: Adds an intake issue in a project -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/ ---- - -### Path parameters - - - - - -### Body - - - - diff --git a/api-reference/intake-issue/delete-intake-issue.mdx b/api-reference/intake-issue/delete-intake-issue.mdx deleted file mode 100644 index 9083012..0000000 --- a/api-reference/intake-issue/delete-intake-issue.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete intake issue -description: Deletes an intake issue -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/{issue_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/intake-issue/get-intake-issue-detail.mdx b/api-reference/intake-issue/get-intake-issue-detail.mdx deleted file mode 100644 index eb488b2..0000000 --- a/api-reference/intake-issue/get-intake-issue-detail.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Get intake issue detail -description: Gets the details of an intake issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/{issue_id} ---- - -### Path parameters - - - - - - diff --git a/api-reference/intake-issue/list-intake-issues.mdx b/api-reference/intake-issue/list-intake-issues.mdx deleted file mode 100644 index 6c553c2..0000000 --- a/api-reference/intake-issue/list-intake-issues.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: List intake issues -description: Gets all the intake issue of a project -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/ ---- - -### Path parameters - - - - diff --git a/api-reference/intake-issue/overview.mdx b/api-reference/intake-issue/overview.mdx deleted file mode 100644 index 1ba8a9f..0000000 --- a/api-reference/intake-issue/overview.mdx +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Overview ---- - - -**Deprecation notice** - -We are deprecating all `/api/v1/.../inbox-issues/` endpoints in favor of `/api/v1/.../intake-issues/`. - -**End of support** -31st March 2025 - -**What you need to do** -To ensure uninterrupted service, replace all `/inbox-issues/` references with `/intake-issues/` in your codebase before the support end date. - - -To enable the Intake feature, the user can hit a PATCH request on the project api with the body as - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/:issue_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/:issue_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/intake-issues/:issue_id/ -``` - -``` -{ - intake_view:true, -} -``` - -To create an Intake issue, the payload should be sent in the below format - -```json -{ - "issue": { - "name": "Snoozed Issue 2", - "priority": "high" - } -} -``` - -### Intake issue object - -**Attribute** - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `status` - - the status of the issue can be in above mentioned status - - - \-2 - Pending - - \-1 - Rejected - - 0 - Snoozed - - 1 - Accepted - - 2 - Duplicate - -- `snoozed_till` - - The time untill the issue is snoozed. - -- `source` - - The source describes the type intake issue from - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `Project` uuid - - It contains projects uuid which is automatically saved. - -- `Workspace` uuid - - It contains workspace uuid which is automatically saved. - -- `inbox` - - intake id of the issue - -- `issue` - - issue id of the issue - -- `duplicate_to` - - Id of the issue of which the current issue is duplicate of. - - -```json JSON -{ - "id": "0de4d6d1-fdc7-4849-8080-dc379ab210e3", - "pending_issue_count": 0, - "created_at": "2023-11-21T07:32:26.072634Z", - "updated_at": "2023-11-21T07:32:26.072648Z", - "name": "a dummy project with Intake", - "description": "", - "is_default": true, - "view_props": {}, - "created_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "updated_by": "0649cb9d-05c8-4ef4-8e8b-d108ccddd42c", - "project": "6436c4ae-fba7-45dc-ad4a-5440e17cb1b2", - "workspace": "c467e125-59e3-44ec-b5ee-f9c1e138c611" -} - -``` - \ No newline at end of file diff --git a/api-reference/intake-issue/update-intake-issue-detail.mdx b/api-reference/intake-issue/update-intake-issue-detail.mdx deleted file mode 100644 index 40dccf9..0000000 --- a/api-reference/intake-issue/update-intake-issue-detail.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Update intake issue detail -description: Updates the details of an intake issue -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/intake-issues/{issue_id} ---- - -### Path parameters - - - - - - - -### Body - - - - diff --git a/api-reference/introduction.mdx b/api-reference/introduction.mdx deleted file mode 100644 index 3818074..0000000 --- a/api-reference/introduction.mdx +++ /dev/null @@ -1,293 +0,0 @@ ---- -title: Plane API Documentation -sidebarTitle: Introduction -description: The Plane API is organized around REST. Our API has predictable resource-oriented URLs, accepts application/json request bodies, returns JSON responses, and uses standard HTTP response codes, authentication, and verbs. ---- - -### Base URL -All requests to the Plane Cloud API must be made to the following base URL: - ``` - https://api.plane.so/ - ``` -This URL should be prefixed to all endpoint paths. - -For example, to retrieve all projects in a workspace: - ``` - GET https://api.plane.so/api/v1/workspaces/:workspace-slug/projects/ - ``` - -💡 If you're using a self-hosted instance of Plane, your API base URL will differ based on your custom domain and setup. - - -### Authentication - -Our APIs use a key for authentication. The API key should be included in the header of each request to verify the client's identity and permissions. The key should be passed as the value of the `X-API-Key` header. - -You must have a Plane account or be registered to your instance to generate a key. -1. Log into your Plane account and go to **Profile Settings**. - ![Profile Settings](/images/api-reference/profile-settings.png) -2. Go to **Personal Access Tokens** in the list of tabs available. - ![API Tokens](/images/api-reference/api-tokens-plane.png) -3. Click `Add personal access token`. - ![Add API key](/images/api-reference/add-api-key-plane.png) -4. Choose a title and description so you know why you are creating this token and where you will use is. -5. Choose an expiry if you want this to stop working after a point. - -### Using the API Key - -To authenticate an API request, include your API key in the request header: - -``` -X-API-Key: - -``` - - -It is important to keep your API key confidential to prevent unauthorized access to your account. - -### Example of an Authenticated API Request - -Here's an example of making a GET request to the API with the API key: - -### Request - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/ -Headers: - X-API-Key: plane_api_ - -``` - - -### Response - -``` -{ - [ ... ], -} - -``` - - -### Error Handling - -* **Missing API Key**: If the **`X-API-Key`** header is not included, the API will return an error indicating that authentication is required. -* **Invalid API Key**: If the provided API key is invalid or expired, the API will return an error message indicating an authentication failure. - -### Security Recommendations - -* **Keep the API Key Secret**: Treat your API key like a password. Do not share it or expose it in client-side code. -* **Regenerate Key If Compromised**: If you suspect that your API key has been compromised, generate a new one immediately and update your applications. - -* * * - -### **Status codes** - -**HTTP Methods** - -HTTP defines a set of request methods, also known as HTTP verbs, to indicate the desired action for a given resource. - -Given below is the list of methods commonly adopted by Plane's APIs: - - -|Verb |Description |Example | -|------|---------------------------------------------------|-------------------------------| -|GET |Requests a representation of the specified resource|Fetch all issues from a project| -|POST |Submits an entity to the specified resource |Create a project | -|DELETE|Deletes the specified resource |Delete a module-issue | -|PATCH |Applies partial modifications to a resource |Edit a module | - - -Given below is the list of the most commonly encountered success responses: - - -| Status Code | Description | -|----------------|-----------------------------------------------------------------------------------------------------| -| 200 OK | The request succeeded, and a new resource was created, generally sent in GET or PATCH requests. | -| 201 Created | The request is succeeded, and a new resource was created, generally sent in POST or PATCH requests. | -| 204 No Content | The request is succeeded, and no body is sent, generally comes from the DELETE request. | - -### Error Response - -Given below is the list of the most commonly encountered error responses: - - - -| Status Code | Description | -|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 400 Bad Request | The server cannot or will not process the request due to something that is perceived to be a client error. | -| 401 Unauthorized | Although the HTTP standard specifies "unauthorized", semantically, this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. | -| 404 Not Found | The server cannot find the requested resource. This means the URL is not recognized. | -| 429 Throttling Error | The server is processing too many requests at once and is unable to process your request. Retry the request after some time. You can read our rate-limit doc. | -| 500 Internal Server Error | The server has encountered a situation it does not know how to handle. | -| 502 Bad Gateway | This error response means that the server got an invalid response while working as a gateway to get a response needed to handle the request. | -| 503 Service Unavailable | The server is not ready to handle the request. Common causes are a server that is down for maintenance or is overloaded. | -| 504 Gateway Timeout | This error response is given when the server acts as a gateway and cannot get a timely response. | - -## Pagination Documentation - -### Overview - -This API implements a cursor-based pagination system, allowing clients to efficiently navigate through large datasets. The system uses a cursor parameter to manage the position and direction of pagination. - -### Cursor Format - -The cursor is a string formatted as **`value:offset:is_prev`**, where: - -* **`value`** represents the page size (number of items per page). -* **`offset`** is the current page number (starting from 0). -* **`is_prev`** indicates whether the cursor is moving to the previous page (**`1`**) or to the next page (**`0`**). - -### Request Parameters - -* **`per_page` (optional)**: Number of items to display per page. Defaults to 100. The maximum allowed value specified by the server is 100. -* **`cursor` (optional)**: Cursor string to navigate to a specific page. If not provided, pagination starts from the first page. - -### Responses - -The paginated response includes the following fields: - -* **`next_cursor`**: Cursor string for the next page. -* **`prev_cursor`**: Cursor string for the previous page. -* **`next_page_results`**: Boolean indicating if there are more results after the current page. -* **`prev_page_results`**: Boolean indicating if there are results before the current page. -* **`count`**: Total number of items on the current page. -* **`total_pages`**: Estimated total number of pages. -* **`total_results`**: Total number of items across all pages. -* **`extra_stats`**: Additional statistics, if any. -* **`results`**: Array of items for the current page. - -### Request: Fetching the First Page - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?per_page=20 - -``` - - -### Response: First Page - -``` -{ - "next_cursor": "20:1:0", - "prev_cursor": "", - "next_page_results": true, - "prev_page_results": false, - "count": 20, - "total_pages": 50, - "total_results": 1000, - "extra_stats": {}, - "results": [ ... items ... ] -} - -``` - - -### Request: Fetching the Next Page - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues?per_page=20&cursor=20:1:0 - -``` - - -### Response: Second Page - -``` -{ - "next_cursor": "20:2:0", - "prev_cursor": "20:0:1", - "next_page_results": true, - "prev_page_results": true, - "count": 20, - "total_pages": 50, - "total_results": 1000, - "extra_stats": {}, - "results": [ ... items ... ] -} - -``` - - -### Error Handling - -* **Invalid Cursor Format**: If the provided cursor string is not in the correct format, the API will respond with an error message indicating an invalid cursor format. -* **Pagination Limits**: Requests exceeding the maximum **`per_page`** limit will receive an error response detailing the maximum allowed value. - -* * * - -## Rate Limit - -### Overview - -To ensure fair usage and maintain the quality of service for all users, our API implements rate limiting. Rate limiting restricts the number of requests a client can make within a certain time frame. - -### Rate Limit Details - -* **Limit**: Each client is limited to 60 requests per minute. -* **Reset Interval**: The rate limit counter resets every minute. -* **Scope of Limitation**: The rate limit applies to all requests made with a given API key. - -## Identifying Your Rate Limit Status - -Rate limit status is communicated in the response headers of each API request: - -* **`X-RateLimit-Remaining`**: The number of requests remaining in the current rate limit window. -* **`X-RateLimit-Reset`**: The time at which the current rate limit window resets (in UTC epoch seconds). - -``` -X-RateLimit-Remaining: 45 -X-RateLimit-Reset: 1700327957 - -``` - - -## Fields and Expand Query Parameters - -Our API provides flexible data retrieval capabilities through two powerful query parameters: fields and expand. These parameters allow clients to tailor the response data to their specific needs, optimizing both the payload size and the clarity of the response. - -### Fields Parameter - -### Overview - -The fields parameter enables clients to selectively retrieve only a subset of fields for a given resource. This is particularly useful for minimizing response size and bandwidth consumption, especially when the client requires only specific pieces of data. - -### Usage - -* The **`fields`** parameter accepts a comma-separated list of field names that the client wants to be included in the response. -* Syntax: **`?fields=field1,field2,field3`** - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?fields=id,name,description - -``` - - -In this example, the API will return only the **`id`**, **`name`**, and **`description`** fields of the resource. - -### Expand Parameter - -### Overview - -The expand parameter allows clients to request additional related information to be included in the response. This is useful for retrieving detailed information about nested resources without making separate API calls. - -### Usage - -* The **`expand`** parameter can be used to include details of related resources or nested objects in the response. -* Syntax: **`?expand=field1,field2`** - -## Example - -``` -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?expand=assignees,state - -``` - - -This request will return the resource data along with expanded information about the `assignees` and `state`. - -### Error Handling - -* Invalid or unrecognized field names passed in the **`fields`** parameter will result in an error response, indicating which fields are invalid. -* Similarly, if **`expand`** is used on fields that cannot be expanded, an appropriate error message will be returned. -import { appendFileSync } from "fs" diff --git a/api-reference/issue-activity/get-issue-activity-detail.mdx b/api-reference/issue-activity/get-issue-activity-detail.mdx deleted file mode 100644 index 89d158b..0000000 --- a/api-reference/issue-activity/get-issue-activity-detail.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Get issue activity details -description: Gets the details of an activity -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/activities/{activity_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/issue-activity/list-issue-activities.mdx b/api-reference/issue-activity/list-issue-activities.mdx deleted file mode 100644 index 52c296f..0000000 --- a/api-reference/issue-activity/list-issue-activities.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List issue activity -description: Gets the activities of an issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/activities/ ---- - -### Path parameters - - - - - - diff --git a/api-reference/issue-activity/overview.mdx b/api-reference/issue-activity/overview.mdx deleted file mode 100644 index 6208a56..0000000 --- a/api-reference/issue-activity/overview.mdx +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Overview -description: Issue activities are the history of all the changes that happened to the issue like property changes etc. ---- - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/activities/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/activities/:activity_id/ -``` - -### Issue Activity Object - -**Attributes** - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `verb` _string_ - - created or updated - -- `field` _string_ or _null_ - - The field that got changed null when created - -- `old_value` _string_ - - Old value of the field - -- `new_value` _string_ - - New value of the field - -- `comment` _string_ - - Comment auto generated - -- `attachments` - _\[url,\]_ - - Url of all the attachments that are in the activity - -- `old_identifier` _uuid_ - - Old identifier of the field - -- `new_identifier` _uuid_ - - New identifier of the field - -- `epoch` _float_ - - Epoch float field when the activity was created. - -- `project` uuid - - It contains projects uuid which is automatically saved. - -- `workspace` uuid - - It contains workspace uuid which is automatically saved - -- `issue` _uuid_ - - The issue the activity is attached to - -- `issue_comment` _uuid or null_ - - The comment uuid if the activity was created due to a comment - -- `actor` uuid - - The actor who triggered this actor - - -```json JSON -{ - "id": "35612f5b-3eff-4130-b91c-c976ff887a20", - "created_at": "2023-11-19T11:56:55.452555Z", - "updated_at": "2023-11-19T11:56:55.452561Z", - "verb": "created", - "field": null, - "old_value": null, - "new_value": null, - "comment": "created the issue", - "attachments": [], - "old_identifier": null, - "new_identifier": null, - "epoch": 1700395015.0, - "project": "4af68566-94a4-4eb3-94aa-50dc9427067b", - "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", - "issue": "e1c25c66-5bb8-465e-a818-92a483423443", - "issue_comment": null, - "actor": "16c61a3a-512a-48ac-b0be-b6b46fe6f430" -} -``` - diff --git a/api-reference/issue-attachments/complete-upload.mdx b/api-reference/issue-attachments/complete-upload.mdx deleted file mode 100644 index 1ce144d..0000000 --- a/api-reference/issue-attachments/complete-upload.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Complete upload -description: Notifies the server that an attachment has been successfully uploaded to S3. This endpoint should be called after you've [uploaded the file](/api-reference/issue-attachments/upload-file). -api: PATCH /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/{asset_id}/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -The unique identifier of the attachment generated by the [Get upload credentials](/api-reference/issue-attachments/get-upload-credentials#response) endpoint. - - - - diff --git a/api-reference/issue-attachments/get-attachments.mdx b/api-reference/issue-attachments/get-attachments.mdx deleted file mode 100644 index eef7cc0..0000000 --- a/api-reference/issue-attachments/get-attachments.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Get attachments -description: Gets all the attachments in the issue. -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -### Response - -```json -{ - "id": "", - "created_at": "2024-10-30T09:32:32.815273Z", - "updated_at": "2024-10-30T09:32:35.533136Z", - "deleted_at": null, - "attributes": { - "name": "example.png", - "size": 135686, - "type": "image/png" - }, - "asset": "/-example.png", - "entity_type": "ISSUE_ATTACHMENT", - "is_deleted": false, - "is_archived": false, - "external_id": null, - "external_source": null, - "size": 135686.0, - "is_uploaded": true, - "storage_metadata": { - "ETag": "", - "Metadata": {}, - "ContentType": "image/png", - "LastModified": "2024-10-30T09:32:34+00:00", - "ContentLength": 135686 - }, - "created_by": "", - "updated_by": "", - "workspace": "", - "project": "", - "issue": "" -} -``` \ No newline at end of file diff --git a/api-reference/issue-attachments/get-upload-credentials.mdx b/api-reference/issue-attachments/get-upload-credentials.mdx deleted file mode 100644 index ac09ab2..0000000 --- a/api-reference/issue-attachments/get-upload-credentials.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Get upload credentials -description: Creates a pre-signed POST form data for uploading an attachment directly to S3. This endpoint handles the first step of the two-and-a-half step upload process where you first get the upload credentials and then use them to upload the actual file. -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/ ---- - -### Path parameters - - -The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL `https://app.plane.so/my-team/projects/`, the workspace slug is `my-team`. - - -The unique identifier of the project -The unique identifier of the issue - -### Body - -Original filename of the attachment -MIME type of the file (e.g., `image/png`, `application/pdf`) -Size of the file in bytes - -### Response -Returns an object containing the S3 pre-signed POST data for direct upload. - -```json -{ - "upload_data": { - "url": "", - "fields": { - "Content-Type": "image/png", - "key": "/-filename", - "x-amz-algorithm": "AWS4-HMAC-SHA256", - "x-amz-credential": "///s3/aws4_request", - "x-amz-date": "", - "policy": "", - "x-amz-signature": "" - } - }, - "asset_id": "", - "attachment": { - "id": "", - "created_at": "2025-01-03T12:07:35.621734Z", - "updated_at": "2025-01-03T12:07:35.621766Z", - "deleted_at": null, - "attributes": { - "name": "filename", - "type": "image/png", - "size": 5242880 - }, - "asset": "/-filename", - "entity_type": "ISSUE_ATTACHMENT", - "is_deleted": false, - "is_archived": false, - "external_id": null, - "external_source": null, - "size": 5242880.0, - "is_uploaded": false, - "storage_metadata": {}, - "created_by": "", - "updated_by": null, - "workspace": "", - "project": "", - "issue": "", - }, - "asset_url": "/api/assets/v2/workspaces//projects//issues//attachments//" -} -``` \ No newline at end of file diff --git a/api-reference/issue-attachments/overview.mdx b/api-reference/issue-attachments/overview.mdx deleted file mode 100644 index d4c14de..0000000 --- a/api-reference/issue-attachments/overview.mdx +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Overview -description: Allows you to manage file attachments associated with issues and Intake issues. You can upload new attachments and retrieve existing attachments for a specific issue. ---- - -```http -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-attachments/ -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-attachments/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/issue-attachments/asset-id/ -``` - -## Upload Process - -1. Get the [upload credentials](/api-reference/issue-attachments/get-upload-credentials). -2. [Upload the file](/api-reference/issue-attachments/upload-file) to storage. -3. [Complete attachment upload](/api-reference/issue-attachments/complete-upload) to notify server. - -## Issue attachment object - -**Attributes** - -* `id` _string_ - - Unique identifier for the attachment - -* `created_at` , `updated_at`, `deleted_at` _timestamp_ - - Timestamp when the attachment was created, when it was last modified or deleted - -* `attributes` _object_ - - Contains file metadata: - - * `name` _string_ - - Original filename of the attachment - - * `size` _integer_ - - File size in bytes - - * `type` _string_ - - MIME type of the file - -* `asset` _string_ - - Storage path/identifier for the attachment file - -* `entity-type` _string_ - - Always `ISSUE_ATTACHMENT` for issue attachments - -* `is_deleted` _boolean_ - - Whether the attachment has been deleted - -* `is_archived` _boolean_ - - Whether the attachment has been archived - -* `external_id` _string_ or _null_ - - External identifier if the issue and its attachments are imported to Plane - -* `external_source` _string_ or _null_ - - Name of the source if the issue and its attachments are imported to Plane - -* `size` _integer_ - - File size in bytes - -* `is_uploaded` _boolean_ - - Whether the file has been successfully uploaded - -* `storage_metadata` _object_ - - Cloud storage metadata: - - * `ETag` _string_ - - Storage provider's entity tag - - * `Metadata` _object_ - - Additional storage metadata - - * `ContentType` _object_ - - MIME type of stored file - - * `LastModified` _timestamp_ - - Last modification time in storage - - * `ContentLength` _integer_ - - File size in bytes - -* `created_by` _string_ - - ID of user who created the attachment - -* `updated_by` _string_ - - ID of user who last modified the attachment - -* `deleted_by` _string_ - - ID of user who deleted the attachment - -* `workspace` _string_ - - ID of workspace containing the attachment - -* `project` _string_ - - ID of project containing the issue - -* `issue` _string_ - - ID of issue containing the attachment - - - -```json JSON -{ - "id": "8caf3ed5-4f57-9674-76c4fce146b2", - "created_at": "2024-10-30T09:32:32.815273Z", - "updated_at": "2024-10-30T09:32:35.533136Z", - "deleted_at": null, - "attributes": { - "name": "plane-logo.png", - "size": 135686, - "type": "image/png" - }, - "asset": "9b8aab8a-9052-fc735350abe8/6893d862ecb740d4b7f9f6542cda539c-plane.png", - "entity_type": "ISSUE_ATTACHMENT", - "is_deleted": false, - "is_archived": false, - "external_id": null, - "external_source": null, - "size": 135686.0, - "is_uploaded": true, - "storage_metadata": { - "ETag": "\"72d0d4be99999fe60c2fbc08c8b\"", - "Metadata": {}, - "ContentType": "image/png", - "LastModified": "2024-10-30T09:32:34+00:00", - "ContentLength": 135686 - }, - "created_by": "575de6bf-e120-43bb-9f6a-eae276210575", - "updated_by": "575de6bf-e120-43bb-9f6a-eae276210575", - "workspace": "9b8aab8a-9s6a-99ac-fc735350abe8", - "project": "1790bd-5262-42fb-ac55-568c19a5", - "issue": "7ba090-7702-4e26-a61e-aa6b866f7", - } -``` - diff --git a/api-reference/issue-attachments/upload-file.mdx b/api-reference/issue-attachments/upload-file.mdx deleted file mode 100644 index a978141..0000000 --- a/api-reference/issue-attachments/upload-file.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Upload file -description: Upload the file using the credentials generated by the [Get upload credentials](/api-reference/issue-attachments/get-upload-credentials) endpoint. -api: POST https://planefs-uploads.s3.amazonaws.com/ ---- - - -**Self-hosted instances** - -Use the upload URL returned by the [Get upload credentials](/api-reference/issue-attachments/get-upload-credentials) endpoint. - - - -### Body - -The MIME type of the file -The target path/filename in S3 -AWS signature algorithm (AWS4-HMAC-SHA256) -AWS signature algorithm (AWS4-HMAC-SHA256) -Request timestamp -Base64-encoded policy document -Request signature -The file to be uploaded - diff --git a/api-reference/issue-comment/add-issue-comment.mdx b/api-reference/issue-comment/add-issue-comment.mdx deleted file mode 100644 index 3c95fa0..0000000 --- a/api-reference/issue-comment/add-issue-comment.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Add issue comment -description: Adds a comment to an issue -api: POST /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/ ---- - -### Path parameters - - - - - - - -### Body - - diff --git a/api-reference/issue-comment/delete-issue-comment.mdx b/api-reference/issue-comment/delete-issue-comment.mdx deleted file mode 100644 index 7a4670a..0000000 --- a/api-reference/issue-comment/delete-issue-comment.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Delete issue comment -description: Deletes a comment of an issue -api: DELETE /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/{comment_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/issue-comment/get-issue-comment-detail.mdx b/api-reference/issue-comment/get-issue-comment-detail.mdx deleted file mode 100644 index 04dd23a..0000000 --- a/api-reference/issue-comment/get-issue-comment-detail.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Get issue comment details -description: Gets the details of a comment of an issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/{comment_id} ---- - -### Path parameters - - - - - - - - diff --git a/api-reference/issue-comment/list-issue-comments.mdx b/api-reference/issue-comment/list-issue-comments.mdx deleted file mode 100644 index bd4aadf..0000000 --- a/api-reference/issue-comment/list-issue-comments.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: List issue comments -description: Gets all the comments of an issue -api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/{issue_id}/comments/ ---- - -### Path parameters - - - - - - \ No newline at end of file diff --git a/api-reference/issue-comment/overview.mdx b/api-reference/issue-comment/overview.mdx deleted file mode 100644 index f244630..0000000 --- a/api-reference/issue-comment/overview.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: Overview -description: The comments that are added to the issue ---- - -```http -POST /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/ -GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/:comment_id/ -PATCH /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/:comment_id/ -DELETE /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/:issue_id/comments/:comment_id/ -``` - -### Issue Comment Object - -**Attributes** - -- `created_by` , `updated_by` _uuid_ - - These values are auto saved and represent the id of the user that created or updated the module - -- `created_at` _timestamp_ - - The timestamp of the time when the project was created - -- `updated_at` _timestamp_ - - The timestamp of the time when the project was last updated - -- `comment_html` html \*string **(required)\*** - - HTML string version of the comment - -- `comment_stripped` _string_ - - Stripped string version of the comment - -- `access` _string_ - - If the comment should be visible externally also if the project is published or not. Takes in two values - - - INTERNAL - - EXTERNAL - -- `project` uuid - - It contains projects uuid which is automatically saved. - -- `workspace` uuid - - It contains workspace uuid which is automatically saved - -- `issue` _uuid_ - - The issue the activity is attached to - -- `actor` _uuid_ - - UUID of the user who commented. - - -```json JSON -{ - "id": "f3e29f26-708d-40f0-9209-7e0de44abc49", - "created_at": "2023-11-20T09:26:10.383129Z", - "updated_at": "2023-11-20T09:26:10.383140Z", - "comment_stripped": "Initialf ThoughtsaMy initial thoughts on this are very good", - "comment_json": {}, - "comment_html": "

Initialf Thoughts

a

My initial thoughts on this are very good

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

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

New comment content

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

New comment content

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

New comment content

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

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

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

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

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

Updated comment content

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

Updated comment content

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

Updated comment content

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

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

+ comment_json: + type: doc + content: + - type: paragraph + content: + - type: text + text: This issue has been resolved by implementing OAuth + 2.0 flow. + actor: + id: 550e8400-e29b-41d4-a716-446655440001 + first_name: John + last_name: Doe + display_name: John Doe + avatar: https://example.com/avatar.jpg + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item comment updated successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_work_item_comment + description: Permanently remove a comment from a work item. Records deletion + activity for audit purposes. + summary: Endpoints for issue comment create/update/delete and fetch issue comment + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Comment ID + required: true + examples: + ExampleCommentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example comment ID + description: A typical comment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Comments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Comment not found + "204": + description: Work item comment deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/: + get: + operationId: list_work_item_attachments + description: Retrieve all attachments for a work item. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Attachment not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueAttachment" + examples: + IssueAttachment: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: screenshot.png + size: 1024000 + asset_url: https://s3.amazonaws.com/bucket/screenshot.png?signed-url + attributes: + name: screenshot.png + type: image/png + size: 1024000 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item attachment + "400": + description: Invalid request data provided + post: + operationId: create_work_item_attachment + description: Generate presigned URL for uploading file attachments to a work + item. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueAttachmentUploadRequest" + examples: + IssueAttachmentUploadSerializer: + value: + name: document.pdf + type: application/pdf + size: 1024000 + external_id: "1234567890" + external_source: github + description: Example request for creating an issue attachment + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueAttachmentUploadRequest" + examples: + IssueAttachmentUploadSerializer: + value: + name: document.pdf + type: application/pdf + size: 1024000 + external_id: "1234567890" + external_source: github + description: Example request for creating an issue attachment + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueAttachmentUploadRequest" + examples: + IssueAttachmentUploadSerializer: + value: + name: document.pdf + type: application/pdf + size: 1024000 + external_id: "1234567890" + external_source: github + description: Example request for creating an issue attachment + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue or Project or Workspace not found + "200": + description: Presigned download URL generated successfully + "400": + description: Validation error + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/issue-attachments/{pk}/: + get: + operationId: retrieve_work_item_attachment + description: Download attachment file. Returns a redirect to the presigned download + URL. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + description: Attachment ID + required: true + examples: + ExampleAttachmentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example attachment ID + description: A typical attachment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Attachment not found + "302": + description: Redirect to presigned download URL + "400": + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Error message + example: The asset is not uploaded. + status: + type: boolean + description: Request status + example: false + examples: + IssueAttachmentNotUploaded: + value: + error: The asset is not uploaded. + status: false + summary: Issue Attachment Not Uploaded + description: Error when trying to download an attachment that hasn't + been uploaded yet + description: Asset not uploaded + delete: + operationId: delete_work_item_attachment + description: Permanently remove an attachment from a work item. Records deletion + activity for audit purposes. + summary: Endpoints for issue attachment create/update/delete and fetch issue + attachment details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + description: Attachment ID + required: true + examples: + ExampleAttachmentID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example attachment ID + description: A typical attachment UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Attachments + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Attachment not found + "204": + description: Work item attachment deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/issue-properties/{property_id}/values/: + get: + operationId: list_issue_property_values + description: List issue property values + summary: List issue property values + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPI" + description: Issue property values + post: + operationId: create_issue_property_value + description: Create/update an issue property value + summary: Create/update an issue property value + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: property_id + schema: + type: string + format: uuid + description: Property ID + required: true + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Properties + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPIRequest" + examples: + IssuePropertyValueAPISerializer: + value: + values: + - value: "1234567890" + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property value + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPIRequest" + examples: + IssuePropertyValueAPISerializer: + value: + values: + - value: "1234567890" + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property value + multipart/form-data: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPIRequest" + examples: + IssuePropertyValueAPISerializer: + value: + values: + - value: "1234567890" + external_id: "1234567890" + external_source: github + description: Example request for creating an issue property value + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue property not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssuePropertyValueAPI" + description: Issue property value created + "400": + description: Value is required + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/links/: + get: + operationId: list_work_item_links + description: Retrieve all links associated with a work item. Supports filtering + by URL, title, and metadata. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIssueLinkResponse" + examples: + PaginatedWorkItemLinks: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Work Item Links + description: Paginated list of work item links + "400": + description: Invalid request data provided + post: + operationId: create_work_item_link + description: Add a new external link to a work item with URL, title, and metadata. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueLinkCreateRequest" + examples: + IssueLinkCreateSerializer: + value: + url: https://example.com + title: Example Link + description: Example request for creating an issue link + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueLinkCreateRequest" + examples: + IssueLinkCreateSerializer: + value: + url: https://example.com + title: Example Link + description: Example request for creating an issue link + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueLinkCreateRequest" + examples: + IssueLinkCreateSerializer: + value: + url: https://example.com + title: Example Link + description: Example request for creating an issue link + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueLink" + examples: + IssueLink: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + url: https://github.com/example/repo/pull/123 + title: Fix authentication bug + metadata: + title: Fix authentication bug + description: Pull request to fix authentication timeout issue + image: https://github.com/example/repo/avatar.png + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Work item link created successfully + "400": + description: Invalid request data provided + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/links/{pk}/: + get: + operationId: retrieve_work_item_link + description: Retrieve details of a specific work item link. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: pk + schema: + type: string + format: uuid + description: Link ID + required: true + examples: + ExampleLinkID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example link ID + description: A typical link UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Issue not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedIssueLinkDetailResponse" + examples: + WorkItemLinkDetails: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Work Item Link Details + description: Work item link details or paginated list + patch: + operationId: update_issue_link + description: Modify the URL, title, or metadata of an existing issue link. + summary: Update an issue link + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Link ID + required: true + examples: + ExampleLinkID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example link ID + description: A typical link UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueLinkUpdateRequest" + examples: + IssueLinkUpdateSerializer: + value: + url: https://example.com + title: Updated Link + description: Example request for updating an issue link + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueLinkUpdateRequest" + examples: + IssueLinkUpdateSerializer: + value: + url: https://example.com + title: Updated Link + description: Example request for updating an issue link + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueLinkUpdateRequest" + examples: + IssueLinkUpdateSerializer: + value: + url: https://example.com + title: Updated Link + description: Example request for updating an issue link + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Link not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueLink" + examples: + IssueLink: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + url: https://github.com/example/repo/pull/123 + title: Fix authentication bug + metadata: + title: Fix authentication bug + description: Pull request to fix authentication timeout issue + image: https://github.com/example/repo/avatar.png + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Issue link updated successfully + "400": + description: Invalid request data provided + delete: + operationId: delete_work_item_link + description: Permanently remove an external link from a work item. + summary: Endpoints for issue link create/update/delete and fetch issue link + details + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: pk + schema: + type: string + format: uuid + description: Link ID + required: true + examples: + ExampleLinkID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example link ID + description: A typical link UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Links + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Work item link not found + "204": + description: Work item link deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/worklogs/: + get: + operationId: list_issue_worklogs + description: List worklog entries + summary: List worklog entries + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog is not enabled for the project + "200": + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/IssueWorkLogAPI" + description: List of worklog entries + post: + operationId: create_issue_worklog + description: Create a new worklog entry + summary: Create a new worklog entry + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IssueWorkLogAPIRequest" + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/IssueWorkLogAPIRequest" + multipart/form-data: + schema: + $ref: "#/components/schemas/IssueWorkLogAPIRequest" + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog is not enabled for the project + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueWorkLogAPI" + description: Worklog created successfully + "400": + description: Invalid request data + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{issue_id}/worklogs/{pk}/: + patch: + operationId: update_issue_worklog + description: Update a worklog entry + summary: Update a worklog entry + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueWorkLogAPIRequest" + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueWorkLogAPIRequest" + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueWorkLogAPIRequest" + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog not found or time tracking disabled + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IssueWorkLogAPI" + description: Worklog updated successfully + "400": + description: Invalid request data + delete: + operationId: delete_issue_worklog + description: Delete a worklog entry + summary: Delete a worklog entry + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + required: true + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog not found or time tracking disabled + "204": + description: Worklog deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/issues/{pk}/: + get: + operationId: retrieve_work_item + description: Retrieve details of a specific work item. + summary: Retrieve work item + parameters: + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: external_id + schema: + type: string + description: External system identifier for filtering or lookup + examples: + GitHubIssue: + value: "1234567890" + summary: GitHub Issue + description: GitHub issue number + - in: query + name: external_source + schema: + type: string + description: External system source name for filtering or lookup + examples: + GitHub: + value: github + description: GitHub integration source + Jira: + value: jira + description: Jira integration source + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Work item not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Issue" + examples: + Issue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Implement user authentication + description: Add OAuth 2.0 authentication flow + sequence_id: 1 + priority: high + assignees: + - 550e8400-e29b-41d4-a716-446655440001 + labels: + - 550e8400-e29b-41d4-a716-446655440002 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: List of issues or issue details + "400": + description: Invalid request data provided + patch: + operationId: update_work_item + description: Partially update an existing work item with the provided fields. + Supports external ID validation to prevent conflicts. + summary: Partially update work item + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedIssueRequest" + examples: + IssueUpdateSerializer: + value: + name: Updated Issue + description: Updated issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a work item + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedIssueRequest" + examples: + IssueUpdateSerializer: + value: + name: Updated Issue + description: Updated issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a work item + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedIssueRequest" + examples: + IssueUpdateSerializer: + value: + name: Updated Issue + description: Updated issue description + priority: medium + state: 0ec6cfa4-e906-4aad-9390-2df0303a41cd + assignees: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + labels: + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for updating a work item + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Work item not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Issue" + examples: + Issue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Implement user authentication + description: Add OAuth 2.0 authentication flow + sequence_id: 1 + priority: high + assignees: + - 550e8400-e29b-41d4-a716-446655440001 + labels: + - 550e8400-e29b-41d4-a716-446655440002 + created_at: "2024-01-15T10:30:00Z" + updated_at: "2024-01-15T10:30:00Z" + description: Work Item patched successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_work_item + description: Permanently delete an existing work item from the project. Only + admins or the item creator can perform this action. + summary: Delete work item + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + required: true + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Items + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Only admin or creator can perform this action + "404": + description: Work item not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/labels/: + get: + operationId: list_labels + description: Retrieve all labels in a project. Supports filtering by name and + color. + summary: Endpoints for label create/update/delete and fetch label details + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedLabelResponse" + examples: + PaginatedLabels: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + summary: Paginated Labels + description: Paginated list of labels + "400": + description: Invalid request data provided + post: + operationId: create_label + description: Create a new label in the specified project with name, color, and + description. + summary: Endpoints for label create/update/delete and fetch label details + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: New Label + color: "#ff0000" + description: New label description + external_id: "1234567890" + external_source: github + description: Example request for creating a label + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/LabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: New Label + color: "#ff0000" + description: New label description + external_id: "1234567890" + external_source: github + description: Example request for creating a label + multipart/form-data: + schema: + $ref: "#/components/schemas/LabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: New Label + color: "#ff0000" + description: New label description + external_id: "1234567890" + external_source: github + description: Example request for creating a label + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Label" + examples: + Label: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Label created successfully + "400": + description: Invalid request data provided + "409": + description: Label with the same name already exists + /api/v1/workspaces/{slug}/projects/{project_id}/labels/{pk}/: + get: + operationId: get_labels + description: Retrieve details of a specific label. + summary: Endpoints for label create/update/delete and fetch label details + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Label ID + required: true + examples: + ExampleLabelID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example label ID + description: A typical label UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Label not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Label" + examples: + Label: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Labels + patch: + operationId: update_label + description: Partially update an existing label's properties like name, color, + or description. + summary: Update a label + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Label ID + required: true + examples: + ExampleLabelID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example label ID + description: A typical label UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedLabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: Updated Label + color: "#00ff00" + description: Updated label description + external_id: "1234567890" + external_source: github + description: Example request for updating a label + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedLabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: Updated Label + color: "#00ff00" + description: Updated label description + external_id: "1234567890" + external_source: github + description: Example request for updating a label + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedLabelCreateUpdateRequest" + examples: + LabelCreateUpdateSerializer: + value: + name: Updated Label + color: "#00ff00" + description: Updated label description + external_id: "1234567890" + external_source: github + description: Example request for updating a label + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Label not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Label" + examples: + Label: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: bug + color: "#ff4444" + description: Issues that represent bugs in the system + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Label updated successfully + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_label + description: Permanently remove a label from the project. This action cannot + be undone. + summary: Delete a label + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Label ID + required: true + examples: + ExampleLabelID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example label ID + description: A typical label UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Labels + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Label not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/members/: + get: + operationId: get_project_members + description: Retrieve all users who are members of the specified project. + summary: List project members + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Members + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/UserLite" + examples: + ProjectMembers: + value: + - id: 550e8400-e29b-41d4-a716-446655440000 + first_name: John + last_name: Doe + display_name: John Doe + email: john.doe@example.com + avatar: https://example.com/avatar.jpg + - id: 550e8400-e29b-41d4-a716-446655440001 + first_name: Jane + last_name: Smith + display_name: Jane Smith + email: jane.smith@example.com + avatar: https://example.com/avatar2.jpg + description: List of project members with their roles + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + /api/v1/workspaces/{slug}/projects/{project_id}/modules/: + get: + operationId: list_modules + description: Retrieve all modules in a project. + summary: List modules + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedModuleResponse" + examples: + PaginatedModules: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in_progress + summary: Paginated Modules + description: Paginated list of modules + post: + operationId: create_module + description: Create a new project module with specified name, description, and + timeline. + summary: Create module + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ModuleCreateRequest" + examples: + ModuleCreateSerializer: + value: + name: New Module + description: New module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a module + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/ModuleCreateRequest" + examples: + ModuleCreateSerializer: + value: + name: New Module + description: New module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a module + multipart/form-data: + schema: + $ref: "#/components/schemas/ModuleCreateRequest" + examples: + ModuleCreateSerializer: + value: + name: New Module + description: New module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for creating a module + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Project not found + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + Module: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in-progress + total_issues: 12 + completed_issues: 5 + cancelled_issues: 0 + started_issues: 4 + unstarted_issues: 3 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module created + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{module_id}/module-issues/: + get: + operationId: list_module_work_items + description: Retrieve all work items assigned to a module with detailed information. + summary: List module work items + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: path + name: module_id + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: query + name: order_by + schema: + type: string + description: Field to order results by. Prefix with '-' for descending order + examples: + CreatedDateDescending: + value: -created_at + summary: Created date descending + description: Most recent items first + PriorityAscending: + value: priority + summary: Priority ascending + description: Order by priority (urgent, high, medium, low, none) + StateGroup: + value: state__group + summary: State group + description: Order by state group (backlog, unstarted, started, completed, + cancelled) + AssigneeName: + value: assignees__first_name + summary: Assignee name + description: Order by assignee first name + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedModuleIssueResponse" + examples: + PaginatedModuleWorkItems: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: Sample Item + created_at: "2024-01-15T12:00:00Z" + summary: Paginated Module Work Items + description: Paginated list of module work items + post: + operationId: add_module_work_items + description: Assign multiple work items to a module or move them from another + module. Automatically handles bulk creation and updates with activity tracking. + summary: Add Work Items to Module + parameters: + - in: path + name: module_id + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ModuleIssueRequestRequest" + examples: + ModuleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding module issues + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/ModuleIssueRequestRequest" + examples: + ModuleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding module issues + multipart/form-data: + schema: + $ref: "#/components/schemas/ModuleIssueRequestRequest" + examples: + ModuleIssueRequestSerializer: + value: + issues: + - 0ec6cfa4-e906-4aad-9390-2df0303a41cd + - 0ec6cfa4-e906-4aad-9390-2df0303a41ce + description: Example request for adding module issues + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ModuleIssue" + examples: + ModuleIssue: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + module: 550e8400-e29b-41d4-a716-446655440001 + issue: 550e8400-e29b-41d4-a716-446655440002 + sub_issues_count: 2 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module issues added + "400": + description: Required fields are missing + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{module_id}/module-issues/{issue_id}/: + delete: + operationId: delete_module_work_item + description: Remove a work item from a module while keeping the work item in + the project. + summary: Delete module work item + parameters: + - in: path + name: issue_id + schema: + type: string + format: uuid + description: Issue ID + required: true + examples: + ExampleIssueID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example issue ID + description: A typical issue UUID + - in: path + name: module_id + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module issue not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{pk}/: + get: + operationId: retrieve_module + description: Retrieve details of a specific module. + summary: Retrieve module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + Module: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in-progress + total_issues: 12 + completed_issues: 5 + cancelled_issues: 0 + started_issues: 4 + unstarted_issues: 3 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module + patch: + operationId: update_module + description: Modify an existing module's properties like name, description, + status, or timeline. + summary: Update module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedModuleUpdateRequest" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedModuleUpdateRequest" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedModuleUpdateRequest" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + Module: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: Authentication Module + description: User authentication and authorization features + start_date: "2024-01-01" + target_date: "2024-02-15" + status: in-progress + total_issues: 12 + completed_issues: 5 + cancelled_issues: 0 + started_issues: 4 + unstarted_issues: 3 + backlog_issues: 0 + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: Module updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Module" + examples: + ModuleUpdateSerializer: + value: + name: Updated Module + description: Updated module description + start_date: "2021-01-01" + end_date: "2021-01-31" + external_id: "1234567890" + external_source: github + description: Example request for updating a module + description: Invalid request data + "409": + description: Module with same external ID already exists + delete: + operationId: delete_module + description: Permanently remove a module and all its associated issue relationships. + summary: Delete module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Only admin or creator can perform this action + "404": + description: Module not found + "204": + description: Resource deleted successfully + /api/v1/workspaces/{slug}/projects/{project_id}/modules/{pk}/archive/: + post: + operationId: archive_module + description: Move a module to archived status for historical tracking. + summary: Archive module + parameters: + - in: path + name: pk + schema: + type: string + format: uuid + description: Module ID + required: true + examples: + ExampleModuleID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example module ID + description: A typical module UUID + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Modules + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Module not found + "204": + description: Resource archived successfully + "400": + description: Resource cannot be archived in current state + /api/v1/workspaces/{slug}/projects/{project_id}/states/: + get: + operationId: list_states + description: Retrieve all workflow states for a project. + summary: List states + parameters: + - in: query + name: cursor + schema: + type: string + description: Pagination cursor for getting next set of results + examples: + NextPageCursor: + value: "20:1:0" + summary: Next page cursor + description: "Cursor format: 'page_size:page_number:offset'" + - in: query + name: expand + schema: + type: string + description: Comma-separated list of related fields to expand in response + examples: + ExpandAssignees: + value: assignees + summary: Expand assignees + description: Include full assignee details + MultipleExpansions: + value: assignees,labels,state + summary: Multiple expansions + description: Include details for multiple relations + - in: query + name: fields + schema: + type: string + description: Comma-separated list of fields to include in response + examples: + BasicFields: + value: id,name,description + summary: Basic fields + description: Include only basic fields + WithRelations: + value: id,name,assignees,state + summary: With relations + description: Include fields with relationships + - in: query + name: per_page + schema: + type: integer + description: "Number of results per page (default: 20, max: 100)" + examples: + Default: + value: 20 + Maximum: + value: 100 + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - States + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PaginatedStateResponse" + examples: + PaginatedStates: + value: + grouped_by: state + sub_grouped_by: priority + total_count: 150 + next_cursor: "20:1:0" + prev_cursor: "20:0:0" + next_page_results: true + prev_page_results: false + count: 20 + total_pages: 8 + total_results: 150 + extra_stats: null + results: + - id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#ffa500" + group: started + sequence: 2 + summary: Paginated States + description: Paginated list of states + post: + operationId: create_state + description: Create a new workflow state for a project with specified name, + color, and group. + summary: Create state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - States + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/StateRequest" + examples: + StateCreateSerializer: + value: + name: New State + color: "#ff0000" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for creating a state + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/StateRequest" + examples: + StateCreateSerializer: + value: + name: New State + color: "#ff0000" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for creating a state + multipart/form-data: + schema: + $ref: "#/components/schemas/StateRequest" + examples: + StateCreateSerializer: + value: + name: New State + color: "#ff0000" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for creating a state + required: true + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/State" + examples: + State: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#f39c12" + group: started + sequence: 2 + default: false + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: State created + "400": + description: Invalid request data provided + "409": + description: State with the same name already exists + /api/v1/workspaces/{slug}/projects/{project_id}/states/{state_id}/: + get: + operationId: retrieve_state + description: Retrieve details of a specific state. + summary: Retrieve state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: state_id + schema: + type: string + format: uuid + description: State ID + required: true + examples: + ExampleStateID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example state ID + description: A typical state UUID + tags: + - States + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/State" + examples: + State: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#f39c12" + group: started + sequence: 2 + default: false + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: State retrieved + patch: + operationId: update_state + description: Partially update an existing workflow state's properties like name, + color, or group. + summary: Update state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: state_id + schema: + type: string + format: uuid + description: State ID + required: true + examples: + ExampleStateID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example state ID + description: A typical state UUID + tags: + - States + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatchedStateRequest" + examples: + StateUpdateSerializer: + value: + name: Updated State + color: "#00ff00" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for updating a state + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PatchedStateRequest" + examples: + StateUpdateSerializer: + value: + name: Updated State + color: "#00ff00" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for updating a state + multipart/form-data: + schema: + $ref: "#/components/schemas/PatchedStateRequest" + examples: + StateUpdateSerializer: + value: + name: Updated State + color: "#00ff00" + group: backlog + external_id: "1234567890" + external_source: github + description: Example request for updating a state + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/State" + examples: + State: + value: + id: 550e8400-e29b-41d4-a716-446655440000 + name: In Progress + color: "#f39c12" + group: started + sequence: 2 + default: false + created_at: "2024-01-01T10:30:00Z" + updated_at: "2024-01-10T15:45:00Z" + description: State updated + "400": + description: Invalid request data provided + "409": + description: Resource with same external ID already exists + delete: + operationId: delete_state + description: Permanently remove a workflow state from a project. Default states + and states with existing work items cannot be deleted. + summary: Delete state + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + - in: path + name: state_id + schema: + type: string + format: uuid + description: State ID + required: true + examples: + ExampleStateID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example state ID + description: A typical state UUID + tags: + - States + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: The requested resource was not found. + "204": + description: Resource deleted successfully + "400": + description: State cannot be deleted + /api/v1/workspaces/{slug}/projects/{project_id}/total-worklogs/: + get: + operationId: get_project_worklog_summary + description: Get project worklog summary + summary: Get project worklog summary + parameters: + - in: path + name: project_id + schema: + type: string + format: uuid + description: Project ID + required: true + examples: + ExampleProjectID: + value: 550e8400-e29b-41d4-a716-446655440000 + summary: Example project ID + description: A typical project UUID + - in: path + name: slug + schema: + type: string + description: Workspace slug + required: true + examples: + ExampleWorkspace: + value: my-workspace + summary: Example workspace + description: A typical workspace slug + tags: + - Work Item Worklogs + security: + - ApiKeyAuthentication: [] + - OAuth2Authentication: [] + responses: + "401": + description: Authentication credentials were not provided or are invalid. + "403": + description: Permission denied. User lacks required permissions. + "404": + description: Worklog is not enabled for the project + "200": + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ProjectWorklogSummary" + description: Project worklog summary by issue +components: + schemas: + AccessEnum: + enum: + - INTERNAL + - EXTERNAL + type: string + description: |- + * `INTERNAL` - INTERNAL + * `EXTERNAL` - EXTERNAL + Cycle: + type: object + description: |- + Cycle serializer with comprehensive project metrics and time tracking. + + Provides cycle details including work item counts by status, progress estimates, + and time-bound iteration data for project management and sprint planning. + properties: + id: + type: string + format: uuid + readOnly: true + total_issues: + type: integer + readOnly: true + cancelled_issues: + type: integer + readOnly: true + completed_issues: + type: integer + readOnly: true + started_issues: + type: integer + readOnly: true + unstarted_issues: + type: integer + readOnly: true + backlog_issues: + type: integer + readOnly: true + total_estimates: + type: number + format: double + readOnly: true + completed_estimates: + type: number + format: double + readOnly: true + started_estimates: + type: number + format: double + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + progress_snapshot: {} + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + timezone: + $ref: "#/components/schemas/TimezoneEnum" + version: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + owned_by: + type: string + format: uuid + readOnly: true + required: + - name + CycleCreateRequest: + type: object + description: |- + Serializer for creating cycles with timezone handling and date validation. + + Manages cycle creation including project timezone conversion, date range validation, + and UTC normalization for time-bound iteration planning and sprint management. + properties: + name: + type: string + minLength: 1 + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + owned_by: + type: string + format: uuid + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + required: + - name + - owned_by + CycleIssue: + type: object + description: |- + Serializer for cycle-issue relationships with sub-issue counting. + + Manages the association between cycles and work items, including + hierarchical issue tracking for nested work item structures. + properties: + id: + type: string + format: uuid + readOnly: true + sub_issues_count: + type: integer + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + cycle: + type: string + format: uuid + readOnly: true + required: + - deleted_at + - issue + CycleIssueRequestRequest: + type: object + description: |- + Serializer for bulk work item assignment to cycles. + + Validates work item ID lists for batch operations including + cycle assignment and sprint planning workflows. + properties: + issues: + type: array + items: + type: string + format: uuid + description: List of issue IDs to add to the cycle + required: + - issues + CycleLite: + type: object + description: |- + Lightweight cycle serializer for minimal data transfer. + + Provides essential cycle information without computed metrics, + optimized for list views and reference lookups. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + name: + type: string + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + progress_snapshot: {} + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + timezone: + $ref: "#/components/schemas/TimezoneEnum" + version: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project: + type: string + format: uuid + workspace: + type: string + format: uuid + owned_by: + type: string + format: uuid + required: + - name + - owned_by + - project + - workspace + EntityTypeEnum: + enum: + - USER_AVATAR + - USER_COVER + type: string + description: |- + * `USER_AVATAR` - User Avatar + * `USER_COVER` - User Cover + GenericAssetUploadRequest: + type: object + description: |- + Serializer for generic asset upload requests with project association. + + Validates metadata for generating presigned URLs for workspace assets including + project association, external system tracking, and file validation for + document management and content storage workflows. + properties: + name: + type: string + minLength: 1 + description: Original filename of the asset + type: + type: string + minLength: 1 + description: MIME type of the file + size: + type: integer + description: File size in bytes + project_id: + type: string + format: uuid + description: UUID of the project to associate with the asset + external_id: + type: string + minLength: 1 + description: External identifier for the asset (for integration tracking) + external_source: + type: string + minLength: 1 + description: External source system (for integration tracking) + required: + - name + - size + GroupEnum: + enum: + - backlog + - unstarted + - started + - completed + - cancelled + - triage + type: string + description: |- + * `backlog` - Backlog + * `unstarted` - Unstarted + * `started` - Started + * `completed` - Completed + * `cancelled` - Cancelled + * `triage` - Triage + IntakeIssue: + type: object + description: |- + Comprehensive serializer for intake work items with expanded issue details. + + Provides full intake work item data including embedded issue information, + status tracking, and triage metadata for issue queue management. + properties: + id: + type: string + format: uuid + readOnly: true + issue_detail: + allOf: + - $ref: "#/components/schemas/IssueExpand" + readOnly: true + inbox: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + status: + allOf: + - $ref: "#/components/schemas/IntakeWorkItemStatusEnum" + minimum: -2147483648 + maximum: 2147483647 + snoozed_till: + type: string + format: date-time + nullable: true + source: + type: string + nullable: true + maxLength: 255 + source_email: + type: string + nullable: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + extra: {} + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + intake: + type: string + format: uuid + issue: + type: string + format: uuid + readOnly: true + duplicate_to: + type: string + format: uuid + nullable: true + required: + - intake + IntakeIssueCreateRequest: + type: object + description: |- + Serializer for creating intake work items with embedded issue data. + + Manages intake work item creation including nested issue creation, + status assignment, and source tracking for issue queue management. + properties: + issue: + allOf: + - $ref: "#/components/schemas/IssueForIntakeRequest" + description: Issue data for the intake issue + intake: + type: string + format: uuid + status: + allOf: + - $ref: "#/components/schemas/IntakeWorkItemStatusEnum" + minimum: -2147483648 + maximum: 2147483647 + snoozed_till: + type: string + format: date-time + nullable: true + duplicate_to: + type: string + format: uuid + nullable: true + source: + type: string + nullable: true + maxLength: 255 + source_email: + type: string + nullable: true + required: + - intake + - issue + IntakeWorkItemStatusEnum: + enum: + - -2 + - -1 + - 0 + - 1 + - 2 + type: integer + description: |- + * `-2` - Pending + * `-1` - Rejected + * `0` - Snoozed + * `1` - Accepted + * `2` - Duplicate + Issue: + type: object + description: |- + Comprehensive work item serializer with full relationship management. + + Handles complete work item lifecycle including assignees, labels, validation, + and related model updates. Supports dynamic field expansion and HTML content processing. + properties: + id: + type: string + format: uuid + readOnly: true + type_id: + type: string + format: uuid + nullable: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + title: Issue Name + maxLength: 255 + description_html: + type: string + description_stripped: + type: string + nullable: true + description_binary: + type: string + format: byte + readOnly: true + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + parent: + type: string + format: uuid + nullable: true + state: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + required: + - name + IssueActivity: + type: object + description: |- + Serializer for work item activity and change history. + + Tracks and represents work item modifications, state changes, + and user interactions for audit trails and activity feeds. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + verb: + type: string + title: Action + maxLength: 255 + field: + type: string + nullable: true + title: Field Name + maxLength: 255 + old_value: + type: string + nullable: true + new_value: + type: string + nullable: true + comment: + type: string + attachments: + type: array + items: + type: string + format: uri + maxLength: 200 + maxItems: 10 + old_identifier: + type: string + format: uuid + nullable: true + new_identifier: + type: string + format: uuid + nullable: true + epoch: + type: number + format: double + nullable: true + project: + type: string + format: uuid + workspace: + type: string + format: uuid + issue: + type: string + format: uuid + nullable: true + issue_comment: + type: string + format: uuid + nullable: true + actor: + type: string + format: uuid + nullable: true + required: + - project + - workspace + IssueAttachment: + type: object + description: |- + Serializer for work item file attachments. + + Manages file asset associations with work items including metadata, + storage information, and access control for document management. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + attributes: {} + asset: + type: string + format: uri + entity_type: + type: string + nullable: true + maxLength: 255 + entity_identifier: + type: string + nullable: true + maxLength: 255 + is_deleted: + type: boolean + is_archived: + type: boolean + external_id: + type: string + nullable: true + maxLength: 255 + external_source: + type: string + nullable: true + maxLength: 255 + size: + type: number + format: double + is_uploaded: + type: boolean + storage_metadata: + nullable: true + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + user: + type: string + format: uuid + nullable: true + workspace: + type: string + format: uuid + readOnly: true + nullable: true + draft_issue: + type: string + format: uuid + nullable: true + project: + type: string + format: uuid + readOnly: true + nullable: true + issue: + type: string + format: uuid + readOnly: true + nullable: true + comment: + type: string + format: uuid + nullable: true + page: + type: string + format: uuid + nullable: true + required: + - asset + IssueAttachmentUploadRequest: + type: object + description: |- + Serializer for work item attachment upload request validation. + + Handles file upload metadata validation including size, type, and external + integration tracking for secure work item document attachment workflows. + properties: + name: + type: string + minLength: 1 + description: Original filename of the asset + type: + type: string + minLength: 1 + description: MIME type of the file + size: + type: integer + description: File size in bytes + external_id: + type: string + minLength: 1 + description: External identifier for the asset (for integration tracking) + external_source: + type: string + minLength: 1 + description: External source system (for integration tracking) + required: + - name + - size + IssueComment: + type: object + description: |- + Full serializer for work item comments with membership context. + + Provides complete comment data including member status, content formatting, + and edit tracking for collaborative work item discussions. + properties: + id: + type: string + format: uuid + readOnly: true + is_member: + type: boolean + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + comment_stripped: + type: string + title: Comment + comment_html: + type: string + attachments: + type: array + items: + type: string + format: uri + maxLength: 200 + maxItems: 10 + access: + $ref: "#/components/schemas/AccessEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + edited_at: + type: string + format: date-time + nullable: true + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + readOnly: true + actor: + type: string + format: uuid + nullable: true + IssueCommentCreateRequest: + type: object + description: |- + Serializer for creating work item comments. + + Handles comment creation with JSON and HTML content support, + access control, and external integration tracking. + properties: + comment_json: {} + comment_html: + type: string + access: + $ref: "#/components/schemas/AccessEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + IssueExpand: + type: object + description: |- + Extended work item serializer with full relationship expansion. + + Provides work items with expanded related data including cycles, modules, + labels, assignees, and states for comprehensive data representation. + properties: + id: + type: string + format: uuid + readOnly: true + cycle: + allOf: + - $ref: "#/components/schemas/CycleLite" + readOnly: true + module: + allOf: + - $ref: "#/components/schemas/ModuleLite" + readOnly: true + labels: + type: string + readOnly: true + assignees: + type: string + readOnly: true + state: + allOf: + - $ref: "#/components/schemas/StateLite" + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + title: Issue Name + maxLength: 255 + description: {} + description_html: + type: string + description_stripped: + type: string + nullable: true + description_binary: + type: string + format: byte + readOnly: true + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + parent: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + required: + - name + IssueForIntakeRequest: + type: object + description: |- + Serializer for work item data within intake submissions. + + Handles essential work item fields for intake processing including + content validation and priority assignment for triage workflows. + properties: + name: + type: string + minLength: 1 + title: Issue Name + maxLength: 255 + description: {} + description_html: + type: string + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + required: + - name + IssueLink: + type: object + description: |- + Full serializer for work item external links. + + Provides complete link information including metadata and timestamps + for managing external resource associations with work items. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + title: + type: string + nullable: true + maxLength: 255 + url: + type: string + metadata: {} + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + readOnly: true + required: + - url + IssueLinkCreateRequest: + type: object + description: |- + Serializer for creating work item external links with validation. + + Handles URL validation, format checking, and duplicate prevention + for attaching external resources to work items. + properties: + url: + type: string + minLength: 1 + required: + - url + IssuePropertyAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + relation_type: + $ref: "#/components/schemas/RelationTypeEnum" + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + name: + type: string + readOnly: true + display_name: + type: string + maxLength: 255 + description: + type: string + nullable: true + logo_props: + readOnly: true + sort_order: + type: number + format: double + readOnly: true + property_type: + $ref: "#/components/schemas/PropertyTypeEnum" + is_required: + type: boolean + default_value: + type: array + items: + type: string + settings: {} + is_active: + type: boolean + is_multi: + type: boolean + validation_rules: {} + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + issue_type: + type: string + format: uuid + readOnly: true + required: + - display_name + - property_type + IssuePropertyAPIRequest: + type: object + properties: + relation_type: + $ref: "#/components/schemas/RelationTypeEnum" + display_name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + nullable: true + property_type: + $ref: "#/components/schemas/PropertyTypeEnum" + is_required: + type: boolean + default_value: + type: array + items: + type: string + minLength: 1 + settings: {} + is_active: + type: boolean + is_multi: + type: boolean + validation_rules: {} + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - display_name + - property_type + IssuePropertyOptionAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + name: + type: string + maxLength: 255 + sort_order: + type: number + format: double + readOnly: true + description: + type: string + logo_props: + readOnly: true + is_active: + type: boolean + is_default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + property: + type: string + format: uuid + readOnly: true + parent: + type: string + format: uuid + nullable: true + required: + - name + IssuePropertyOptionAPIRequest: + type: object + properties: + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_active: + type: boolean + is_default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + required: + - name + IssuePropertyValueAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + value_text: + type: string + value_boolean: + type: boolean + value_decimal: + type: number + format: double + value_datetime: + type: string + format: date-time + nullable: true + value_uuid: + type: string + format: uuid + nullable: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + issue: + type: string + format: uuid + property: + type: string + format: uuid + value_option: + type: string + format: uuid + nullable: true + required: + - issue + - property + IssuePropertyValueAPIRequest: + type: object + properties: + value_text: + type: string + value_boolean: + type: boolean + value_decimal: + type: number + format: double + value_datetime: + type: string + format: date-time + nullable: true + value_uuid: + type: string + format: uuid + nullable: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + issue: + type: string + format: uuid + property: + type: string + format: uuid + value_option: + type: string + format: uuid + nullable: true + required: + - issue + - property + IssueRequest: + type: object + description: |- + Comprehensive work item serializer with full relationship management. + + Handles complete work item lifecycle including assignees, labels, validation, + and related model updates. Supports dynamic field expansion and HTML content processing. + properties: + assignees: + type: array + items: + type: string + format: uuid + writeOnly: true + labels: + type: array + items: + type: string + format: uuid + writeOnly: true + type_id: + type: string + format: uuid + nullable: true + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + minLength: 1 + title: Issue Name + maxLength: 255 + description_html: + type: string + description_stripped: + type: string + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + nullable: true + parent: + type: string + format: uuid + nullable: true + state: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + required: + - name + IssueSearch: + type: object + description: |- + Serializer for work item search result data formatting. + + Provides standardized search result structure including work item identifiers, + project context, and workspace information for search API responses. + properties: + id: + type: string + description: Issue ID + name: + type: string + description: Issue name + sequence_id: + type: string + description: Issue sequence ID + project__identifier: + type: string + description: Project identifier + project_id: + type: string + description: Project ID + workspace__slug: + type: string + description: Workspace slug + required: + - id + - name + - project__identifier + - project_id + - sequence_id + - workspace__slug + IssueTypeAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + deleted_at: + type: string + format: date-time + nullable: true + readOnly: true + project_ids: + type: array + items: + type: string + format: uuid + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + name: + type: string + maxLength: 255 + description: + type: string + logo_props: + readOnly: true + is_epic: + type: boolean + is_default: + type: boolean + readOnly: true + is_active: + type: boolean + level: + type: number + format: double + readOnly: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + required: + - name + IssueTypeAPIRequest: + type: object + properties: + project_ids: + type: array + items: + type: string + format: uuid + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_epic: + type: boolean + is_active: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - name + IssueWorkLogAPI: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + description: + type: string + duration: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project_id: + type: string + format: uuid + readOnly: true + workspace_id: + type: string + format: uuid + readOnly: true + logged_by: + type: string + format: uuid + readOnly: true + IssueWorkLogAPIRequest: + type: object + properties: + description: + type: string + duration: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + Label: + type: object + description: |- + Full serializer for work item labels with complete metadata. + + Provides comprehensive label information including hierarchical relationships, + visual properties, and organizational data for work item tagging. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + maxLength: 255 + description: + type: string + color: + type: string + maxLength: 255 + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + project: + type: string + format: uuid + readOnly: true + nullable: true + parent: + type: string + format: uuid + nullable: true + required: + - name + LabelCreateUpdateRequest: + type: object + description: |- + Serializer for creating and updating work item labels. + + Manages label metadata including colors, descriptions, hierarchy, + and sorting for work item categorization and filtering. + properties: + name: + type: string + minLength: 1 + maxLength: 255 + color: + type: string + maxLength: 255 + description: + type: string + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + sort_order: + type: number + format: double + required: + - name + Module: + type: object + description: |- + Comprehensive module serializer with work item metrics and member management. + + Provides complete module data including work item counts by status, member relationships, + and progress tracking for feature-based project organization. + properties: + id: + type: string + format: uuid + readOnly: true + total_issues: + type: integer + readOnly: true + cancelled_issues: + type: integer + readOnly: true + completed_issues: + type: integer + readOnly: true + started_issues: + type: integer + readOnly: true + unstarted_issues: + type: integer + readOnly: true + backlog_issues: + type: integer + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + description_text: + nullable: true + title: Module Description RT + description_html: + nullable: true + title: Module Description HTML + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + lead: + type: string + format: uuid + nullable: true + required: + - name + ModuleCreateRequest: + type: object + description: |- + Serializer for creating modules with member validation and date checking. + + Handles module creation including member assignment validation, date range verification, + and duplicate name prevention for feature-based project organization setup. + properties: + name: + type: string + minLength: 1 + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + lead: + type: string + format: uuid + nullable: true + members: + type: array + items: + type: string + format: uuid + writeOnly: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - name + ModuleIssue: + type: object + description: |- + Serializer for module-work item relationships with sub-item counting. + + Manages the association between modules and work items, including + hierarchical issue tracking for nested work item structures. + properties: + id: + type: string + format: uuid + readOnly: true + sub_issues_count: + type: integer + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + module: + type: string + format: uuid + readOnly: true + issue: + type: string + format: uuid + required: + - deleted_at + - issue + ModuleIssueRequestRequest: + type: object + description: |- + Serializer for bulk work item assignment to modules. + + Validates work item ID lists for batch operations including + module assignment and work item organization workflows. + properties: + issues: + type: array + items: + type: string + format: uuid + description: List of issue IDs to add to the module + required: + - issues + ModuleLite: + type: object + description: |- + Lightweight module serializer for minimal data transfer. + + Provides essential module information without computed metrics, + optimized for list views and reference lookups. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + nullable: true + name: + type: string + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + description_text: + nullable: true + title: Module Description RT + description_html: + nullable: true + title: Module Description HTML + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + view_props: {} + sort_order: + type: number + format: double + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + archived_at: + type: string + format: date-time + nullable: true + logo_props: {} + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + project: + type: string + format: uuid + workspace: + type: string + format: uuid + lead: + type: string + format: uuid + nullable: true + members: + type: array + items: + type: string + format: uuid + readOnly: true + required: + - deleted_at + - name + - project + - workspace + ModuleStatusEnum: + enum: + - backlog + - planned + - in-progress + - paused + - completed + - cancelled + type: string + description: |- + * `backlog` - Backlog + * `planned` - Planned + * `in-progress` - In Progress + * `paused` - Paused + * `completed` - Completed + * `cancelled` - Cancelled + NetworkEnum: + enum: + - 0 + - 2 + type: integer + description: |- + * `0` - Secret + * `2` - Public + PaginatedArchivedCycleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Cycle" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedArchivedModuleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Module" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedCycleIssueResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/CycleIssue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedCycleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Cycle" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIntakeIssueResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IntakeIssue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueActivityDetailResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueActivity" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueActivityResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueActivity" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueCommentResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueComment" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueLinkDetailResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueLink" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedIssueLinkResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/IssueLink" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedLabelResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Label" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedModuleIssueResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Issue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedModuleResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Module" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedProjectResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Project" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedStateResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/State" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PaginatedWorkItemResponse: + type: object + properties: + grouped_by: + type: string + nullable: true + sub_grouped_by: + type: string + nullable: true + total_count: + type: integer + next_cursor: + type: string + prev_cursor: + type: string + next_page_results: + type: boolean + prev_page_results: + type: boolean + count: + type: integer + total_pages: + type: integer + total_results: + type: integer + extra_stats: + type: string + nullable: true + results: + type: array + items: + $ref: "#/components/schemas/Issue" + required: + - count + - extra_stats + - grouped_by + - next_cursor + - next_page_results + - prev_cursor + - prev_page_results + - results + - sub_grouped_by + - total_count + - total_pages + - total_results + PatchedAssetUpdateRequest: + type: object + description: |- + Serializer for asset status updates after successful upload completion. + + Handles post-upload asset metadata updates including attribute modifications + and upload confirmation for S3-based file storage workflows. + properties: + attributes: + description: Additional attributes to update for the asset + PatchedCycleUpdateRequest: + type: object + description: |- + Serializer for updating cycles with enhanced ownership management. + + Extends cycle creation with update-specific features including ownership + assignment and modification tracking for cycle lifecycle management. + properties: + name: + type: string + minLength: 1 + title: Cycle Name + maxLength: 255 + description: + type: string + title: Cycle Description + start_date: + type: string + format: date-time + nullable: true + end_date: + type: string + format: date-time + nullable: true + owned_by: + type: string + format: uuid + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + PatchedGenericAssetUpdateRequest: + type: object + description: |- + Serializer for generic asset upload confirmation and status management. + + Handles post-upload status updates for workspace assets including + upload completion marking and metadata finalization. + properties: + is_uploaded: + type: boolean + default: true + description: Whether the asset has been successfully uploaded + PatchedIntakeIssueUpdateRequest: + type: object + description: |- + Serializer for updating intake work items and their associated issues. + + Handles intake work item modifications including status changes, triage decisions, + and embedded issue updates for issue queue processing workflows. + properties: + status: + allOf: + - $ref: "#/components/schemas/IntakeWorkItemStatusEnum" + minimum: -2147483648 + maximum: 2147483647 + snoozed_till: + type: string + format: date-time + nullable: true + duplicate_to: + type: string + format: uuid + nullable: true + source: + type: string + nullable: true + maxLength: 255 + source_email: + type: string + nullable: true + issue: + allOf: + - $ref: "#/components/schemas/IssueForIntakeRequest" + description: Issue data to update in the intake issue + PatchedIssueCommentCreateRequest: + type: object + description: |- + Serializer for creating work item comments. + + Handles comment creation with JSON and HTML content support, + access control, and external integration tracking. + properties: + comment_json: {} + comment_html: + type: string + access: + $ref: "#/components/schemas/AccessEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedIssueLinkUpdateRequest: + type: object + description: |- + Serializer for updating work item external links. + + Extends link creation with update-specific validation to prevent + URL conflicts and maintain link integrity during modifications. + properties: + url: + type: string + minLength: 1 + PatchedIssuePropertyAPIRequest: + type: object + properties: + relation_type: + $ref: "#/components/schemas/RelationTypeEnum" + display_name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + nullable: true + property_type: + $ref: "#/components/schemas/PropertyTypeEnum" + is_required: + type: boolean + default_value: + type: array + items: + type: string + minLength: 1 + settings: {} + is_active: + type: boolean + is_multi: + type: boolean + validation_rules: {} + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedIssuePropertyOptionAPIRequest: + type: object + properties: + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_active: + type: boolean + is_default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + PatchedIssueRequest: + type: object + description: |- + Comprehensive work item serializer with full relationship management. + + Handles complete work item lifecycle including assignees, labels, validation, + and related model updates. Supports dynamic field expansion and HTML content processing. + properties: + assignees: + type: array + items: + type: string + format: uuid + writeOnly: true + labels: + type: array + items: + type: string + format: uuid + writeOnly: true + type_id: + type: string + format: uuid + nullable: true + deleted_at: + type: string + format: date-time + nullable: true + point: + type: integer + maximum: 12 + minimum: 0 + nullable: true + name: + type: string + minLength: 1 + title: Issue Name + maxLength: 255 + description_html: + type: string + description_stripped: + type: string + nullable: true + priority: + allOf: + - $ref: "#/components/schemas/PriorityEnum" + title: Issue Priority + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + sequence_id: + type: integer + maximum: 2147483647 + minimum: -2147483648 + title: Issue Sequence ID + sort_order: + type: number + format: double + completed_at: + type: string + format: date-time + nullable: true + archived_at: + type: string + format: date + nullable: true + is_draft: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + nullable: true + parent: + type: string + format: uuid + nullable: true + state: + type: string + format: uuid + nullable: true + estimate_point: + type: string + format: uuid + nullable: true + type: + type: string + format: uuid + nullable: true + PatchedIssueTypeAPIRequest: + type: object + properties: + project_ids: + type: array + items: + type: string + format: uuid + name: + type: string + minLength: 1 + maxLength: 255 + description: + type: string + is_epic: + type: boolean + is_active: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedIssueWorkLogAPIRequest: + type: object + properties: + description: + type: string + duration: + type: integer + maximum: 2147483647 + minimum: -2147483648 + created_by: + type: string + format: uuid + nullable: true + updated_by: + type: string + format: uuid + nullable: true + title: Last Modified By + PatchedLabelCreateUpdateRequest: + type: object + description: |- + Serializer for creating and updating work item labels. + + Manages label metadata including colors, descriptions, hierarchy, + and sorting for work item categorization and filtering. + properties: + name: + type: string + minLength: 1 + maxLength: 255 + color: + type: string + maxLength: 255 + description: + type: string + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + parent: + type: string + format: uuid + nullable: true + sort_order: + type: number + format: double + PatchedModuleUpdateRequest: + type: object + description: |- + Serializer for updating modules with enhanced validation and member management. + + Extends module creation with update-specific validations including member reassignment, + name conflict checking, and relationship management for module modifications. + properties: + name: + type: string + minLength: 1 + title: Module Name + maxLength: 255 + description: + type: string + title: Module Description + start_date: + type: string + format: date + nullable: true + target_date: + type: string + format: date + nullable: true + status: + $ref: "#/components/schemas/ModuleStatusEnum" + lead: + type: string + format: uuid + nullable: true + members: + type: array + items: + type: string + format: uuid + writeOnly: true + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PatchedProjectUpdateRequest: + type: object + description: |- + Serializer for updating projects with enhanced state and estimation management. + + Extends project creation with update-specific validations including default state + assignment, estimation configuration, and project setting modifications. + properties: + name: + type: string + minLength: 1 + title: Project Name + maxLength: 255 + description: + type: string + title: Project Description + project_lead: + type: string + format: uuid + nullable: true + default_assignee: + type: string + format: uuid + nullable: true + identifier: + type: string + minLength: 1 + title: Project Identifier + maxLength: 12 + icon_prop: + nullable: true + emoji: + type: string + nullable: true + maxLength: 255 + cover_image: + type: string + nullable: true + module_view: + type: boolean + cycle_view: + type: boolean + issue_views_view: + type: boolean + page_view: + type: boolean + intake_view: + type: boolean + guest_view_all_features: + type: boolean + archive_in: + type: integer + maximum: 12 + minimum: 0 + close_in: + type: integer + maximum: 12 + minimum: 0 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + default_state: + type: string + format: uuid + nullable: true + estimate: + type: string + format: uuid + nullable: true + PatchedStateRequest: + type: object + description: |- + Serializer for work item states with default state management. + + Handles state creation and updates including default state validation + and automatic default state switching for workflow management. + properties: + name: + type: string + minLength: 1 + title: State Name + maxLength: 255 + description: + type: string + title: State Description + color: + type: string + minLength: 1 + title: State Color + maxLength: 255 + sequence: + type: number + format: double + group: + $ref: "#/components/schemas/GroupEnum" + is_triage: + type: boolean + default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + PriorityEnum: + enum: + - urgent + - high + - medium + - low + - none + type: string + description: |- + * `urgent` - Urgent + * `high` - High + * `medium` - Medium + * `low` - Low + * `none` - None + Project: + type: object + description: |- + Comprehensive project serializer with metrics and member context. + + Provides complete project data including member counts, cycle/module totals, + deployment status, and user-specific context for project management. + properties: + id: + type: string + format: uuid + readOnly: true + total_members: + type: integer + readOnly: true + total_cycles: + type: integer + readOnly: true + total_modules: + type: integer + readOnly: true + is_member: + type: boolean + readOnly: true + sort_order: + type: number + format: double + readOnly: true + member_role: + type: integer + readOnly: true + is_deployed: + type: boolean + readOnly: true + cover_image_url: + type: string + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: Project Name + maxLength: 255 + description: + type: string + title: Project Description + description_text: + nullable: true + title: Project Description RT + description_html: + nullable: true + title: Project Description HTML + network: + allOf: + - $ref: "#/components/schemas/NetworkEnum" + minimum: 0 + maximum: 32767 + identifier: + type: string + title: Project Identifier + maxLength: 12 + emoji: + type: string + readOnly: true + nullable: true + icon_prop: + nullable: true + module_view: + type: boolean + cycle_view: + type: boolean + issue_views_view: + type: boolean + page_view: + type: boolean + intake_view: + type: boolean + is_time_tracking_enabled: + type: boolean + is_issue_type_enabled: + type: boolean + guest_view_all_features: + type: boolean + cover_image: + type: string + nullable: true + archive_in: + type: integer + maximum: 12 + minimum: 0 + close_in: + type: integer + maximum: 12 + minimum: 0 + logo_props: {} + archived_at: + type: string + format: date-time + nullable: true + timezone: + $ref: "#/components/schemas/TimezoneEnum" + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + workspace: + type: string + format: uuid + readOnly: true + default_assignee: + type: string + format: uuid + nullable: true + project_lead: + type: string + format: uuid + nullable: true + cover_image_asset: + type: string + format: uuid + nullable: true + estimate: + type: string + format: uuid + nullable: true + default_state: + type: string + format: uuid + nullable: true + required: + - identifier + - name + ProjectCreateRequest: + type: object + description: |- + Serializer for creating projects with workspace validation. + + Handles project creation including identifier validation, member verification, + and workspace association for new project initialization. + properties: + name: + type: string + minLength: 1 + title: Project Name + maxLength: 255 + description: + type: string + title: Project Description + project_lead: + type: string + format: uuid + nullable: true + default_assignee: + type: string + format: uuid + nullable: true + identifier: + type: string + minLength: 1 + title: Project Identifier + maxLength: 12 + icon_prop: + nullable: true + emoji: + type: string + nullable: true + maxLength: 255 + cover_image: + type: string + nullable: true + module_view: + type: boolean + cycle_view: + type: boolean + issue_views_view: + type: boolean + page_view: + type: boolean + intake_view: + type: boolean + guest_view_all_features: + type: boolean + archive_in: + type: integer + maximum: 12 + minimum: 0 + close_in: + type: integer + maximum: 12 + minimum: 0 + timezone: + $ref: "#/components/schemas/TimezoneEnum" + required: + - identifier + - name + ProjectWorklogSummary: + type: object + description: Serializer for project worklog summary with aggregated duration + per issue + properties: + issue_id: + type: string + format: uuid + description: ID of the work item + duration: + type: integer + description: Total duration logged for this work item in seconds + required: + - duration + - issue_id + PropertyTypeEnum: + enum: + - TEXT + - DATETIME + - DECIMAL + - BOOLEAN + - OPTION + - RELATION + - URL + - EMAIL + - FILE + type: string + description: |- + * `TEXT` - Text + * `DATETIME` - Datetime + * `DECIMAL` - Decimal + * `BOOLEAN` - Boolean + * `OPTION` - Option + * `RELATION` - Relation + * `URL` - URL + * `EMAIL` - Email + * `FILE` - File + RelationTypeEnum: + enum: + - ISSUE + - USER + type: string + description: |- + * `ISSUE` - Issue + * `USER` - User + State: + type: object + description: |- + Serializer for work item states with default state management. + + Handles state creation and updates including default state validation + and automatic default state switching for workflow management. + properties: + id: + type: string + format: uuid + readOnly: true + created_at: + type: string + format: date-time + readOnly: true + updated_at: + type: string + format: date-time + readOnly: true + title: Last Modified At + deleted_at: + type: string + format: date-time + readOnly: true + nullable: true + name: + type: string + title: State Name + maxLength: 255 + description: + type: string + title: State Description + color: + type: string + title: State Color + maxLength: 255 + slug: + type: string + readOnly: true + pattern: ^[-a-zA-Z0-9_]+$ + sequence: + type: number + format: double + group: + $ref: "#/components/schemas/GroupEnum" + is_triage: + type: boolean + default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + created_by: + type: string + format: uuid + readOnly: true + nullable: true + updated_by: + type: string + format: uuid + readOnly: true + nullable: true + title: Last Modified By + project: + type: string + format: uuid + readOnly: true + workspace: + type: string + format: uuid + readOnly: true + required: + - color + - name + StateLite: + type: object + description: |- + Lightweight state serializer for minimal data transfer. + + Provides essential state information including visual properties + and grouping data optimized for UI display and filtering. + properties: + id: + type: string + format: uuid + readOnly: true + name: + type: string + readOnly: true + title: State Name + color: + type: string + readOnly: true + title: State Color + group: + allOf: + - $ref: "#/components/schemas/GroupEnum" + readOnly: true + StateRequest: + type: object + description: |- + Serializer for work item states with default state management. + + Handles state creation and updates including default state validation + and automatic default state switching for workflow management. + properties: + name: + type: string + minLength: 1 + title: State Name + maxLength: 255 + description: + type: string + title: State Description + color: + type: string + minLength: 1 + title: State Color + maxLength: 255 + sequence: + type: number + format: double + group: + $ref: "#/components/schemas/GroupEnum" + is_triage: + type: boolean + default: + type: boolean + external_source: + type: string + nullable: true + maxLength: 255 + external_id: + type: string + nullable: true + maxLength: 255 + required: + - color + - name + TimezoneEnum: + enum: + - Africa/Abidjan + - Africa/Accra + - Africa/Addis_Ababa + - Africa/Algiers + - Africa/Asmara + - Africa/Bamako + - Africa/Bangui + - Africa/Banjul + - Africa/Bissau + - Africa/Blantyre + - Africa/Brazzaville + - Africa/Bujumbura + - Africa/Cairo + - Africa/Casablanca + - Africa/Ceuta + - Africa/Conakry + - Africa/Dakar + - Africa/Dar_es_Salaam + - Africa/Djibouti + - Africa/Douala + - Africa/El_Aaiun + - Africa/Freetown + - Africa/Gaborone + - Africa/Harare + - Africa/Johannesburg + - Africa/Juba + - Africa/Kampala + - Africa/Khartoum + - Africa/Kigali + - Africa/Kinshasa + - Africa/Lagos + - Africa/Libreville + - Africa/Lome + - Africa/Luanda + - Africa/Lubumbashi + - Africa/Lusaka + - Africa/Malabo + - Africa/Maputo + - Africa/Maseru + - Africa/Mbabane + - Africa/Mogadishu + - Africa/Monrovia + - Africa/Nairobi + - Africa/Ndjamena + - Africa/Niamey + - Africa/Nouakchott + - Africa/Ouagadougou + - Africa/Porto-Novo + - Africa/Sao_Tome + - Africa/Tripoli + - Africa/Tunis + - Africa/Windhoek + - America/Adak + - America/Anchorage + - America/Anguilla + - America/Antigua + - America/Araguaina + - America/Argentina/Buenos_Aires + - America/Argentina/Catamarca + - America/Argentina/Cordoba + - America/Argentina/Jujuy + - America/Argentina/La_Rioja + - America/Argentina/Mendoza + - America/Argentina/Rio_Gallegos + - America/Argentina/Salta + - America/Argentina/San_Juan + - America/Argentina/San_Luis + - America/Argentina/Tucuman + - America/Argentina/Ushuaia + - America/Aruba + - America/Asuncion + - America/Atikokan + - America/Bahia + - America/Bahia_Banderas + - America/Barbados + - America/Belem + - America/Belize + - America/Blanc-Sablon + - America/Boa_Vista + - America/Bogota + - America/Boise + - America/Cambridge_Bay + - America/Campo_Grande + - America/Cancun + - America/Caracas + - America/Cayenne + - America/Cayman + - America/Chicago + - America/Chihuahua + - America/Ciudad_Juarez + - America/Costa_Rica + - America/Creston + - America/Cuiaba + - America/Curacao + - America/Danmarkshavn + - America/Dawson + - America/Dawson_Creek + - America/Denver + - America/Detroit + - America/Dominica + - America/Edmonton + - America/Eirunepe + - America/El_Salvador + - America/Fort_Nelson + - America/Fortaleza + - America/Glace_Bay + - America/Goose_Bay + - America/Grand_Turk + - America/Grenada + - America/Guadeloupe + - America/Guatemala + - America/Guayaquil + - America/Guyana + - America/Halifax + - America/Havana + - America/Hermosillo + - America/Indiana/Indianapolis + - America/Indiana/Knox + - America/Indiana/Marengo + - America/Indiana/Petersburg + - America/Indiana/Tell_City + - America/Indiana/Vevay + - America/Indiana/Vincennes + - America/Indiana/Winamac + - America/Inuvik + - America/Iqaluit + - America/Jamaica + - America/Juneau + - America/Kentucky/Louisville + - America/Kentucky/Monticello + - America/Kralendijk + - America/La_Paz + - America/Lima + - America/Los_Angeles + - America/Lower_Princes + - America/Maceio + - America/Managua + - America/Manaus + - America/Marigot + - America/Martinique + - America/Matamoros + - America/Mazatlan + - America/Menominee + - America/Merida + - America/Metlakatla + - America/Mexico_City + - America/Miquelon + - America/Moncton + - America/Monterrey + - America/Montevideo + - America/Montserrat + - America/Nassau + - America/New_York + - America/Nome + - America/Noronha + - America/North_Dakota/Beulah + - America/North_Dakota/Center + - America/North_Dakota/New_Salem + - America/Nuuk + - America/Ojinaga + - America/Panama + - America/Paramaribo + - America/Phoenix + - America/Port-au-Prince + - America/Port_of_Spain + - America/Porto_Velho + - America/Puerto_Rico + - America/Punta_Arenas + - America/Rankin_Inlet + - America/Recife + - America/Regina + - America/Resolute + - America/Rio_Branco + - America/Santarem + - America/Santiago + - America/Santo_Domingo + - America/Sao_Paulo + - America/Scoresbysund + - America/Sitka + - America/St_Barthelemy + - America/St_Johns + - America/St_Kitts + - America/St_Lucia + - America/St_Thomas + - America/St_Vincent + - America/Swift_Current + - America/Tegucigalpa + - America/Thule + - America/Tijuana + - America/Toronto + - America/Tortola + - America/Vancouver + - America/Whitehorse + - America/Winnipeg + - America/Yakutat + - Antarctica/Casey + - Antarctica/Davis + - Antarctica/DumontDUrville + - Antarctica/Macquarie + - Antarctica/Mawson + - Antarctica/McMurdo + - Antarctica/Palmer + - Antarctica/Rothera + - Antarctica/Syowa + - Antarctica/Troll + - Antarctica/Vostok + - Arctic/Longyearbyen + - Asia/Aden + - Asia/Almaty + - Asia/Amman + - Asia/Anadyr + - Asia/Aqtau + - Asia/Aqtobe + - Asia/Ashgabat + - Asia/Atyrau + - Asia/Baghdad + - Asia/Bahrain + - Asia/Baku + - Asia/Bangkok + - Asia/Barnaul + - Asia/Beirut + - Asia/Bishkek + - Asia/Brunei + - Asia/Chita + - Asia/Choibalsan + - Asia/Colombo + - Asia/Damascus + - Asia/Dhaka + - Asia/Dili + - Asia/Dubai + - Asia/Dushanbe + - Asia/Famagusta + - Asia/Gaza + - Asia/Hebron + - Asia/Ho_Chi_Minh + - Asia/Hong_Kong + - Asia/Hovd + - Asia/Irkutsk + - Asia/Jakarta + - Asia/Jayapura + - Asia/Jerusalem + - Asia/Kabul + - Asia/Kamchatka + - Asia/Karachi + - Asia/Kathmandu + - Asia/Khandyga + - Asia/Kolkata + - Asia/Krasnoyarsk + - Asia/Kuala_Lumpur + - Asia/Kuching + - Asia/Kuwait + - Asia/Macau + - Asia/Magadan + - Asia/Makassar + - Asia/Manila + - Asia/Muscat + - Asia/Nicosia + - Asia/Novokuznetsk + - Asia/Novosibirsk + - Asia/Omsk + - Asia/Oral + - Asia/Phnom_Penh + - Asia/Pontianak + - Asia/Pyongyang + - Asia/Qatar + - Asia/Qostanay + - Asia/Qyzylorda + - Asia/Riyadh + - Asia/Sakhalin + - Asia/Samarkand + - Asia/Seoul + - Asia/Shanghai + - Asia/Singapore + - Asia/Srednekolymsk + - Asia/Taipei + - Asia/Tashkent + - Asia/Tbilisi + - Asia/Tehran + - Asia/Thimphu + - Asia/Tokyo + - Asia/Tomsk + - Asia/Ulaanbaatar + - Asia/Urumqi + - Asia/Ust-Nera + - Asia/Vientiane + - Asia/Vladivostok + - Asia/Yakutsk + - Asia/Yangon + - Asia/Yekaterinburg + - Asia/Yerevan + - Atlantic/Azores + - Atlantic/Bermuda + - Atlantic/Canary + - Atlantic/Cape_Verde + - Atlantic/Faroe + - Atlantic/Madeira + - Atlantic/Reykjavik + - Atlantic/South_Georgia + - Atlantic/St_Helena + - Atlantic/Stanley + - Australia/Adelaide + - Australia/Brisbane + - Australia/Broken_Hill + - Australia/Darwin + - Australia/Eucla + - Australia/Hobart + - Australia/Lindeman + - Australia/Lord_Howe + - Australia/Melbourne + - Australia/Perth + - Australia/Sydney + - Canada/Atlantic + - Canada/Central + - Canada/Eastern + - Canada/Mountain + - Canada/Newfoundland + - Canada/Pacific + - Europe/Amsterdam + - Europe/Andorra + - Europe/Astrakhan + - Europe/Athens + - Europe/Belgrade + - Europe/Berlin + - Europe/Bratislava + - Europe/Brussels + - Europe/Bucharest + - Europe/Budapest + - Europe/Busingen + - Europe/Chisinau + - Europe/Copenhagen + - Europe/Dublin + - Europe/Gibraltar + - Europe/Guernsey + - Europe/Helsinki + - Europe/Isle_of_Man + - Europe/Istanbul + - Europe/Jersey + - Europe/Kaliningrad + - Europe/Kirov + - Europe/Kyiv + - Europe/Lisbon + - Europe/Ljubljana + - Europe/London + - Europe/Luxembourg + - Europe/Madrid + - Europe/Malta + - Europe/Mariehamn + - Europe/Minsk + - Europe/Monaco + - Europe/Moscow + - Europe/Oslo + - Europe/Paris + - Europe/Podgorica + - Europe/Prague + - Europe/Riga + - Europe/Rome + - Europe/Samara + - Europe/San_Marino + - Europe/Sarajevo + - Europe/Saratov + - Europe/Simferopol + - Europe/Skopje + - Europe/Sofia + - Europe/Stockholm + - Europe/Tallinn + - Europe/Tirane + - Europe/Ulyanovsk + - Europe/Vaduz + - Europe/Vatican + - Europe/Vienna + - Europe/Vilnius + - Europe/Volgograd + - Europe/Warsaw + - Europe/Zagreb + - Europe/Zurich + - GMT + - Indian/Antananarivo + - Indian/Chagos + - Indian/Christmas + - Indian/Cocos + - Indian/Comoro + - Indian/Kerguelen + - Indian/Mahe + - Indian/Maldives + - Indian/Mauritius + - Indian/Mayotte + - Indian/Reunion + - Pacific/Apia + - Pacific/Auckland + - Pacific/Bougainville + - Pacific/Chatham + - Pacific/Chuuk + - Pacific/Easter + - Pacific/Efate + - Pacific/Fakaofo + - Pacific/Fiji + - Pacific/Funafuti + - Pacific/Galapagos + - Pacific/Gambier + - Pacific/Guadalcanal + - Pacific/Guam + - Pacific/Honolulu + - Pacific/Kanton + - Pacific/Kiritimati + - Pacific/Kosrae + - Pacific/Kwajalein + - Pacific/Majuro + - Pacific/Marquesas + - Pacific/Midway + - Pacific/Nauru + - Pacific/Niue + - Pacific/Norfolk + - Pacific/Noumea + - Pacific/Pago_Pago + - Pacific/Palau + - Pacific/Pitcairn + - Pacific/Pohnpei + - Pacific/Port_Moresby + - Pacific/Rarotonga + - Pacific/Saipan + - Pacific/Tahiti + - Pacific/Tarawa + - Pacific/Tongatapu + - Pacific/Wake + - Pacific/Wallis + - US/Alaska + - US/Arizona + - US/Central + - US/Eastern + - US/Hawaii + - US/Mountain + - US/Pacific + - UTC + type: string + description: |- + * `Africa/Abidjan` - Africa/Abidjan + * `Africa/Accra` - Africa/Accra + * `Africa/Addis_Ababa` - Africa/Addis_Ababa + * `Africa/Algiers` - Africa/Algiers + * `Africa/Asmara` - Africa/Asmara + * `Africa/Bamako` - Africa/Bamako + * `Africa/Bangui` - Africa/Bangui + * `Africa/Banjul` - Africa/Banjul + * `Africa/Bissau` - Africa/Bissau + * `Africa/Blantyre` - Africa/Blantyre + * `Africa/Brazzaville` - Africa/Brazzaville + * `Africa/Bujumbura` - Africa/Bujumbura + * `Africa/Cairo` - Africa/Cairo + * `Africa/Casablanca` - Africa/Casablanca + * `Africa/Ceuta` - Africa/Ceuta + * `Africa/Conakry` - Africa/Conakry + * `Africa/Dakar` - Africa/Dakar + * `Africa/Dar_es_Salaam` - Africa/Dar_es_Salaam + * `Africa/Djibouti` - Africa/Djibouti + * `Africa/Douala` - Africa/Douala + * `Africa/El_Aaiun` - Africa/El_Aaiun + * `Africa/Freetown` - Africa/Freetown + * `Africa/Gaborone` - Africa/Gaborone + * `Africa/Harare` - Africa/Harare + * `Africa/Johannesburg` - Africa/Johannesburg + * `Africa/Juba` - Africa/Juba + * `Africa/Kampala` - Africa/Kampala + * `Africa/Khartoum` - Africa/Khartoum + * `Africa/Kigali` - Africa/Kigali + * `Africa/Kinshasa` - Africa/Kinshasa + * `Africa/Lagos` - Africa/Lagos + * `Africa/Libreville` - Africa/Libreville + * `Africa/Lome` - Africa/Lome + * `Africa/Luanda` - Africa/Luanda + * `Africa/Lubumbashi` - Africa/Lubumbashi + * `Africa/Lusaka` - Africa/Lusaka + * `Africa/Malabo` - Africa/Malabo + * `Africa/Maputo` - Africa/Maputo + * `Africa/Maseru` - Africa/Maseru + * `Africa/Mbabane` - Africa/Mbabane + * `Africa/Mogadishu` - Africa/Mogadishu + * `Africa/Monrovia` - Africa/Monrovia + * `Africa/Nairobi` - Africa/Nairobi + * `Africa/Ndjamena` - Africa/Ndjamena + * `Africa/Niamey` - Africa/Niamey + * `Africa/Nouakchott` - Africa/Nouakchott + * `Africa/Ouagadougou` - Africa/Ouagadougou + * `Africa/Porto-Novo` - Africa/Porto-Novo + * `Africa/Sao_Tome` - Africa/Sao_Tome + * `Africa/Tripoli` - Africa/Tripoli + * `Africa/Tunis` - Africa/Tunis + * `Africa/Windhoek` - Africa/Windhoek + * `America/Adak` - America/Adak + * `America/Anchorage` - America/Anchorage + * `America/Anguilla` - America/Anguilla + * `America/Antigua` - America/Antigua + * `America/Araguaina` - America/Araguaina + * `America/Argentina/Buenos_Aires` - America/Argentina/Buenos_Aires + * `America/Argentina/Catamarca` - America/Argentina/Catamarca + * `America/Argentina/Cordoba` - America/Argentina/Cordoba + * `America/Argentina/Jujuy` - America/Argentina/Jujuy + * `America/Argentina/La_Rioja` - America/Argentina/La_Rioja + * `America/Argentina/Mendoza` - America/Argentina/Mendoza + * `America/Argentina/Rio_Gallegos` - America/Argentina/Rio_Gallegos + * `America/Argentina/Salta` - America/Argentina/Salta + * `America/Argentina/San_Juan` - America/Argentina/San_Juan + * `America/Argentina/San_Luis` - America/Argentina/San_Luis + * `America/Argentina/Tucuman` - America/Argentina/Tucuman + * `America/Argentina/Ushuaia` - America/Argentina/Ushuaia + * `America/Aruba` - America/Aruba + * `America/Asuncion` - America/Asuncion + * `America/Atikokan` - America/Atikokan + * `America/Bahia` - America/Bahia + * `America/Bahia_Banderas` - America/Bahia_Banderas + * `America/Barbados` - America/Barbados + * `America/Belem` - America/Belem + * `America/Belize` - America/Belize + * `America/Blanc-Sablon` - America/Blanc-Sablon + * `America/Boa_Vista` - America/Boa_Vista + * `America/Bogota` - America/Bogota + * `America/Boise` - America/Boise + * `America/Cambridge_Bay` - America/Cambridge_Bay + * `America/Campo_Grande` - America/Campo_Grande + * `America/Cancun` - America/Cancun + * `America/Caracas` - America/Caracas + * `America/Cayenne` - America/Cayenne + * `America/Cayman` - America/Cayman + * `America/Chicago` - America/Chicago + * `America/Chihuahua` - America/Chihuahua + * `America/Ciudad_Juarez` - America/Ciudad_Juarez + * `America/Costa_Rica` - America/Costa_Rica + * `America/Creston` - America/Creston + * `America/Cuiaba` - America/Cuiaba + * `America/Curacao` - America/Curacao + * `America/Danmarkshavn` - America/Danmarkshavn + * `America/Dawson` - America/Dawson + * `America/Dawson_Creek` - America/Dawson_Creek + * `America/Denver` - America/Denver + * `America/Detroit` - America/Detroit + * `America/Dominica` - America/Dominica + * `America/Edmonton` - America/Edmonton + * `America/Eirunepe` - America/Eirunepe + * `America/El_Salvador` - America/El_Salvador + * `America/Fort_Nelson` - America/Fort_Nelson + * `America/Fortaleza` - America/Fortaleza + * `America/Glace_Bay` - America/Glace_Bay + * `America/Goose_Bay` - America/Goose_Bay + * `America/Grand_Turk` - America/Grand_Turk + * `America/Grenada` - America/Grenada + * `America/Guadeloupe` - America/Guadeloupe + * `America/Guatemala` - America/Guatemala + * `America/Guayaquil` - America/Guayaquil + * `America/Guyana` - America/Guyana + * `America/Halifax` - America/Halifax + * `America/Havana` - America/Havana + * `America/Hermosillo` - America/Hermosillo + * `America/Indiana/Indianapolis` - America/Indiana/Indianapolis + * `America/Indiana/Knox` - America/Indiana/Knox + * `America/Indiana/Marengo` - America/Indiana/Marengo + * `America/Indiana/Petersburg` - America/Indiana/Petersburg + * `America/Indiana/Tell_City` - America/Indiana/Tell_City + * `America/Indiana/Vevay` - America/Indiana/Vevay + * `America/Indiana/Vincennes` - America/Indiana/Vincennes + * `America/Indiana/Winamac` - America/Indiana/Winamac + * `America/Inuvik` - America/Inuvik + * `America/Iqaluit` - America/Iqaluit + * `America/Jamaica` - America/Jamaica + * `America/Juneau` - America/Juneau + * `America/Kentucky/Louisville` - America/Kentucky/Louisville + * `America/Kentucky/Monticello` - America/Kentucky/Monticello + * `America/Kralendijk` - America/Kralendijk + * `America/La_Paz` - America/La_Paz + * `America/Lima` - America/Lima + * `America/Los_Angeles` - America/Los_Angeles + * `America/Lower_Princes` - America/Lower_Princes + * `America/Maceio` - America/Maceio + * `America/Managua` - America/Managua + * `America/Manaus` - America/Manaus + * `America/Marigot` - America/Marigot + * `America/Martinique` - America/Martinique + * `America/Matamoros` - America/Matamoros + * `America/Mazatlan` - America/Mazatlan + * `America/Menominee` - America/Menominee + * `America/Merida` - America/Merida + * `America/Metlakatla` - America/Metlakatla + * `America/Mexico_City` - America/Mexico_City + * `America/Miquelon` - America/Miquelon + * `America/Moncton` - America/Moncton + * `America/Monterrey` - America/Monterrey + * `America/Montevideo` - America/Montevideo + * `America/Montserrat` - America/Montserrat + * `America/Nassau` - America/Nassau + * `America/New_York` - America/New_York + * `America/Nome` - America/Nome + * `America/Noronha` - America/Noronha + * `America/North_Dakota/Beulah` - America/North_Dakota/Beulah + * `America/North_Dakota/Center` - America/North_Dakota/Center + * `America/North_Dakota/New_Salem` - America/North_Dakota/New_Salem + * `America/Nuuk` - America/Nuuk + * `America/Ojinaga` - America/Ojinaga + * `America/Panama` - America/Panama + * `America/Paramaribo` - America/Paramaribo + * `America/Phoenix` - America/Phoenix + * `America/Port-au-Prince` - America/Port-au-Prince + * `America/Port_of_Spain` - America/Port_of_Spain + * `America/Porto_Velho` - America/Porto_Velho + * `America/Puerto_Rico` - America/Puerto_Rico + * `America/Punta_Arenas` - America/Punta_Arenas + * `America/Rankin_Inlet` - America/Rankin_Inlet + * `America/Recife` - America/Recife + * `America/Regina` - America/Regina + * `America/Resolute` - America/Resolute + * `America/Rio_Branco` - America/Rio_Branco + * `America/Santarem` - America/Santarem + * `America/Santiago` - America/Santiago + * `America/Santo_Domingo` - America/Santo_Domingo + * `America/Sao_Paulo` - America/Sao_Paulo + * `America/Scoresbysund` - America/Scoresbysund + * `America/Sitka` - America/Sitka + * `America/St_Barthelemy` - America/St_Barthelemy + * `America/St_Johns` - America/St_Johns + * `America/St_Kitts` - America/St_Kitts + * `America/St_Lucia` - America/St_Lucia + * `America/St_Thomas` - America/St_Thomas + * `America/St_Vincent` - America/St_Vincent + * `America/Swift_Current` - America/Swift_Current + * `America/Tegucigalpa` - America/Tegucigalpa + * `America/Thule` - America/Thule + * `America/Tijuana` - America/Tijuana + * `America/Toronto` - America/Toronto + * `America/Tortola` - America/Tortola + * `America/Vancouver` - America/Vancouver + * `America/Whitehorse` - America/Whitehorse + * `America/Winnipeg` - America/Winnipeg + * `America/Yakutat` - America/Yakutat + * `Antarctica/Casey` - Antarctica/Casey + * `Antarctica/Davis` - Antarctica/Davis + * `Antarctica/DumontDUrville` - Antarctica/DumontDUrville + * `Antarctica/Macquarie` - Antarctica/Macquarie + * `Antarctica/Mawson` - Antarctica/Mawson + * `Antarctica/McMurdo` - Antarctica/McMurdo + * `Antarctica/Palmer` - Antarctica/Palmer + * `Antarctica/Rothera` - Antarctica/Rothera + * `Antarctica/Syowa` - Antarctica/Syowa + * `Antarctica/Troll` - Antarctica/Troll + * `Antarctica/Vostok` - Antarctica/Vostok + * `Arctic/Longyearbyen` - Arctic/Longyearbyen + * `Asia/Aden` - Asia/Aden + * `Asia/Almaty` - Asia/Almaty + * `Asia/Amman` - Asia/Amman + * `Asia/Anadyr` - Asia/Anadyr + * `Asia/Aqtau` - Asia/Aqtau + * `Asia/Aqtobe` - Asia/Aqtobe + * `Asia/Ashgabat` - Asia/Ashgabat + * `Asia/Atyrau` - Asia/Atyrau + * `Asia/Baghdad` - Asia/Baghdad + * `Asia/Bahrain` - Asia/Bahrain + * `Asia/Baku` - Asia/Baku + * `Asia/Bangkok` - Asia/Bangkok + * `Asia/Barnaul` - Asia/Barnaul + * `Asia/Beirut` - Asia/Beirut + * `Asia/Bishkek` - Asia/Bishkek + * `Asia/Brunei` - Asia/Brunei + * `Asia/Chita` - Asia/Chita + * `Asia/Choibalsan` - Asia/Choibalsan + * `Asia/Colombo` - Asia/Colombo + * `Asia/Damascus` - Asia/Damascus + * `Asia/Dhaka` - Asia/Dhaka + * `Asia/Dili` - Asia/Dili + * `Asia/Dubai` - Asia/Dubai + * `Asia/Dushanbe` - Asia/Dushanbe + * `Asia/Famagusta` - Asia/Famagusta + * `Asia/Gaza` - Asia/Gaza + * `Asia/Hebron` - Asia/Hebron + * `Asia/Ho_Chi_Minh` - Asia/Ho_Chi_Minh + * `Asia/Hong_Kong` - Asia/Hong_Kong + * `Asia/Hovd` - Asia/Hovd + * `Asia/Irkutsk` - Asia/Irkutsk + * `Asia/Jakarta` - Asia/Jakarta + * `Asia/Jayapura` - Asia/Jayapura + * `Asia/Jerusalem` - Asia/Jerusalem + * `Asia/Kabul` - Asia/Kabul + * `Asia/Kamchatka` - Asia/Kamchatka + * `Asia/Karachi` - Asia/Karachi + * `Asia/Kathmandu` - Asia/Kathmandu + * `Asia/Khandyga` - Asia/Khandyga + * `Asia/Kolkata` - Asia/Kolkata + * `Asia/Krasnoyarsk` - Asia/Krasnoyarsk + * `Asia/Kuala_Lumpur` - Asia/Kuala_Lumpur + * `Asia/Kuching` - Asia/Kuching + * `Asia/Kuwait` - Asia/Kuwait + * `Asia/Macau` - Asia/Macau + * `Asia/Magadan` - Asia/Magadan + * `Asia/Makassar` - Asia/Makassar + * `Asia/Manila` - Asia/Manila + * `Asia/Muscat` - Asia/Muscat + * `Asia/Nicosia` - Asia/Nicosia + * `Asia/Novokuznetsk` - Asia/Novokuznetsk + * `Asia/Novosibirsk` - Asia/Novosibirsk + * `Asia/Omsk` - Asia/Omsk + * `Asia/Oral` - Asia/Oral + * `Asia/Phnom_Penh` - Asia/Phnom_Penh + * `Asia/Pontianak` - Asia/Pontianak + * `Asia/Pyongyang` - Asia/Pyongyang + * `Asia/Qatar` - Asia/Qatar + * `Asia/Qostanay` - Asia/Qostanay + * `Asia/Qyzylorda` - Asia/Qyzylorda + * `Asia/Riyadh` - Asia/Riyadh + * `Asia/Sakhalin` - Asia/Sakhalin + * `Asia/Samarkand` - Asia/Samarkand + * `Asia/Seoul` - Asia/Seoul + * `Asia/Shanghai` - Asia/Shanghai + * `Asia/Singapore` - Asia/Singapore + * `Asia/Srednekolymsk` - Asia/Srednekolymsk + * `Asia/Taipei` - Asia/Taipei + * `Asia/Tashkent` - Asia/Tashkent + * `Asia/Tbilisi` - Asia/Tbilisi + * `Asia/Tehran` - Asia/Tehran + * `Asia/Thimphu` - Asia/Thimphu + * `Asia/Tokyo` - Asia/Tokyo + * `Asia/Tomsk` - Asia/Tomsk + * `Asia/Ulaanbaatar` - Asia/Ulaanbaatar + * `Asia/Urumqi` - Asia/Urumqi + * `Asia/Ust-Nera` - Asia/Ust-Nera + * `Asia/Vientiane` - Asia/Vientiane + * `Asia/Vladivostok` - Asia/Vladivostok + * `Asia/Yakutsk` - Asia/Yakutsk + * `Asia/Yangon` - Asia/Yangon + * `Asia/Yekaterinburg` - Asia/Yekaterinburg + * `Asia/Yerevan` - Asia/Yerevan + * `Atlantic/Azores` - Atlantic/Azores + * `Atlantic/Bermuda` - Atlantic/Bermuda + * `Atlantic/Canary` - Atlantic/Canary + * `Atlantic/Cape_Verde` - Atlantic/Cape_Verde + * `Atlantic/Faroe` - Atlantic/Faroe + * `Atlantic/Madeira` - Atlantic/Madeira + * `Atlantic/Reykjavik` - Atlantic/Reykjavik + * `Atlantic/South_Georgia` - Atlantic/South_Georgia + * `Atlantic/St_Helena` - Atlantic/St_Helena + * `Atlantic/Stanley` - Atlantic/Stanley + * `Australia/Adelaide` - Australia/Adelaide + * `Australia/Brisbane` - Australia/Brisbane + * `Australia/Broken_Hill` - Australia/Broken_Hill + * `Australia/Darwin` - Australia/Darwin + * `Australia/Eucla` - Australia/Eucla + * `Australia/Hobart` - Australia/Hobart + * `Australia/Lindeman` - Australia/Lindeman + * `Australia/Lord_Howe` - Australia/Lord_Howe + * `Australia/Melbourne` - Australia/Melbourne + * `Australia/Perth` - Australia/Perth + * `Australia/Sydney` - Australia/Sydney + * `Canada/Atlantic` - Canada/Atlantic + * `Canada/Central` - Canada/Central + * `Canada/Eastern` - Canada/Eastern + * `Canada/Mountain` - Canada/Mountain + * `Canada/Newfoundland` - Canada/Newfoundland + * `Canada/Pacific` - Canada/Pacific + * `Europe/Amsterdam` - Europe/Amsterdam + * `Europe/Andorra` - Europe/Andorra + * `Europe/Astrakhan` - Europe/Astrakhan + * `Europe/Athens` - Europe/Athens + * `Europe/Belgrade` - Europe/Belgrade + * `Europe/Berlin` - Europe/Berlin + * `Europe/Bratislava` - Europe/Bratislava + * `Europe/Brussels` - Europe/Brussels + * `Europe/Bucharest` - Europe/Bucharest + * `Europe/Budapest` - Europe/Budapest + * `Europe/Busingen` - Europe/Busingen + * `Europe/Chisinau` - Europe/Chisinau + * `Europe/Copenhagen` - Europe/Copenhagen + * `Europe/Dublin` - Europe/Dublin + * `Europe/Gibraltar` - Europe/Gibraltar + * `Europe/Guernsey` - Europe/Guernsey + * `Europe/Helsinki` - Europe/Helsinki + * `Europe/Isle_of_Man` - Europe/Isle_of_Man + * `Europe/Istanbul` - Europe/Istanbul + * `Europe/Jersey` - Europe/Jersey + * `Europe/Kaliningrad` - Europe/Kaliningrad + * `Europe/Kirov` - Europe/Kirov + * `Europe/Kyiv` - Europe/Kyiv + * `Europe/Lisbon` - Europe/Lisbon + * `Europe/Ljubljana` - Europe/Ljubljana + * `Europe/London` - Europe/London + * `Europe/Luxembourg` - Europe/Luxembourg + * `Europe/Madrid` - Europe/Madrid + * `Europe/Malta` - Europe/Malta + * `Europe/Mariehamn` - Europe/Mariehamn + * `Europe/Minsk` - Europe/Minsk + * `Europe/Monaco` - Europe/Monaco + * `Europe/Moscow` - Europe/Moscow + * `Europe/Oslo` - Europe/Oslo + * `Europe/Paris` - Europe/Paris + * `Europe/Podgorica` - Europe/Podgorica + * `Europe/Prague` - Europe/Prague + * `Europe/Riga` - Europe/Riga + * `Europe/Rome` - Europe/Rome + * `Europe/Samara` - Europe/Samara + * `Europe/San_Marino` - Europe/San_Marino + * `Europe/Sarajevo` - Europe/Sarajevo + * `Europe/Saratov` - Europe/Saratov + * `Europe/Simferopol` - Europe/Simferopol + * `Europe/Skopje` - Europe/Skopje + * `Europe/Sofia` - Europe/Sofia + * `Europe/Stockholm` - Europe/Stockholm + * `Europe/Tallinn` - Europe/Tallinn + * `Europe/Tirane` - Europe/Tirane + * `Europe/Ulyanovsk` - Europe/Ulyanovsk + * `Europe/Vaduz` - Europe/Vaduz + * `Europe/Vatican` - Europe/Vatican + * `Europe/Vienna` - Europe/Vienna + * `Europe/Vilnius` - Europe/Vilnius + * `Europe/Volgograd` - Europe/Volgograd + * `Europe/Warsaw` - Europe/Warsaw + * `Europe/Zagreb` - Europe/Zagreb + * `Europe/Zurich` - Europe/Zurich + * `GMT` - GMT + * `Indian/Antananarivo` - Indian/Antananarivo + * `Indian/Chagos` - Indian/Chagos + * `Indian/Christmas` - Indian/Christmas + * `Indian/Cocos` - Indian/Cocos + * `Indian/Comoro` - Indian/Comoro + * `Indian/Kerguelen` - Indian/Kerguelen + * `Indian/Mahe` - Indian/Mahe + * `Indian/Maldives` - Indian/Maldives + * `Indian/Mauritius` - Indian/Mauritius + * `Indian/Mayotte` - Indian/Mayotte + * `Indian/Reunion` - Indian/Reunion + * `Pacific/Apia` - Pacific/Apia + * `Pacific/Auckland` - Pacific/Auckland + * `Pacific/Bougainville` - Pacific/Bougainville + * `Pacific/Chatham` - Pacific/Chatham + * `Pacific/Chuuk` - Pacific/Chuuk + * `Pacific/Easter` - Pacific/Easter + * `Pacific/Efate` - Pacific/Efate + * `Pacific/Fakaofo` - Pacific/Fakaofo + * `Pacific/Fiji` - Pacific/Fiji + * `Pacific/Funafuti` - Pacific/Funafuti + * `Pacific/Galapagos` - Pacific/Galapagos + * `Pacific/Gambier` - Pacific/Gambier + * `Pacific/Guadalcanal` - Pacific/Guadalcanal + * `Pacific/Guam` - Pacific/Guam + * `Pacific/Honolulu` - Pacific/Honolulu + * `Pacific/Kanton` - Pacific/Kanton + * `Pacific/Kiritimati` - Pacific/Kiritimati + * `Pacific/Kosrae` - Pacific/Kosrae + * `Pacific/Kwajalein` - Pacific/Kwajalein + * `Pacific/Majuro` - Pacific/Majuro + * `Pacific/Marquesas` - Pacific/Marquesas + * `Pacific/Midway` - Pacific/Midway + * `Pacific/Nauru` - Pacific/Nauru + * `Pacific/Niue` - Pacific/Niue + * `Pacific/Norfolk` - Pacific/Norfolk + * `Pacific/Noumea` - Pacific/Noumea + * `Pacific/Pago_Pago` - Pacific/Pago_Pago + * `Pacific/Palau` - Pacific/Palau + * `Pacific/Pitcairn` - Pacific/Pitcairn + * `Pacific/Pohnpei` - Pacific/Pohnpei + * `Pacific/Port_Moresby` - Pacific/Port_Moresby + * `Pacific/Rarotonga` - Pacific/Rarotonga + * `Pacific/Saipan` - Pacific/Saipan + * `Pacific/Tahiti` - Pacific/Tahiti + * `Pacific/Tarawa` - Pacific/Tarawa + * `Pacific/Tongatapu` - Pacific/Tongatapu + * `Pacific/Wake` - Pacific/Wake + * `Pacific/Wallis` - Pacific/Wallis + * `US/Alaska` - US/Alaska + * `US/Arizona` - US/Arizona + * `US/Central` - US/Central + * `US/Eastern` - US/Eastern + * `US/Hawaii` - US/Hawaii + * `US/Mountain` - US/Mountain + * `US/Pacific` - US/Pacific + * `UTC` - UTC + TransferCycleIssueRequestRequest: + type: object + description: |- + Serializer for transferring work items between cycles. + + Handles work item migration between cycles including validation + and relationship updates for sprint reallocation workflows. + properties: + new_cycle_id: + type: string + format: uuid + description: ID of the target cycle to transfer issues to + required: + - new_cycle_id + TypeEnum: + enum: + - image/jpeg + - image/png + - image/webp + - image/jpg + - image/gif + type: string + description: |- + * `image/jpeg` - JPEG + * `image/png` - PNG + * `image/webp` - WebP + * `image/jpg` - JPG + * `image/gif` - GIF + UserAssetUploadRequest: + type: object + description: |- + Serializer for user asset upload requests. + + This serializer validates the metadata required to generate a presigned URL + for uploading user profile assets (avatar or cover image) directly to S3 storage. + Supports JPEG, PNG, WebP, JPG, and GIF image formats with size validation. + properties: + name: + type: string + minLength: 1 + description: Original filename of the asset + type: + allOf: + - $ref: "#/components/schemas/TypeEnum" + default: image/jpeg + description: |- + MIME type of the file + + * `image/jpeg` - JPEG + * `image/png` - PNG + * `image/webp` - WebP + * `image/jpg` - JPG + * `image/gif` - GIF + size: + type: integer + description: File size in bytes + entity_type: + allOf: + - $ref: "#/components/schemas/EntityTypeEnum" + description: |- + Type of user asset + + * `USER_AVATAR` - User Avatar + * `USER_COVER` - User Cover + required: + - entity_type + - name + - size + UserLite: + type: object + description: |- + Lightweight user serializer for minimal data transfer. + + Provides essential user information including names, avatar, and contact details + optimized for member lists, assignee displays, and user references. + properties: + id: + type: string + format: uuid + readOnly: true + first_name: + type: string + readOnly: true + last_name: + type: string + readOnly: true + email: + type: string + readOnly: true + nullable: true + avatar: + type: string + readOnly: true + avatar_url: + type: string + readOnly: true + description: Avatar URL + display_name: + type: string + readOnly: true + securitySchemes: + ApiKeyAuthentication: + type: apiKey + in: header + name: X-API-Key + description: API key authentication. Provide your API key in the X-API-Key header. + OAuth2Authentication: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /auth/o/authorize-app/ + tokenUrl: /auth/o/token/ + scopes: + read: Read access to resources + write: Write access to resources + clientCredentials: + tokenUrl: /auth/o/token/ + scopes: + read: Read access to resources + write: Write access to resources + description: OAuth2 authentication supporting both authorization code flow and + client credentials flow. For client credentials flow, include 'app_installation_id' + parameter in the token request payload to receive a bot token for workspace + app installations. +servers: + - url: https://api.plane.so + description: Production + - url: http://localhost:8000 + description: Local +tags: + - name: Assets + description: |- + **File Upload & Presigned URLs** + + Generate presigned URLs for direct file uploads to cloud storage. Handle user avatars, cover images, and generic project assets with secure upload workflows. + + *Key Features:* + - Generate presigned URLs for S3 uploads + - Support for user avatars and cover images + - Generic asset upload for projects + - File validation and size limits + + *Use Cases:* User profile images, project file uploads, secure direct-to-cloud uploads. + - name: Intake + description: |- + **Work Item Intake Queue** + + Manage incoming work items through a dedicated intake queue for triage and review. Submit, update, and process work items before they enter the main project workflow. + + *Key Features:* + - Submit work items to intake queue + - Review and triage incoming work items + - Update intake work item status and properties + - Accept, reject, or modify work items before approval + + *Use Cases:* Work item triage, external submissions, quality review, approval workflows. + - name: Cycles + description: |- + **Sprint & Development Cycles** + + Create and manage development cycles (sprints) to organize work into time-boxed iterations. Track progress, assign work items, and monitor team velocity. + + *Key Features:* + - Create and configure development cycles + - Assign work items to cycles + - Track cycle progress and completion + - Generate cycle analytics and reports + + *Use Cases:* Sprint planning, iterative development, progress tracking, team velocity. + - name: Labels + description: |- + **Labels & Tags** + + Create and manage labels to categorize and organize work items. Use color-coded labels for easy identification, filtering, and project organization. + + *Key Features:* + - Create custom labels with colors and descriptions + - Apply labels to work items for categorization + - Filter and search by labels + - Organize labels across projects + + *Use Cases:* Priority marking, feature categorization, bug classification, team organization. + - name: Modules + description: |- + **Feature Modules** + + Group related work items into modules for better organization and tracking. Plan features, track progress, and manage deliverables at a higher level. + + *Key Features:* + - Create and organize feature modules + - Group work items by module + - Track module progress and completion + - Manage module leads and assignments + + *Use Cases:* Feature planning, release organization, progress tracking, team coordination. + - name: States + description: |- + **Workflow States** + + Define custom workflow states for work items to match your team's process. Configure state transitions and track work item progress through different stages. + + *Key Features:* + - Create custom workflow states + - Configure state transitions and rules + - Track work item progress through states + - Set state-based permissions and automation + + *Use Cases:* Custom workflows, status tracking, process automation, progress monitoring. + - name: Members + description: |- + **Team Member Management** + + Manage team members, roles, and permissions within projects and workspaces. Control access levels and track member participation. + + *Key Features:* + - Invite and manage team members + - Assign roles and permissions + - Control project and workspace access + - Track member activity and participation + + *Use Cases:* Team setup, access control, role management, collaboration. + - name: Users + description: |- + **Current User Information** + + Get information about the currently authenticated user including profile details and account settings. + + *Key Features:* + - Retrieve current user profile + - Access user account information + - View user preferences and settings + - Get authentication context + + *Use Cases:* Profile display, user context, account information, authentication status. + - name: Projects + description: |- + **Project Management** + + Create and manage projects to organize your development work. Configure project settings, manage team access, and control project visibility. + + *Key Features:* + - Create, update, and delete projects + - Configure project settings and preferences + - Manage team access and permissions + - Control project visibility and sharing + + *Use Cases:* Project setup, team collaboration, access control, project configuration. + - name: Work Items + description: |- + **Work Items & Tasks** + + Create and manage work items like tasks, bugs, features, and user stories. The core entities for tracking work in your projects. + + *Key Features:* + - Create, update, and manage work items + - Assign to team members and set priorities + - Track progress through workflow states + - Set due dates, estimates, and relationships + + *Use Cases:* Bug tracking, task management, feature development, sprint planning. + - name: Work Item Activity + description: |- + **Activity History & Search** + + View activity history and search for work items across the workspace. Get detailed activity logs and find work items using text search. + + *Key Features:* + - View work item activity history + - Search work items across workspace + - Track changes and modifications + - Filter search results by project + + *Use Cases:* Activity tracking, work item discovery, change history, workspace search. + - name: Work Item Attachments + description: |- + **Work Item File Attachments** + + Generate presigned URLs for uploading files directly to specific work items. Upload and manage attachments associated with work items. + + *Key Features:* + - Generate presigned URLs for work item attachments + - Upload files directly to work items + - Retrieve and manage attachment metadata + - Delete attachments from work items + + *Use Cases:* Screenshots, error logs, design files, supporting documents. + - name: Work Item Comments + description: |- + **Comments & Discussions** + + Add comments and discussions to work items for team collaboration. Support threaded conversations, mentions, and rich text formatting. + + *Key Features:* + - Add comments to work items + - Thread conversations and replies + - Mention users and trigger notifications + - Rich text and markdown support + + *Use Cases:* Team discussions, progress updates, code reviews, decision tracking. + - name: Work Item Links + description: |- + **External Links & References** + + Link work items to external resources like documentation, repositories, or design files. Maintain connections between work items and external systems. + + *Key Features:* + - Add external URL links to work items + - Validate and preview linked resources + - Organize links by type and category + - Track link usage and access + + *Use Cases:* Documentation links, repository connections, design references, external tools. + - name: Work Item Properties + description: |- + **Work Item Property Management** + + Define and manage custom properties for work items with flexible attributes and validation. Create custom fields to capture project-specific information and requirements. + + *Key Features:* + - Create and configure custom properties + - Define property validation rules + - Set property-specific permissions + - Generate property-based reports + + *Use Cases:* Custom fields, data validation, project-specific attributes, reporting. + - name: Work Item Types + description: |- + **Work Item Type Management** + + Define and manage different types of work items with customizable attributes and workflows. Create standardized work item categories for consistent project management. + + *Key Features:* + - Create and configure work item types + - Define type-specific attributes and fields + - Set up type-based workflow templates + - Configure type-specific permissions + + *Use Cases:* Task categorization, workflow standardization, custom attributes, access control. + - name: Work Item Worklogs + description: |- + **Time Tracking & Worklog Management** + + Track and manage time spent on work items with detailed worklog entries. Record work sessions, track time allocation, and generate time-based reports. + + *Key Features:* + - Track time spent on work items + - Create and edit worklog entries + - Generate time tracking reports + - Validate time entries and constraints + + *Use Cases:* Time tracking, resource allocation, project reporting, billing. diff --git a/docs/api/add-cycle-work-items.api.mdx b/docs/api/add-cycle-work-items.api.mdx new file mode 100644 index 0000000..9dda1be --- /dev/null +++ b/docs/api/add-cycle-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: add-cycle-work-items +title: "Add Work Items to Cycle" +description: "Assign multiple work items to a cycle. Automatically handles bulk creation and updates with activity tracking." +sidebar_label: "Add Work Items to Cycle" +hide_title: true +hide_table_of_contents: true +api: eJztWV9zGjkS/yoqvexu1QwzGExins5r57aoy25csX17dY7LJaQGtAhpImkgLDXf/aqlGRgMztq+yj7lxYDUavX//qm9oaYAy7w0eiTokDIhHviaK3hYGTt/kB4WjiZUgONWFkhGh/TcOTnVZFEqLwsFBElJICXeEEYCgw45L71ZMC85U2pNZkwLBY6MSzUn3EK4kzAtSFkI5sGRlfQzwriXS+nXxFvG51JPOzShBbNsAR6so8O7DZUoRMH8jCZUswXQIY0yS0ET6vgMFowON9SvC9xz3ko9pQmdGLtgng5pWUpBq4Ra+FxKC4IOvS2hSo6yLqz5A7h/MfN9m11FLmR0SR/fm1D4whaFAod838XvNf3oEteWTJV42elpDm/7eZ7Cydk47XdFP2VvuoO03x8MTk/7/TzPcxSyXCyYXdNhw4wU7dsfOZP4dYE+2hLd3o4uaVU9YQ6nyulXDHGg+O/Gzl3BOJD65DOU355pK79Yp6vt+jEl27tP6bjal6aqqvuEejbFwKIXGESO3kcZwfmfjVijCNxoD9rjV1YUSvIQvNkfDrlvDm1hxmjIAzGuwUqm5J9gycTYmAnb3CEsZNUCtMcsCgHtOp/0J/1vpmSdIVvi0SVR0nkXGTHPZ2SbyI5IzVUppJ5+0oFPmzdmnCus1J4Uimkt9TTwnSizciHZLHLyMnpEOlfGb7VuzFq2pgmNpeHlifBeOk/MhATGZHQZa4YQ+OFnEBWn1V523jVioLOkV3hfcNYIlz9GZ9UfeGM7pA7odl5oRddO0TuaAx/wCeuncJYP0j5jIj3rneXpiZjkvbzH+l2OpeAZZEDvD/RvorUOseBAJtBZUXVSC4IJuBdtX9LVapWiddPSKtDcCLTN9/D7Hn7fKvxih2fWZyHsBPPse8B9D7hvFXBHEBl1wEsr/ToAv/NC/gvW56WfgfZ1XaTDu3uEKh9w+eTIXmjnrjDaRQOd5Pm36+lBpTT62oKK8TmTRY1uXTmuN7kptUd4ixH/K9NsCi7EA3POcBnR8Rj8CkDXyRFCeYe1k3bYzyRYZvksgJx4QwOgg1wanIfWaeK8LbkvLRzLAfHXcY5GZeKDVuudq8rxQ3TmQ9CuxURqD1Owx06FpwCIB+a/eikWhNTLBRzjEV8Q/wePXZq9Z86TX42QEwmCnPuY0ApeyF6XSrExcnyk5nj9HNseHG80fM3xp5T7eY3K1aj/VR5ftXH6i0+HWHlWRY018uV3PCqqLT82tx8tsE+X1P0KKp7/JKs1eA55dyvcs8hP6LHM6+0nFj3JT/pp3k3z7k03H/byYZ7/l+4nzpamm990T4f900BTxbq8X/SCQdrPfiYQi1YJ7cfiuk/+sfYBmUhQwhFmgSykc/V7sZ93D8/sF3IcGAj8yZQjK7BAtPH4YF1KAYJgS7FApF4idOhEpr1Dpldgw71GEwFaguiQWweWKMbnjjShQootmat59Q953cy2PQ0EseBMaTmQFXNBtokpNUqCKAr8zGCsFMb5MM3wMzqkGStktuxm2yRy2QYfpVVWp6TLNrvZQ5XFJpBtmlFHvRL7icswDMAumxlJaRUd0pn3hRtmeFUH0Q90nDloYVfWiJKHH9hIdyeHWaYMZ2pmnB++jYH8CNzgNsUW2/Tpa+ybMW2Od+sdsArbGOzIaQZMhAZRjxn+k55fjdJI8CgyrkZkDmvC9hh3yFWMBrI2pSUNkdShqW65kXhPcOtxxLBr+HgBZldAigEnlH5mrPwzUF4YAQeLt8F2Ga5lJmu2IGVFgQ7yZg6PaMJScB43RbQbFrGQNUwQxjm4ABmbCMNx3MpKjyL+jp9HaTDuuJKg/cUuc4Jyf6MIB3UjWvyR54gri8JYBENkbHAE2LYowWcuQRcE+BN12isHuNch/0TwdXyzAUpAfmBF8SC180xFaPYgxQ9kO11soiUYZAtYC7ZWhomoHAe5BMJQ0JoM0dVuqsSKgrQvcLEEIKr8uJsp1Zh4H4b3Juzt6WTQT0/fdN+k/dPBSTruTXh6ws8GvclgwCZsEPC11BMTXFk3LqxEV5jc5OO76xsMfZpQLATR6Hkn73QPsujwUHh6SSc9wQT6XEo+J84z68m0xLxC809KpUJuCcNLfF7VU1xP7gQsQSGKdNtKc/9jU3+ObGJNSi1MwILmkEntt2XoJ4SkiM9ZxCV1SQjiYtPaK22tsgYLJnGrDqh/bLeqhCrJQTtosfvlt1ty/svV+2XvgOdU+lk57nCzyBZsDoFPvCgbKzPOCgtLCavs/eji3W/X7zr+iw9uxgK/YLp1ybkQBKeZZNSMx0PvfOyO1nPk75+u1/XOwxePSkpsA9Egm7pX3WGxxqDCONr1K5rQYT3UbVoWLu0NzGPXwuXWiL7duGhCEYVhj8GLNpsxc3BrVVXh8ucScMZ7d5/QJbMygtq7DRXS4XdBhxOmHHzFnD826OMn8pSuTUPS2GyacTNN6BzW7X8tYHN81b17s/9XSNAy6KtlOBjDv0KOODLHElR3a/RE3LqId6Y3yGB39K/nl6hQZHHOORT+icPhWY44Ywumrj5c39CEjusR/SK0Y9rinLR/hCFB6NX7CGQeAEb9BdU5aoE2GInC4l8U/Sj5ZhOxTVVt6ePWkye26CdSozPuq6r6H4aCgzg= +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Assign multiple work items to a cycle. Automatically handles bulk creation and updates with activity tracking. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/add-module-work-items.api.mdx b/docs/api/add-module-work-items.api.mdx new file mode 100644 index 0000000..d72a956 --- /dev/null +++ b/docs/api/add-module-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: add-module-work-items +title: "Add Work Items to Module" +description: "Assign multiple work items to a module or move them from another module. Automatically handles bulk creation and updates with activity tracking." +sidebar_label: "Add Work Items to Module" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Assign multiple work items to a module or move them from another module. Automatically handles bulk creation and updates with activity tracking. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/archive-cycle.api.mdx b/docs/api/archive-cycle.api.mdx new file mode 100644 index 0000000..3841c3f --- /dev/null +++ b/docs/api/archive-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: archive-cycle +title: "Archive cycle" +description: "Move a completed cycle to archived status for historical tracking. Only cycles that have ended can be archived." +sidebar_label: "Archive cycle" +hide_title: true +hide_table_of_contents: true +api: eJzFVltv2zYU/ivEeWkLyJaTOl2npwVpVgTrWqNp1gGpEdDUscVZIlmSsusa+u/DISVHjp1iy8P24gvP/fadswVt0HIvtbrKIQNuRSFXeCc2okRIIEcnrDREhwx+1ytknAldmRI95iywMa9ZK5cz57mvHZtrywrpvLZS8JJ5y8VSqsWQfVDlJoo55gvuWcFXyFDlpI0rNsOdriEkYLjlFXq0DrLbLUjywnBfQAKKVwgZBF13MocEnCiw4pBtwW8M0Zy3Ui0ggbm2FfeQQV3LHJoELH6tpcUcMm9rbJKjqo3Vf6Hw/1r5ftImUQu7egMP7SaA3zjl0pHey/i75b96Q28rXtZk7OxshK/Ho9EAT3+eDcYn+XjAfzp5NRiPX706OxuPR6PRiJysq4rbDWSdMmb61vcdO2d+Y0J5Oqabm6s30DSPpMOV9eIHiTgI/LO2S2e4QNZK/oPgdzL94KvNYL17PxZkn/pYjOt9b5qmmSbg+YIaCy5CQ8I0AYeittJvQrudG/kbbs5rX6DyUvCo9HZKCfpAz6dHaFMK1BmtXIzsdDSmr32/PqLTtRXYG5xaCHRuXpflhnI5Ho0OxYKfNCdK+/6oRIGTQ4F9/5iwmNNfXjq2RouM9BirV5LmT1vGLTKpVryU+TAqfXmodIK2ks6RwhyVxHzIbhxaVnKxdKyrMjM7NtfqOpKITwUGCXSEJ7ZLy5q74Ntc14o8aRKo0BeaMMpo5wM0+AIySLmR6eok3dXXpVuqcJO2Xe3S7f0gN2nEnnTb4UaTtklMqbXQrjqsqW0JGRTeG5elZGVoSq5w6PRBl02szmsR/lBr3EtmaVpqwctCO5+9jjO6L/qOyND0Ou+a5iu2zvH+2w0eD2RI4rAWyHO09+P65+B8cjWIDA+aYnLFlrhhfE/xkE1iI7CNri3rmKRivkC208ainVDR4zOw80+TgVNCyFKvQ0D0oK38HjgvdI4Hjzchdym9pTrtSDjgxlCBvF7iA57wFIontIl5s8jzMGQ8ZzyMFe2orrkcJLC20pOLn+n7KA+1nCglKn9xPzQhuP/QhQNMjRl/UDnmamO09VIt2Ez7gu1llAmdI6MSMK5yFmPaQwKiDdmv2j5GTJhUoqxzZM+4MXdSOc/LMmi/k/kzttvSXbeEhHRzzQzflJrnMTiBMhwRM+1bNroV7tGZG8P6BlycfqnmOmRf+hJb3JjQPLKPl9efqFshAZrdmKfRcDQ8OWj8Q6Ev6ov6QzrpGfX811qKJZ0w1rNFTaNAGSNIDuOQa1FXqHxMK/fsNscVlnRBuR04TJ93kHGESDAysDhHi0pgKpXfIccLOneEVp4LT4G2UxzcheQBGvWQCCsuidT2wC87UpNAKQUqhz11b9/fsPO3k3erlwc6F9IX9WwodJVWfIlBTzSUzko9S43FlcR1+u7q4vL99eXQf/OhMgTHFVc9I+cRUNnRI3IbgkTl/5d7skUmj988xSYJsGMetu1CuSVYpV6i9rlfKpBA1p4x3V6hp70TMbpBz72jtLUOCdB5QYuAbGy3M+7wxpZNQ89fa6SD5naawIpbyWfU47dbyKWj3zlkc146/EEqn39s1+4L9liY3dZQtBG62woSWOKmf0fTBnuS3b1D9wke9HL5ZB8Obs4n+BHvw2n/5Jh8uP5EtaypQ/r7dxnWa/uDKnZUdX8VRxv0SUEeZd9u42Zvmh1/JD0qsdv9kZuinDZN8zc3pcmI +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Move a completed cycle to archived status for historical tracking. Only cycles that have ended can be archived. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/archive-module.api.mdx b/docs/api/archive-module.api.mdx new file mode 100644 index 0000000..a4ca5f5 --- /dev/null +++ b/docs/api/archive-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: archive-module +title: "Archive module" +description: "Move a module to archived status for historical tracking." +sidebar_label: "Archive module" +hide_title: true +hide_table_of_contents: true +api: eJy9VllvGzcQ/isEX5IAK63syG66TzUSNxCaJkIcNwUcwaDIkZbVLsnwkKMI+9+LIVfSypKNwCn6omNmOMc355pqA5Z5qdVI0IIyy0u5hNtai1ABzagAx600KEAL+qdeAmEkcYnXpJUXxHnmgyMzbUkpnddWclYRbxlfSDXv04waZlkNHqyjxc2aStRnmC9pRhWrAf8taEYdL6FmtFhTvzJIdd5KNacZnWlbM08LGoIUtDn0LTo1ekMzauFrkBYELbwNkFH4xmpTgUO1l+l3Eh+9QdKSVQFNnZ0N4NVwMOjB6a/T3vBEDHvsl5Pz3nB4fn52NhwOBoMBuhjqmtkVLTa6NoBE2/teXRC/MhGLVub6evSGNk2THYfA6n+A+1spfgaKcdLyw1i08v8RGKZr/SE0NkKPw+GqMH8EiIPAP2u7cIZxIO3LHwh++6YbfL3q3W3px4Lsch+K8W7fm6ZpJhn1bI4N0Jaro5OMOuDBSr+KfXFh5B+wugi+BOUlZ0nrzQQR+oDk0yO8CUbqjFYuhXY6GOLXvmMfwelgOXSaNnAOzs1CVa0QzOFg8MgzzpTSnkw7CqQiPFgLyscBAEnJyaGSfZ8JtyDwL6scuQMLBBUbq5dSgCDaEmaBSLVklRT9pPTlodIx2Fo6hwoFKAmiT64dWFIxvnBkk3pitmKu1XUEnHZ6oB8zHZSgTZPRGnypcSwa7XwcYb6kBc2ZkfnyJN/m1+VrzHCTt1Xt8vWukZs8dT4SF03eYpdjVYFdbsZhsBUtaOm9cUWOBvqmYgr6Th8U2NhqEXj8g0Wxe1nkeaU5q0rtfPEqtef+03fIpk2n5q6wtVLRHK+8bc+xyKZZ6tMSmAC769S/exfjUS8J3Ev9eEQWsCJsT3GfjFO6yUoHSzZCUhFfAtlqI8lOzNvx6t/6p9HAKQ7HSt/FgJCgrfweJV9rAQfE64hdjrRc5xsW9JgxmCCvF3BPJpJi8rg2CTcLTMQ+YYKw2FC4GW3bNo5m9M5Kjy5+xu+jMlhtvJKg/Otda8Tg/kcXDsZpQvxe5ogLxmjrpZqTqfYl2UOUcC2AYAoIU4KkmPb6HXl98ru2DzEzIhWvggDyjBlzK5XzrKqi9lspnpHtIbGplghI7Hdwnhi2qjQTKTgOMl4sU+1bMbxQdoOZGUO6BnBCNFjiMx3Rl75C1D6VQMbYj+Tj5dUnrFaaUezdhNOgP+ifHBT+4aMv6ov6SzrpCdb81yD5Auem9WQesBUQMRzGsR2E5qEG5ROszJMbAUuo8F5z2+Eweb4ZGUeYOEZ6FmZgQXHIpfLbyfECLzKulWfcY6BtF0d3aXZvGnUmEdRMIqutgd+2rCajleSgHHTUvX1/TS7ejt8tXx7onEtfhmmf6zqv2QKinmQon1Z6mhsLSwl3+bvR68v3V5d9/83HzOAkrpnqGLlIA5UcP1nXMUpQ/iev13bIePjm0U2JszeFtG7Xwg1OSCwLrITdaqAZLdpjZLMdkLR36LULItLxBm79ohnF8wDHOapfr6fMwbWtmgbJXwPgRXIzyeiSWcmmWKk3ayqkw9+CFjNWOXgEj+cf2xX5gnSP56OhbpaAwgG/uZJoRhewSpc7rqInmd47Vp9ie4fkk304uBuf4Ee68Sbds2H84eoTpjNgfXQX6SLuyfYHJu2o6u5OTTbwE4M8Kr5epxXdNFv5xHrwxXaJJ2mMctI0zb9v59V8 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Move a module to archived status for historical tracking. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/archive-project.api.mdx b/docs/api/archive-project.api.mdx new file mode 100644 index 0000000..c3364b2 --- /dev/null +++ b/docs/api/archive-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: archive-project +title: "Archive project" +description: "Move a project to archived status, hiding it from active project lists." +sidebar_label: "Archive project" +hide_title: true +hide_table_of_contents: true +api: eJy9VllvGzcQ/ivEvCQBVlrZkd10n2o4biA0TYTYbgo4gkGRIy+rXZIhuVJUYf97MdzDkiUHRVD0RQfnPr6Z2YKx6HhQRk8kZMCdyNUK760zf6EIkIBEL5yyxAEZ/G5WyDhrySwY1kpI5gMPlU9YrqTSD0wFtnCmZFwEtcJeolA++CEkYLnjJQZ0HrK7LSjSbnnIIQHNS6R/jci9kpCAFzmWHLIthI0lqg9O6QdIYGFcyQNkUFVKQv3U42lrePIWEnD4tVIOJWTBVZgAfuOlLdCT3qvmd8s/eUtvK15UZOzsbIRvxqPRAE9/ng/GJ3I84D+dnA/G4/Pzs7PxeDQajcjJqiy520DWKevDjtb3HbtgYWOV4EXPdHs7eQt1XSdH0+GL6uE7iTgI/LNxS2+5QNZK/ovge5nd4MvNYN2/Hwtyl/pcjOt9b+q6niUQ+ANVv6uRh1kCHkXlVNjErriw6jfcXFQhRx2U4I3auxml6CM9nx6hzShUb432TWynozF97Xv2Cb2pnMCd/q2EQO8XVVFsKJvj0cmh2L45JhxK+ssLz9bokGkTqJwrJVEy4xh3yJRe8ULJYaP09aHSKbpSeU8KJWqFcshuPTpWcLH0rCsbsz2bb3UdiesmxyiBPqBkrotyzX30bWEqTZ7UCZQYckOYt8aHCMiQQwYptypdnaR9wXy6pZLVadumPt0+IrNO2/yl1BnoVh2eK1dABnkI1mcp6RzagmscenPQJFNnZCXiH6rro2SWpoURvMiND9mbBmL7ou+JDPVO21wTPJq6H2+eHjc8kiFpsJYjl+ge0fbn4GI6GTQMT1pgOmFL3DC+p3jIpk3Z2cZUjnVMSrOQI+u1scZOrN/xBu79M2TglAZcYdYxIHowTv0dOS+NxIPH25i7lN5Sk3YkHHBrqUDBLPEJT3yKxRPGNnlzyGVECJeMR0zQnO9ayUMCa6cCufiZvo/yUIOJQqEOl48QicH9jy4cjMQm408qx3xlrXGBltbchJztZZQJI5FRCRjXkjUx7eGeaEP2q3HPEROmtCgqiewFt/ZeaR94UUTt90q+YP0m7LolJqRDMbN8Uxgum+AEqriA5ya0bAvjdoYrt5btGvAN1pVemJh9FQpsp8SU8Mg+XV3fULdCAoTdJk+j4Wh4ctD4h0Jf9Bf9h/IqMOr5r5USSzoDXGAPFUGBMkbzNMJBGlGVqEOTVh7YncQVFnR/+H44zF52I+MIkcbIwOECHWqBqdKhnxyv6KQQRgcuAgXaoji6C8mTabQzibDkikhtD/zSk+oECiVQe9xR9+7DLbt4N32/en2g80GFvJoPhSnTki8x6mkMpfPCzFPrcKVwnb6fXF59uL4ahm8hVoaGb8n1jpGLZqCyZ06wbQwTdfhPr7F25gT8FshrRaO4iXDbLoY7GpjUJdQYj8sBEsja+6LbD/S0d7u1TkECtOBpmpO67XbOPd66oq7p+WuFdFTczRJYcaf4nBr1bgtSefotIVvwwuN3svHyU7spX7G9o+9obN0S0DTgu0sHEljiZv/0pJX0Qz4c3F8/4EdzK812t/X04/UN5bSiouwus2XcVe0PytxR1bt7rbFBnxTkUfbttlmTdd3zN6RnJfpF2nBTlLO6rv8BakVKwQ== +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Move a project to archived status, hiding it from active project lists. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-cycle.api.mdx b/docs/api/create-cycle.api.mdx new file mode 100644 index 0000000..4cb576d --- /dev/null +++ b/docs/api/create-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-cycle +title: "Create cycle" +description: "Create a new development cycle with specified name, description, and date range. Supports external ID tracking for integration purposes." +sidebar_label: "Create cycle" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new development cycle with specified name, description, and date range. Supports external ID tracking for integration purposes. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-generic-asset-upload.api.mdx b/docs/api/create-generic-asset-upload.api.mdx new file mode 100644 index 0000000..43ae71c --- /dev/null +++ b/docs/api/create-generic-asset-upload.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-generic-asset-upload +title: "Generate presigned URL for generic asset upload" +description: "Generate presigned URL for generic asset upload" +sidebar_label: "Generate presigned URL for generic asset upload" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Generate presigned URL for generic asset upload + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-intake-work-item.api.mdx b/docs/api/create-intake-work-item.api.mdx new file mode 100644 index 0000000..184d998 --- /dev/null +++ b/docs/api/create-intake-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-intake-work-item +title: "Create intake work item" +description: "Submit a new work item to the project's intake queue for review and triage. Automatically creates the work item with default triage state and tracks activity." +sidebar_label: "Create intake work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Submit a new work item to the project's intake queue for review and triage. Automatically creates the work item with default triage state and tracks activity. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-property-option.api.mdx b/docs/api/create-issue-property-option.api.mdx new file mode 100644 index 0000000..013f3a0 --- /dev/null +++ b/docs/api/create-issue-property-option.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-property-option +title: "Create a new issue property option" +description: "Create a new issue property option" +sidebar_label: "Create a new issue property option" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new issue property option + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-property-value.api.mdx b/docs/api/create-issue-property-value.api.mdx new file mode 100644 index 0000000..d43f926 --- /dev/null +++ b/docs/api/create-issue-property-value.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-property-value +title: "Create/update an issue property value" +description: "Create/update an issue property value" +sidebar_label: "Create/update an issue property value" +hide_title: true +hide_table_of_contents: true +api: eJztGdtu47byVwi+tAUky3ZsJ6unptltYTSnG+TSFk2DgBbHMRtJ1JJUHNfQvx8MKcmSLe96s9se4CAvicy5cjg3DtdUZqCYETKdchrSSAEzcC+0zuE+Uwg0q/snFudAPcpBR0pkiE1DemZxgzzjzABhKbFUpKIiFVXGFEvAgNI0vF1TgbQZMwvq0ZQlQEPqxAlOPaqjBSSMhmtqVhnCtFEifaAenUuVMENDmueC08KjCj7kQgGnoVE5FF4n60zJvyAyn828vdULx4VM39JtuR6FZ5ZkMWjk+859l/jTt7jm7BDS8bgPJ6N+34fhm5k/GvCRz44HE380mkzG49Go3+/3Uck8SZha0bBiRrKm9LZip8SsMhGxuEa6uZm+pUWx3xzuSL/YHu6MOwyyR7KO84ePiNwR8ZtUjzpjEZCS8gCz1zRNsycrf1mvd5m3Cd1n3WVbm6Io7jxq2AO6tFWVTA0kpLSLAE3vnMagzQ+Sr1ChSKYGUoOfLMtiEdmwC/7SKGu9axk5wwPFANpwrfZ1b+DZdFrRgWdSxsDSBka1UqNwiETC4gZKmiczUM3T5zKfxdCgYQaMSOCjLoNIvsXyaJrHMUMWpWuUfKxXfdLtOsjh2YBKWXyvZa6iTj3aNB5N2PM5pA9mQcPheNzk0a3DJ+lttjooaKpoOwjZWUaWvvfZtmklxNtSyYYK6K/CIDqdIqwK4V9R7OnF9NI5Ky3akdWJewVKsFj8DaoRaOWHS/JV8A2GR6Px5PjkDWa2luH3gKpzpQ/CLPIZLe52MkMVt2V4kblUxNYtkT7sLUOYEVth9+wvl0sfjernKoY0khz4axy+xuFrHP7jcZjksREZUyaw8ceZYa+R9xp5r5H3D0dex6WJaohyJfCEbtf0NBM/w+o0NwtITVkpaXh7hz39e1wedsBsp6szmWpnsGF/8BXb3cPCRAHj79N4VW+LQwwG+D3ryBEHRWoHT3c5/iyeOzzcbfkLeGyc+JxpQ/4juZgL4OTUbELoNTX+z1Jj5SOzA1Le7tHubKlyl6/Bbp/n/LDCM1w2786fHW7l9OGr7Pn/s7q4zqedx6cdeZqUHoQqj/p91LRNZBkSoUmtjsUc7GK2czUy5viTxZosQQFJpUHhT4IDJ1IRpoCI9InFgvcc06NdphegEqE1MuSQCuA9cqNBkZhFjxudSFaj6ZLXaJfX1v5Rn7nMU05tkwhmIbFMZlLbsoDjpJAGLBPB0yCo/VUHa5zJFEHpgzpYb4Z+RWAPSgfrasZYrvibKmPxq6lYEbgaHuCoCNRTNbXMVUxDujAm02GAOvSymKXQ03JnanShJM8j+wPr5oYyDIJYRixeSG3CEzfta5OeI5hiRa3K8hWWSVcJu4tz7cjMgqnnhm8LYNym63L89rt/ejH1HcKWl1xMySOsCGsx7uEsCz2DrGSuSIUkUmIWQGpuxMmxR9zdIGzqOwoYYqDFcmk3hAtSib8t5pnksLN4Y20X4FoggwoEPssyPCAjH2ELxy7Zw4tk5uyGCYeG9BIYJyyKQGtiJFHgqoSmHl0qYVDF3/B/Jw46ZBQLSM3ZJors5v5FFXbyh7P41skRnWeZVLYXnEmzIC2LEpxzEDwCwlJO3J5aqQFhPfIjtpTdQI+INIpzDuQblmX3ItWGxbHlfi/4N6Se91feYg1SN6sZW8WScbe5CMQTEIaKlmjYy26mrSzLSFMAJpPCo9hEXm6mq2U/vH033OT2rb7HFZ6tTqe/28fQYX848vvH/vDN9WAcjgfh8KTXPx78Qdu9Cj2as5PxfDLyx8eDY380ngz92dE88ofRm8nRfDJhczbp7PFrDds3g3q5rIWHCtgUxEMp2lXxMCqs0elcWvcvS971AsgFJkRy+e7qGtMF8galHdt+r98b7GSeXaI/0z/TX4UWhmDS+ZCL6JFow5QhDznmInTZeR7HNh9xGeUJpMb5NTPklsMTxGgBXWfnu2+rnN0BxDzuK5iDgjSCQKSmTt3f9ahnrzDMdTVlGrXqUm+rHDRKASRMIKgMwu9rUOHRWESQamiw++mXG3L608X509EOT3f760UyCRL2CJaPExTMYjkLMgVPApbB+fTs3S9X73rm2djQwGqZuOa+FHLoO13rcBr3t4MZlIkegw81FfY+YXe1Lqv3LVYp9Ax0hk0Fpx4Ny1eeqojjUuvtztVxXG68Fm6X8pKq8cRV3sg9ig0aFl5UYr2eMQ03Ki4KXP6QAz4I3d4huhKu6btdUy40fnMazlms4SMW+vay7Hu+I/vsUFXpdFVpRUNKPfoIq+YLKHYML5LbeqJ8gQYNY3+JDo1nwZcpUZ/di7XYeTl8gSLulQ8nL2Ujhf7gQGdOpn+NDDakn35bwA05FqdRBJnZQ2wHJNgC1g3wxfura+rRWfmOmNhOiTY4e80fdlxj26h2c/hoe7/yA7fTaYFmn+iUxb+oeif6eu3azqKo8ctp0z6KujEtHR/3WhTFfwE+MDq3 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create/update an issue property value + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-property.api.mdx b/docs/api/create-issue-property.api.mdx new file mode 100644 index 0000000..58f98c7 --- /dev/null +++ b/docs/api/create-issue-property.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-property +title: "Create a new issue property" +description: "Create a new issue property" +sidebar_label: "Create a new issue property" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new issue property + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-type.api.mdx b/docs/api/create-issue-type.api.mdx new file mode 100644 index 0000000..318f2af --- /dev/null +++ b/docs/api/create-issue-type.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-type +title: "Create a new issue type" +description: "Create a new issue type for a project" +sidebar_label: "Create a new issue type" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new issue type for a project + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-issue-worklog.api.mdx b/docs/api/create-issue-worklog.api.mdx new file mode 100644 index 0000000..0161bc4 --- /dev/null +++ b/docs/api/create-issue-worklog.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-issue-worklog +title: "Create a new worklog entry" +description: "Create a new worklog entry" +sidebar_label: "Create a new worklog entry" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new worklog entry + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-label.api.mdx b/docs/api/create-label.api.mdx new file mode 100644 index 0000000..79ecd14 --- /dev/null +++ b/docs/api/create-label.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-label +title: "Endpoints for label create/update/delete and fetch label details" +description: "Create a new label in the specified project with name, color, and description." +sidebar_label: "Endpoints for label create/update/delete and fetch label details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new label in the specified project with name, color, and description. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-module.api.mdx b/docs/api/create-module.api.mdx new file mode 100644 index 0000000..634f7ec --- /dev/null +++ b/docs/api/create-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-module +title: "Create module" +description: "Create a new project module with specified name, description, and timeline." +sidebar_label: "Create module" +hide_title: true +hide_table_of_contents: true +api: eJztWm1v2zgS/isEv+wLJL/FTlp/ujTt7QabtkFe7g6XBiktjW1uJFIlKTteQ//9MCQlS7bSJm2xuAIGFl2Z5AxnhjPPDCdcU5mBYoZLcRrTMY0UMAN3qYzzBGhAY9CR4hnO0zE9sbOEEQFLkin5J0SGuLVkyc2c6AwiPuUQE8FSCEiNPCBMxMTwFBIuoEMDmjHFUjCgNB3frCnHHTJm5jSgSI2/3BZ3PKYB1dEcUkbHa2pWGc5qo7iY0YBOpUqZoWOa5zymxbbU517Q09c0oAo+5VxBTMdG5RBQeGBploBGvm/ct19/+hrHFizJcbPRqAcvhr1eCIOXk3DYj4chO+ofhsPh4eFoNBz2er0eCpmnKVMrOi6ZVWayuzcFOyZmlfGIJdWi6+vT17QoiqDVHDrJZ58xxI7i/5bqXmcsAuIpn6B8RVNXPl2Fy2q8Tcn67GM6LpvSFEVxG1DDZnj69K11Ik1vnZCgzSsZr1CGSAoDwuAny7KER9ZZu39qZL/eNYacoCV35LgExVnC/wJFplIR6+dczLz3aue+KaQTUGTBEh7bbazPxujz0Ryiey5mnQ/ig/idiRiJvOs7ZlIQLqIkjy1bx4lpzWciBWFqTAPHUTExA7IAxadeqeCDsPvlTk2wQUQyBQsQlj9KPgVmcgXhhGmIK8eRasYE/8uJocHkmY0whdFtuDth50W74ZNycQZiZuZ03A+o4SbBaXci5B0SBTRlD+WawWi07Wm7PLe4vK6tLgKqDVPmDq3w2XC2CwIq8iRhE2SHXlug06gZfAO9Nszk1iQg8hTdb8Ki+0QicZYwIQDxhoswU3KmQGsLVrm2w5FEjzfum4kIkgRi9NttMZr+9yv56Df5SELyyn1+EL+Sj35HHD53n3a4tj1OnQpy7n86KiuPJbJfdrCSDcdPyh9uqhTVTlVyb5/UpTXNGzRLEdAEWPxlwG2xsHN/XaNlSrEVWtVAqp8E4kvFDbwXyariCg8GlGDJnZa5ilrPvilJi99WPHirZl+gL+oYeuMi6nbbhi5LXjgYo0UTZutLNphUA9syTuk7WJK37XkYpzz21CeagUUHvUE/7OF/NKAg4u3xAztetwftDw6Go8OjFy97tMXcdMbNPJ/sJpoyDXjobiIs86LavNbA8IdwuVyGePBhrhIQkYwh3oP6HtT3oL4H9T2o/zignuaJ4RlTpmvBPGaG7WF8D+N7GN/D+B7GfxQYL7b7QxiNEOWKm5Vt0B1n/A9YHedmjpDnYJGOb26xW/Uehwctc7ahozMptLPxoNf/jl0djCMFcxCaL6A0u96kE5s5sPFE0LdJCkbxSNvM4bNAygSbAWYBmz3OlVzwGDQpw7U6S2ZYLYdseEYyF0aTyYo46ApKzgoSq5Se80z79FGiBjGK2ZT1xLSxmzDaQ2Q7+BWwuBGmRhr0J61zqEc6FwZmoNooKnB6HlUJcM+isiHyTJpcfA2Vx/vn6WSBIb5j5ouZLcQ+d6u0WfxtPDaAdsa0QRBy/fZj40LfGf0b2O/ki8dKk7+jGKkR3xl4sFptp4HHOZCLq20mc5Mmz2Ty+9Xbs31h9OMURgsOyzsESzQWGk4qcydV7DK5V1jkiNENu8sczf1/UcoElKlozhfPi+Qdl0nkTNYtUQLYZPX83NHCvsSy78HuMVh7tcIT8SnxqzLesv4HrWdTf2WV/aRatL38bJSbtvB74p8efWnarMEeq1KvNd6Am0uxQMEhqcrLqi9MdEv1Oqyq1waw+alB2B/RDWZtwVKzCOkP2sqFUVvl0dstEYZtFcDBboLvNfN3TYWrfm980Bv3ev+lzfxcren3rvqj8XBk1xSuVG6a822t2QD2hjTs9fAAm8tOhe00VLW4LSozV3J6qv4u1daJRgpi/MkSTZaggAhpKiZEKsIUEO526jimB7tMz0GlXGtkGIPgEHeI9YmERfealM5LsmqZ9ryGLbx8xYqCTGUuvCovd1degMNU/1oAWyglUpLT14QlGIArAg9cG01tawnMXGIUZFIbm9IQJGmXZby76Her6NbdNf5Zueh6rNDd9eb1QNH1raQuOiWoRfnmIFcJHdO5MZked5FnBxMbdLTciZhzJeM88oVJnXLc7SYyYslcajN+4WKxSXqG0xSvQuV96hLvNy7q229Vm7u5nbaZHfcDFtu05YP9P+Hx+WnoFmw5zfkpuYfVVox3iL/gkJXMFSkXcUHMHEjFjbh97Im33+w2FzPcYICImMilVagBIScyhp3Ba2u7Lo51ZbecgpBlWdfCwz1srbFD9vAimTm7KYvM9AJYTFgU2UuVJMo7GMKMbVLgMwj8f+sadLAo4SDMySaorHJ/owg7YOIsvo3OOs8yqeytfSLNfAup8U9nBI/AorjTqYEUONch/8TLf/tk4G+3QH5iWXbHEVQTd4O94/FPpHqtU3qLNUgFZRlbJZLFTrkI8DrOUFC/DK+5mwcgLMtIfQPEliKgePu/2Lz+8J2LWtvlkTK1Gm5JUkfh4OUjScpPVUlqU0+7rE8PpuzFaHo4DEdH/aNwODochJODaRQOopeHB9PDQzZlh7TWULt5GsVtW/um0qHZ9Nk87eFiKq1r+hriag629AZy8ebyCkOZBhSBzdmk1+l1+juW2iXCpse/uOaGICB8ynl0T6wZySxHnEB3muZJYrEillGOrRJfLxhyE8MCEuxL6Ao5b38u8bRlEjE2VDAFBSKCLhemgtVfOvaiIgxzlZ4/cysuZuYGVNdgGlLGccoHyD+qKSzfeARC113ot3fX5Pi387PFwQ5P10HrRDLtpuweLB+3UXeSyEkXm/0clt2z05M37y7fdMyDsW6LmSlloraJfyfX/oqu1vz6zg/qPCTjRRnl5vYKbXVc+7x5g/kE/QRdY5M7aUDH/olYmT5xqPH8zmdQGlB0YEx2yG69xqbVtUqKAoc/5YDvwm5uA7pgiruK+GZNY67xO6bjKUs0fMYiP1/40uMX0ni316pbmSMF5r/ysRoN6D2smq8HMWN/lQw7T+i+Qg733O22CMr0jRZxUyduz/AKGWxIv/xIAhVyLI6jCDLzCLHtp2LhUZVR5+8vr2hAJ/51XWrzM61xDuo/bHfXJu9mSXJvKw7/geq0WqBenThh8V8UvXX5eu2KnaKo1rupRymqcsitxsO4LYrifz6pzEw= +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: eJztWVtvG7cS/isEX5oAK63syGmqp+OTuKlQtzHsuD2AYxjUciSx4pIMyZWsCPvfiyH3Jq2SNmlxnvxiWeRwONdvhqMd1QYs80KrKacTmllgHh422q4ehIf8gXnPsmUOytOEcnCZFQap6YS+BYVHgRgLTiwUcHJ7fUnm2pLCSM24UAsyFxJIy8QRrwkjyJ8g/yFNqGGW5eDBOjq521GBvA3zS5pQxXKgEyqcK+BBcJpQly0hZ3Syo35rcM95K9SCJnSubc48ndCiEJyWh9JOkQeZvqEJtfCxEBY4nXhbQELhkeVGgkOuF/H/QD19gytrJgu86OxsBK/Go9EATn+YDcYnfDxg35+8HIzHL1+enY3Ho9FohAIWec7slk5qVkS0N++LdE781oiMyYrk9nb6hpZlmRw1grH6D8j8PzTDVeTytw1R0f9LpjDd2z9njJroy+Zwslh8wRA9xX/XduUMy4BUJ/+G8s2ZrvL5drBp1o8p2d39nI6bfWnKsrxPqGcLTIEgKpl6yMl5mzj0PooMzv9X8y1KlGnlMTEnO8qMkSILeZz+4fCyXd80eoZ27Ul1A1YwKT6BDbnb5GYnbauEJpUAZM2k4OG24Qf1Qf3EFJfgYrJXpDl4xplnHVoiVCaLAAtOfIIErQEJYYoTePRgFZMflFAeFhGRiLcsWwUU0ZY4yAoLHfG4zoogXEdO3J1LvXEBWCyCmxfRpzFu+gmTC3UJauGXdHJyaJp3ViyEYjJohgyInhO/BMKcA49BFrl9Hddfpr9cBN1rbsgdmaFVOsyCKcD2HPYjmhlpiVBktvXg8HBtQgSIrxToojpKBAflxVxUodBoSp7h12Oueb53tdOFzb7aHs318ThxW4f+/dKdZTd/76JvK/thIgkvocb8NoduQ2RexxiOcrcpf5S2TY0OAtShROsAHBo+p3Uo7KVi3IhuPRmdIjAeOIqenL4Yn738/tUPiJg9Q9KF8Mti1oezGmzqjERbheKN6cJUVVE61RuBdE+2x8FmsxlguRgUVoLKNAf+hBtPuPGEG0+4cYAbeSG9MMz6NOAF5ucTUjwhxRNSPCHFHlKUh88qDDnMKuG34XF/bsTPsD0v/BLDIOpAJ3f3+Mh7h8unR/bCy8cZrVw05OlohB+HD9t6CMH1RgWAwGnEohpScOKKLAPn5oWUW9R2fIzLby2UgLXaRsKTPuG+mGiYENhMOrIBC0Rpjw/ZteDAibaEWcylgFTDyPTFER3A5sI5ZMhBCeBDcuvAEsmylSO1ZYlpyFzFa9znFecd2pL6xa8tad/AKN5cF4qHQM/BLzWGitHOh4kMZhFNmRHp+iRtHqsu3eFztUyrJ7pLd+1UokxDRLh0V49rqpVBZ/yTYrCCXdfDnsJKOqFL742bpHjf0EimYOh0D5OurOZFFr5gtLQnJ2kqdcbkUjs/eRVHD/tHL3GbYhzVwXiDlStG0/GQ3LXJhts0iTOIJTAe8LJK0P8Nzq+mg0hwECBXU7KCLWF7jIfoDgwKstWFJTWRUAEJG24k3hO8ezwt2pKLF5zi4AeLUpgFFH6prfgUKF9rDr3F22C7FNdSndZbMGDGoIO8XsEBTVgKzsu0iXazwDBkroFxwkJq4WzPQgQWRxO6scKjiL/j51EaDL5MClD+dZtAQbn/owg95IsWP/AccYUx2gb0m2m/JHsWJfh6IuiC0GxEnfZQAfeG5EcE0eObSdW8APmOGfMglPNMysD9QfDvSDMmraMlGKSBZ8O2AfSCchmINRCGglZkdd8V058ZQ7oXII6UCcXJ0XU7Y6oqQKceNcX2sPjGAtQrPc1+v+y0czqh5jr4vKqp75dArhAFyPXFzXvMEZpQRIzondFwNDzppVv/ELaNvwknPMFM+1iIbEWcZ9aTRYEJiH7CYhCSsC600ZnMkzsOa5DY3bkGku6f1UB1ZBPBa2BhDhZUBqlQvsGr59gq4rCOZb5jzCAuTQ4wsIN/kDOBW1Xk/afZKhMqRQbKdX3z9tdbcv726nL9osczlvhhpvM0ZysIfOJF6UzqWWosrAVs0svp64tfby6G/tGHeMBykDPVueRCcaMFzvFD63TQAsT+ANLCcPzgIMFXhgafLfv0HDwT0h16szPa/Nd+Zagi1sOjR9UFVpFopl1V7+4Q6zHUMLramkcTOqlGxnXZw6W9cXysfLjc+amiV/xoQrF3xDqFt+12M+bg1sqyxOWPBeAY+e4+oWtmBZthMtztKBcO/+d0MmfSwRdM9ey66hCek86vHUcVr4ubwsJVT7ZpQlew7f7egoX2m+7f+5nhGyToWPebZehN/L9Bjjidvy+TuvKjR+LW63jn4D0yaI/+9YgN+5Cm47p6d/OeJnRWjfTzUK5phzrpfgmdcqjl+x3KKjQg1T8o4lGtus1K1AH/on2Pku92sfcpy4Y+bn32RNMdVWGk0HRl+SdpTfH/ +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Generate presigned URL for uploading file attachments to a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-work-item-comment.api.mdx b/docs/api/create-work-item-comment.api.mdx new file mode 100644 index 0000000..ae6abd1 --- /dev/null +++ b/docs/api/create-work-item-comment.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-work-item-comment +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Add a new comment to a work item with HTML content." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Add a new comment to a work item with HTML content. + + + + + + + + +New comment content

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

New comment content

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

New comment content

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

","comment_json":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"This issue has been resolved by implementing OAuth 2.0 flow."}]}]},"actor":{"id":"550e8400-e29b-41d4-a716-446655440001","first_name":"John","last_name":"Doe","display_name":"John Doe","avatar":"https://example.com/avatar.jpg"},"created_at":"2024-01-01T10:30:00Z","updated_at":"2024-01-10T15:45:00Z"}}}}},"description":"Work item comment created successfully"},"400":{"description":"Invalid request data provided"},"401":{"description":"Authentication credentials were not provided or are invalid."},"403":{"description":"Permission denied. User lacks required permissions."},"404":{"description":"Issue not found"},"409":{"description":"Resource with same external ID already exists"}}} +> + +
+ + + \ No newline at end of file diff --git a/docs/api/create-work-item-link.api.mdx b/docs/api/create-work-item-link.api.mdx new file mode 100644 index 0000000..2ed4184 --- /dev/null +++ b/docs/api/create-work-item-link.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-work-item-link +title: "Endpoints for issue link create/update/delete and fetch issue link details" +description: "Add a new external link to a work item with URL, title, and metadata." +sidebar_label: "Endpoints for issue link create/update/delete and fetch issue link details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Add a new external link to a work item with URL, title, and metadata. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/create-work-item.api.mdx b/docs/api/create-work-item.api.mdx new file mode 100644 index 0000000..6e26720 --- /dev/null +++ b/docs/api/create-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: create-work-item +title: "Create work item" +description: "Create a new work item in the specified project with the provided details." +sidebar_label: "Create work item" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Create a new work item in the specified project with the provided details. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-cycle-work-item.api.mdx b/docs/api/delete-cycle-work-item.api.mdx new file mode 100644 index 0000000..1818b12 --- /dev/null +++ b/docs/api/delete-cycle-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-cycle-work-item +title: "Delete cycle work item" +description: "Remove a work item from a cycle while keeping the work item in the project." +sidebar_label: "Delete cycle work item" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/isEv6wFZMtJna7TpwWJVxgLOqNt1gGpEdDUOeZMkSxJ2fUE/ffhSEmRX1JswdYvfrk73vs9dxXVBizzQqtpTjOagwQP93zHJdxvtV3fCw8FTWgOjlthUJBm9D0UegOEERQhKEKWVheEkfCSbFdCAlkDGKEeiF9BT1CoQDBW/wncD2lCDbOsAA/W0eyuogItGOZXNKGKFUAzGv0ROU2o4ysoGM0q6ncGec5boR5oQpfaFszTjJalyGmdUAtfSmEhp5m3JdTJSdXCufJ/Ut2E+K+V7+d6FrWQ6TU9tJtQ+MoKI8Gh3kn83chPr5G2YbJEYxcXI3gzHo0GcP7TYjA+y8cD9uPZ68F4/Pr1xcV4PBqNRuhkWRTM7mjWKmvLFK3vO3ZJ/M4IzmQndHs7vaZ1/UQ6nCwfvpGIo8A/abt2hnEgzct/EHz3ph98sRtsO/qpIPvcp2Lc7ntT1/U8oZ49YM/SK+xPR+cJdcBLK/wudPKlEb/C7rL0K1BecBaV3s0xQb8h+fwEb46BOqOVi5Gdj8b4dTiATpeWA4kDmxNXcg7OLUspd5jK8ejs+NW+NcIt5PiXSUe2YIEo7bGWG5FDTrQlzAIRasOkyIdR6atjpTOwhXAOFeagBORDcuvAEsn42pG2ZsR0Yq7RdSKsjysIL8BhTLYNcstc8G2pS4We1AktwK/0I2IFFPErmtGUGZFuztKuXi6tsGJ12nSpS6vHwazTAC0urVqIaSiDgAsurVp8qFNsHbCbFqZKK2lGV94bl6VodWgkUzB0+qiLZlbnJQ9/sPSPL7M0lZozudLOZ2/iDO4/vUE2rXud9QHnJ7bG6f7qBosFNk3iMK6A5WAfx/GPweVsOogCB20ym5I17AjbUzwks9gaZKdLS1qhBs47bSTaCTU+3eOdfxoNnCMCSr0NASFBW/FXkLzSORwRb0PuUqSlOm1ZMGDGYIG8XsOBTCCF4nFtYt4ssDwMEcsJC3NDvO7azdGEbq3w6OIn/D4pg03IpQDlrx7HKAT3HV04wsyY8YPKEVcao63HXbzQfkX2Mkq4zoFgCQhTOYkx7WED8obkF22fYiZEKC7LHMgPzJh7oZxnUgbt9yL/gXQLvu2WkJB20olhO6lZHoPjIMJlsdC+EVtq20NfZgzpG3ARD4Ra6pB94SU0SDLDeSTvJx8+YrfShOLsxjyNhqPh2VHjHz/6rD6r34UTnmDPfykFXxPnmfXkocRRwIwh5oZxyDUvC1A+ppV5cpfDBiReWK4Dh/mLFjJOMBFGBhaWYEFxSIXyHXK8xEuJa+UZ9xhoM8XBXZocoFEPiaBgAllND/zcseqESsFBOeipe/vully+nd1sXh3pfBB+VS6GXBdpwdYQ9ERD6ULqRWosbARs05vp1eTdh8nQf/WhMkY7XzDVM3IdILs9FdvD8LAaVYgWlP/P780Gfjx89RiAQFSOwVbNFrlD7MSGwR553CQ0oVlzi7TLBEl7d17cJ0juHa39lYKs3tGJRwPCPxqtqgVzcGtlXSP5Swl4ptzNE7phVrAFdvZdRXPh8HdOsyWTDr6Rtxfvm/X7kjwVd7srFO6B9mKiCV3Drn944976jna7BD3b7t7Z/AwPekV9tg9HF+wz/IjX5rx/8lxPbiYfJzQJm3F/36/DOm9+YK+cVN5f/dEKfmKYJ8WrKl4Sdd3JR9aTL7pbo6mmwgjq+m9kvfh4 +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Remove a work item from a cycle while keeping the work item in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-cycle.api.mdx b/docs/api/delete-cycle.api.mdx new file mode 100644 index 0000000..e7bb655 --- /dev/null +++ b/docs/api/delete-cycle.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-cycle +title: "Delete cycle" +description: "Permanently remove a cycle and all its associated issue relationships" +sidebar_label: "Delete cycle" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1vGzcM/iuEvrQFzj4ndbrOnxYkXhEsaIO2WQekRiBLdKxZJ6mSzq5n3H8fKNlnO3aKLRj2xS8kxXc+5IpZh55HZc2VZAMmUWPEe7EUGlnBJAbhlSM2G7Ab9BU3aKJegsfKzhE4JFHgRgLXGlQMwEOwQvGIElQINYJHnSyEqXKBFcxxzyuM6AMb3K2YIt2OxykrmOEV0r8ZK1gQU6w4G6xYXDqihuiVeWAFm1hf8cgGrK6VZE3BPH6rlUfJBtHX2BTHlXr7J4p4r+S/U/4oCVkLXF2yx3YLht955TQG0jvMv9fyV5dEm3Ndk7Gzsx6+7fd6HTz9edzpn8h+h/908qbT7795c3bW7/d6vR45WVcV90s22CgDt2t937FziEunBNet0O3t1SVrmifSEXT98INEHAT+xfpZcFwgrF/+g+DbN7vBV8vOoqUfC3KX+1SMi31vmqYZFSzyB2opdkE9GdioYAFF7VVcpkY7d+o3XJ7XcYomKsGz0rsRJegDkU+P8EYUaHDWhBzZaa9PX/t+fcRgay8Q8vxICLUQGMKk1npJqez3Tg5f7VsD4VHSX64DLNAjGBuplnMlUYL1wD2CMnOulexmpa8PldKQqhBIoUSjUHbhNqAHzcUswKZm4FqxsNZ1JKzPU0wvMFBMfhPkgofk28TWhjxpClZhnNotgKQhj1M2YCV3qpyflG29QrmiijXluktDudoOZlMmOCHarCmpOdDPNzhRe80GbBqjC4OS9Had5ga7wR4ilbeyFukPFXf7clCW2gqupzbEwds8ZftPr4nNmp3e+UQTkot/vIPa0eGJzYo8blPkEv124P7onN9cdbLAo0a4uYIZLoHvKe7CTS4+LG3tYSOkDMQpQqsNsp1UxeNd3PpnycApYZy2ixQQEaxXfyXJCyvxgHibclcSrbTlhoUd7hwVKNoZPpJJpFQ8YV3Om0cu05hwCTxNBkTbNhTthIVXkVz8Qt9HZajNhFZo4sV2UFJw/6MLB6iYM/6ochBq56yPyjzA2MYp7GUUhJUIVIK0NnNMe9NPvC78av1TzAKUEbqWCC+4c/fKhMh1XrL3Sr6AdsNuuiUlZDPL4PhSWy5zcAJVWuRjG9diE+t38JU7B7sGQp54ZSY2ZV9FjWusuKF5hI/DT5+pW1nBaHZznnrdXvfkoPEPH301X83vKqgI1PPfaiVmECL3ER5qGgXKGKFqGgdpRV2hiTmtPMKdxDlqOmlCCw6jlxvIOMIkGOl4nKBHI7BUJrbI8arLCiasiVxECnQ9xcldVjxCox0kwoorYq174JeW1RRMK4Em4I66d+9v4fzdzfX89YHOBxWn9bgrbFVWfIZJTzZUjrUdl87jXOGivL66GL7/NOzG7zFVxtkQK252jFwmUIajV90qxYgm/ocH3hpuIn6P5LAiFM7BrdZ74Y6wkhqEemK7G1jBBuvrYrMeiLR3ueUNkch0JdKWJzQnnavVmAe89bppiPytRror7kYFm3Ov+Jga9W7FpAr0W7LBhOuAP0jIy4/rffkKngprA/2GYH1z4rCCzXCZD1laQM+yuHdpPsf2NmvP9uHg6HuGH/lAG+1eCZfD6+HnISvSqtlfoLO0H9c/qFpHle/u0myFPinMo+KrVV7NTdPKZ9aTL9rlnaUpzlHTNH8DJLyMPA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a cycle and all its associated issue relationships + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-intake-work-item.api.mdx b/docs/api/delete-intake-work-item.api.mdx new file mode 100644 index 0000000..ec013fa --- /dev/null +++ b/docs/api/delete-intake-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-intake-work-item +title: "Delete intake work item" +description: "Permanently remove an intake work item from the triage queue. Also deletes the underlying work item if it hasn't been accepted yet." +sidebar_label: "Delete intake work item" +hide_title: true +hide_table_of_contents: true +api: eJzNVltv2zYU/isHfGkLyJaTOl2npwVNVhgLNqNt1gGpEdDisc2ZIhmSsusZ+u/DoWRZjp2iyIZhL77w3G/fOVtmLDoepNEjwTImUGHAe6kDX+L92rjlvQxYsIQJ9LmTljhZxsboCq5RB7UBh4VZIXANtRiQGJAYzJwpICwQgpN8jvBQYol9uFTeQG3KR3KpBTq1kXreEZYzkAEW3OsXAaaIGnieow0oYIOhzxJmueMFBnSeZXdbJskzy8OCJUzzAlnGpPcl3kvBEubzBRacZVsWNpZoPjip5yxhM+MKHljGylIKVj2OdUQ6YHTFEubwoZQOBcuCKzFh+JUXVqEnrdf178g9uqKXFVclGbq4GODb4WDQw/Mfp73hmRj2+A9nb3rD4Zs3FxfD4WAwGJCDZVFwt2HZThXIveVDly4hbKzMuWpYbm9HV6yqquRkEqwzf2Ie/mEaxrWW705Ew/8vpcJ2rT+VjB3Tt9PhVTn/RiKOAv9s3NJbniM0kt8RfCvTDb7Y9Nbt+6kgu9SnYlwfelNV1SRhgc9pBNgoDiCbJMxjXjoZNnEwLq38BTeXZVigDjLntdK7CSXoN3o+P0GbUKDeGu3ryM4HQ/o69OsDelO6HJtpFuDLPEfvZ6VSG0rlcHB2LHVoDXKHgv5y5WGNDkGbQLVcSYECjAPuEKRecSVFv1b6+lgpQZL0nhQK1BJFH249OlA8X3rY1Qxsy+YbXSfC+rTAKIGeYnK7INfcR99mptTkSZWwAsPC7JEzglJYsIyl3Mp0dZa29fLplipWpU2X+nS7H8wqrbGzF+fZp9sdcFUpdQq61Q7kSqdYxhYhWJ+lZKRvFdfY9+YYpJ0RZR7/UKX3klmaKpNztTA+ZG/rkTsUvSEyqzqN9JHGpe6E0+3UzhGPZJbUs7dALtDtp++P3uV41KsZHnXFeARL3AA/UNyHcd0JsDGlgx2T1HFxtNqgthNLerqlW/8MGTgnwFNmHQOiB+PkX5HznRF49Hgbc5fSW2rSHQl73FoqUDBLfMQTn2LxcmPrvDnkIs4MF3GVeQ/BtN3lWcLWTgZy8TN9n+ShnsuVRB3e7acmBvcfunAEkXXGH1UOfGmtcYG2+tSEBRxkFHIjEKgEwLWAOqYDKCBaH3427iliAlLnqhQIL7i191L7wJWK2u+leAHtebDrlpiQ3WCD5RtluKiDy1HSDUOONmwz4zpgy62FrgFfj7/UMxOzL4PCBjjGNI/w4frjJ+pWljCa3TpPg/6gf3bU+MdCX/QX/bv0MgD1/EMp8yX4wF2AeUmjQBkjiI3jIExeFqhDnVYe4E7gChUddr4Fh8nLHWScIBKM9BzO0KHOkaCoRY5XdGflRgeeBwq0meLoLkseoVEHibDgkkhND/zUkqqEKZmj9thR9/7XW7h8P75ZvT7SOZdhUU77uSnSgi8x6qkNpVNlpql1uJK4Tm9G765//XjdD19DrIw1PhRcd4xcRYQ+OlIfl2Mbw0Ud/jdnboNbAb8GilwSnNdZ2jbb5o5AlzqNmmu/cVjCsuZm2S0dejq4Bw/2DlE7JzMdErQjyMB2O+Ueb52qKnp+KJFOl7tJwlbcST6l9r/bMiE9/RYsm3Hl8Ru5ffmhWcmvoHNhn4x1t1g0LY3dNcUStsRN98anJfcs+wen7TM86CT02T4cXZnP8KO+CCfds+Tq+ub60zVL4jo7XNLLuIObH1S7k8q7+7q2Qp8U5kn27bZe/1XV8tekJyXaA6GppqYIqupvMCQH4A== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove an intake work item from the triage queue. Also deletes the underlying work item if it hasn't been accepted yet. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-property-option.api.mdx b/docs/api/delete-issue-property-option.api.mdx new file mode 100644 index 0000000..cc993c8 --- /dev/null +++ b/docs/api/delete-issue-property-option.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-property-option +title: "Delete an issue property option" +description: "Delete an issue property option" +sidebar_label: "Delete an issue property option" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/ivEfWkLyJaTOl2nTwsarzAWdEbbrANSI6Clc8yZIlmScuoZ+u/DkbIixU7XpcC++IV3vNfnHt4OtEHLvdBqWkAGBUr0eCOcq/DGWBL67Y02pAAJFOhyK+K/DC6CMuOKBX2212etvuGWl+jROsiudyDoluF+BQkoXiJkEFVvRAEJuHyFJYdsB35rSOi8FeoWElhqW3IPGVSVKKBOwOKXSlgsIPO2wjo5attY/Rfm/j8b72c5i1bY9AIe+k0Av/LSSHRkdxJ/N/rTCzrbcFmRs7OzEb4ej0YDPP15MRifFOMB/+nk1WA8fvXq7Gw8Ho1GIwqyKktut5DtjTHT9d4P7Jz5rRE5l63S1dX0Aur68XLEdv5wPWKXjxTkEc9OVrffcHng4pO2a2d4jqy5+R1lb+90y15uB3ft+bHydqWPVfeuH01d1/MEPL8lTIdQ2dRjyZq6CHQwT8BhXlnhtwH350b8htvzyq9QeZHz6OJ6TuX6nY5Pj8jmlLYzWrmY5+loTF/9KKfHBo/FKQ69G49ODm/1vbHcYkF/uXTsDi0ypT3Z3IgCC6Yt4xaZUBsuRTGMRl8eGp2hLYVz0b8SWAzZlUPLJM/Xju07yEyr5hpb350WhbXUlSqgrhMo0a/0PWcFtvEryCDlRqSbk7Ttm0t31Lk6bebEpbt7aqjTQF4D07YvSPeTUqfRuUt3LVXVKWEJ7WbPa5WVkMHKe+OylNwPjeQKh04fwGpmdVHl4Q91//5mlqZS51yutPPZ60gH/auXJIa6A64PNFARHcch1k4aD2JI4nSukBdo7+fzz8H5bDqICg+QMpuyNW4Z7xkeEtgJHWyrK8v2SkIxv0LWWmPRT2jzcZi38WlycErkI/VdSIgOtBV/B803usCDw6tQu5TOUp3uRTjgxlCDvF7jA51wFJqXaxPrZpETht4jLxjPc3SOec0sOl3ZHB0kcGeFpxA/0fdRHUJjLgUq/+Z+kkJy/2MIByQaK/6gc8xVxmjrhbplC+1XrFdRlusCGbWAcVWwmFOPHkg2ZL9q+5gwYULlsiqQPePG3AjlPJeSN5PzjLUbwR4toSCBHtB5ZvhWal7E5HIUG2ScAm3Ultp26Jgbw7oOiFBqgvhSh+oLL6lqH1fIZjSP7P3kw0dCKyRAsxvrNBqOhicHwD+89Fl9Vn8IJzwjzH+pRL5mznPr2W1Fo0AVW1ZShnEodF6VqHwsK/fsusANSqIV15LD/PmeMo4IiUYGFpdoUeWYCuVb5ngxhARyrTzPPSXaTHEIF5IHbNRhIiy5IFGDgV9aUZ2AFDkqhx1zb99dsfO3s8vNywObt8KvqsUw12Va8jUGO9FRupB6kRqLG4F36eX0zeTdh8nQf/WhM0Y7X3LVcfLvK2SvLbuQNir/XVcbbvH41VN0gig3ZrJr3oprIkZCAwHg/r2ABLJm89g/GXTU2ycfvhqNQmfDah4OEnS3XNoOiOTJ+2634A6vrKxrOv5SIW0n1/MENtwKviD8Xu+gEI5+F5AtuXT4jaI8f9+8sy/YYwXYvwiK2H6/KEECa9z29nF6np7kuLcwPyGETpl/JIbOkvq0INpWPjmKgz32CYHEnXPeXXguJpeTjxNIwnPYf+TX4Q1vfhB0jhrvvvfRC31SmkfVd7u4PtR1qx9Fj95oF4yoTXnO67r+B3KA/dg= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete an issue property option + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-property.api.mdx b/docs/api/delete-issue-property.api.mdx new file mode 100644 index 0000000..bb9ec68 --- /dev/null +++ b/docs/api/delete-issue-property.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-property +title: "Delete an issue property" +description: "Delete an issue property" +sidebar_label: "Delete an issue property" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJna7TpwWNVxgLWqNN1gGpEdDkOeYskSxJ2fUE/ffhqBdLsR102bAvsc073h2fe+4lBdUGLPNSq6mgCRWQgod76VwO98ai0O9oRAU4bqVBPZrQq6BFmCJBkXQUDbMsAw/W0eSuoBLVDfMrGlHFMsBfVv8J3N9LQSPq+AoyRpOC+p1BqfNWqgca0aW2GfM0oXkuBS0fhzCrrJDpFY2ohW+5tCBo4m0OEYXvLDMpOLQ7qb7X+tMrPNuwNEdnFxcjeDsejQZw/vNiMD4T4wH76ezNYDx+8+biYjwejUYjDDLPMmZ3NGmMEdP13g/skvidkZylrdLt7fSKlmUZnYIjYPeP8eg/+oR1l+YPT5g9gPWLtmtnGAdS3/wBaNs7XWiz3WDbnh+DsCs9heC2H81JDPFR/5JPNzsDP0wmVP6PmORbv6dACBoNh+YR9ewBayukikw9ZGRWUUiCo/OIOuC5lX4X6u/SyN9gd5n7FSgvOaus380RyI94fH5ENkcQnNHKVa8+H43xox/gtFf5pGocAdjx6OxQve+GcAsCf7LUkS1YIEp7NLaRAgTRljALRKoNS6UYVkZfHxqdgc2kc2hQgJIghuTWgSUp42tHmkQS06q52taR99ysINwA50EQC07nlgPZMhdiW+pcYSRlRDPwK71vlqHp+RVNaMyMjDdncUtbFxdI3DKuW4GLi333K+PQPAeYXxcXNYebU9PmNNxpWkQZI4vAbpoGm9uUJnTlvXFJjAEMTcoUDJ0+oNTMapHz8APTv7+ZxHGqOUtX2vnkbcXU/tVrFNOyw67PWGgVPY5zrK1AFsQ0qgp3BUyA3ZfuH4PL2XRQKTxizGxK1rAjrGd4iGxHlpCdzi1plKQifgWktUYqPyHdx3nexqfRwTl2iFRvw4PwQFv5V9B8pwUcHN4G7GI8i3XciGDAjMEEeb2GRzrhKCSPa1PhZoEhiz4BE4RxDs4Rr1vmORrRrZUeQ/yCn0d1kI88laD8u31Fhcf9jyEcNNMK8UeZIy43Rlsv1QNZaL8iPUQJ1wIIpoAwJUj1pl6bQNmQ/KrtKWFEpOJpLoC8YMbcS+U8S9Ng/V6KF6RdTRq2BECaoieG7VLNRPU4DnIDhGGgtdpS2848YsaQrgNXtQapljqgL30KdVOZYT2ST5PPN8hWGlGs3Qqn0XA0PDsg/uGlr+qr+l066Qly/lsu+Zo4z6wnDzmWAiK2zNM0lIPQPM9A+QpW5smdgA2k2EJc2xzmL5uWcUSIbWRgYQkWFIdYKt92jldDGlGulWfc40PrKg7h0uhRN+p0IsiYRFHNgV9aURnRVHJQDjrm3n+4JZfvZ9eb1wc2H6Rf5Ysh11mcsTUEO5WjeJHqRWwsbCRs4+vpu8mHz5Oh/+5DZox2PmOq4+SJJbaXjyK8F5R/+k7dTTx89xiPxCZbxV7U8+EOWyHmH1O+nxE0okm9bDVjAo96a3JnUqBsv+88Hhb1zc5GiSsBNnb0XxQL5uDWpmWJx99ywF3kbh7RDbOSLZCzdwUV0uF3QZMlSx08gcfLT/WMfUV6C/lRMJp5oBCuZnGiEV3Drv9vAU6nZ8XwbM8tXs92fbA4PyOQasl9bgT7DfYZrhtGlfPugnM1uZ7cTGgUhl9/pK/DxK6/IGmO2u9O98oR/sUnHlUvimpZKMtWvxKdvNGuE5U2PnVeluXfXQAZ0Q== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete an issue property + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-type.api.mdx b/docs/api/delete-issue-type.api.mdx new file mode 100644 index 0000000..f26fc95 --- /dev/null +++ b/docs/api/delete-issue-type.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-type +title: "Delete an issue type" +description: "Delete an issue type" +sidebar_label: "Delete an issue type" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/isHfmkLyJaTOlmnTwsarzAWdEabrANSI6DJc8xZIlmSsusZ+u/DUbJsxU6x5cO++IV3vNfnHt6WGYuOB2X0WLKMScwx4IPyvsSHsLHIEibRC6cs6bCMXUcN4BqiEjRKljteYEDnWXa/ZYpULQ8LljDNC6R/zvyFIjwoyRLmxQILzrIti/cz5oNT+pElbG5cwQPLWFkqyaqn7ie1FRhfs4Q5/FYqh5JlwZWYMPzOC5ujJ7uj+nejP76msxXPS3J2cTHAd8PBoIfnP896wzM57PGfzi57w+Hl5cXFcDgYDAYUZFkU3G1YtjMG9tB7N7ArqoQSPG+V7u7G16yqquRkOXxePv6gEEeJfzFu6S0XCM3Nf5F8e+cw+WLTW7fnp5I8lD6X47obzbNZUlL/uePdzKppwgJ/JFzFIsA4YAG3G4ueTRPmUZROhU2E3ZVVv+HmqgwL1EEJXsd9P6Xofqfj8xOyKXn01mhfF+98MKSvburjFuxQz0iMdDgYHKte45yXeYg1AkXBxmuCa20CzJ4YODs20I0RhENJf3nuYY0OgcxYZ1ZKogTjgDsEpVc8V7JfG317bHSCrlDek0GJWqHsw51HBzkXSw+7koNt1Xxj60QxbhcYb6APKMGhN6UTCGvuY2xzU2qKpEpYgWFh9sQSiSIsWMZSblW6OktbIPl0S1Cq0mZ8fLrdM0aVRrLpUSF9um1QVaWEK3SrHeuULmcZW4RgfZaSh77Nuca+N0dQnjgjSxH/EDj2N7M0zY3g+cL4kL2riaB79YbErDrA3mfCdg2e0whsQc+jmCX1rCyQS3T7afmzdzUZ92qFJ5CYjGGJG+Adw32Y1DCAjSkd7JSUhrBAaK1B7Sf28/QUtPEZcnBOQ5mbdUyIDoxTf0fN90bi0eFdrF1KZ6lJdyLscWupQcEs8YlOPIrNE8bWdXPICSafkEvgQqD3EEwLLc8StnYqUIhf6PukDgFO5Ap1eL8fmZjc/xjCEXHXFX/SOfCltcYFpR9hZsICOhUFYSQCtQC4llDn1OEBkvXhV+OeEyagtMhLifCKW/ugtA88z6P1ByVfQfte79ASC7KbarB8kxsu6+QEqhUCp0AbtblxB08AtxYOHfh69pWem1h9FXJsWGNC8wifRp9vCa0sYTS7dZ0G/UH/7Aj4x5e+6q/6D+VVAML8t1KJJfjAXYDHkkaBKjYv8zyOgzSiLFCHuqw8wL3EFea09PiWHKavd5RxQkg00nM4R4daYKp0aJnjTZ8lTBgduAiUaDPFMVyWPGGjAybCgisSNRj4pRVVCcuVQO3xwNyHj3dw9WFys3p7ZPNRhUU56wtTpAVfYrRTO0pnuZml1uFK4Tq9Gb8fffw86ofvIXbGGh8Krg+cPLPVdXqxjbmiDs/rNywS8HugOBSRax3ztiH+e6JA6ju1ek/+LGFZs9fs+J+OOjvjwRNAsv1qQWsA0TVZ325n3OOdy6uKjr+VSLvN/TRhK+4UnxES77dMKk+/JcvmPPf4g0xff2qexjfQ2T1PprpjeU0Mvlu4WMKWuOluwPTmvCiGozXwBXHUK9tLI3iZz123qunhVnA9uhndjlgSH5TuM7mMr2Dzg1p20v7hi1k7ok/K7aT6dls/wFXV6teiZ2+0T3StTalOq6r6B47SjR4= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete an issue type + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-issue-worklog.api.mdx b/docs/api/delete-issue-worklog.api.mdx new file mode 100644 index 0000000..2876163 --- /dev/null +++ b/docs/api/delete-issue-worklog.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-issue-worklog +title: "Delete a worklog entry" +description: "Delete a worklog entry" +sidebar_label: "Delete a worklog entry" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1v2zYQ/isEv7QFZMtJna7TpwWNVxgLOqNt1gGpEdDkOeZEkSxJ2fUM/ffhSFm2YyfYAqxf/HJ3vPd77jbUWHAsSKPHghZUgIIAd9L7Gu5WxpXK3NOMCvDcSYtitKBXUYgw0goQ0MGtaUYtc6yCAM7T4nZDJQpbFhY0o5pVQAuaFEtBM+r5AipGiw0Na4s8H5zUaG1uXMUCLWhdS0GbjDr4VksHghbB1dBkJ1Xb8v9Q6sxfwMN/9vgwYZOkhYyv6EO7GYXvrLIKPOodpd+t/PgKaUumajR2cTGAt8PBoAfnP896wzMx7LGfzt70hsM3by4uhsPBYDBAJ+uqYm5Ni60yYvetHzp2ScLaSs5UJ3RzM76iTfNIOryq759IxFHgX4wrvWUcSPvyXwTfvdkPvlr3Vh39VJD73MdiXB160zTNNKOB3WO3RlfJOEBFvqSu9nSaUQ+8djKsYz9fWvkbrC/rsAAdJGfJwO0Uk/U7ks9P8KYYtLdG+xTl+WCIX8d5wkFK4yeIrzkH7+e1UmvM6nBwdvzo0BjhDgT+ZcqTFTgg2gQs61IKEMQ4whwQqZdMSdFPSl8fK52Aq6T3qFCAliD65MaDI4rx0pNt+YjtxHyr64mo0JG5qXX0IsgKSHCMl1LfEyE9mykQtGkyWkFYmB0KRUAJC1rQnFmZL8/yroA+32AJm7xtW59vdpPa5BFlfL7Zok2Tt0iFcmWTYweBW25xqnaKFnQRgvVFjrb6VjENfW+OmmnijKh5/INV370s8lwZztTC+FC8TaN4+PQa2bTZa6pPOEapK063VjdfLLJplmZyAUyA203ln73LybiXBB60yGRMSlgTdqC4TyapLcja1I5shaQmYQGk00aSnVjf0+3d+WfQwDkCoTKrGBASjJN/R8l3RsAR8SbmLkdabvItC3rMWixQMCU8kImkWDxubMqbA4YN8xGYICzODAmGOPCmdhw8zejKyYAufsHvkzLYelxJ0OHdboRicD/QhSPoTBl/UDnia2uNCzg6MxMW5CCjhBsBBEtAmBYkxXSAC8jrk1+Ne4yZEam5qgWQF8zaO6l9YEpF7XdSvCDdht92S0xIxAXwgVi2VoaJFBwHucQrYWZCKzY3bg+EmbVk3wAiSYMtPjcx+zIozNrnBZAJziP5OPr0GbuVZhRnN+Vp0B/0z44a//jRV/1V/yG9DAR7/lsteUl8YC6Q+xpHATOGeBvHQRheV6BDSisL5FbAEhTeSr4Dh+nLLWScYCKM9BzMwYHmkEsdOuR41acZ5UYHxgMG2k5xdJdmD9BoD4mgYhJZbQ/80rGajCrJQXvYU/f+ww25fD+5Xr4+0nkvw6Ke9bmp8oqVEPUkQ/lMmVluHSwlrPLr8bvRh0+jfvgeYmWs8aFies/Io5fgQTU2MVrQ4akXLZIE+B7QF4kAm/zetGvgFmEQa4/l3q0CmtGivS622wBJB5dbWghI3jtAtzshSuPxiAsf8RtNbTYz5uHGqaZB8rca8Ny4nWZ0yZzEnRVXR7e/ijlTHp4I/OXHdne+Io9FuwV7jfnYXj40oyWs909nXDw/0K4tn2/x4PB9ju1dEZ/tw9EN+gw/0r043b9RrkbXo88jmsWldriqy7iJ2x/YJSeV72/tZAU/McyT4ptNOgKappNPrEdfdGdC2z8aI2iafwDxycyJ +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete a worklog entry + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-label.api.mdx b/docs/api/delete-label.api.mdx new file mode 100644 index 0000000..fe27545 --- /dev/null +++ b/docs/api/delete-label.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-label +title: "Delete a label" +description: "Permanently remove a label from the project. This action cannot be undone." +sidebar_label: "Delete a label" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1vGzcM/iuEvqwFzj4ndbruPi1ovMJY0Bltsg5IjUA+0bFmnaRKOqeecf99oHR+d4oiK/bFLyTFdz7kihmLjgdp9FCwgglUGPBe8QkqljGBvnTSEpsVbISu4hp1UEtwWJkFAocoClNnKggzBOvM31iGLtzMpAde0lMoudYmwASh1sJo7LKMWe54hQGdZ8XdikkyYHmYsYxpXiH9m7OM+XKGFWfFioWlJaoPTuoHlrGpcRUPrGB1LQVrDp29jn4Nr1jGHH6ppUPBiuBqzBh+5ZVV6EnrIP2O0sMroiy4qsnQxUUP3/R7vQ6e/zLp9M9Ev8N/Pnvd6fdfv7646Pd7vV6PHKyrirslK9aq2oxEy/suXUJYWlly1Yrc3g6vWNM02enwUybvpfgvaRglLd+diFb+B6XC7lp/KhlroW+nw6v64RuJOAr8k3Fzb3mJ0L78juA3b3aDr5adxw39VJC73KdifNz3pmmaccYCf6DmT63q2ThjHsvaybCMI3Fp5e+4vKzDDHWQJU9K78aUoD+IfH6CN6ZAvTXap8jOe3362vfrA3pTuxIhjbsAX5clej+tlVpSKvu9s+NX+9agdCjoL1ceHtEh0IhbZxZSoADjgDsEqRdcSdFNSl8dKyVMkd6TQoFaoujCrUcHipdzD+uagd2I+VbXibDSyJMbU1NrwZomYxWGmdkiWwSeMGMFy7mV+eIs31TG5yuqTZO3/ejz1XYEmzyOLNHmTU5tgG6xxq7aKVawWQjWFznp7VrFNXa9OYZQZ0QdQZFRGbcvizxXpuRqZnwo3qR5OoiO2KzZ6ZKPNAupzKd7ZTMkPLJZlgZrhlyg247WX53L0bCTBA5KPhrCHJfA9xR3YZTKDEtTO1gLSR03wEYbJDuxXqf7deOfIQPnhGbKPMaAiGCc/CdKvjUCj4i3MXc50XKTr1nY4dZSgYKZ44FMJMXilcamvDnkIg4EF8DjDEAw4Nr58Cxjj04GcvETfZ+UoTYrlUQd3m5HIgb3P7pwhH8p4weVA19ba1yQ+gEmJsxgL6NQGoFAJQCuBaSY9uaceF34zbinmBlIXapaIPzErb2X2geuVNR+L8VPsNn6626JCYlzjj6A5UtluEjBlSjjhTExoRWbGreDpNxa2DVAyNBQi09NzL4MirJ2M0MY0TzCh8HHG+pWljGa3ZSnXrfXPTtq/ONHn/Vn/af0MgD1/JdalnPwgbsADzWNAmWM8DOOgzBlXaEOKa08wJ3ABSq6tfwGHMYv1pBxgkkw0nE4RYe6xFzqsEGOl3Q+lUYHXgYKtJ3i6C7LDtBoB4mw4pJYbQ/8umE1GVOyRO1xR92797dw+W50vXh1pPNBhlk96Zamyis+x6gnGconykxy63Ah8TG/Hr4dvP846IavIVbGGh8qrneMXEVQXl+Rh1VYxShRhx99e7aoE/BrIL8lgXGKcdWuhzuCTOoTao3timAZK9pzYr0liLR3qqVFEcl0wNJaJ1AnnavVhHu8dappiPylRjok7sYZW3An+YT69W7FhPT0W7BiypXHb2TlxYd2Qb6EnXv3ZHjrTaAJ5de3DcvYHJfp1qZ99CzLeyfmc2xvs/dsH46uvWf4kS6z8e7RcDW4HtwMWBY3z/4+ncd12f6gqp1UvrtakxX6pDBPiq9WaVM3zUY+sZ58sdnlSZriHDdN8y9i070K +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a label from the project. This action cannot be undone. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-module-work-item.api.mdx b/docs/api/delete-module-work-item.api.mdx new file mode 100644 index 0000000..0c50b02 --- /dev/null +++ b/docs/api/delete-module-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-module-work-item +title: "Delete module work item" +description: "Remove a work item from a module while keeping the work item in the project." +sidebar_label: "Delete module work item" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJna7TpwWNVxjLWqNt1gGpEdDiOeJMiSxJ2fUE/ffhSEmWXxIUabEviU0e7+W5u+fOFVUaDHNCFVNOE8pBgoO7XPFSwt1GmdWdcJDTiHKwqREaJWlCP0Cu1kAYQRGCImRpVE4YCU/JJhMSyApAi+KeuAx6kqLwB9qofyB1QxpRzQzLwYGxNLmtqEATmrmMRrRgOdCECmtLuBOcRtSmGeSMJhV1W4131hlR3NOILpXJmaMJLUvBaX3o9BR1kOkVjaiBr6UwwGniTAkRhW8s1xIsap2Ez156eoUnayZLNHRxMYLX49FoAOe/LgbjMz4esF/OXg3G41evLi7G49FoNEIHyzxnZkuTVhURO8v7Ll0St9UiZbIRubmZXtG6rqOTIDRp+TEU/gwJ+l4YgvhPwiHv2X4IiEbmcSSa2vlBKGZBy3dj0cj/JDB03/pDaLRCj8NhZXn/CBBHgX9WZmU1S4E0L78j+O5NP/h8O9h056eC7N8+FONm35u6rucRdeweyaApV0vnEbWQlka4reeISy3+gO1l6TIonEhZ0Ho7R4Te4/H5ibs5Rmq1KmwI7Xw0xn+H3GZVaVIggQw5sWWagrXLUsotYjkenR2/2rdGUgMcvzJpyQYMkEI5TOZacOBEGcIMEFGsmRR8GJS+PFY6A5MLa1Ehh0IAH5IbC4ZIlq4saZNGdCdmG10nwmr6PvAMerNUZcFpXUc0B5epHf17QnYZTWjMtIjXZ3GXIRtXmKM6burSxtWuFes49K6Nq46p2rOBt2vjqiXyOsZ6AbNuSb80kiY0c07bJEbDQy1ZAUOrjkpnZhQvU/8F0717mcSxVCmTmbIueR0ab//pNV7TuldNH7FpQjmcrqmum5i/plHowAwYB7Prwb8Hl7PpIAgclMZsSlawJWxP8ZDMQjmQrSoNaYWa4dhpI8GOz+vpuu78U2jgHGlPqo0PCA+UEf96yTeKw9HhjccuxrNYxe0VDJjWmCCnVnAg44988lKlA24GGPeNwzhhvleIU8Q0fWRpRDdGOHTxM/4/KYN1mEoBhXuzax0f3P/owhFRBsQPMkdsqbUyDjebhXIZ2UOUpIoDwRQQVnASYtrjA7wbkt+VeegyIqJIZcmBPGNa34nCOial134n+DPSrUtttXhAPB+AdUSzrVSMh+BSEH5RWyjXiC2V6VEu05r0DSCD1FjiS+XRF04iap8yIDPsR/Jh8vETViuNKPZuwGk0HA3Pjgr/+NGX4kvxl7DCEaz5r6VIV8Q6Zhy5L7EVEDHkWd8OXKVlDoULsDJHbjmsQeLGajtymD9vKePEJdLIwMASDBQpxKJwHXO8wL0zVYVjqcNAmy727tLogI16TAQ5E3jV1MBv3VUdUSlSKCz01L19d0Mu386u1y+PdN4Ll5WLYaryOGcr8HqCoXgh1SLWBtYCNvH19M3k3cfJ0H1zPjNaWZezomfkyrN2t3m3e/ZhOiofLhTu5+/vDQE5+OYwBIG8HMKtmlFyi+yJJYNVshsnNKJJs4K0EwWP9ta7ZqjgeX8B3psreNn7iYDbAs4AtFtVC2bhxsi6xuOvJeCCcjuP6JoZwRZY3rcV5cLiZ06TJZMWHsHu+Ydm7r4gvV8UJyFoB0eBQ6HdmWhEV7Dt/6bBIfYk+/1d/gkO7OB8sgd7K/QTXOhl+sk+HG2zT/AjbJ7z/jJ0NbmefJrQyA/M/TVg5ad88wGr56Ty/kYQrOBfDPOkeFWFBaOuO/lw9eCLbgVp6qnACOr6P075avE= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Remove a work item from a module while keeping the work item in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-module.api.mdx b/docs/api/delete-module.api.mdx new file mode 100644 index 0000000..4e3e99d --- /dev/null +++ b/docs/api/delete-module.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-module +title: "Delete module" +description: "Permanently remove a module and all its associated issue relationships." +sidebar_label: "Delete module" +hide_title: true +hide_table_of_contents: true +api: eJy9Vm1vEzkQ/isjfwGkTTYtKcftp6toDkXXgwjocVKJKmc96fritY3tTQnR/vfT2Js0aQJCPXRf8jIznpdnXtfMWHQ8SKPHghVMoMKAN7URjUKWMYG+dNISnxVsgq7mGnVQK3BYmyUChyQLXAvgSoEMHrj3ppQ8oADpfYPgUEUbvpLW91nGLHe8xoDOs+J6zSRptzxULGOa10j/Fixjvqyw5qxYs7CyRPXBSX3LMjY3ruaBFaxppGDtQ0//TE6NL1jGHH5upEPBiuAazBh+4bVV6EntKP1O4uMLIi25asjU2dkAXw4Hgx6e/jrrDU/EsMd/OXnRGw5fvDg7Gw4Hg8GAXGzqmrsVKza6NoBE2/tenUNYWVlytZG5uhpfsLZts+MQOPMPluFGiv8CxSRp+WEsOvmfBIbdtf4tNDZC34fDq+b2O0AcBP7RuIW3vEToXv5A8Ns3u8HXq97dln4syF3ut2K82/embdtpxgK/pQboytWzacY8lo2TYRX74tzKP3B13oQKdZAlT1qvp4TQWyKfHuFNKVJvjfYptNPBkL72HXuH3jSuREgdL8A3ZYnezxulVoTlcHBy+GrfGpQOBf3lysMdOgRtAiVzKQUKMA64Q5B6yZUU/aT0+aHSt1qtgItaanpSOuSBvrkGi46KG0IlPfAyykctRwLqOp48mJtGC9a2GasxVOZ+rsXBEypWsJxbmS9P8m1WfL6mvLR5V4s+X9+3X5unfiXios2pBtAtN8OrcYoVrArB+iInxX2ruMa+N4cD1BnRbOLYfVnkuTIlV5XxoXiZmmn/6SWxWbtTIe+pEVKKj9fJtkN4ZLMsdVWFXKC776u/e+eTcS8JPEj3ZAwLXAHfU9yHSUoxrEzjYCMkNYQKYasNkp2Y9+O1uvXPkIFTGmXK3MWAiGCc/BolXxmBB8SriF1OtNzkGxb2uLWUoGAW+EAmkmLySmMTbg65iM3ABfBY/xAMuK43PMvYnZOBXPxI30dlqM5KJVGHV/ftEIP7H104GH4J8QeZA99Ya1yQ+hZmJlSwhyiURiBQCuIyTzHt9Tjx+vA7dedxZgZSl6oRCE+4tTdS+8BVWv03UjyB7drfVEsEBGgwow9g+UoZLlJwJcp4X8xM6MTmxu2MUW4t7Brw/ZgKqecmoi+DItQ+VAgT6kd4N3r/gaqVZYx6N+E06A/6JweFf/jok/6k/5JeBqCa/9zIcgE+cBfgtqFWIMRodsZ2EKZsatQhwcoDXAtcoqJTy2+Hw/TpZmQcYdIY6Tmco0NdYi512E6OZ3Q/lUYHXgYKtOvi6C7LHkyjnUmENZfE6mrgty2rzZiSJWqPO+pev7mC89eTy+XzA523MlTNrF+aOq/5AqOeZCifKTPLrcOlxLv8cvxq9Ob9qB++hJgZa3youd4xchGnMhy/NtcxSNThpx6e3cQJ+CWQzzIulBjfutsN1zQuqUaoLO73A8tY0d0RmxVBpL0brdsSkU7nK+1zmuikdL2ecY9XTrUtkT83SCfE9TRjS+4kn1GxXq+ZkJ5+C1bMufL4HUyevuvOmWewe+0eDXCzBzTN+M1ZwzK2wFU6tWkbPcr03nX5GNv3+D3ah4ND7xF+pKNsunszXIwuRx9GLIt7Z3+bLuKy7H5Q2o4q312syQp9UphHxdfrtKfbdiufWN98sd3kSZrinLZt+y9fvr9M +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a module and all its associated issue relationships. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-project.api.mdx b/docs/api/delete-project.api.mdx new file mode 100644 index 0000000..3cd75e3 --- /dev/null +++ b/docs/api/delete-project.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-project +title: "Delete project" +description: "Permanently remove a project and all its associated data from the workspace." +sidebar_label: "Delete project" +hide_title: true +hide_table_of_contents: true +api: eJy9VttuGzcQ/RWCL0mAlVZ25DTdpxqxGgg1UiOJmwKOEIzIkcWKSzIkV4oq7L8Xw71YsuSgCIq+7IUznPucmR23Dj1EZc1U8oJL1Bjxi/P2LxSRZ1xiEF45YuAFv0FfgkET9ZZ5LO0aGbCWmYGRDLRmKgYGIVihIKJkEiKwhbcli0tkG+tXwYHAIc+4Aw8lRvSBF3c7rkiFg7jkGTdQIv2teMaDWGIJvNjxuHV0GqJX5p5nfGF9CZEXvKqU5PWRua1l0yuecY9fK+VR8iL6CjOO36B0GgPJnTTfLf/0is7WoCtSdnExwtfj0WiA5z/PB+MzOR7AT2evBuPxq1cXF+PxaDQakZFVWYLf8qIT1sclaT807JLFrVMCdM90ezu94nVdZyfDEHR1/51AHDn+qYsya2/+C+f7O/vOl9tBn7GTTu5Tn/Jxc2hNXdezjEe4p6x3OQp8lvGAovIqblM1XDr1G24vq7hEE5WARuzdjEL0Ox2fn6DNyNXgrAmNb+ejMb0OLXuPwVZeIGuqXbJQCYEhLCqttxTM8ejs+NahNiY8SvoFHdgGPTJjI2VzrSRKZj0Dj0yZNWglh43Ql8dCqaFUCCRQolEoh+w2oGcaxCqwLmvM9WyhlXXCrY9LTDcwkE++c3IDIdm2sJUhS+qMlxiX9qHdUyfGJS94Dk7l67O8z1jId5SzOm/rNOQ7t6pzKgX0665xK695wZcxulDkJGPoNBgcBnuMIN7KSqQfSuTDzSLPtRWglzbE4nXTU4dXr4nM6706+UD90CT6dLX0jQKJzLOmuZYIEv1De/05uLyZDhqGR0m/mbIVbhkcCB6ymybRbGsrzzomZRLE9dJYoydl7HTF9vZZUnBOiKbtJjlEB9arvxPnGyvx6PA2xS6ns9zmHQkH4BwlKNoVPuJJRyl5wrombh5BppYAySB1AYu2L57AM77xKpKJn+h9kodKSmiFJr55aIrk3P9owhEGNhF/lDkWKuesj8rcs7mNS3YQUSasREYpSMOs8emg04k2ZL9a/xQxY8oIXUlkz8C5L8qECFon6V+UfMb6kddVSwpI17fMwVZbkI1zAlUasHMbW7aF9XtoCs6xfQWh6W5lFjZFX0WNLS7cUD+y95MPH6laecapd5s4jYaj4dlR4R9f+mw+mz9UUJFRzX+tlFixEMFHdl9RK1DECEFTO0grqhJNbMIKkd1JXKOmZSP04DB73kHGCSLByMDjAj0agbkysUeOF7Q7CGsiiEiOtl2czOXZIzTaQyIsQRGprYFfelKdca0EmoB74t6+u2WXb2+u1y+PZN6ruKzmQ2HLvIQVJjmNonyu7Tx3HtcKN/n19M3k3YfJMH6LKTPOhliC2VNylQCYPbFv7ZKXaOJ/v3q1uBPxWyTLFcFx4+WuHQZ3BJpUKVQcDwOBZ7xol4puJtBRWtRohhN+0+Xdbg4Bb72uazr+WiHtDXezjK/BK5hTad7tuFSBviUvFqADficAz9+30/AFO9jrTnrSwb4hSO+WGZ7xFW6brZKGzw/pPlqtfkB/swbN9ifx1eR68nHCswTxh4NrleZS+0ExOyl8f4Y1WuhJbp5k3+2akVjXPX9DevJGPzQbbvJzVtf1P774O00= +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a project and all its associated data from the workspace. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-state.api.mdx b/docs/api/delete-state.api.mdx new file mode 100644 index 0000000..3454af0 --- /dev/null +++ b/docs/api/delete-state.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-state +title: "Delete state" +description: "Permanently remove a workflow state from a project. Default states and states with existing work items cannot be deleted." +sidebar_label: "Delete state" +hide_title: true +hide_table_of_contents: true +api: eJzFVm1vGjkQ/isjf2krLSxJSa/Hp4sarkIXtVHTXE9KUWTWQ/DhtV3bC+HQ/vfT2OwCgVRV7nT3Bbye8bw+87JmxqLjQRo9EmzABCoMeOcDD8gyJtAXTloiswG7QldyjTqoFTgszQKBw9K4+VSZJcQ3MHWmBA7WmT+xCF24wCmvVEhUD1yL5riUYQb4IH2Q+j6KARmw9FBwrU2ACUKyRnRZxix3vMSAzrPB7ZpJssfyMGMZ07xE+koq76RgGfPFDEvOBmsWVpaoPjip71nGpsaVPLABqyopWH3gY5ICowuWMYffKulQsEFwFWYMH3hpFXqSO0znDf/ogu4WXFWk7Oysh2/7vV4HT3+edPonot/hP5286fT7b96cnfX7vV6vR0ZWZcndig0aYU3YkvZ9w84hrKwsuGqZbm5GF6yu6+xoOLyq7r8TiAPHvxg395YXCJuXP+B8+2bX+XLVWbb3x5zcpT7l43Lfmqe9JCz9w5RfR+D+aMIj97+Ubr/V/FQgEkuT6nHGAr+nEkhWezbOmMeicjKsYmGcW/kbrs6rMEMdZMGTwNsxxe8jXZ8eoY3Jc2+N9snV016f/vZt+oTeVK5oqxJ8VRTo/bRSakVR7fd6h69ScA9KOvGfHPLvWweFQ0GfXHlYokMgMdaZhRQowDjgDkHqBVdSdJPQ14dCqXFJ70mgQC1RdOHGowPFi7mHJulgWza/kXUkDJ9nGF+gpxi4JihL7qNtU1NpsqTOWIlhZrZNNTaxMGMDlnMr88VJ3oLc52uCeZ1vStvn6203q/PUMPN1A/Y6JzShWzTdsHKKDdgsBOsHOUnvWsU1dr057OHOiKqIHwSJ7ctBnitTcDUzPgzeJsTuP70kMqt3EHdNJZcgcxx3bS3ySGZZquEZcoFuW8V/dM6vRp3E8AgOVyOY4wr4nuAuXCUIwMpUDhomqSHMEFppkPTEXB7HfmufIQWn1CuUWUaH6MI4+VfkfGcEHlzexNjldJebvCFhh1tLCQpmjo944lVMXmFsiptDLmJxcQE81hME08LKs4wtnQxk4hf6P8pDYCuURB3ebcslOvcfmnDQVlPEH2UOfGWtcXHkT0yYwV5EoTACIW4TtCgkn/Z6ANG68KtxTxEzkLpQlUB4wa29k9oHrlSUfifFC2j3iAYtMSBNRYPlK2W4SM4VKOOKMzFhwzY1bmc0cWthV4FPdS/11MToy6Bw0zGuqB7h0/D6M6GVZYxqN8Wp1+11Tw6Af/joq/6qf5deBiDMf6tkMafp4ALcV1QKFDHqxbEchCmqEnVIYeUBbgUuUNGy59vmMH7ZtIwjRGojHYdTdKgLzKUObed4RQtZYXTgRSBHN1UczWXZo26004mw5JJIGwz80pLqjClZoPa4I+79hxs4f391uXh9IPNehlk16RamzEs+xygnKconykxy63AhcZlfjt4NP1wPu+EhxMxY40PJ9Y6Si9ia4ei+u44+og7/8+q7aVEBHwI5Kalzp4CsNxPllvorgYpwtJ0qLGODzTLXDBa62l+U0xpBnNtVirYKmgMkeb2ecI83TtU1XX+rkFaY23HGFtxJPiGI366ZkJ7Ogg2mXHn8TihfftrM21ewt2wfdbMZH5pGQ7NvsYzNcbW/8tMwe5YNB3vvM+xIO+pzLdjZP5+ju0lbPd7dOS6Gl8PPQ5bFkbU/iOdxzm4OlLujCnZnctJEv+TkUfb1Oo34um75E+nJF+0SkLjJ13Fd138DABgEHA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a workflow state from a project. Default states and states with existing work items cannot be deleted. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-user-asset.api.mdx b/docs/api/delete-user-asset.api.mdx new file mode 100644 index 0000000..c68dd11 --- /dev/null +++ b/docs/api/delete-user-asset.api.mdx @@ -0,0 +1,74 @@ +--- +id: delete-user-asset +title: "Delete user asset" +description: "Delete user asset." +sidebar_label: "Delete user asset" +hide_title: true +hide_table_of_contents: true +api: eJzdVk1vGzcQ/SvEXOIAK63syGm6pxqxGgg1EiGx2wK2YIyWI4vQLsmQXDmqsP+9GHIly5LaYw+92CvOcD7fzOMGjCWHQRk9llCApIoCPTae3CN6TwEykORLpyzrQAHXUUOwhoga/Qf9oLtTTOfWmbmqKMnFGa4woBPGidKsyAlV4xO9FailcFSbFQkVvHA0J0e6JDF3phZhQa+M9R/07UJ5YcnNjau9QOHNPIgUsZitRY1uqfRTvJk8o+/EMjprrMSw1WDbb/zOOmRg0WFNgZyH4n4DirO1GBaQgcaaoIBo9VFJyMCXC6oRig2EtWWZD07pJ8iAo8MABTSNktAe1u8qRja+hgwcfW+UIwlFcA1lQD+wthV5tjpK31F7fM0nK6wadnR5OaAPw8GgRxc/z3rDczns4U/n73vD4fv3l5fD4WAwGHCATV2jW0OxNdXVJHo+CEmEtVUlVp3K3d34Gtq2nWYQ8ImrkaL2MM3AU9k4FdaxRldW/UbrqyYsSAdVYjJ4P22zDXzh44sTsiln7q3RPqV6MRjyv1Nl2nbPN2VJ3s+bqlpzSYeD8xNXXrkSpSPJP7Hy4pkcCW0Ct3ulJEkGIzoSSq+wUrKfjL47NjohVyvv2aAkrUj2xR2jssJyyZhNHWRUdmq+s3Uip9sFxRvkOSdH3jSuJPGMPsY2N43mSNoMagoL8zKPEZxhAQXkaFW+Os9jo3zOIO5135stOtuc209utUVy4yooYBGC9UXOFvq2Qk19b46gMHFGNmX8wT18uVnkeWVKrBbGh+JDgtjrqzcshnYPIt94RlKPTwNlNzwYxZCloVsQSnIvY/dn72oy7iWFg5ZPxmJJa4GvDPfFJLVZrE3jxFZJ6Tj4O2si+Yn9Og3WXXyGHVzwcFfmOSbEB8apv6LmRyPp6PAu1i7ns9zkWxH10FpuUDBLOtCJR7F5pbGpbo6QYfCVUAqMMyCC2UHHQwbPTgUO8Q/+f1KHAVVWinT4+DISMbn/MISjPZgqftA54RtrjYtLembCQryqqCiNJMEtiOs85fRqzlnWF78y05wWZkLpsmokiTdo7aPSPmBVReuPSr4ROw7YoiUWZDu1wuK6MihTciWpFVPezIRObW6ceDZu6S2WJNBase/Ap9lWem5i9VWoqNsKE55H8XX07ZbRChnw7KY6DfqD/vkR8I8vMQv/rrwKgjH/vVHlUviALoinhkeBK8b7M46DNGVTkw6prBjEvaQVVfwW8LvlMD3browTQl4jvR1l50qH3eZ4y2RaGh2wDJxoN8UxXMgOttHeJqIaFYs6DPyyE7UZVKok7WnP3KfPd+Lq0+Rm9e7I5pMKi2bWL02d17ikaCc5ymeVmeXW0UrRc34z/jj6/G3UDz9C7Iw1PtSo95wcPXYOG7GJiZIO/+uXUbcFA/0IXEfF5JBqvumI6Z5XOOOWoZoIidvyQk+QQbH3fOKXBFMJ39xsZujpzlVty8ffG+Jny/00gxU6hTOekvsNSOX5W0Ixx8rTvzTi7GtHy2/F3mvrZBJb/tHMLdsXFmSwpPX+e6+d7pPy9ehmdDviRBvOfZ/FlpGkug+O+qSDfUJLnvgvE+5J9c0m8WPb7vST6B9v7Bg0aXOu07Zt/wb6gSJO +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Delete user asset. + +Delete a user profile asset (avatar or cover image) and remove its reference from the user profile. +This performs a soft delete by marking the asset as deleted and updating the user's profile. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item-attachment.api.mdx b/docs/api/delete-work-item-attachment.api.mdx new file mode 100644 index 0000000..163af3f --- /dev/null +++ b/docs/api/delete-work-item-attachment.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item-attachment +title: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +description: "Permanently remove an attachment from a work item. Records deletion activity for audit purposes." +sidebar_label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isHfmkLyJaTOlmnTwsarzAWdEHarANSI2DIc8RZIlmSsusZ+u/DUbItv6Rog6FfYps83stzd89dVsxYdDwoo8eSZUxigQHvF8bN7lXA8p6HwEVeog4sYRK9cMqSNMvYNbqSa9ShWILD0swRuIbtA5g6UwIHUgakrA83KIyTHqIZZTRwEdRchSVMjQNeSRXAVs4aj77PEma54yUGdJ5ldyumyKzlIWcJ07xEljHlfYX3SrKEeZFjyVm2YmFp6c4Hp/QjS9jUuJIHlrGqUpLVCXP4pVIOJcuCq7BOjqq2sx9TuovOxRaH8SXbN5kw/MpLW6An1aPm+/bJ+JKO57yoyOTZ2QDfDAeDHp7++tAbnshhj/9yct4bDs/Pz86Gw8FgMCBXq7Lkbsmytb5uLqIPex5CWFoleNGVu70dX7K6fgoSZ/5BEX4Y773CabR8Ny6t/P8Eiu1afwqRtdC34fBF9fgNIA4C/2TczFsuENqX3xH85k03+HLZW2zOjwXZvX0qxsWuN3VdTxIW+CP1WnQVxgFL2FalZ5OEeRSVU2EZG/LCqj9weVGFHHVQgjc27iaE1590fHrkbkJxe2u0bwI9HQzp4xCqSBrd4mzYSYKvhEDvp1VRLAnl4eDkUMOuZRAOJf3khYcFOgRtAqV5riRKIPZxCErPeaFkv1H6+lApcZ7ynhRK1AplH249Oii4mHlYpxPsRsy3uo6E2GEI8mVqKi1ZXSesxJCbLRtHHgw5y1jKrUrnJ+kmcz5dUe7qtK1Xn662LVqnkRx9ulqTZHvS20JKD2Z1SjWEbr7m2coVLGN5CNZnKRnt24Jr7HtzOASckZWIPyjp25dZmhZG8CI3PmRvmmbcfXpF16zu1NQHaqSmKI5X1qbDeLxmSdOVOXKJbtuXf/curse9RmAP8+sxzHAJfEdxH66bQoClqRyshZSGkCNstEFjJ2b0eHVv/DNk4JSosDCLGBAdGKf+jZJvjcSDw9uIXUpnqUnXV9jj1lKCgpnhnkw8iskTxja4OeRUOTfIJfDYJRAMOPSmcgI9S9jCqUAufqLPozJUg6JQqMPbbdPE4H6iCwfk2SC+lznwlbXGBaUf4cGEHHYQBWEkAqUAuJbQxLTDBHTXh9+Ne+oyAaVFUUmEF9zae6V94EURtd8r+QI2G8q6WiIgkQnQB7B8WRgum+AEKtqRyNFWjLaeLQ1za6FrgLijphKfmoi+CgWh9jFHuKZ+hJvRh49UrSxh1LsNToP+oH9yUPiHjz7rz/ov5VUAqvkvlRIz8IG7AI8VtQIhRgwb20EaURFfNLDyAHcS51jQ8ug35DB5uaaMI5dEIz2HU3SoBaZKhw1zvKJVTxgduAgUaNvF0V2W7LFRh4mw5Iqu2hr4bXNVJ6xQArXHjrp372/h4t311fz1gc5HFfLqoS9MmZZ8hlFPYyh9KMxDah3OFS7Sq/Hb0fsPo374GmJmrPGh5LpjZKSlNUoHH1Mb2bY7wIRDHjCtrKSPht4boDGI/FBeYuCq8PvZXEW0aCf/KVt4y2kBvwZCRRHVNwiu2sl0R4RMVUiFt51OLGFZu+msBxQd7WyRzYyi484qfzCm4jPax2kFoZFCNlerB+7x1hV1TcdfKqQd6G6SsDl3ij9Qt9ytmFSevkuWTXnh8RtYvrxpB/greCrs9fzRNFvW6xhL2AyX3f9GaBY+y+7+vw3PcMLOnm9+ZzV/ju1tap/tw8GW/Aw/mo120l2mLkdXo48jlsShu7tKzOKm0H6hkjmqvLtVNFboL4V5VHy1apaUut7IN1dPvtisMW0xaYqgrv8DdA5lyA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove an attachment from a work item. Records deletion activity for audit purposes. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item-comment.api.mdx b/docs/api/delete-work-item-comment.api.mdx new file mode 100644 index 0000000..88bfb2b --- /dev/null +++ b/docs/api/delete-work-item-comment.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item-comment +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Permanently remove a comment from a work item. Records deletion activity for audit purposes." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isHfmkLyJaTOlmnTwsSrzAWdEbarAPSIKDJc8xZIlmSsusZ+u/DUZLf0xVpty+WTB7veM/dPXdaMWPR8aCMHkqWMYk5BnxYGDd7UAGLB2GKAnVgCZPohVOWRFnGRugKrlGHfAkOCzNH4NAIw8SZAjiQFiAtXbhBYZz0EPUro4GLoOYqLGFiHPBSqgC2dNZ49F2WMMsdLzCg8yy7WzFFJi0PU5YwzQtkGVPel/igJEuYF1MsOMtWLCwt7fnglH5kCZsYV/DAMlaWSrJq34kh6YDhFUuYw8+lcihZFlyJCcMvvLA5etI6qN+j9PCKVuY8L8nQ2VkP3/R7vQ6e/jzu9E9kv8N/Ojnv9Pvn52dn/X6v1+vRBcui4G7JslYVqI3l3StdQFhaJXjeiNzeDq9YVVXJURDs7Hvcv2zC9a0ANPI/CAKxbf0pEFqhf4HBmb9QhO/MhlGt5ZvhaOR/EBx22/pTcLRCX4fD5+XjV4A4cPyjcTNvuUBoTn6D8+sz284Xy85ivX7Mye3dp3xc7N6mqqr7hAX+SEwQrwrDgAU0yejZfcI8itKpsIxccWHVb7i8KMMUdVCC1wbu7gms32n59MjePTntrdG+9vK016fHIU6Rz9ZpWdOlBF8Kgd5PyjxfEr793snh8V2zIBxK+stzDwt0CNoECvBcSZRArOgQlJ7zXMlurfT1oVLiYeU9KZSoFcou3Hp0kHMx89AGEuxazDe6jvjX8gFdZGJKLVlVJazAMDWb3hDJOUxZxlJuVTo/SdcB8+mKQlalTZr6dLWpzCqNhObTVcvcVdrASHKzKqWMQTdvOb90OcvYNATrs5RsdW3ONXa9OWxGzshSxD8U5c3JLE1zI3g+NT5kb+rS2z16Tdus2kqi91Q2dRYcT6V1PfG4zZK6BqfIJbpNFf7ZuRgNO7XAXiKMhjDDJfAdxV0Y1cGHpSkdtEJKQ5girLVBbSdG8Xg6r+9nyMApEV9uFtEhWjBO/R0lL43Eg8XbiF1Ka6lJ2y3scGspQMHMcE8mLsXgCWNr3BxySpgb5BJ4rAwIBhx6UzqBniVs4VSgK36k51EZSj2RK9ThclMo0bn/8QoHVFkjvhc58KW1xgWlH2FswhR2EAVhJAKFALiWUPu0U/2014VfjXtqMwGlRV5KhBfc2gelfeB5HrU/KPkC1tNSmy0RkFj96ANYvswNl7VzAlWc1cYmNGI0gW1Il1sL2waILypK8YmJ6KuQE2ofpggjqke4Gbz/QNnKEka1W+PU6/a6JweJf3jok/6k/1BeBaCc/1wqMQMfuAvwWFIpEGLEqrEcpBEl8UUNKw9wJ3GOOU2wfk0O9y9byjiySTTScThBh1pgqnRYM8crGjuF0YGLQI42VRyvy5I9NtpiIiy4oq0mB35Zb1UJy5VA7XFL3dt3t3DxdnQ9f32g81GFaTnuClOkBZ9h1FMbSse5GafW4VzhIr0eXg7evR90w5cQI2ONDwXXW0YGWlqjdPAxtPUc2XYs4ZAHTEsr6VFTeo0yBjHdE5YYuMr9fhxXESf6KvjPvwMaJgv4JRAWigi+xm3VtKE7omHKPUq3TStiCcuaaabtRrS0MynWDYmWtz4m2p4UpWm8pgGD+geZWq3G3OOty6uKlj+XSOPN3X3C5twpPqbSuFsxqTy9S5ZNeO7xK/C9vGk69CvY+hg56nXbdDQ1lHbiYgmb4XL7c4ga4LPs73wNPOMGdvZ82zuj93Nsb8L67DscTMHPuEc9sd5vT01Xg+vBhwFLYpvdHR5mcTZoXihvjirfniNqK/RLbh4VX63qsaSq1vL11pMn1oNLk0maPKiqfwDr6IYm +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove a comment from a work item. Records deletion activity for audit purposes. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item-link.api.mdx b/docs/api/delete-work-item-link.api.mdx new file mode 100644 index 0000000..9b81168 --- /dev/null +++ b/docs/api/delete-work-item-link.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item-link +title: "Endpoints for issue link create/update/delete and fetch issue link details" +description: "Permanently remove an external link from a work item." +sidebar_label: "Endpoints for issue link create/update/delete and fetch issue link details" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isHfmkLyJaTOl2nTwsarzAWdEbbrANSI6DFc8yZIlmScuIZ+u/DkX6RY6ct0mJfLJl3vPd77rRixqLjQRo9FKxgAhUGvLkzbn4jA1Y3Suo5y5hAXzppiY8VbISu4hp1UEtwWJkFAteA9wGd5groDkydqYADSQKS1GUZs9zxCgM6z4rrFZMky/IwYxnTvEJWMOl9jTdSsIz5coYVZ8WKhaUlmg9O6luWsalxFQ+sYHUtBWseWjckGTC8YBlz+KWWDgUrgqsxY3jPK6vQk9RBeo/cwws6WXBVk6Kzsx6+7vd6HTz9ddLpn4h+h/9y8qrT7796dXbW7/d6vR4ZWFcVd0tWbESB3GneN+kcwtLKkqs1y9XV8II1TZMdDYKd/4j7lxT97/WemH+S82qr9zHfI8c3XHfmHyzDD1bAKEn57iis+X9SIGxb+2Ox2DB9PRxe1bdfCcSB45+Mm3vLS4T1ze9wfnun7Xy17Nxtz4852aY+5uPdvjVN04wzFvgtdX80FYYBK6Aa9GycMY9l7WRYRnA4t/IPXJ7XYYY6yJIn6ddjitSfdHx6hDYmj7012icXT3t9ehwGKUJSKsgEeQJ8XZbo/bRWakmR7fdODu/u64TSoaC/XHm4Q4egTaDULqRAAcYBdwhSL7iSopuEvjwUSnAqvSeBArVE0YUrjw4UL+ceNikEu2Xza1nfdo7smZpaC9Y0GaswzMwO5iMihxkrWM6tzBcn+TZjPl9Rzpp8Xac+X+1as8kjivl8tYHrJidtxDRvcqoXdIsNytdOsYLNQrC+yElR1yqusevN4VxxRtRl/ENp3t0s8lyZkquZ8aF4nRrvAeoRmTWtKvpATZPK4HgtbbuJRzLLUgfOkAt0ux78u3M+GnYSw4NiGA1hjkvge4K7MEoFAEtTO9gwSQ1hhrCVBklPzOTxet7aZ0jBKcGeMnfRITowTv4bOd8YgQeHVzF2OZ3lJt+QsMOtpQQFM8cHPPEoJq80NsXNIadqeY9cAI/dAcGAQ29qV6JnGbtzMpCJn+h5lIfqrlQSdXiza5bo3P9owgFQpog/yBz42lrjgtS3MDFhBnsRhdIIBEoBcC0g+bSHAETrwu/GPUbMQOpS1QLhGbf2RmofuFJR+o0Uz2C7H22qJQYkIgD6AJYvleEiOVeipLWLDF2zTY1rQS63FtoKCDMaKvGpidGXQVHUPs4QRtSP8H7w4SNVK8sY9W6KU6/b654cFP7hpc/6s/5LehmAav5LLcs5+MBdgNuaWoEiRsga20GYsq5QhxRWHuBa4AIVbaJ+Cw7j5xvIOEIkGOk4nKJDXWIuddgixwtaNEujAy8DObru4mguyx6gUQuJsOKSSOsa+G1LajKmZInaY0vc23dXcP52dLl4eSDzVoZZPemWpsorPscoJynKJ8pMcutwIfEuvxy+Gbz7MOiG+xAzY40PFdctJQMtrJE6+JjatDlGVC8d8oB5bQU9EpinEGMoZ21OgYFL5R9mcBUjhDr8wDK/BqeA94Hck4TZKRSr9Vi5JmSlcqIK2o0WlrFivZ5spgsd7a1+acDQceuLIM6YyEoLMm0MNA9Iz2o14R6vnGoaOv5SIy0r1+OMLbiTfEKlfr1iQnp6F6yYcuXxK0F5/n49dV9A63PiqMubIaJpQGz2J5axOS7bHzQ00J6kf7fPP0G9nT9d8d4W/RTdu4Q+2YaDhfYJdqTlc9zefy4Gl4OPA5bFmbm/CczjoF+/UNEcFd5eCpIW+iU3j7KvVmnHaJotfyI9emO7hazLSJMHTfMfB3Zb7w== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently remove an external link from a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/delete-work-item.api.mdx b/docs/api/delete-work-item.api.mdx new file mode 100644 index 0000000..5cbdb25 --- /dev/null +++ b/docs/api/delete-work-item.api.mdx @@ -0,0 +1,71 @@ +--- +id: delete-work-item +title: "Delete work item" +description: "Permanently delete an existing work item from the project. Only admins or the item creator can perform this action." +sidebar_label: "Delete work item" +hide_title: true +hide_table_of_contents: true +api: eJzFVllvGzcQ/isDvjQBVlrZkdN0n2rEaiDUSIwkbgo4gkEtRxYrLsmQXMmqsP+9GFJanU5bP7QvOjj38c3MihmLjgdp9FCwgglUGPB+YdzsXgasWMYE+tJJSyysYDfoKq5RB7WExAxcAz5KH6R+ABIEEoSJMxWEKYJ15g8sQxc+aLUELiqpPRgXaZGzdMiDcVByDRbdxDgSlB54SUa7LGOWO15hQOdZcbdikjyxPExZxjSvkP7NWMZ8OcWKs2LFwtLSqw9O6geWMVLKAytYXUvBmow5/FZLh4IVwdXYZKeVJtfvpfh3yg9SlrTA8Iod2s0YPvLKKvSkd5B+r/mHV/Q256omYxcXPXzT7/U6eP7TuNM/E/0O//Hsdafff/364qLf7/V6PXKyrirulqzYKNukP1nfd+wSwtLKkquW6fZ2eMWa5ol0eFU/fCcRR4F/MW7mLS8R1pL/IPhWZjf4atlZtO+ngtylPhXjYt+bpmlGGQv8gVoqugrDgJVno4x5LGsnwzI226WVv+Lysg5T1EGWPCm+G1GSPtDz+QnaiIL11mifojvv9elr37eP6E3tSlwDSYCvyxK9n9RKLSmd/d7ZsdS+NUKPoL9ceVigQ9AmUD3nUqAgnHGHIPWcKym6SemrY6VbbJLI3yAyaTkR0JcW/eTExNRasKbJWIVharbjJQI6TFnBcm5lPj/L29r4fEXVafJ1R/p8tQVhk0vva+KxsyanRkA338yE2ilWsGkI1hc56e1axTV2vTmeYc6IehPJrmSR58qUXE2ND8WbhKh90Wsis2anRz4RGlKRT3dKCxMeySxL0JoiF+i24Pq9c3kz7CSGg4LfDGGGS+B7irtwk4oMS1M72DBJHQdrqw2SnVj5093a+mfIwDnNM2UWMSB6ME7+GTnfGoFHj7cxdzm95SbfkLDDraUCBTPDA574FItXGpvy5pCLCAcugEcEQDDg1ujwLGMLJwO5+IW+T/JQm5VKog5vt4CIwf2HLhxNwJTxg8qBr601Lu7LsQlT2MsolEYgUAmAawEppj2UE60LvxA+TxMzkLpUtUD4gVt7L7UPXKmo/V6KH6DdpptuiQkBms7oA1i+VIaLFFyJco7AydE128S4nVnKrYVdA74bSyH1xMTsy6Aoa5+nCDeER/g4+PSZupVljLCb8tTr9rpnR41/LPRVf9W/SS8DUM9/q2U5Ax+4C/BQExQoYzQ9IxyEKesKdUhp5QHuBM5R0cHj2+EwerEZGSeINEY6DifoUJeYSx3ayfGSzpLS6MDLQIGuURzdZdnBNNqZRFhxSaR1D/zckpqMKVmi9rij7t37W7h8d3M9f3Wk80GGaT3ulqbKKz7DqCcZysfKjHPrcC5xkV8P3w7efxp0w2OIlbHGh4rrHSNX6YxrT7fDOqxinKjD/3b+rQdUwMdAIcq4gWI6VutNckfTlVqKumi7TVjGivXtsVko9LR316WdEp/phqT9T/OfdK5WY+7x1qmmoedvNdLVcTfK2Jw7ycfU2ncrJqSn34IVE648fid9Lz6uL6CX8FRYm2WhaRFsDiCWsRku05lLK+tZFvfu0OfY3mbt2T4cnYTP8COdb6Pdu+JqcD34PGBZXE77K3cWN+r6B1XrpPLd7Zus0CeFeZJ9tUrLvGla/kR6UqJd94mb4hw1TfMX0G2oOA== +sidebar_class_name: "delete api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Permanently delete an existing work item from the project. Only admins or the item creator can perform this action. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-current-user.api.mdx b/docs/api/get-current-user.api.mdx new file mode 100644 index 0000000..36bf299 --- /dev/null +++ b/docs/api/get-current-user.api.mdx @@ -0,0 +1,63 @@ +--- +id: get-current-user +title: "Get current user" +description: "Retrieve the authenticated user's profile information including basic details." +sidebar_label: "Get current user" +hide_title: true +hide_table_of_contents: true +api: eJy9Vt9vGzcM/lcEvnQDzndO5mSdnxpkWZEtaIO22QakQSDraFuJTlIlnlPX8P8+UDo7/lW0e9j8cHcWKZL6SH7UApzHIEk7e1nDECZI96oNAS3dtxEDFFBjVEF7VoEhvEMKGmcoaIpCtjRFS1pJwlqw/osofHBjbVBoO3ahSaaFtsq0tbYTMZJRK1EjSW1iCQWQnEQY3sJNxBDhroCIqg2a5jC8XcCZ13/g/OzZT4ri9m5ZLOAtLx8fkN0VEDB6ZyNGGC7guN/nl3KW0BJ/Su9Nt6N6iLxtAVFNsZH8RXOPMAQ3ekBFewhc6cmUnpCf6cgiYtDS6C8YxNgF0WirG2lELUkKCtLGMYbyo/1or4Ob6RqjwBg5ZGmygcNIWdlgLIScSZKhENLWgk8gFa3g+2idJ93oL1hnz9iMMAijI/HGGPXEIopaR2/kPGYbyWPAMQa0ClMKfOAiIJ3R0vUGBpGCthMoIEcIQ2hbXQMDLOu31sxhSKHFZQFjHSLdc9CHtu+pG/lvtLGR2nxbswDbGiNHBtc7M3zf5SSr3rfhuzxtF8VZ2itu3l3BsoAO8e8937IA0sRBpy640oRsBT/LxpucFF7n90yaFldZgpOTPr4c9Ps9PP5l1Bsc1YOe/PnotDcYnJ6enAwG/X6/D9upgd/d1MIW/vCrQ1hjDA9uasva4avOf6lcA89AwpTIx2FVbYirLCwf/AS2cfy29jZWKTzBAS35twvzeaamXMQd0TBUg/4Rg7KTky1mECpgnbsuiicMKKwjtsEtWQsXhAxMWjNpdF0C+26Qpq5jRW4TSVMYQiW9rmZHFccQqwYrYM4KM6Yvpqztc0uvS2+kxTK6PSq5Dq5uVfrDhPa8c1hVxilppi7S8GXO4g4LsRiWG3z5nvkrV8th1lzXoUxiKECzpSnKOhF9l4G/e2fXl72ssAPo9aV4xPkm7WtnS9Hxmpi7NoiVkrZpRKytieyn5HQdZu5n4mUHx1y4xj2lA/GCC/pL0jx3Ne4t3iTsKl6rXLUSYU96zwki94g7OmkpJU85n3HjvkwzTtZCKoUxCnIiYHRtUBihgKfAzTmEv/h9UIcLRxmNls6fCy4d7n8MYa9xMuI7mROx9d4FSnPZ0VRsISqUq1FwCvLsSWfa6iKWleI3F74mLLpxhuKF9P5e20jSmGT9XtcvhJdBNkhpBKZqSYCIgJ9ajCS8nBsn63w4hXqGQnKgnRqPvCcXHqOXCoX0Xmw6iLmHebYm9DuC/TBFcc39KN5dvP/A1QoFcO9mnPplvzzaK/z9TTzO/9RRk+Ca/9Rq9SgiyUBi0nIrMGLj1pjUDrVTbYOWMqySxG2NMzQ8dOOaHO5+WFHGASHTSG89tCttac0cP/IE7y4GfNCui1O4UOyw0QYTrei+q4FXaxEPZ63QRtww9/rNjTh7fX01+2nP5kTTtB0lYm/kIyY72VE1Mm5U+YAzjU/V1eX5xZv3FyV9ppQZ7yI10m46QRJqg+F387BxhfsP7qGZewg/E0evmZKhuwtk5r9l4uRq4QJJ7A88I6AAvrYyVbPOYjGSEW+CWS55+VOLga+ydwXMZND5bsL31xXv8sh4xDnTq1LoedB0Q37/lsp0vx5Kry8+8LBtObRNan9MzN19sPWVyM43bG+yfHbPT55CB9UXizw0lsu1fhZ9dcd6rGRtxvNuuVz+A5QdU+k= +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve the authenticated user's profile information including basic details. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-generic-asset.api.mdx b/docs/api/get-generic-asset.api.mdx new file mode 100644 index 0000000..16fa4ef --- /dev/null +++ b/docs/api/get-generic-asset.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-generic-asset +title: "Get presigned URL for asset download" +description: "Get presigned URL for asset download" +sidebar_label: "Get presigned URL for asset download" +hide_title: true +hide_table_of_contents: true +api: eJy9VktvGzcQ/iuDuSQB1lrZyaHYU13DNYwaqeDYTQFHMGhyJBHikjTJla0I+9+L4UpryZKDIIde9OA8OI9vvuEKnacgknb2UmGFU0r3U7IUtLwXMVLCAhVFGbRnHazwghL4QFFPLSm4vb6CiQuQdUG5J2ucUFigF0HUlChErO5WqNnUizTDAq2oCSvMJvealaOcUS2wWmFaepbFFLSdYoETF2qRsMKm0QrbAgM9NjqQwiqFhtrioOtomukP3Lavc/rqwjx6IQnWlru3FEjPovaGIvs67373Nny2EKbhC+rl0VN/XmBs6lqEJVYbI9iW7sZwCmnptRTmRaeLpm3bcYFJTLmSeMpVizguMJJsgk7LXN9Tr/+i5WmTZmSTlqJzejfmAv3NxycHZGNONHpnY5fZyXDIX7txjfpeb7qbm55BIhIpiI2UFOOkMWbJpf10yMsfQgEXlWLqdI73dXYjBBlI8V9hIjxRILCOkecWWpECxlwg0HYhjFaDzunHA+FTqHWM7FCR1aQGcBspgBFyHmHTZ/C9Wlz7+nQgwAxyDmPiGquwbQusKc3cenIy7NMMKyyF1+XiuOxbGcsVN7MtM+pjudqgvy0ZJxQWm0lpgsEKZyn5WJXsZ+CNsDSIbg8yo+BUI/Mf7vOLZVWWxklhZi6m6rfhcLhnesVibLdg9IWHpcPBYTD1UySyGItu8mYkFIWX2fv36HR0edQpvCrf6BLmtASx43gAo66nsHRNgI2StpBmBL036O7JzTkM6D4+xxecMHkY95QT4gMX9PeseeYU7R3e5tqVfFa6ciOiI+E9Nyi5Ob3SyUe5edL5rm6BBCPhmoQCkYcCkoNA0TVBUsQCn4JOHOJX/j6ow5iSRpNNZy/4z8n9jyHsEWRX8Vedg9h470LSdgoPLs1gp6IgnSLgFoCwCrqcdoaaZQP404W3hAVoK02jCN4J7++1jUkYk73fa/UO+h2zQUsuyIZnwItlpqucnCS9IBAc6FqN19YL1QrvYfsCpoGWIT5xufo6Ga7azYxgxPMI1+dfbhitWCDPblen4WA4ON4D/r7RN/vN/qOjTsCYf2y0nENMIiSYNjwKXDEm1DwOysmmJpu6sooEd4oWZHhxx54cxu83lHFAyDRyFGhCgaykUtvUM8eHARYonU1CJk50PcU5XCxesdEWE1EtNIvWGPi9F7UFGi3JRtpyd/H5Fk4vRleLj3s+pzrNmoeBdHVZizllP91F5YNxD6UPtND0VF5dnp1//nI+SM8pd8a7mGphty/5uZfJTm9WOXey6eft1yyT6DlxnJrJt8tptab/O6ZIxgVD4WUFYIHV+n3RbQE+2HoF8VJnxmYHq9WDiHQbTNvy8WND/Iy4Gxe4EEGLBwbj3QqVjvxbYTURJtIPknt/vV51H+CtHDb0bpm6Ny8aLHBOy+3nGq+aX7p375X1C1F0L6Lx9uK9OL/hijZc+e0dNc8raP2Di3XQ8/a66q7gT87xoPpq1W2/tu31O9GbFv1+7LQ5yXHbtv8BlkT4mA== +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Get presigned URL for asset download + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/get-intake-work-items-list.api.mdx b/docs/api/get-intake-work-items-list.api.mdx new file mode 100644 index 0000000..0d5e16e --- /dev/null +++ b/docs/api/get-intake-work-items-list.api.mdx @@ -0,0 +1,71 @@ +--- +id: get-intake-work-items-list +title: "List intake work items" +description: "Retrieve all work items in the project's intake queue. Returns paginated results when listing all intake work items." +sidebar_label: "List intake work items" +hide_title: true +hide_table_of_contents: true +api: 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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..d40227f --- /dev/null +++ b/docs/api/introduction.mdx @@ -0,0 +1,291 @@ +--- +title: Plane API Documentation +sidebar_label: Introduction +description: Use the Plane API to programmatically read and write changes to your Workspaces, Projects, Work Items, and much more. +sidebar_position: 0 +--- + +{frontMatter.description && ( +

{frontMatter.description}

+)} + +:::info +The Plane Cloud API is available at `https://api.plane.so/` +::: + +## Quick Start + +### 1. Get Your API Key + +To make requests to the Plane API, you'll need an API key. This key is used to verify +your client's identity and permissions. The key must be passed as the value of the +`X-API-Key` header. + +Let's get you an API key! + +:::tip +You must have a Plane account or be registered to your instance to generate a key. +::: + +1. Log into your Plane account and go to **Profile Settings** + ![Profile Settings](/images/api-reference/profile-settings.png#center) +2. Go to **Personal Access Tokens** + ![API Tokens](/images/api-reference/api-tokens-plane.png#center) +3. Click **Add personal access token** + ![Add API key](/images/api-reference/add-api-key-plane.png#center) +4. Enter a title and description to help you remember why you created this key +5. Optionally set an expiry date for the key, after which the key will no longer be valid + +:::danger +Treat your API key like a password. Keep it secret. Keep it safe. Store your API key +securely and keep it confidential to prevent unauthorized access to your account. Do +not share it or expose it in client-side code. +::: + +### 2. Execute an HTTP Request 🔄 + +When issuing HTTP requests to the API, always set the `X-API-Key` request header to +your API key. For example, using `curl`: + +```bash +curl -L 'https://api.plane.so/api/v1/workspaces/:slug/projects/:project_id/issues/' \ +-H 'Accept: application/json' \ +-H 'X-API-Key: ' +``` + +Run the above command to receive your first response from the Plane API. + +### 3. Congratulations 🥳 + +Congratulations! You've successfully run your first HTTP request using the +[Plane](https://plane.so) API. Next, browse the rest of our documentation for more +examples of how you can integrate your project! 😎 + +___ + +## General API Usage + +### Base URL + +All requests to the Plane Cloud API must be made to the following base URL: + +``` +https://api.plane.so/ +``` + +:::info +If you're using a self-hosted instance of Plane, your API base URL will differ based +on your custom domain and setup. +::: + +### Security Recommendations + +- **Keep the API Key Secret**: Treat your API key like a password. Do not share it or expose it in client-side code. +- **Regenerate Key If Compromised**: If you suspect that your API key has been compromised, generate a new one immediately and update your applications. + +### API Key Errors + +- If the **`X-API-Key`** header is not included, the API will return an error indicating that authentication is required. +- If the provided API key is invalid or expired, the API will return an error message indicating an authentication failure. + +### HTTP Methods + +HTTP defines a set of request methods, also known as HTTP verbs, to indicate the +desired action for a given resource. + +Below is a list of methods commonly adopted by Plane's API: + +| Verb | Description | Example | +|--------|----------------------------------------------------|------------------------------------| +| GET | Requests a representation of the specified resource| Fetch all work items from a project | +| POST | Submits an entity to the specified resource | Create a project | +| DELETE | Deletes the specified resource | Delete a work item | +| PATCH | Applies partial modifications to a resource | Edit a module | + +### Status Codes + +Below are the most commonly encountered success responses: + +| Status Code | Description | +|----------------|----------------------------------------------------------------------------------------| +| 200 OK | The request succeeded. Generally used in GET or PATCH requests. | +| 201 Created | The request succeeded and a new resource was created. Generally used in POST requests. | +| 204 No Content | The request succeeded and no body is returned. Generally used in DELETE requests. | + +### Error Responses + +Below are the most commonly encountered error responses: + +| Status Code | Description | +|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 400 Bad Request | The server cannot or will not process the request due to something that is perceived to be a client error. | +| 401 Unauthorized | Although the HTTP standard specifies "unauthorized", semantically, this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. | +| 404 Not Found | The server cannot find the requested resource. This means the URL is not recognized. | +| 429 Throttling Error | The server has received too many requests from your client within a short period of time. Retry the request later. You can read more in our [rate-limiting](#rate-limiting) section. | +| 500 Internal Server Error | The server has encountered a situation it does not know how to handle, and failed to process the request. | +| 502 Bad Gateway | The server received an invalid response from another service which was required to handle the request. | +| 503 Service Unavailable | The server is not ready to handle the request. Common causes are a server that is down for maintenance or overloaded. | +| 504 Gateway Timeout | The server was unable to receive a timely response from a downstream service. | + +--- + +## Pagination + +The Plane API implements a cursor-based pagination system, allowing clients to +efficiently navigate through large datasets. The system uses a cursor parameter to +manage the position and direction of pagination. + +### Query String Parameters + +Paging is controlled by clients via the following query string parameters: + +- **`per_page` (optional)**: Number of items to display per page. Defaults to 100. The maximum allowed value is 100. +- **`cursor` (optional)**: Cursor string (see below) to navigate to a specific page. If not provided, pagination starts from the first page. + +### Cursor String Format + +The cursor string is formatted as **`value:offset:is_prev`**, where: + +- **`value`** represents the page size (number of items per page) +- **`offset`** is the current page number (starting from 0) +- **`is_prev`** indicates whether the cursor is moving to the previous page (**`1`**) or to the next page (**`0`**) + +### Example: Fetching the First Page + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?per_page=20 +``` + +#### Pagination Response + +The paginated response includes the following fields: + +- **`next_cursor`**: Cursor string for the next page +- **`prev_cursor`**: Cursor string for the previous page +- **`next_page_results`**: Boolean indicating if there are more results after the current page +- **`prev_page_results`**: Boolean indicating if there are results before the current page +- **`count`**: Total number of items on the current page +- **`total_pages`**: Estimated total number of pages +- **`total_results`**: Total number of items across all pages +- **`extra_stats`**: Additional statistics, if any +- **`results`**: Array of items for the current page + +Here's an example response for the first page of results: + +```json +{ + "next_cursor": "20:1:0", + "prev_cursor": "", + "next_page_results": true, + "prev_page_results": false, + "count": 20, + "total_pages": 50, + "total_results": 1000, + "extra_stats": {}, + "results": [ ... items ... ] +} +``` + +### Example: Fetching the Next Page + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues?per_page=20&cursor=20:1:0 +``` + +#### Pagination Next Page Response + +```json +{ + "next_cursor": "20:2:0", + "prev_cursor": "20:0:1", + "next_page_results": true, + "prev_page_results": true, + "count": 20, + "total_pages": 50, + "total_results": 1000, + "extra_stats": {}, + "results": [ ... items ... ] +} +``` + +### Pagination Errors + +- **Invalid Cursor Format**: If the provided cursor string is not in the correct format, the API will respond with an error message indicating an invalid cursor format. +- **Pagination Limits**: Requests exceeding the maximum **`per_page`** limit will receive an error response detailing the maximum allowed value. + +--- + +## Rate Limiting + +To ensure fair usage and maintain the overall quality of service for the community, +the Plane API implements rate limiting. Rate limiting restricts the number of +requests a client can make within a certain time frame. + +### Rate Limit Details + +- **Limit**: Each client is limited to 60 requests per minute +- **Reset Interval**: The rate limit counter resets every minute +- **Scope of Limitation**: The rate limit applies to all requests made with a given API key + +### Identifying Your Rate Limit Status + +Your current rate limit status is communicated in the response headers of each API +request: + +- **`X-RateLimit-Remaining`**: The number of requests remaining in the current rate limit window +- **`X-RateLimit-Reset`**: The time at which the current rate limit window resets (in UTC epoch seconds) + +``` +X-RateLimit-Remaining: 45 +X-RateLimit-Reset: 1700327957 +``` + +--- + +## Fine-Tuning Response Fields + +The Plane API provides flexible data retrieval capabilities through two powerful query +parameters: `fields` and `expand`. These parameters allow clients to tailor the +response data to their specific needs, optimizing both the payload size and the +clarity of the response. + +### Fields Parameter + +The `fields` parameter enables clients to selectively retrieve only a subset of +fields for a given resource. + +:::tip +The `fields` parameter is particularly useful for reducing response time, size, and +bandwidth, especially when your client requires only specific pieces of data. +::: + +The **`fields`** parameter accepts a comma-separated list of field names that the +client wants to be included in the response. For example, to include only the `id`, +`name`, and `description` fields, send the following query string parameters: + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?fields=id,name,description +``` + +#### Fields Parameter Error Handling + +Invalid or unrecognized field names passed in the **`fields`** parameter will result +in an error response, indicating which fields are invalid. + +### Expand Parameter + +The `expand` parameter allows clients to request additional related information to be +included in the response. This is useful for retrieving detailed information about +nested resources without making separate API calls. + +For example, to return the resource data along with expanded information about the +`assignees` and `state`, send the following query string parameters: + +``` +GET /api/v1/workspaces/:workspace-slug/projects/:project_id/issues/?expand=assignees,state +``` + +#### Expand Parameter Error Handling + +If **`expand`** is used on fields that cannot be expanded, an appropriate error +message will be returned. diff --git a/docs/api/list-archived-cycles.api.mdx b/docs/api/list-archived-cycles.api.mdx new file mode 100644 index 0000000..a87a1a9 --- /dev/null +++ b/docs/api/list-archived-cycles.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-archived-cycles +title: "List archived cycles" +description: "Retrieve all cycles that have been archived in the project." +sidebar_label: "List archived cycles" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all cycles that have been archived in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-archived-modules.api.mdx b/docs/api/list-archived-modules.api.mdx new file mode 100644 index 0000000..c50446e --- /dev/null +++ b/docs/api/list-archived-modules.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-archived-modules +title: "List archived modules" +description: "Retrieve all modules that have been archived in the project." +sidebar_label: "List archived modules" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all modules that have been archived in the project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-cycle-work-items.api.mdx b/docs/api/list-cycle-work-items.api.mdx new file mode 100644 index 0000000..69ea754 --- /dev/null +++ b/docs/api/list-cycle-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-cycle-work-items +title: "List cycle work items" +description: "Retrieve all work items assigned to a cycle." +sidebar_label: "List cycle work items" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all work items assigned to a cycle. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-cycles.api.mdx b/docs/api/list-cycles.api.mdx new file mode 100644 index 0000000..2b20a21 --- /dev/null +++ b/docs/api/list-cycles.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-cycles +title: "List cycles" +description: "Retrieve all cycles in a project. Supports filtering by cycle status like current, upcoming, completed, or draft." +sidebar_label: "List cycles" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all cycles in a project. Supports filtering by cycle status like current, upcoming, completed, or draft. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-properties.api.mdx b/docs/api/list-issue-properties.api.mdx new file mode 100644 index 0000000..1e266af --- /dev/null +++ b/docs/api/list-issue-properties.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-properties +title: "List issue properties" +description: "List issue properties" +sidebar_label: "List issue properties" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List issue properties + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-property-options.api.mdx b/docs/api/list-issue-property-options.api.mdx new file mode 100644 index 0000000..a828774 --- /dev/null +++ b/docs/api/list-issue-property-options.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-property-options +title: "List issue property options" +description: "List issue property options" +sidebar_label: "List issue property options" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List issue property options + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-property-values.api.mdx b/docs/api/list-issue-property-values.api.mdx new file mode 100644 index 0000000..aadc791 --- /dev/null +++ b/docs/api/list-issue-property-values.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-property-values +title: "List issue property values" +description: "List issue property values" +sidebar_label: "List issue property values" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List issue property values + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-types.api.mdx b/docs/api/list-issue-types.api.mdx new file mode 100644 index 0000000..da2c70b --- /dev/null +++ b/docs/api/list-issue-types.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-types +title: "List issue types" +description: "List all issue types for a project" +sidebar_label: "List issue types" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJnazTp3ltVhjLWqNN1gGpYdDi2WZNkSxJOfEM/ffhSL/IltK3DfuSyOTx4d3x7nnIDdUGLPNCqyGnGZXC+YlwroSJXxtwNKEcXG6FQROa0WvhPGFSkmBEghGZaUsYMVZ/gtzThBpmWQEerKPZ3YYKXGiYX9CEKlYA/oq2E8FpQl2+gILRbEMRjmbUeSvUnCZ0pm3BPM1oWQpOq1NnRhGFDF/RhFr4XAoLnGbelpBQeGCFkeAQ9yp+b+2Hr3BsxWSJm11c9OBFv9frwPnP007/jPc77Kezy06/f3l5cdHv93q9HjpZFgWza5rtwHbxxt2PHRtgYkTO5N7o9nb4ilZVlbSmw8ly/oVENAL/oO3SGZYD2a78huD3a+rBF+vO/X68Lcj67GMx3h97U1XVOKGezfH0g6tk6KEgN6Ggxgl1kJdW+HUojoERv8N6UPoFKC9yFtHvxpiptzh83jI3xoid0crFEM97PfyXa+VBefxkxsjtivSTw2WbZnr1dFewFtvAi4gm+NdrER1g/K2S65jycEQSPPAJ819czpmHjhcFZlSVUrKphN2xNTAPfeJqoMxatqYJFR4K9w19UyU0t8C+07mGM6Xh/w4joV54jJZeM+fJH5qLmQBOBh5LPPZCE7hgD9eg5n5Bs/OLi9NeaOkVqed6gkcactMIQ7gJGJHXlk61lsAUjZMcZqyUvmW+JSfCTVjuxQra4SSsQNamVFlMwR5lS5dYAC3Q8ODBKiYnTpc2b03Naf00UrXHaK/pr67flc10/f0tcQpfq6D/Au6xYvp1jYm/r7Pdd7ZyVefTu1iX48N2Q1Q+JLPBaBgo/YQYhwdlRE/6vTP04YQ8jziN5BY4/mTSkXuwQJT2KB0rwYETVFcLRKgVk4J3I+jzJugIbCGcQ0AOSgDvklsHlkiWLx3ZhUTM3sxtsfpNrEMQwZeZLlUkkgL8QuNVYQ5R6rFYaMqMSFdn6T7tLt2gGFTplsFcujlwWZWG20Mn5ChF3QG72t0WSitpRhfeG5eliNs1kinoOt2QoJHVvMzDD5SLw8osTaXOmVxo57MXUcBP7jE4TauaGr1HdYgC0K5JB/oN08i/iLQAxkNLb7X8r85gNOxEg5NDHw3JEtaEHQF3ySgeNFnr0pKdkVDEL4Ds0UjcJ5xYuy4eZA03OMc6l/o+BIQD2oq/g+VLzaExeBtyl+JYqtPdFHSYMXhAXi/hxCYMhcPLtYE91dKMvgPGCctzcI54TSxEAsPL5L0VHl38gP9bbYJYSQHKvzw0RQjuf3Sh0dMx4ycnR1xpjLZeqDmZar8gRxklueZA8AgIU5zEmI46Hee65DdtH5tMiFC5LDmQJ8yYiVDOMykD+kTwJ2R/z95VS0hI6HRwnhi2lprxGFwOYgWEoaNbM7y1H65uzBhS3wC5AfVNzXTI/pb8bhZARtiP5N3V+xusVppQ7N2Yp1631z1rFH5z0Uf1Uf0pnPAEa/5zKfIlcZ5ZT+YltgJmbFZKGdqB67wsQPmYVubJHUdZxSub25PD+OmOMlomkUY6FmZgQeWQCuX3zPGsS5NwcWR5kPxtFwd3aXLCRjUmgoIJnNrWwC/7KVR9kYNyUIN7/eaWDF6PrlfPG5hz4RfltJvrIi3YEgJO3CidSj1NjYWVgPv0evjy6s37q65/8OFkjHa+YKq2SXib1d5lp+dQuyB/2ztuyyceHjx6JMKVJni/2RL/HZIhVgAe+oH8aUKz7ctkx/84dPTqq0kATSgKLLI1Qm42U+bg1sqqwuHPJeCT5G6c0BWzIt4A7jaUC4ffnGYzJh18Idin77ba94wcPRlb49uRvEIC372TaEKXsD5+uKLk/JAPjdfbD/gRX1rjKtnpD2YkTg3yHIyvLWq8hVD29jr++uqGJkEMjiVuGRRs+4HorQ7V1S5uj38xNa3mm00Uz6ra28epR1fs5TVaY27GVVX9A7caw/k= +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List all issue types for a project + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-issue-worklogs.api.mdx b/docs/api/list-issue-worklogs.api.mdx new file mode 100644 index 0000000..2c3d1b3 --- /dev/null +++ b/docs/api/list-issue-worklogs.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-issue-worklogs +title: "List worklog entries" +description: "List worklog entries" +sidebar_label: "List worklog entries" +hide_title: true +hide_table_of_contents: true +api: eJy9V21v2zYQ/isEv7QFZMtJnTTTp3ltVhjLWqNt1gFpENDi2WZNkSxJ2fEM/ffhqBfLlt11GbAvfuEd7/2eO26pNmCZF1qNOU2oFM4/COdyeFhru5R67mhEObjUCoNcNKE3wnlSUQkobwUgk2GWZeDBOprcbalAVsP8gkZUsQxoQku5gtOIunQBGaPJlvqNQZrzVqg5jehM24x5mtA8F5wWEbXwLRcWOE28zaGIjoo2Vn+F1P9r4fueTUopZPyGHuqNKDyyzEhwKPe6/F3xj9/g2YrJHJVdXAzgajgY9OD8p2lveMaHPfbq7LI3HF5eXlwMh4PBYIBG5lnG7IYmtTBi2tr3DRsRvzEiZbJhur0dv6FFcSIcTubz7wSi4/hnbZfOsBRIdfMHnG/utJ3PNr11c37MyTb1lI/rfWuKoriPqGdzLKxgKhl7yMjnukDvI+ogza3wm1B6IyN+g80o9wtQXqSsVHB3j8F6j8fnR2j36LQzWrnSy/PBAL9SrTwojz+ZMbK6EX91eG3bjTCzlm1oRIWHzLXO9RTThm1iseO8KLUI/s9lioYx/l7JTd0CNLXAPPAH5r97nTMPPS8yOCYjN/y/yYioF17irRvmPPldczETwMnIdwrsWAHmlh0QhfIwB0sjmrFHkeUZTc7Phq+GVy8vh68imglVHvaa06tWLKabHwmlyqVkU7T6IAxPuX4qAr9s0MMWJj0lx00XPFWA1PP5Dzt2cLvYuTZG1MZeu9Hz0WSM7djBjzAS9KwzFYqIDgdnqP+g1/f6j6QWOP5l0pE1WCBKe0S6leDAibaEWSBCrZgUvF8KfdkVOgGbCedQIAclgPfJrQNLJEuXjtSIRkzD5ipZw66sCluIcMEWUJh0TmbaEr9ooJpiJDLwC42zcw6hvxGIExozI+LVWdxk0cVbRLMiru66eLsrkCIOs9HF23pGFnE9f2PEUbCrerDmVtKELrw3LolRTd9IpqDvdAdSJ1bzPA1/EPt2N5M4ljplcqGdT67KgXSQUSTTogWtHxHqStQ6DrA7DAxkBEGUtADGQ1NXs+nP3mgy7pUMB1UxGZMlbAjbE9wnk7ISyEbnltRMQoVMNNJIqSek9DjI77AYFZxjE0i9Dg7hgbbir8D5WnPoHN6G2MV4Fuu4JkGPGYMJ8noJBzzhKCQv1aaMGzYZTegHYJywNAXniNfEgtO5TcMStbbCo4mf8fsoD5ZcKgUo/3rXNcG5/9GEDgCUET/IHHG5Mdp6oeZkqv2C7EWUpJoDwRQQpjgpfdqDAqT1ya/aniJGRKhU5hzIM2bMg1DOMymD9AfBn5FmJa2rJQQkQAE4TwzbSM146VwKYgWEoaEVGzb7bhVhxpC2AgSPAkt8pkP0K7T8tAAywX4kH64/fsJqpRHF3i3jNOgP+medwu9e+qK+qD+EE55gzX/LRbokzjPryTzHVsCIzXIpQztwneYZKF+GlXlyx2EFEvcM14DD/fMaMo4QEUZ6FmZgQaUQC+Ub5HjRp1HYglgaFoWqi4O5NDpAoxYSQcYEkqoa+Lkh4WQSKSgHLXFv392S0dvJzeplR+Zc+EU+7ac6izO2hCCnVBRPpZ7GxsJKwDq+Gb++fvfxuu8fS1w22vmMqZaSEw+Xg02l2fhO8Vco4uHRox0CwbW0eVuh/x1CIOYdU72bADSiSbVf10MAj/beLuUcwOPWa6n1FMNlF1EblWy3U+bg1sqiwONvOeCqfXcf0RWzolxT7raUCxemF01mTDr4jsPPP1RD8gU55WcN8Qrhu976aUSXsGm/8HDcPEnv3hPsCRa0gvlkGzqvoSfYUb5c7ouonn+YiZI0SlMwvnWp87DAsdusFW+vP9EoDKP9EbsME7T6gdKPGtSetqV6/MTQHGXfbsvhXRQNf0k6eaMZ71UFoPVFUfwN17Gfxw== +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List worklog entries + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-labels.api.mdx b/docs/api/list-labels.api.mdx new file mode 100644 index 0000000..19b650f --- /dev/null +++ b/docs/api/list-labels.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-labels +title: "Endpoints for label create/update/delete and fetch label details" +description: "Retrieve all labels in a project. Supports filtering by name and color." +sidebar_label: "Endpoints for label create/update/delete and fetch label details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all labels in a project. Supports filtering by name and color. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-module-work-items.api.mdx b/docs/api/list-module-work-items.api.mdx new file mode 100644 index 0000000..c05bf3f --- /dev/null +++ b/docs/api/list-module-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-module-work-items +title: "List module work items" +description: "Retrieve all work items assigned to a module with detailed information." +sidebar_label: "List module work items" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all work items assigned to a module with detailed information. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-modules.api.mdx b/docs/api/list-modules.api.mdx new file mode 100644 index 0000000..53d3c26 --- /dev/null +++ b/docs/api/list-modules.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-modules +title: "List modules" +description: "Retrieve all modules in a project." +sidebar_label: "List modules" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all modules in a project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-projects.api.mdx b/docs/api/list-projects.api.mdx new file mode 100644 index 0000000..ea463d3 --- /dev/null +++ b/docs/api/list-projects.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-projects +title: "List or retrieve projects" +description: "Retrieve all projects in a workspace or get details of a specific project." +sidebar_label: "List or retrieve projects" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all projects in a workspace or get details of a specific project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-states.api.mdx b/docs/api/list-states.api.mdx new file mode 100644 index 0000000..65278a0 --- /dev/null +++ b/docs/api/list-states.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-states +title: "List states" +description: "Retrieve all workflow states for a project." +sidebar_label: "List states" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all workflow states for a project. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-activities.api.mdx b/docs/api/list-work-item-activities.api.mdx new file mode 100644 index 0000000..0d18069 --- /dev/null +++ b/docs/api/list-work-item-activities.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-activities +title: "Endpoints for issue activity/search and fetch issue activity details" +description: "Retrieve all activities for a work item. Supports filtering by activity type and date range." +sidebar_label: "Endpoints for issue activity/search and fetch issue activity details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all activities for a work item. Supports filtering by activity type and date range. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-attachments.api.mdx b/docs/api/list-work-item-attachments.api.mdx new file mode 100644 index 0000000..711e2a7 --- /dev/null +++ b/docs/api/list-work-item-attachments.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-attachments +title: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +description: "Retrieve all attachments for a work item." +sidebar_label: "Endpoints for issue attachment create/update/delete and fetch issue attachment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all attachments for a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-comments.api.mdx b/docs/api/list-work-item-comments.api.mdx new file mode 100644 index 0000000..3344f22 --- /dev/null +++ b/docs/api/list-work-item-comments.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-comments +title: "Endpoints for issue comment create/update/delete and fetch issue comment details" +description: "Retrieve all comments for a work item." +sidebar_label: "Endpoints for issue comment create/update/delete and fetch issue comment details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all comments for a work item. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-item-links.api.mdx b/docs/api/list-work-item-links.api.mdx new file mode 100644 index 0000000..e06511b --- /dev/null +++ b/docs/api/list-work-item-links.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-item-links +title: "Endpoints for issue link create/update/delete and fetch issue link details" +description: "Retrieve all links associated with a work item. Supports filtering by URL, title, and metadata." +sidebar_label: "Endpoints for issue link create/update/delete and fetch issue link details" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "get api-method" +info_path: api/the-plane-rest-api +custom_edit_url: null +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Retrieve all links associated with a work item. Supports filtering by URL, title, and metadata. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/list-work-items.api.mdx b/docs/api/list-work-items.api.mdx new file mode 100644 index 0000000..6fd5271 --- /dev/null +++ b/docs/api/list-work-items.api.mdx @@ -0,0 +1,71 @@ +--- +id: list-work-items +title: "List work items" +description: "Retrieve a paginated list of all work items in a project. Supports filtering, ordering, and field selection through query parameters." +sidebar_label: "List work items" +hide_title: true +hide_table_of_contents: true +api: eJzNWtty2zgS/RUUXpJMURKlyElGT+txPIlnHceVxDtb67gUiGxJGIMAA4CWNS79+1YDvIqUfElqa19sCkQ3Go2+nG7wjqoUNLNcyZOYTqjgxk5XSl9PuYXE0IDGYCLNU5xBJ/QTWM3hBggjKVtwySzEBImImhMmBEFa4mgJlzhLq78gsn3yOUtTpa0hcy4saC4XAVE6zp+YjMmcg4iJAQERrkbsUqtssSTfM9BrkjLNErCgTZ8GtPpFJ5d3lKNsbh4NqGQJ0AmNMm2UpgE10RISRid31K5TfGMsLko325s79zvCtT0xmStNFmAtlwsi4dYSA26nGkwmLKoHblmSCjDI/gxu7TlbwJFfeXJHb5jIcMVROBlOQpQlSxKm13TiJqMOgZSCNqU5KkVImJ2QZzh3avjfMHFPMktmoCdqPjdgn9HNZhN06wFuUybjx+jhSCUJ6xlAJdfPV4Nwv91BGWIV8bzxpDWYVEkDWyo5dhMOjeELCX6o0AkrB+tq8QSk/rIp3ImMRBYDmWdClNNIDJZxYXAvHzJheSrAcTJcye5VA8FmIExgLLPQEKFg4HfnOeySIl/XGUpS0Dk9ObJ9p2JBSyam/FFHc5yTEbM2FhLCY5CWzzl4Wy19iyhNhFLXWbp1IO+4fZ/NToxBbVRqGY5ejg9evX7za9NI/Wzip2/Lkr/k+JJ4c3zIho3KdAQ/smnPgSDjR+26vuEFt8tstnNP0sLCh8V8NZTqD65Zncdf+HubA07qpN+pGe9OP8NBK8fkuX3u9szfmOHR737p2p54HKBYQX3BukU4MlKK3O0VSoo1mdVnbgL6J7fLT6VndCxZuWbbJ5G45lc7g4JXwKoxe8nTfZ7oktB0tn7MATi9oZ4dcZEOyGzdJ+ca5vzWi/Cs98wZKBKDjL2FxqC3juJIAx7jW2bhbTmzrqFe5GdMmW1oJSckMbNQW6Slng/KWKIhAmnz3Dzn2ljc17nmSnO7PuxaN81fNhYtKAjbud5Hp5XZmhQMyPNML0DagCz5YhmQBGKeJQERahUQqSS8QFk+47G/0ypL60I4Y5hOF268LoibTorxHRKYahJ5PmPRtVCLgGTSWKYtxAEpHyKFB+IfmYxACIidWEX2OnP20pFKplOnzqkzqLqEBSXJ3+yQscxijo2fvNteU9BTRABd9uriDobh7bXOXHiuQReSgvbw43kMc5YJOyGjMCAJu52QYRi+2LLRt35Sbf+jEJMtu+VJltSGh2FYkz1ldlkT3YPB/TkvoB7y0AnNMh53wDTPhZy8pQHV8D3jGmI6sTqDbfDhnvP5J2/rh3dwEMKbcRj2YPTrrDcexuMeez181RuPX706OBiPwzAMt4CJY1YAWr96U7BDYtcpj5goJ11cnLylO9VhRLZ4TNT5U+lrk7IISE75gM2XNPXNJ+veqhzv2mT97a49rprSbDabq4BatkBE7kQlJ66EuAqogShzcQSx+mHK/wnrw8wuEbpEzDO+vEIlfcThUce7K9ysz2Nud6MwxH+Rkhaks0qWpiKnGPxlkOyurVk1w2PB+kFj3WO55+bCA8SYBDrMUWZCsJkAr+UN6ms2fSSJVZaJaaQyL2zbXbG6mEZl4dCyhFTDzb73jt4VBkVtUs2aKSWAyZLN/dP2COp3gizMvglt9rUpcGs1m2JoNg/SXpsZ05phTPRVascBtwBTqmEJ0vAbqGpUYkBzJvjfoH3CdkVFHTiQhEm2gASk7X+VX+V7JmMBpkwWNV6CzyFaRwJy8IXZvoI0JC83yA0TPHb8g68SS52iqkpUDIJkKSZzU6uX47VkSYGkqprElczvv3w4JbkTYNCJwBguF/2WhfP4/kCLembxRynWldmuU5g+jLZ1aDXMso8ct9uz3OXH1vpeGz/AI6CWWxSKnjJjyQcVY7EUk0Prw6tL+I9h39pmqninqwQ0KXLjcBTQhEv/I+zgIXNksS1BIburv8iZBxEJuz0FubBLOhkdHDSTxHRpE3FfJpniaJpC57G2ZKsTzrh0eWKPrmZr23UKbbUV0BJDtxAf5y43gEQVXVKPFmlAES7inh1epAEVaoVCKgmYV7alaDr9L+Sb5/ON9MiFe/oqfyHfkCcOveeLpRvw3HHog3tyg0KtcORUrdxPXBJ/n+HS1ckUYPgYBXcJsHFkxWs8AQc0p2hL9xpbZwZhegE/QG/gewYy2nLnDmsdDcevx29evhq/rlltrxx9s73HzzljRES4jtJ26qucapm8O1AXU2Uoncs1Oe7+ITdkOlrym4cx6aLnZhprNrfd+XC7eXGv43S4ab3j8xT6Ip52I457w3ERSh9Gvt9/d0XV39YeYzjw+6SEs6rD1UdTp0yDfNDCbfew9znWLkowlidYom5ngoez8ASPJtzUK4BLn0W2Q5CrPhrTPLZrgrCgDoGbYLQLWjbhaBeqrDBbCy43wXATUG6jx9puzovrBiwtsLL4VPS1Ns3CpzWx3mxqYn1aNZqaiL7e+WhA9+FBuIXVq95+A6LjcOiGO5C596EOLD5nwkAJv0fhFtx+00LXTp4GnEYbqSHmS4/9Hlrv5pXp7/yWsEYVRmbZAruJmQHssS64bOXbCwPaEKaBZBKtFPtjQjmqOHO/tlga0Dc8AoIxXWW+LCtQQZH5G2lrOHpZ89SH7mtY7etEknOtFhpMafPeCrAFhIZU3TtMLq8C6kG7f67jWToKR+NeOOwND74Mw8nLcBKG/6Gbq02jUVZekNWq4Y3zx857p1ojt7pFQ6HGvtjdbnm6SoKga4Ox2AN0t203PPZbGYfDNlWztCaRBneBwIQhK9BApLIlE+ym42lyv1LfM33ZZnoOOuHGFSUxSA5xn1w4M2HRtSFF7MGOUz7N5LzGHbzyzgkKMleZjCnqKwG7VHjcC3Bmgm2UCR2wlA9uhoMyaZjBHfYiNoM8BZnBXdVy2gzcTYUZOKvSN8XdYaYFmpu1qZkMkGU/FUxC36iWhZ9rFWfucpJit6KinAwGQkVMLJWxkzfelZqkp/jaIcSiGfIZmxM+ZHW3RKpi173Gahc5LYH5FnJu0//uHZ6f9PyErcM+PyHXsN5yO2xRuwMma5VpUkzieOEKpORG/DrupLrbMlXRjQuMMF8JtXIbwgGl+d9u5pGKoTV44XQ3wLGBGhSvoMfSdOCC7jVszXFD7vAilXq9IQBwl9IsJizC4hejjAaP0tDFV5pjsKB/4v/OOWhekeAg7VHlDG5z/0MRWiHBa7wVMH1PADsLM2WXpKFREim8ARFq5VoDfk8ND8d3ffK70rteBuW90TOWplOOXXLhmyFTHj+r7uALa3EKKUNQytZCsdhvLgLuPhOYKZtPw5uQqmnI0pTUF8CYgDhczpXTfp72vyyBnKM/kk/Hn7+gtdKAou96PYX9sD9sGX6bCHs3/+KGW4I2/z3j0bXv/JNFhq7gvj/A5g+6Q6yiDDs+Xq3MkssYbkBgP8WUweHqeREyOl5iGOlpmIPG3DXg0paR4wU2Z7BlwzxEzr3YiUuDrWhUi0SQMI6vchv4R/lqE1DBI0AkVLF7d3ZBDt+dn968bPH0N5/9SCWDhF2D4+MXGsyEmg0QlnBYDU5Pjo7PPh/37a11J5MqYxMma4ucYraqpaqtY6i1Z/9vvhvJI5aFW4t75q66c/q5y7PKJYZbtDE0qyqz0IBO8q57kVxwqHGj4fMLDSjiVkwFyO3ubsYMXGix2eCwv8zBvBNzgygpLlHfTuU95buUzo1ew7r+YUxxHeCS2cPF+cHPQ/ZIVn6q8kTJnvR1xF556h9p/CShHvb1wkOkKr+k+MkHed9nBHtkKz8MeKJIP36xvke42k3/E8V70jXqHolqd7mVRFf4Q3Nf6D8qUDz/lGPtF6RxSdopQQEuZUMfpWRVYHucimoytO4rnyCHv1vEwirHvagR/+owiiC1NaLWFSCqsiwd3h1/oYEDoU1ofe2Qc/6A3DsFqqNsvzz+RdV0Tr+786B9synn+1c7KUpY72ejbq42m81/AYgEchk= +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: eJy9nWt33Dhy978KT79J8hzJkr327kSvIsseX3QZrSV7spn16VSTUBNqEmiDgOS2j757TuFahW7N7swkz77Ycf3rVyAIkiDFriK+z/RaGLBSq3fd7GhmhDVS3Il5u2kHMdubdWJqjVwjMDuafYjuphMW5DA1+qaBZlqLVt7ItvFBzWLTSDs17149aa7ceq2NnaJnsmDd1NzIwQoj1fLJbG+2BgOjsMJMs6Nfvs8kbmYNtp/tzRSMAq3VbG82tb0YYXb0fWY3a1Qniy3M9mY32oxgZ0cz52Q3e9ibGfHFSSO62ZE1Tjzs7W7U6FvR2rnsflvjfDwuQyvNu1ezert7M/EVxvUgJmz3dfh35N+9Qu0OBocbe/HiUPzw/PBwXzz798X+86fd8334y9M/7z9//uc/v3jx/Pnh4eEhdtKNI5jN7Cg11qzp1nnHjhu7WcsWhgx9/Pju1ezh4ZHhmAa3/JWB2Nrxn7VZTWtoRRMj/4mdzzF058fN/n3Wd+0k9T62j/e8Nw8PD5/3ZhaWeErNTvDUm2af92aTaJ2RduNPtOO1PBWbY2d7oaxsITT6y2ccoJ9QfrbD9xl3dFprNYU9e3Z4iP9ptbJCWfwnrNdDjDi4nTDs+/ao6gUekq0dOgkXiTASBvlNmOZe2r5p9bg2ohdqknflmI94JbZTA6prrBxFYw20K7ym/q7+ri6NvpOdSNddulqlagfXSbX0I9ZIK8am1U7ZCS/acHXu4SaWRkxTIyYrR7Bi2vu7StvZX2inOgwNs0bTgYXmRpvSM1CwFKNQ1nduWhupbLMeQKl0yRucdKwMYyi7f3zh4bBD95MaNuminlltYZjLaXKhmdiAVFYshdkV0YJqxTCI7rdFaTwN7W+MmiyY3xrj1O+JWkC7GvTyN8WEscuHlwQpNy58TB7/TruFvxP8ysj80ZbSfv/hHhkB2A7YXz2lOrBiH0/mnUdh3f2xNvZmVtoBo85gss257uSNFF1zbMM0GobsDzSv3DAAjkDqcpjDt1tL/QjzygX41kb4eibU0vazo2cvXtQT+z9q5BWB04GbY2f/6b3Z6r1Q3R9s4U6K+zlOKnjeYK+0sXNtOmH+mfMIu/DVCqNgmE/amXZnT/hGdwxjbmP3fPYP49OsO58UrKde27AvYNpe3v22E2ZrgAa91HSAkPumld9RodyIt8njGyNbODheyO4W1GwvC21rgJhdJ6f58QIWVByWEh/gijCNQKNewggrTW21dJLZt24gtpwmcMQeQNmNEUQx8O0b3MlhoKK7dePC0S2fgDSamhMsBlAtRYSz1NQKVmZThFewAkNNMxfT/AoGgJHIt3KhnSU79Uo7GEjDr4f5MUhHxvZHI4TV90R5Awtt8Mhk5S0YoDv+XveglJgWziyJ6ujxOIVxzTZ92oOx2pHunsolDJLaauphIjFnsNTkkJ7JhRHVeJ/pkVoOVEcbcAs3LmDqJdUmWBHmHAZYaGqvnWX2JAw5Ec7xxKPDc66X0Mmpp4xW+PhDtnKBJ8GCdOOiu4VRKIpIGAU56BfawarttbVF+8nBEjrtlpps7VIbq/cv9B3p9RXo+TUbm2sj15qO97VTkozuz1J1vRb4l87xKOKVBsxUba8NLAXTlk4O4UBnycqlY4qBpQOpuLbEJ1uFl4xQepofSyOmncAJWBjBtLvDT7Tp9GK37727dZudnjOYf5D6dnfYuVCd/rbb90Hq+RsYBhFPzS3gCga7O/QK1Py9CzPbTueZk7vbvHatGx8J/Dj1DiTfouPjMTnV4u2SSFau9Iq1+BJ61oq35y9BdcLAxBxmAR3b+5diECO35Td6muDs2e5fwWJg3XipYf5JTmy8XuqlrgQ50bZOYFwY2S3F/CVsuL7W8zcGe8xk1TrFBAMt26MT2AileNCGj/dJL1tYaq70Dnp2op9I10GHB9mIb1TXk8UTjp3CJ0ZMlg3HiZPAjtyJw67Srb4CNYJZTT3cKSbfT3pbmJ8Ywa7oV0Ld+UeQIlijpaWKHqXiPX3djVrxrr6WximxpmP2esA70h10mm7gR3wSuhAD7x6qMAh2jb0ZoK2P6Rutpy0Nj/D82pkVE4WCjjXnoBODdqyPbxxYMcJQgRv44uTAtA2w6eotDPIGvjLlrkKEGfUkh4Eer3eqk6Dyf3EGnna4T5X+ukM+ByPUcld7l/59VboDV85rMQzzE3zNsO37JO5gpy5VixfBrt79LBWM0DKPu5N0/N99gcGx8+g9jMBPo/dOifBIFYVToaxrV5uDM+3klO/stfdc4ysQwQf21MAgVCdvaS/OYH4J9MI7kyPtwRneZ9RSDGw3z/S9MPNLgyNA9XNohdRMUMDvbKg4HmPkUluuWKnkFyeYaGHURvPQb2AHNuucC4VXo2Chwkh2op8LO8AKQ5n4Vba6PgnOsRt8Cj7XqrW1YoUxYlNr+D5HV+IkjAG6uxeQnpuTIO7nf9PsYr2IDybZNFr1wBXbz1/BSlu8mbgB+se8JwJ7+5gXN34F/OZ04RztzE+3UsGSbv0S8HRngsEHELmge3/Za6EkvWrxOWwf3H44kyrHXN/Mr9YgVaXr+Scx9KxhJ1D+IFuuKgvzY5zm6EnzAdRKqvk7NQh6FD7g63DBhCV//vogJj04yxip5y8NKLbdK1AWDBtAlCS/GaKk5/7WUel6fgmOXblXrTZiWmwmpzoqS7uiHbyy85dgbI+PFhuuv9e9mrh0Kq2tpDPXyqrB616PUGFh4qODd3Uvb+z8xBnD9WuxdC3+0bKmzV73jk1b1/LW8RvDNZ7fVnPFana9fsJhd/ze/HMvrei1YU8/P0ul5FrQaf9vsHI2XIR4rFobnmCmcAUX6RXchZsPkRze2V99NHnyLb5zaL84MHJLTo8aRGvPnek0Fy9hGMP+FO2Dtr0IfxwX8Wqj7yvp2uhh4NInPVntL1wvHJxptdwIMIuN8L2ZJP7BQv49jBAmP2+N8XnOGwq6jcnWFxsmrGjohcjW1C9hEYbW23ZjCvsSln0HXTF7E6/vYK4IqZar0PlgGgXhZYM3hTQub+OlnPqVKCw+Z8lknfQyPBsHQ8sFDFPZsRM96DHMUmi+ghGmNtyfvN3Hv3y9IYfc7Cu3AGJMPagyCD/CCEs3le2+gW/532/Fwui8/bd6ftLL+blUfZHUcn6q/auiKNzlIXtnVs5OeV/f42uOsp33sIF1fJXibWHclCZzFE5hUUbxFMa2B1t28BSf83tZTNuPoLp8UE57UN1mWXg9rKBs/dTApPQGTOnfKb5NmZ+5ce1M0dpelr07dfcg87E8h7acLuf4p3s5VuewwlulKbaSQ976uZvact5dyFZPMjvxT/2V+6YEGTvUJrmQpLs/jeTfBvJIXfZKj/NLUQ7SJT5hgYKMX27w6oKyX38FW7r6V/xzRkG+uP66+bYZtOlyBz/IDXS59StY9TCUK+MKb6YrUPk0uBK6HMerHtSyL6fjlVRLWGuTz8crIzolVnrYkP27Brkul8k14DWk8vhdL+Qgp+IWvSkH4rqX47rPh+larza6GGQbHwcAtQA6Eh+NG7/kdj9Odv9ClBP2kxR+XHPXPw3Qybs8kaHkJ++JmGpZrqe/iRX436nTg34QjbgL3cfHRZwLj7/p+PIkKS+FGV04IEk6AQXhpWJR1mL+SZjw93JSfwSjmXAOnZCGtfVBbFa3EP8ESOKVdrafvxHaLCWjr+z8rRjiy64ighrCLcpN1sAQ5u8BZOhOFl8aOaU3bkTUK6Hmb2W4TWT9FZj7cKZl6bVrw3WVlbd6AcYy6UyqTsRbRBG16eZv9T3f9LkYFtqZqkOXwvhfs4tytemU3z8c+A5vHmHPi4LPruG6jMJrmPAVfhHO8afRcFOJyoW4v8HfP4dw/UT1Enz6w2xv9trhT5sHxyO21PnXw0lSnTb+MCYBe7rq/U4nCX9vnor9UgxLA/6AZMWESznZ+CPsNMAdUM1NkxhoO67tAd93UKmDdaVMUi0Fafykl5NUfgpNil4L1QOjXrkF69IbuTD4Es4QyQmjwgNRVN6KYZJqJYvybhoEPqWf0wF5hzNduMtE5b0wrKFTnNqkwmEiojT6jpgbSawzOS002cbZrVsMt+GZMUladQxxX8WIZ92yaOfQGdlRO7x4zKaRooeRtHIulZ9pkqkV+Gf9bE+tvi/2T9NAvJdgJDmil7pbahP+wE8SvuYlp8oHuSTeD+GPvmj5ewBQW82xx0pTzcCtuKsUSwf2So43wui1JgfoaqXXt3RT+kbSLVndrno9kCvjGoZBKjJQ19KECSfaH4cNKH1HB+8TdO4bNfEhlTSBcz89op/koKQjA/hJD0vNz5qfwUxADsB/wdKIBbGdkS1OMm/Or2d7s/B6Bt+3g8K5XfqhiupJH388ybaRkw1//SRJt4zQ+Eai2KfCLB1O20U6h15Qa+jknZiogtktYTeztNHWkqgPwqnwMjpOWgfHa398sunaVZzdkvRSuyVIlf5ISfJJD7b3U1xRwh/3yQ4TKhVuwNImfoQV6BtNFXkrqekU3IQf1ZL0BgZYx9Et2riQbEv4/hGGFpSf4IlK+/tWKz24wRHpFOKr1ixIHNMRWB9O9WSA7sjpPdzCICSNPIdbZzQTzBcnJqA9P5fdvX+US8IFOEM7dCEd3dCFNjd6WDHFjYIewUtY4p/9S820AWirl9K2IA3t7qXuVXiIK4qx8/PwuoDIH8Boq9WSbvMK5Bpoa9fQSzZk12DgnoZcYxMW1rRbP8NKMHMIL2w/Xh0cDzD5vy7w30Z+0yoa5Tb+8Yrcwj9eHbyFe5Ay/Jvcyj9ekRv2x+sTzAyrf1bneVn/r/lv/uv4fzf7DVf+rgiEv5hTBG0GlN/QKVZUBoff1ikYFAb539sp4wWKhJ/gCRIEjuDviQxBoUJu3cCRWzcwxP92TxEvMCT+nE+hKDGs/MZPyaIyOP32T9GkUdBnBBDI2xxIOQKMSiJDMXWAUmgzICQTUCQoFPIJBgTxNgdIygEDic4CYjICZaPEMJ+hQCEvUCQlLRAoSRRLmQwESxLFUnoDwZJEsZDzQKAgUISmQRCQygx37FpDk7pjwgQhosKgmERBqSgxzGdWUMgLHAnJFgwKEsV8BgZhvM2AnJNBqSwyVI8M0iN3+9wNCniBIymdg2FJ5ChmeTAMBYqExA+CBIEjmAvCEBQ4gukhDEGBISFjhDJBYVDKIqFY0jgYcksYFySKxYQTQkWFQTEJhVJRYpjPTKGQFxiSk1UolkWKkhwWwhKVwiW3hbBFpGhKeSFgkigW82AIFRUGYW4MRdCmQMqWIUySApYSLToIDLE5kJJqGJXECg25NpwMWgX6DBzOeYljKS2HgUms0F3ZOjxuF/FIIzmjZ3cL2f1YeEj5eSQ4OB8J9RlBuwO965GwlC60OzJ5HwmO6US7Y6PzkVCabbQ7nhKPNOIzknZHe9ejYSFd6bHI4P2VYExnejwYvY8Ex3Sn3bHR+UhozIbaHRqdVairzyRXnz0xf4pRUeNgzKpiYNQY6HOrKOWFbSSnX22x2VMFhdQsjgeNg/irKqNQqBH5TVSM/ManJJrXxVCi84CU8cXoJFYoJoJxDpUKkhPvJAoMYfliFGWOOiSnklURWa8CMMmMo6hUkE8845SXKsxno3HMSzVWXSNB4VBIW2NUkGos5LJVYBA5SlPcGE4dPCRnvzE+qxwOWXGMDBLHfKoco7xSQT59jlNeYhjNqaMs1asA/Amco6jsgEIG3jYadB7gc/MY6pUK8vl6nPISx2ISH+OixsCU2kfBpHEwJvwxMGocLGmAjC0yw0l+IMWJvIX7xMEa9iJDcz4hRbPI0ZRmyNAkcjRnHzI2qxXssxI56SWO5VRFRma1hkMKY8UGsUZDZmOFBrFCMeGRc6gwKCZBUipKFXZXtRUUDuVsSQZmlcG7sihp2C7/zgYwz3JXIOo7A2IG5q6Y6NoZVtIzd0UW787gnL65KzY7d4b67M5dYd6xOyQlfu4MS86doTEvdFdgdFVhmDTKaVQ4FBJJGRUkhsXsUopFiWM+5ZRRXmHQjjRUGrHDvTu85KnuDC9uHp4TWVlUVhkcElwpGBQOyZENDNocKGmwjCtyhZP8WB5AHCwkpM5SNigV5NNpOeWlLcxNNeXqDfq8W055qcZiMm5FRrWCY5IuZ6NYoSF3l5NB42DK6GVkEisUE305h0oFpeRfDia1gnNSMKezzPGYLczYqHEw5BAzLkg1FhKLKzCI26jPN95ivboFhzzkGg4qg0N+MgWDwqGYs8ywqHEwvW8idgX43GbOeKnG6oTnKqR2Px4eMqIfDQ/ux8NzyvSjLWSCN+IcHy/n+FjFRGvKRIlhIfuaUkGpoJSRzcGkcjhkajMySBxj6duMZp6toJzaXcdkx1ZIzPquA6LM8ZIOzvAiV3jJE+d80VkAzSCnAVTnAT63nKFeqaBl9WIxKBUUctA5FjQO5sx0hmaVwSljnaJJ2wJl9ddx0rbAnN1e09lRhcTEd45HkaMkH57RROcBmCnPSBQ4QpPnGUoddYjPq69or9Wgz7avQK/VoM/Br0Cv1WDIzK/IINZoTNiv2KhymCbyM546WAjJ8acBROY4Jv8zEAWOhHoABgWJY6FIgGFBqjGsHKgwlBiWywkomEWGlioDyhaVw7H6gKFRY2CsSaBclAJWFSp4rtJq0JcvVKDXtkBW1FBHMGcdmmseqqisbwfkV0G1uIWGIomaDWoNh+KJig1ijcaaioqNag37WosK9VoN+gqMCvRaDYa6jIoMYkC3yzU8vC0HPNVxeCgZxOXLOorTm8Q9ppei2SJOX/dRvN4kbiwEKV60mFMvBPXqhSDuWClSgCgQxBePFMCbxR2rSbI/2hTw9SUE8DYFVo54V6xxX4BCvN6mgC9JIYC3CeCLVIrfm8QdqlaKP9gE8HUsxe/N4vaFLdnrLepMhS6ESBLBQvVLYYJdgFQPk4kkEKRPaQPZIk45lD1Ag7iwgqb40KLOUFFD/EEoSC6yyUxWCoSFN9mPRnGFOpzsDCZxl8KcwhSNgrFch2BRodBdR/x35CSNFT3ZG+0CxBqfDESbAqHqhxBBIEgqBCpMUgrki4My4C3qjMVCBIgKhXwBEUG8TYFYUkSQqBAolhkVJgoECZVHhQg2AUotUoGKRkBSoVRIIlLUFy4RytsUwFIm4kezuH1tU/Z6izp9rRNxe5sCofqJEEGgCBZEEQBN4vYVUsXtzeKOJVPZH20CkCKqQhGRo7G2ipFRKyBWXGUCDeIyUM5GNIqr1GNloEgES0VahUoKgVLhVoGSUiBfzJUBbxFnLO4q/igQJNV7FSYpBQo1YJkIZnGnorAMJIEisU6MMFEhENaOFQAt4oy1ZMUfBYKk8rLCJIVAtOSsgFQtcChFy1QwqTvUphEgCAQJ5WqFCDYBfAFb8XuTuENFW/EHmwBY41bcaFEn3UlvFSepgcsI0QjoK+MK403ijqVyBYhCQXL1XGayQqBSUVewohUw1tllKNoUwMo74keTuGkpXqGoSmFfokcwbweAF+15hksci5V8jIsaB0N9H+OCVGOp6K9Ck8xxXw3ISK9wKFYIMixqHMx1gwzNKodZPSELYJ4qKNUa8oCk1rCvQaxQrwVwqzLRo1tqBaeKRQ4ndQvOlYw1nx1VSChy5HTQKtCXPnLOSxUW6iE5F7QKTFWSHE1qDafqyYpOcoXnskqOZ7nCfb0lR71UYaEIk3NB82BVmolcJVEsFnoQKioUigUgBIoKhVIxCKGSRDFa7ElQKlM8FpUQMioeqitDEas1BoZ6UYoFhUGphpRiSWOgryyllBcokopNCZQkjpn43MAEhuSiVIplkaOhVpWBQWJYKmClXNI4GMpaGRckjoVaV4YFiWKpAJZgSWJYroqlYBYpGoplCRYEiuT6WUJljYGxqpZyUaJYKrUlWJIoRupvCUlUDoe6XEYGiWKhWJdAQaAIqd8lHFEZjHW9FEObARvJ/BvJ3KH0lwBBYEiqBqZU0hjoa4Qp5QWG5LJhimWRoqGamGBB4EjMI6Y2B2LJMYOixkAsRKYQ2gzwpcmU8AJHsFqZIShQBAuYCYAmdfuKZuL3NgNSjTOFksZAX/lMKS9QBIuhCYAmc8cfkolJ3aFcmgBB4EiqoGZYEjkaCqsZGKQas+x0jwqDcgU25bLIUF+YTTEvMARrtSmBNgNS9TaFkkbBWNNNsKgwyNd5U8YLFMml34TKGgV9QTiBvM0BXyLOEK8wyJeNU8YLHPGV5IzxCoNSdTnFkkbBUHNOqCBQJJShEyQIDPGV6RTxgkfenF+j4835tTd3VK2je4dM8VDOTsAgcCRWuDMqagzEuncKoc0BzPBhBAoUycXxhMoaBbFknjBocneooWdIkDgWC+sZFzUO+nJ7hnmFQrEEn0BR8RAty0eE2hyIhfoMihoDafk+hanOAmJhP2WjVGEx54QJDAnP3pQJCofwowCMQYEh8TsBFIoSx+StZIy8lRyInxNgUNQYmD8yQMksVqj/9gAHvcSx8kEChha5xseK46Ofvl1AoaQxMHzRgGJB4VD+ygEDs8ph//UDBnqFQ+mLCIxLIkPDhxIoF5QKih9P4FwUOeq/qcA4rzDIf2eBMl7giHRsL9HmQPgYA2OCVGH4hQZOocKg/NUGymWxQgdwHBuAdz1934FRUeNg+OoD44JUYeVTEJwtOgvIH4mgdBYZGr4dQbmgMCh8T4JCQakg/MYEh1DhUPruBOOSyFD8HAWl0K6AIebCc8VD+aMV6M9GdoVvWCRfsJKTvOooVnKSVxzFSs7wzYvoC0Zy0bcexExu8vqiWMF5feLV6xOyHMh1XELiNS4fgWtwCDPxFUTK+jMjfJUjrjLx7Onzvzz/4U9/fv6XvRmWw3hxP6s/kCVcFpvfvirQjpUv0mou/xvNPbawy8vNLKzf4Rd1+j1rGd3TlbF+c7S+V79zDx/Yamm/hIVkPldrvoQFUspqXkEsS3iFFZz+2VXM4npjV2FVqKfNfvPXp82zw2fPt7668qM0k03LR+mbxvaiwTQgK0xzo1v/vqbRqsFEveZGgHXhK3x0TZoZtrx/+HT/8OmMrjST9afPQ4R10+xo1uavzvLVpZ6+2LUO1A+7lpR6ur320/NdSzs921656ZAvYET6fv308OhPh0eHh/814wsUlf04vH764uj5C8884P92Li424cF8fvgUj1q1mBpb7Kxpjej8zz3D1NwLIxqlLa7whfnfXaNNA0Y0Ut3BILsnodE/bTd6Kcwop8kvEyaUFN2T5uMkTDNAu5qadOY164xNsa3n221d98JHiMmKrjEiLNXT3MPk++ZfyT6Z4X6PwvYaT8ml/yqzX+juaHYAa3lw9/QgX2vTwXdcLe7hIF6508H3sijgw4FfOQ211cMBniPC3KU1Cp0ZZkez3tr1dHSA7T7B1c3Ek0lvncSXRneujcsl0cijg4NBtzD0erJHP4Rrg4eeoXv2QNatu8J15MJFuHv1unz9g3fP9sJSf72Azk/E8eL7z/3jy3f7AajOgst3zUpsGmANP2nienLNRjvTJEgqf03m1pqwHX8Id6+gVxbAww08w/lp0Pd+h1DQRn7z5InuxJb40Y/dAWoH+iC5xD6s1wf+il2JivGSP3itXodxw/nPr2MJXQNti6vcWZ3PJpw+7o30M8TP+N+dDJ5j7YC/hp6Uq8Tv3P/HLmxd32HEqyPXTGEBTpwqF9r2DRvRptWdaPAQ+JX6wj6xSx99T5oftXnMuRfXFBTNv8B6PZc4zw2Db30uu39p8uqe6WzxA5Iu5GYNm0FDF3auFbjAIWBHI4bLCpa1HWG9bugGpnC5S3Wj/einJ5NeNJd4PTYfXl9d49k6I48ns8Mnh0+ebp3420G4jOInOUnb4Dn/xcl21fhJvFk6vBRwxG7cMPjLodOtwxUPw7CCbX7pxJ0YcJnDKU8On/81TRk7nDiN7BtxI4xQrTiQyuaZ499wzURcYhLC40W8in138X7AZiMyE4kRJLriOfAf2YUrgslWqEmQ5t5cfGyO31ye3f1pq82ltL1bPGn1eDDCSvh2woYOFoNeHKzxe0Pi/uDs3cnri6vXT+xX64/MWuPbH0U2kteP3bm8LFlI8/9ipdk491jx1WLvpV/Bzu/p93iT+AUnTjxb8AQpN4rZ3uwoLnOa7hUosSVkw+3Cy/h1PnyKwqkd2/z+fQGT+GiGhweUvziBC5z+8nlvdgdGhufLX77POolfGMMHsRsYJvErY/OvH+Kd89+ax3Yr3QcUzvFprdXZ3mwlNmFFXbwb/a4tsiVvf8+2y6j97j5srT77O/oRVor9/LCXbo94DILruG3F2pKgrUVd8a6cHzPevMbvgeLMyu/AK3+Djf/A1nd2iN6Mw+bx/3FoduLfv4d7+8ND5oPr0Yh89w80js3nh4eH/wFWxznN +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: eJztWVtvG7cS/isEX9oCK+3KkdNWT8d1nNao2xqO3R4cxzCo5UhixSUZkitZFfa/F0PurlYXO44TnJf2xZbI4dw4881wtKbagGVeaHXO6YiWhjMP98K5Eu6lUHOaUA4ut8IgDR3RXzQXkxXxMyA3VxcJ8cJLSIi2pADPOPOM6AlhisCDcF6oKQnMCDLr04QaZlkBHqyjo9s1FcjTMD+jCVWsADqiUbjgNKEun0HB6GhN/crgnvNWqClN6ETbgnnUuBScVrtangeZ529oQi18KIUFTkfelpBQeGCFkeCQ61n8HKjP3+DKgskSBR0fZ/DdMMt6cPT9uDcc8GGPfTt43RsOX78+Ph4OsyzLUMGyKJhd0VHDqrY2SN5W6YT4lRE5kzXJzc35G1pVVXLQCWb+OeZfCDV/tvVI/IWMl63cx2wPFB8x3eo/IfefGQGXkcuzvVDTfyFHmK70x3zRED3tDifL6ROO2DP8D23nzrAcSH3yGca3Z7rGF6vesl0/ZGR39zEbl9vaVFV1l1DPppj9QVVy7qEgGIOO3kVlwfkfNF+hLrlWHpTHj8wYKfIAVemfDsWs952ix+jRPX3egRVMir/Akom2JKAcQhNqRwQqAA8erKoD1PXfq/fq7MGD4i6GbG4hiCZL4WeRAfScgVxMRE4WTAoe970mxsIClH+vbq4uSK7VRIrcO8IUJwUTyjOhIlOhPEyt8CvCS7xMUiC41ka6gJYW8dmLeFullYcyoRDqAtTUz+hoUFUJDZCMKcB8PgMe0A0dfBO0vooexsDpRsIO1cZjnZCoNaAz740bpWl9vp/rgm7ERgY83Ol+eDbBU1/09n0w1akWISW2rv2ht1wue5j4vdJKULnmGNb/xsE/IA6KUnphmPVpuH9sNP69+X/AzaM5DvISnRQ6xhMjfobVSelnoHztKTq6vcPy+RsuHx3YC5XFGa1ctPUoy75geXlbSkncdoQ9GViXVi8EB0dyja7w0ERDbGowioTKZclDSDR9NYaPFwU4zwrj3iMxKZhiU6RqpVhwurQ5EOaczkWMpBi0rU4HIkvwjzdZ6ETGf1NyFXuJKqEhK4DfM//k8ZAsqPshHjGXPoPHJvIumPMkPFEEcHLiY/Shhz+JvSqlZGPkWKtY898/vk2Z0II9NJl4dHyMxh3KWMSz+lbpaN1x43j16bdwQN3Go1+C3WPO/WGFZtQ97ItiZ9ntOj/5dICJF5ysuh3xbbifu42NLQg+io5baIhZ89xXwjZyToWflWMEzgZEUwtGp6aUMh0cverA6VvxQNgWppFx6Ow7MfRx4p3nEUJWg8Bek8n+McwFXfqIxzShomBTeIYFbME8s30T47wLEPQoOxr2skEvG1wPstGrbJRl/6PbANDSDLLrwfFoeBxo6kJw6JEfkLPmQFyZ5+DcpJQyhOcw4vzOORWqdWt+AFcTIZnHU4P9U9tVBdsBjl+ZdGQJFojSvmWC4xBmgYgoqR+Zvtpnegm2EM4hQw5KAO+TGweWSJbPHWnilJiWzNW8hvu8wqMftZjoUnFaRZCZaR6flPksTF8QmWjKjEgXg7TNQJeu8X1WpXU+u3S9eYZXaQgBl66b0UyVhlqWrs28SvFtCHbRTHS2w5wZ0TeSKeg7vR+EVvMyD1+wem9OjtJU6pzJmXZ+9F1Mnx1jcZtiXW+ag3dYrGOuHm4RWqRgYRsjGjnNgHGwm/f2f3snl+e9SLATAZfnZA6rnTzpk7qak5UuLWmIhAozspYbiXLC9R1uUzZdBgo4QiSTehkMwgVtxV+B8lRz2Fu8Cb5LcS3VabMFPWYMXpDXc9ihCUvh8nJtot8QKemIXgHjhIVEQmhoGgpHE7q0wqOKf+D/gzQYdrkUoPzpJkOCcf9HFfagInp8F+FcaYy2oe8caz8jWx4l+LokeAWh8Yo2baU97vXJW20f20zqLg7IV8yYe6GcZ1IG7veCf0XaWWgTLcEhLS4ZtpKa8WhcDmIBhKGiNVnTZcbxCjOGdAUgUFQJxVb2ajNTqXvvTSO/aUiw+ewWkusZkEvMXHJ19u4a45omFLM8ejTrZ/3BXorsH8J293fhhCeYHR9Kkc+J88x6Mi0xadC3CNchcbjOywKUjxfAPLnlsACJfaprYeTu6wZcDmwi4PQsTMCCyiEVyrcY8w02vdjxs9iv1Pke1N0rzx3MgoKJ4KoYLf9pt6qESpGDctBh9+OvN+Tkx8uLxaunSn7B5hD4REHpWOpxiq9GAcv04vz07Nd3Z33/4MMdGu18wVRHSHxg7TyWdu6i87r57KF9DUweHjwqLBCvm842lpRbRFUMEIyJTVmhCR3VY8imsuDS1og3Fhdc7kz+Q30JpGgYdmhYC1DOej1mDm6srCpc/lACDiVv7xK6YFbEvvV2Tblw+JnT0YRJB0845+urusx+Qzo/Gxw0uSkgCotDMyelCZ3DqvvDBRazF8nfzO1fIN7MXy54a1r+EtmbC32xDnuD6xfoEYfMd1XSlHUMhbh1GmX2rpHB5ujH54toUGRxkudg/COHw9AAG5K26bo8uT79iSZ0XA+zi1C4aYd10v0SZhihqm/3KvPQitQf0J6DLui2LVFb/Iu6HyRfr2MXVFUtfdx69ETbJ9XBjsZWVfU3Y17KjA== +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: eJztWWFv2zYT/isEv2wDJMtJbLf1p3lp3814s9VIm21AFgS0eLa5UKJKUnY8Q/99OFKSJVvO1rQYhqFfEot3PB7vHt4djzuqMtDMCpVOOR3TPOPMwr0wJof7TCPRbu9Vhgw0oBxMrIX/GtMbx0xYShw/qfhJzZ8xzRKwoA0d3+6owFkZsysa0JQlQMfUs94LTgNq4hUkjI531G4zJBqrRbqkAV0onTCL+uWC0yKgGj7kQgOnY6tzKIJO2ZlWv0NsP1p4e5czL4VMX9PDdQMKjyzJJBiU+8b/Lvmnr3FszWSOiw2HfXg56PdDOH81DwdnfBCyF2ejcDAYjYbDwaDf7/dRyTxJmN7ScSWMZM3V24pNiN1mImayZrq5mb6mRXHaHN6dn2wP7+UOg5xY2ch8+cSSR0v8ovSDyVgMpJz5N8xez2maPdmGm3q8y7xN6inrbtraFEVxF1DLlohppyqZWkhIaRcBht55jcHY7xTfokKxSi2kFn+yLJMidkcu+t3gWrtjy6g5OhRP0F7qeFfa89hliUivIF3aFR2fBTRhj9XX+XB4aN0O6wtzz2Ir1k3Zc6UksLQkc1iwXNpuOjxa0CmT90blOu5UMM2lZHMJlQOPVKxlCP6s+RnTpX2fhvOhqKIIqBUWP+mM2XgFfIrBrEL5W2e1yWx67R3q97tHXzfzO9CCSfEH6AYaK/fRH8RydYS39ysgK7FcgbEk00JpYbf0wC707PxiMBy9ePmqTzvMTpfCrvL58Xmq0F6CkiyUJi7Si3R5OnxjIGmh9THcbDYh2jPMtYQ0Vhz4F/h+ge+/F75JLq3ImLaRgy1nln0B7BfA/lsBi9YxEOdOGayYJ5n4P2wnuV1Bass4TMe3d1hovcXh8w6aKz9MplLjbXbe73/GGqQbMIde18D421Ruq7qQcpBggd+zp0GDN4rQigQ6QHgkM9bAPlLmkQx/4/kEGXs8XzFjyY+Ki4UATiYOuycjyOGBMkrbe6W5h3DJnubJHHRLD5WjRToN/HTQkWqp3JXOefFo+n8gJlVwmG8/HqFHcWqPjM8h7hRIvtui8TbNu8tHn6zy9vdZ9lzFpOcp8gk5YX/Du/Vn5m5vsu6Y7xN8O/BOuwIrKR2Jlh74UNie9doDu2JnEne2JfAojDV+1tnxrHbgJbEGjp9MGrIBDSRVmFjUWnDgRGnCNBCRrpkUvOeFXhwLnYFOhDEokEMqgPfIjQFNJIsfDKmMRLKazZSyBseyuo2Bai1UnnLq6iOwK8X9hT1euY4NnicasUxE67OoRqaJdnj7LaISbSba7dsrReQyWrhPFI5adRuKyK9tol3d7ikivI+DXle9oVxLOqYrazMzjnD5XiZZCj2jjlL3TCuexz5nBs2Z4yiSKmZypYwdv/QtlfbUKyRTzJBVmn2Hac9ntu5kW6OZOTINfIdjBYy70FwWGb+Gk9k09AwHQJlNyQNsCWsJ7mHDAMFBtirXpGISKbErILU04tdxXu5O+Pt8jQuc42mTauM2hANKiz8c56XicDR442wX4VikoooEIcsydJBVD3DA44ac82KVQZ1L6JheA+OExTEYQ6wiGnwqMDSgGy0sqvgL/u/kQTDGUkBqL/cHyW3uH1ThKJ54ix94jpg8y5R2xdxc2RVpWZTgrZigCwhLOfF7akUHpPXI/5Q+RQyISGOZcyBfsSy7F6mxTEpWnpyvSN1VrdDiDFJXmxnbSsW431wMYg2EoaIlGxaj+5YWyzLSXADjSRFQLAqv9y2ssqBt1NR1aG8brB5ulBM+1TQLiKqJd1hP17PbVXg9XCUYerFgL4eL0SAcvjh7EQ6Go/NwfrGIw/P41ehiMRqxBRu5qiVdKAeiMpNg0T/DsEKu37x7j4eOBhRDkNe+3+v3zjpvCu1Jv6W/pT8LIyzBo/shF/EDMZZpS5Y5nmh0/CKX0p1qruI8gdR6dDBLbjmsQWJ0NHWMu/u6inwdRIyGoYYFaEhjiERq6wD4TY8GrrBnvgAovePUpcFBUG0EVEiYQFIJ5W9rEhaKIobUNJ39/U83ZPL97Gp9cSTTX4F6sUqihD2Ak+MXiuZSzaNMw1rAJrqaXr756d2bnn20DmCZMjZhaWORv35NOKhw6/vM35hahkgLjxa1E65mdTvZlSnvFuM7ogEBsE97NKDjsgldZT4caj0tHCa/kqHRbC/zHxKaDx5Y5GCuwtV3uzkzcKNlUeDwhxywUX17F9A108IXS7c7yoXB35yOF0waeMIoX1+X1cI35JQBqsSWYtKqeuY0oA+wbT3NYJZ91sKtt5NnqNAw86fo0HiveJ4StSufrcXRk8YzFPHPD3dFUBUfCAhPuvRrhu9RwH7qX3dvcUNexCSOIbMnJrsmAZZNdcE4m7y//IEGdF6+cCSuvKAN0UHzw/UsXO3RrqgeXMFU/sD9dJqgWVx5bfEv6t7Jvtv5Wq0oan5POjmjruY8N3rjriiKPwEadRzv +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: eJztWltv27gS/isEX/YC2XLSpNv107qJu8c4bmM49u4CaeDS0jjmhhJVkrLjNfTfD4bUxbLltE2Lg3PQvCQWLzPDuXwzvGypTEAxw2U8CGmXpknIDMy41inMEoWdZkM9GoIOFE9wHO3SqR1FWEzsQLIzMGGKRWBAadq92VKOwxNmltSjMYsAv5T8GwIz4yH1qA6WEDHa3VKzSbBXG8XjO+rRhVQRMyhSykOa7YswclTI4JJ6VMHHlCsIadeoFDwKDyxKBGik23e/8/GDS2xbMZEis/PzDrw663RacPrrvHV2Ep612C8nL1tnZy9fnp+fnXU6nQ4KmUYRUxvaLYiRZJd7XbAeMZuEB0yUg6bTwSXNssw7pg6ruy/WR33RR6hrkd49QvZArX9Kda8TFgDJZ36Gass5u6qNNq112d6kwt3eYxpc16U5qkNc1Ff602STwGc7Ew7+Rp5kSr7HlGBHFD5061HD7jC2rKnIwEBERs6FOGh66+QHbV7LcIMSBjI2EBv8yZJE8MAGu/+3RjbbQ4XJOTotRnJFtbulCoSdOHPDthTiNEIxBtfX0z716PS6P0b2+3qvL+tn8sFO+EBaZIDY8T7+mXzAudgy1aCoRw03AmmMc56o7j6yQ6txnQi2mTnLH5o54vEQ4juzpN0Tj0bsofg6PT/fN/rh7DgVgs2RuYupKjr3lz3p/zWhHr3sTfqTwVtUwGX/YvC2N6QefX11Nez33lGPXo0mgyv8Me4Pe/nP6RjH9N/2Bvj/zWDY/yy1IUPU0QQejFVawRobL5kBwyOnzVwQ2w4Bj5iwzblU2PxaSgEsts1ORGy9stxsYyEuNhdWcJYaW7rT8dB+2lVgQz9i3LHBBWHLGy5gx5a5j252bcn1rAq20hhzJ5wL0QVLhZnlUVYOYUoxTDbcQKQ/5QVZ5lENxvAY42br+LLA8BU0c+V6FqXC8ObeFRM8dKGgUgcLGYKEARUzMdMyVUGjZ9Z9q8E3Sxo8fML8bEfXzARLCG18FXrvjQZjBww0q2Pa/rBrUJwJ/g+oHYDbFlA7Ulwq3lATTJaYFl0nkQtiluCqA3oQRVVY1JZMT05fnJ2//OXVrx3aoFF6x80ynR9CdwGlOfCRhVTE1jE8vmuoUTCL1KDwobVer1uYH1qpEhAHMnQO+YyNz9j4jI3P2PidYaM1cMKU8S0mhsywZzR8RsNnNHxGw+8ODZ1LBKldCB5o9RL+b9j0UrOE2OQVJO3e3OLJxBU2nzb02V25TmSsnSJPO51vuDVvdoL6eQcKwMKrWGxKwApBgIFwxsyj0/Gkr4WI0eBYBzT/V7A/UMC+cG0Ha3FHoV9BoxJxyLQhb2XIFxxC0rOBdSwtHdrpU3nsazOXkHfSnvXm6XuPv5bKzKQKXZTn1OI0mlsrVHqQ6Vw0KvI5M/4fZsbvJBdWUDHffDmKNgRTgRrfgtwxAHm9QZWud4/dvxj988uJb7Jmd1tURPcXilK7ybipo90+dtxWGtmvRdzWpR7xg1o6J7lpUHdnnRMUde/IvZa4SaAgxE8mNFmDAhJLg8RWPISQSEWYAsJj69ltR/TFIdERqIhrjQRDiDmEbZu/iGDBvSbFyklSDtM5rbNDWlg45aULhESBixqyZtrKtpBpjJLgFg7MUobuniRY2ms59Hjqs4T7qxO/9B3tb/FqJfNzf9D+trqfy3xr2RbqXvvb/JalaK2KEDunuMTKfLznALUqrgBTJWiXLo1JdNdHAdqJYDG0tTyA6JGSYRrYD6ynqpld3xcyYGIptem+cncp9alD7KZYaRXl2jWWT65Cai7aKii03YiFSGkJLLSpLa9j/2r1RoOWG7DnMKMBuYcNYTXCbbyPQSchG5kqUgzisS10S2rE8bHWbi4cq7oPGZxiKAm5tgvCBqn4P3bkhQzhoHFqdedjmy/9ogtaLEnQQEbew94Y22SNF8gEylrAVlgsJCwIQGtiZOl4mnp0rbhBEf/E/41j0B0DwSE2F1VA2cX9F0U4gAan8T3LEZ0miVR2NzCXZklqGiV4LkzQBITFIXFrqqEE9rXJG6mOdXqEx4FIQyA/sCSZ8VgbJvKKmYc/kPLyvPAWq5Byu5KwjZAsdIsLgK+AMBQ0H4a7merGlCUJ2WWgHTLg5mJc3RDmO6KGc5uyZK/Xn8eqq7J5fweXF3m1OsXlkb3K5KagcftI5eFmVrWG+/7M6qISsr6brC7DebyQ1jfzLIOIO0K0IuP+9QRjmXoUkc0tutPutE8a97f1Se/j9/EfXHNDEBE+pjy4J9owZchdikCB/rRIhbBgEcogjSA2zumYITchrECgVnUJnbc/FoDa0Ikg21KwAAVxAD6PTYmrP7WpZ/edzOX+Yq+OM6m3h9U7OA1Ym6KqXIT8Vnbh/oEHEOvdrf/v76ak9/touHpxQNNtzduBjPyI3YOl4xj5cyHnfqJgxWHtDwcX/XfX/bZ5MNZvE6lNxOIdJo88QtnbAZX77Mfm5O5q4MGgPNyWrVb2bZ49bzBRoP3R5FUGpR7t5o8liiSKTbVnLjt5FPuq9wr7qTSfufMiBMMB0x7y327nTMNUiSzD5o8p4FuCm1uMAMVdTXazxYjF3yHtLpjQ8Ig+fhznMfkTqT2oaVRGkS1jVFfx8IF69B429Wc9mLufJMOTOZf6ejLrg4cvTxDEPVJ5qgTVC5QnsC48KrvNvKKCQVdwvReOXwtZ7Mz+9CUoLsaR6AUBJObIZHtihbVXWXeOepOLf1GPzvNXKJGtUegOaW/3wx6g2QKmXpbd26or/4HradTCboXmpMW/KHvj8O3WFXxZVo53XUdnlCWhG40Guc2y7D9WmlOe +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/api-reference/byoa/build-plane-app.mdx b/docs/apps/build-plane-app.mdx similarity index 89% rename from api-reference/byoa/build-plane-app.mdx rename to docs/apps/build-plane-app.mdx index d0dc1dc..7a86fb7 100644 --- a/api-reference/byoa/build-plane-app.mdx +++ b/docs/apps/build-plane-app.mdx @@ -1,10 +1,22 @@ --- -title: Build a Plane App (Beta) -sidebarTitle: Build a Plane App (Beta) +title: Build a Plane App (BYOA) +sidebar_label: App development description: Step-by-step development guide to build and integrate an app with Plane using OAuth-based authentication and authorization workflow. + +siderbar_position: 2 --- -Plane apps are currently in **Beta**. Please send any feedback to support@plane.so. +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +{frontMatter.description && ( + +

{frontMatter.description}

+)} + +:::info +Plane apps are currently in **Beta**. Please send any feedback to support@plane.so. +::: ## Introduction Plane apps seamlessly integrate tools and services with Plane so you can @@ -39,11 +51,11 @@ integrations that fit your specific workflow. ## 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 app on Plane developer portal](/apps/build-plane-app/#registering-your-app) +2. [Implement OAuth flow](/apps/build-plane-app#implement-oauth-flow) +3. [Obtain and store access tokens securely](/apps/build-plane-app#obtain-and-store-access-tokens-securely) +4. [Make authenticated API requests to Plane](/apps/build-plane-app#make-authenticated-api-requests-to-plane) +5. [Handle token refresh](/apps/build-plane-app#handle-token-refresh) ## Registering Your App @@ -72,40 +84,30 @@ If this flow needs to be triggered from Plane marketplace as well, then provide Below are sample implementations: - - - -```python -import os -from urllib.parse import urlencode - -params = { - "client_id": os.getenv("PLANE_CLIENT_ID"), - "response_type": "code", - "redirect_uri": os.getenv("PLANE_REDIRECT_URI"), - # Optional: include state if needed -} - -consent_url = f"https://api.plane.so/auth/o/authorize-app/?{urlencode(params)}" -``` - - - - -```typescript -import { URLSearchParams } from 'url'; - -const params = new URLSearchParams({ - client_id: process.env.PLANE_CLIENT_ID!, - response_type: "code", - redirect_uri: process.env.PLANE_REDIRECT_URI!, - // Optional: include state if needed -}); - -const consentUrl = `https://api.plane.so/auth/o/authorize-app/?${params.toString()}`; -``` - - + + + ```python + import os + from urllib.parse import urlencode + params = { + "client_id": os.getenv("PLANE_CLIENT_ID"), + "response_type": "code", + "redirect_uri": os.getenv("PLANE_REDIRECT_URI"), + } + consent_url = f"https://api.plane.so/auth/o/authorize-app/?{urlencode(params)}" + ``` + + + ```typescript + import { URLSearchParams } from 'url'; + const params = new URLSearchParams({ + client_id: process.env.PLANE_CLIENT_ID!, + response_type: "code", + redirect_uri: process.env.PLANE_REDIRECT_URI!, + }); + const consentUrl = `https://api.plane.so/auth/o/authorize-app/?${params.toString()}`; + ``` + There are two types of authenticated actions your application can perform: @@ -218,7 +220,6 @@ Plane will make a GET request to the Redirect URI with below parameters: | code | The authorization code that can be exchanged for an access token | Yes | | state | The state parameter that was passed in the authorization request | No | - #### Examples @@ -255,7 +256,6 @@ const code = "authorization_code_from_callback"; const clientId = "your_client_id"; const clientSecret = "your_client_secret"; const redirectUri = "your_redirect_uri"; - const payload = { grant_type: "authorization_code", code: code, @@ -263,7 +263,6 @@ const payload = { client_secret: clientSecret, redirect_uri: redirectUri }; - const response = await axios.post( "https://api.plane.so/auth/o/token/", payload, @@ -273,15 +272,12 @@ const response = await axios.post( } } ); - -// Parse the response const responseData = response.data; const accessToken = responseData.access_token; const refreshToken = responseData.refresh_token; const expiresIn = responseData.expires_in; ``` - - + ### Fetching App Installation Details @@ -663,7 +659,6 @@ const expiresIn = responseData.expires_in; When user access tokens expire, you can use the refresh token to get a new access token: - #### Examples @@ -714,17 +709,38 @@ const refreshResponse = await axios.post( "Content-Type": "application/x-www-form-urlencoded" } } -); - -// Parse the refresh response -const refreshResponseData = refreshResponse.data; -const accessToken = refreshResponseData.access_token; -``` - - + refresh_response = requests.post( + url="https://api.plane.so/auth/o/token/", + headers={"Content-Type": "application/x-www-form-urlencoded"}, + data=refresh_payload + ) + refresh_response_data = refresh_response.json() + access_token = refresh_response_data["access_token"] + ``` + + + ```typescript + const refreshPayload = { + grant_type: "refresh_token", + refresh_token: refreshToken, + client_id: clientId, + client_secret: clientSecret + }; + const refreshResponse = await axios.post( + "https://api.plane.so/auth/o/token/", + refreshPayload, + { + headers: { + "Content-Type": "application/x-www-form-urlencoded" + } + } + ); + 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/apps/overview.mdx b/docs/apps/overview.mdx new file mode 100644 index 0000000..de9bc54 --- /dev/null +++ b/docs/apps/overview.mdx @@ -0,0 +1,46 @@ +--- +title: Overview +sidebar_label: Overview +description: Plane Apps seamlessly integrate tools and services with Plane, enhancing your productivity. +siderbar_position: 1 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

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

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

Plane supports HTTP-POST bindings. | | SLS URL

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

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

+)} + If you need to check the logs for troubleshooting or to monitor what’s happening in specific Plane services like the API or Worker, you can access them directly from the command line. To view logs, start by running the command ↓: @@ -11,9 +17,12 @@ To view logs, start by running the command ↓: This brings up a table where you can select which container logs you want to view. -![Container logs](/images/view-logs/container-logs.webp) +![Container logs](/images/view-logs/container-logs.webp#center) - +
+ Community Edition + +## View container logs Here’s how to view logs for any service in Plane Community Edition, whether it’s the API, Worker, Redis, or others. This can be really helpful when troubleshooting or just getting insights into how each service is running. @@ -104,5 +113,4 @@ Here’s how to view logs for any service in Plane Community Edition, whether it ``` 4. To exit the logs, use `CTRL+C`. This will take you back to the main menu where you can select another action or view logs from a different service. - - \ No newline at end of file +
diff --git a/docs/self-hosting/methods/_category_.yml b/docs/self-hosting/methods/_category_.yml new file mode 100644 index 0000000..ff278e9 --- /dev/null +++ b/docs/self-hosting/methods/_category_.yml @@ -0,0 +1,3 @@ +label: "Install" +position: 3 +collapsed: false diff --git a/self-hosting/methods/airgapped-edition-kubernetes.mdx b/docs/self-hosting/methods/airgapped-edition-kubernetes.mdx similarity index 100% rename from self-hosting/methods/airgapped-edition-kubernetes.mdx rename to docs/self-hosting/methods/airgapped-edition-kubernetes.mdx diff --git a/docs/self-hosting/methods/airgapped-edition.mdx b/docs/self-hosting/methods/airgapped-edition.mdx new file mode 100644 index 0000000..c4dbc02 --- /dev/null +++ b/docs/self-hosting/methods/airgapped-edition.mdx @@ -0,0 +1,198 @@ +--- +title: Deploy Plane Commercial Airgapped Edition +sidebar_label: Airgapped Edition +sidebar_position: 4 +--- + +{frontMatter.description && ( + +

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

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

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

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

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

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

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

{frontMatter.description}

} + +## Introduction + +Webhooks are a powerful way to receive real-time HTTP-based notifications about events in Plane. By setting up a webhook, you can automatically receive updates whenever specific events occur, such as the creation, update, or deletion of projects, work items, or other entities. + +:::tip Events +Plane supports the following webhook events: + +- **Project**: created, updated, deleted +- **Cycle**: created, updated, deleted +- **Module**: created, updated, deleted +- **Work Item**: created, updated, deleted, added to cycle, added to module +- **Work Item Comment**: created, updated, deleted + ::: + +## Creating a Webhook + +To create a webhook, go to your Plane workspace settings, open the **Developer** section, and click **Webhooks**. Then click **Add webhook**. + +import ImgCreate from "@site/static/images/webhooks/create.png"; + +Create webhook + +Next, enter your URL, optionally choose the events that will trigger your webhook, and click **Create**. + +import ImgDetails from "@site/static/images/webhooks/details.png"; + +Define webhook details + +Afterwards, you will be prompted to save your webhook secret key. You can use this key to verify the authenticity of webhook payloads you receive from Plane. We'll cover this [later in the guide](#verifying-payloads). + +import ImgKey from "@site/static/images/webhooks/key.png"; + +Webhook key created + +## Defining a Webhook Consumer + +Your webhook consumer URL must be an HTTP endpoint that: + +1. Responds to Plane requests with an `HTTP 200` ("OK") response +2. Is publicly accessible +3. Is not localhost + - Valid: `https://example.com/webhook` + - Invalid: `http://localhost:3000/webhook` + +:::tip +If your consumer does not respond with an `HTTP 200`, Plane will retry delivery up to three times with exponential backoff. +::: + +## Webhook Payloads + +When a webhook is triggered, Plane sends a JSON payload to your specified URL via HTTP `POST`. The payload contains: + +- `action`: One of `create`, `update`, or `delete`, indicating the type of event +- `event`: One of `project`, `cycle`, `module`, or `issue` (issue = Work Item) +- `webhook_id`: The unique identifier of the webhook +- `workspace_id`: The ID of the workspace where the event occurred +- `data`: An optional object containing the details of the event. The structure of this field varies based on the `event` and `action` (see below). + +### Payload Examples + +#### Delete Action + +```json +{ + "event": "issue", + "action": "delete", + "webhook_id": "f1a2fe64-c8d4-4eed-b3ef-498690052c1d", + "workspace_id": "c467e125-59e3-44ec-b5ee-f9c1e138c611", + "data": { + "id": "9a28bd00-ed9c-4f5d-8be9-fc05cbb1fc57" + } +} +``` + +#### Update Action + +```json +{ + "event": "project", + "action": "update", + "webhook_id": "3c2c32ac-82df-48b3-be2a-a3e21dbe8692", + "workspace_id": "d2d97c94-a6ad-4012-b526-5577c0d7c769", + "data": { + "id": "22b6fc9c-1849-45da-b103-52a3e3a6b4c1", + "workspace_detail": { + "name": "Testing Project", + "slug": "testing-project", + "id": "bob1b192-f988-4bf9-b569-825de8cb0678" + }, + "created_at": "2023-10-25T04:38:59.566962Z", + "updated_at": "2023-10-25T06:44:48.543685Z", + "name": "vfecddcwerj", + "description": "", + "description_text": null, + "description_html": null, + "network": 2, + "identifier": "TRACE", + "emoji": null, + "icon_prop": null, + "module_view": true, + "cycle_view": true, + "issue_views_view": true, + "page_view": true, + "inbox_view": true, + "cover_image": null, + "archive_in": 0, + "close_in": 0, + "created_by": "6bb20d1c-4960-41ca-af4f-cee01de160c4", + "updated_by": "6bb20d1c-4960-41ca-af4f-cee01de160c4", + "workspace": "bob1b192-f988-4bf9-b569-825de8cb0678", + "default_assignee": null, + "project_lead": null, + "estimate": null, + "default_state": null + } +} +``` + +## Webhook Headers + +Plane includes several HTTP headers with each webhook payload: + +```json +"Content-Type": "application/json", +"X-Plane-Delivery": "", +"X-Plane-Event": "", +"X-Plane-Signature": "" +``` + +| Header | Description | +| ----------------- | ------------------------------------------------- | +| X-Plane-Delivery | Unique UUID for the payload | +| X-Plane-Event | The event that triggered the webhook | +| X-Plane-Signature | HMAC SHA-256 signature for verifying authenticity | + +## Verifying Payloads + +To verify authenticity, use the `X-Plane-Signature` header. This is an HMAC +SHA-256 signature of the payload, generated using the secret key you received +when creating the webhook. If the signature matches the HMAC SHA-256 hash of the +payload and your secret, the payload is authentic. + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + ```python + import hashlib + import hmac + +secret_token = os.environ.get("WEBHOOK_SECRET") + +received_signature = request.headers.get('X-Plane-Signature') +received_payload = json.dumps(request.json).encode('utf-8') + +expected_signature = hmac.new(secret_token.encode('utf-8'), msg=received_payload, digestmod=hashlib.sha256).hexdigest() + +if not hmac.compare_digest(expected_signature, received_signature): +raise HTTPException(status_code=403, detail="Invalid Signature provided") + +```` + + +```typescript +// Node.js Fastify example +import { createHmac } from 'node:crypto'; +const secret = process.env.WEBHOOK_SECRET; + +// Fastify setup excluded for brevity + +fastify.post('/webhook', options, async (request, reply) => { + const receivedSignature = request.headers['x-plane-signature']; + const payload = JSON.stringify(request.body); + + const computedSignature = createHmac('sha256', secret) + .update(payload) + .digest('hex'); + + if (receivedSignature !== computedSignature) { + return reply.status(403).send('Invalid signature'); + } + + // Process the webhook payload + return reply.status(200).send('Webhook received'); +}) +```` + + + + +:::tip Questions? +If you have any questions or need help with webhooks, please reach out to us at engineering@plane.so +::: diff --git a/docusaurus.config.ts b/docusaurus.config.ts new file mode 100644 index 0000000..2f4e293 --- /dev/null +++ b/docusaurus.config.ts @@ -0,0 +1,438 @@ +import { themes as prismThemes } from "prism-react-renderer"; +import type { Config } from "@docusaurus/types"; +import type * as Preset from "@docusaurus/preset-classic"; +import type * as Plugin from "@docusaurus/types/src/plugin"; +import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs"; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +const config: Config = { + title: "Plane developer documentation", + tagline: "Explore our guides and examples to integrate Plane", + favicon: "/img/favicon/white/favicon.ico", + trailingSlash: false, + onDuplicateRoutes: "warn", + + // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future + future: { + v4: true, // Improve compatibility with the upcoming Docusaurus v4 + }, + + // Set the production url of your site here + url: "https://developers.plane.so", + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: "/", + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: "makeplane", // Usually your GitHub org/user name. + projectName: "developer-docs", // Usually your repo name. + + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "throw", + onBrokenAnchors: "throw", + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: "en", + locales: ["en"], + }, + + presets: [ + [ + "classic", + { + docs: { + path: "docs", + routeBasePath: "/", + sidebarPath: "./sidebars.ts", + include: ["**/*.md", "**/*.mdx"], + editUrl: "https://github.com/makeplane/developer-docs/tree/main", + sidebarCollapsible: true, + sidebarCollapsed: true, + docItemComponent: "@theme/ApiItem", // Derived from docusaurus-theme-openapi + }, + blog: false, + theme: { + customCss: "./src/css/custom.css", + }, + sitemap: { + lastmod: "date", + changefreq: "weekly", + priority: 0.5, + ignorePatterns: ["/tags/**"], + filename: "sitemap.xml", + }, + gtag: { + trackingID: process.env.GTAG_TRACKING_ID || "fake", + anonymizeIP: true, + }, + } satisfies Preset.Options, + ], + ], + + themeConfig: { + image: "https://media.docs.plane.so/logo.svg", + docs: { + sidebar: { + hideable: false, + autoCollapseCategories: false, + }, + }, + navbar: { + title: 'Developers', + logo: { + alt: 'Plane', + src: 'https://media.docs.plane.so/logo/new-logo-white.png', + srcDark: 'https://media.docs.plane.so/logo/new-logo-dark.png', + }, + items: [ + { + type: 'docSidebar', + sidebarId: 'sidebar', + position: 'left', + label: 'Docs', + }, + { + type: 'docSidebar', + sidebarId: 'apiSidebar', + position: 'left', + label: 'API', + }, + { + type: 'docSidebar', + sidebarId: 'devToolsSidebar', + position: 'left', + label: 'Dev Tools', + }, + { + type: 'search', + position: 'left', + }, + { + href: 'https://discord.com/invite/A92xrEGCge', + 'aria-label': 'Discord', + position: 'right', + className: 'navbar--discord-link', + }, + { + href: 'https://github.com/makeplane/plane', + 'aria-label': 'GitHub', + position: 'right', + className: 'navbar--github-link', + }, + { + href: 'https://app.plane.so/sign-in', + label: 'Sign in', + position: 'right', + }, + ], + }, +/* + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Self-Hosting', + to: '/self-hosting/overview', + }, + { + label: 'SDKs', + to: '/sdks/overview', + }, + { + label: 'AI Solutions', + to: '/ai-solutions/overview', + }, + { + label: 'Webhooks', + to: '/webhooks/overview', + }, + { + label: 'API Reference', + to: '/api', + }, + ], + }, + { + title: "Community", + items: [ + { + label: "Discord", + href: "https://discord.com/invite/A92xrEGCge", + }, + { + label: "X", + href: "https://twitter.com/planepowers", + }, + { + label: "LinkedIn", + href: "https://www.linkedin.com/company/planepowers/", + }, + { + label: "Discussions", + href: "https://github.com/orgs/makeplane/discussions", + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'Blog', + href: 'https://plane.so/blog', + }, + { + label: 'GitHub', + href: 'https://github.com/makeplane', + }, + ], + }, + ], + // copyright: false, + }, +*/ + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + additionalLanguages: [ + 'ruby', + 'csharp', + 'php', + 'java', + 'powershell', + 'json', + 'bash', + 'dart', + 'objectivec', + 'r', + ], + }, + metadata: [ + { + property: 'og:image', + content: 'https://media.docs.plane.so/logo/docs-og.webp', + }, + { + name: 'twitter:image', + content: 'https://media.docs.plane.so/logo/docs-og.webp', + }, + { + name: 'keywords', + content: + 'project management, issue tracking, sprint management, agile, scrum, create projects, track sprints', + }, + ], + colorMode: { + defaultMode: 'light', + }, + languageTabs: [ + { + highlight: 'bash', + language: 'curl', + }, + { + highlight: 'python', + language: 'python', + }, + { + highlight: 'javascript', + language: 'nodejs', + logoClass: 'nodejs', + }, + { + highlight: 'go', + language: 'go', + }, + { + highlight: 'ruby', + language: 'ruby', + }, + { + highlight: 'java', + language: 'java', + variant: 'unirest', + }, + { + highlight: 'rust', + language: 'rust', + }, + { + highlight: 'php', + language: 'php', + }, + { + highlight: 'csharp', + language: 'csharp', + }, + { + highlight: 'powershell', + language: 'powershell', + }, + { + highlight: 'dart', + language: 'dart', + }, + { + highlight: 'javascript', + language: 'javascript', + }, + { + highlight: 'c', + language: 'c', + }, + { + highlight: 'objective-c', + language: 'objective-c', + }, + { + highlight: 'r', + language: 'r', + }, + { + highlight: 'swift', + language: 'swift', + }, + { + highlight: 'kotlin', + language: 'kotlin', + }, + ], + } satisfies Preset.ThemeConfig, + + stylesheets: [ + // { + // href: "https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=National+Park:wght@200..800&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap", + // type: "text/css", + // }, + ], + + headTags: [ + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-light.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-regular.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-semibold.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/nacelle/nacelle-bold.otf", + as: "font", + type: "font/otf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-light.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-regular.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-semibold.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + { + tagName: "link", + attributes: { + rel: "preload", + href: "/fonts/ibm/ibmplexmono-bold.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + }, + ], + + plugins: [ + [ + '@docusaurus/plugin-google-tag-manager', + { + containerId: process.env.GOOGLE_TAG_MANAGER_ID || 'fake', + }, + ], + [ + 'docusaurus-plugin-openapi-docs', + { + id: 'api', // plugin id + docsPluginId: 'classic', // configured for preset-classic + config: { + plane: { + specPath: 'api/schema.yaml', + outputDir: 'docs/api', + sidebarOptions: { + groupPathsBy: 'tag', + }, + } satisfies OpenApiPlugin.Options, + }, + }, + ], + ], + + themes: [ + [ + require.resolve('@easyops-cn/docusaurus-search-local'), + /** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */ + { + hashed: true, + indexBlog: false, + docsRouteBasePath: '/', + }, + ], + 'docusaurus-theme-openapi-docs', + ], +}; + +export default config; diff --git a/logo/favicon-32x32.png b/logo/favicon-32x32.png deleted file mode 100644 index 7f87b14419c4dec82c6100f5cd7d673ef9023f2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1438 zcmV;P1!4M$P)Ms9_h-kRos-(E))uOm<9?#FO-R&kq;HvPCDaHTSiNYXa>2suK=0& zvV3UBuz(4JEu+>?#DL!$GVw(jb@}vv;NF_(T9dG-MHJ%2;SF<_#=mNDsd zf7mBLC7(a_(PM*$gk1tuS9u7W{J2<$Z3$iXg}wKHDsb}S1i#X&y)W$a05!~P0FwmR z3)=XkSHK4Fr#~rdDWHT;oUb7D>9>GM3QOgD=N?c2CTX0U7u2wG0~iWQ*aOPIP%(`H zrhuX1C7C;OOAch4H!vct50mNtv=x)7) z52wF`fwxBC@bL*~U0Vhn7JpxYH;%mHv{AcQ2m9G`2n+t(*apU_Gjm#PkRddgzi>$u z-W=H#rLl3*y!uz*Hdb!^e>*$LDJUbnXmjM>va1a5;8?H;gt_ujtO?9OwT zJ@aGW9WP&xUz^QbEW`C#HbD38Ant?SE1iJUok0?wcN z9;}feND|VCm^FL|8drXSrw`V4WP}B`_Emp63;(TLhpIsWsd_{zX2RC+kg*7CBa0$Z zRf@=?h*Z{s@+2bF#kf3($V4?X4iUOUEh1CpXjguZ1++>;zJyB}qs}rzl zxEh7ak_d`10p~+F8q^{2VqBCxqT;OUnr$^1mH(e8<}lv7 zH4+iz<>)kRzM>G3n)QIZib&mpOzuR8l(X@yBW6y|dHyIWz8AEO`3rSXIzGOyjT^V_ zh@dpCE_=2yzfc#tq+WoFE8_JdZ#&VH$I?B=YfI?DzcY>) zUX&+>1rWmmh+zT5umECM05L3p7#2Vb3m^ssbb+Cw%K~VzQNSuNRBWPvbzrDi;bW|5 zDGjLORolQMjdT9II}B|BlQd4w`7lo!b|2=cm<1*&YVMOA0qT6)MPTA)QRceo{=w@= zb39M}7%*{Q%NX-L(pBOh_;MY??~q$0t;|awWBg@ s9|UcwC_+Bzs%Xo21Xx`2`Ks~b73?s_Kai7BY5)KL07*qoM6N<$f}wDYT>t<8 diff --git a/mint.json b/mint.json deleted file mode 100644 index 869109f..0000000 --- a/mint.json +++ /dev/null @@ -1,370 +0,0 @@ -{ - "name": "Plane", - "logo": { - "light": "https://media.docs.plane.so/logo/new-logo-white.png", - "dark": "https://media.docs.plane.so/logo/new-logo-dark.png" - }, - "favicon": "/logo/favicon-32x32.png", - "colors": { - "primary": "#006399", - "light": "#006399", - "dark": "#006399", - "background": { - "dark": "#1B1B1F" - } - }, - "api": { - "baseUrl": "https://api.plane.so", - "auth": { - "method": "key", - "name": "x-api-key" - } - }, - "topbarCtaButton": { - "name": "Sign in", - "url": "https://app.plane.so/sign-in" - }, - "anchors": [ - { - "name": "Plane Documentation", - "icon": "book", - "url": "https://docs.plane.so/" - }, - { - "name": "Discord", - "icon": "discord", - "url": "https://discord.com/invite/A92xrEGCge" - }, - { - "name": "GitHub", - "icon": "github", - "url": "https://github.com/makeplane/plane" - } - ], - "tabs": [ - { - "name": "Self-hosting", - "url": "self-hosting" - }, - { - "name": "APIs and BYOA", - "url": "api-reference" - }, - { - "name": "Webhooks", - "url": "webhooks" - } - ], - "navigation": [ - { - "group": "Self-host Plane", - "pages": [ - "self-hosting/overview", - "self-hosting/editions-and-versions" - - ] - }, - { - "group": "Install", - "pages": [ - "self-hosting/methods/docker-compose", - "self-hosting/methods/docker-swarm", - "self-hosting/methods/kubernetes", - "self-hosting/methods/coolify", - "self-hosting/methods/portainer", - { - "group": "Airgapped Edition", - "pages": [ - "self-hosting/methods/airgapped-edition", - "self-hosting/methods/airgapped-edition-kubernetes" - ] - }, - - "self-hosting/methods/podman-quadlets" - ] - }, - { - "group": "Configure", - "pages": [ - "self-hosting/govern/instance-admin", - { - "group": "Authentication", - "pages": [ - "self-hosting/govern/authentication", - "self-hosting/govern/google-oauth", - "self-hosting/govern/github-oauth", - "self-hosting/govern/oidc-sso", - "self-hosting/govern/saml-sso", - "self-hosting/govern/reset-password" - ] - }, - "self-hosting/govern/communication", - "self-hosting/govern/configure-dns-email-service", - "self-hosting/govern/database-and-storage", - "self-hosting/govern/custom-domain", - "self-hosting/govern/private-bucket", - { - "group": "Integrations", - "pages": [ - "self-hosting/govern/integrations/github", - "self-hosting/govern/integrations/slack", - "self-hosting/govern/integrations/gitlab" - ] - }, - "self-hosting/govern/external-secrets", - "self-hosting/govern/reverse-proxy", - "self-hosting/govern/environment-variables", - "self-hosting/telemetry" - ] - }, - { - "group": "Manage", - "pages": [ - "self-hosting/upgrade-from-community", - "self-hosting/manage/community-to-airgapped", - "self-hosting/manage/backup-restore", - { - "group": "Update Plane", - "pages": [ - "self-hosting/manage/upgrade-plane", - "self-hosting/manage/upgrade-from-0.13.2-0.14.0" - ] - }, - "self-hosting/manage/view-logs", - "self-hosting/manage/migrate-plane", - "self-hosting/manage/prime-cli" - ] - }, - { - "group": "Troubleshoot", - "pages": [ - "self-hosting/troubleshoot/installation-errors", - "self-hosting/troubleshoot/license-errors", - "self-hosting/troubleshoot/cli-errors", - "self-hosting/troubleshoot/storage-errors" - ] - }, - - { - "group": "App Development", - "pages": [ - "api-reference/byoa/build-plane-app" - ] - }, - { - "group": "API Reference", - "pages": [ - "api-reference/introduction", - { - "group": "Project", - "pages": [ - "api-reference/project/overview", - "api-reference/project/add-project", - "api-reference/project/list-projects", - "api-reference/project/get-project-detail", - "api-reference/project/update-project-detail", - "api-reference/project/delete-project" - ] - }, - { - "group": "State", - "pages": [ - "api-reference/state/overview", - "api-reference/state/add-state", - "api-reference/state/list-states", - "api-reference/state/get-state-detail", - "api-reference/state/update-state-detail", - "api-reference/state/delete-state" - ] - }, - { - "group": "Label", - "pages": [ - "api-reference/label/overview", - "api-reference/label/add-label", - "api-reference/label/list-labels", - "api-reference/label/get-label-detail", - "api-reference/label/update-label-detail", - "api-reference/label/delete-label" - ] - }, - { - "group": "Link", - "pages": [ - "api-reference/link/overview", - "api-reference/link/add-link", - "api-reference/link/list-links", - "api-reference/link/get-link-detail", - "api-reference/link/update-link-detail", - "api-reference/link/delete-link" - ] - }, - { - "group": "Issue", - "pages": [ - "api-reference/issue/overview", - "api-reference/issue/add-issue", - "api-reference/issue/list-issues", - "api-reference/issue/get-issue-detail", - "api-reference/issue/get-issue-sequence-id", - "api-reference/issue/update-issue-detail", - "api-reference/issue/delete-issue" - ] - }, - { - "group": "Issue activity", - "pages": [ - "api-reference/issue-activity/overview", - "api-reference/issue-activity/list-issue-activities", - "api-reference/issue-activity/get-issue-activity-detail" - ] - }, - { - "group": "Issue comment", - "pages": [ - "api-reference/issue-comment/overview", - "api-reference/issue-comment/add-issue-comment", - "api-reference/issue-comment/list-issue-comments", - "api-reference/issue-comment/get-issue-comment-detail", - "api-reference/issue-comment/update-issue-comment-detail", - "api-reference/issue-comment/delete-issue-comment" - ] - }, - { - "group": "Issue types", - "pages": [ - "api-reference/issue-types/types/overview", - "api-reference/issue-types/types/add-issue-type", - "api-reference/issue-types/types/list-issue-types", - "api-reference/issue-types/types/get-issue-type-details", - "api-reference/issue-types/types/update-issue-types", - "api-reference/issue-types/types/delete-issue-type" - ] - }, - { - "group": "Issue properties", - "pages": [ - "api-reference/issue-types/properties/overview", - "api-reference/issue-types/properties/add-property", - "api-reference/issue-types/properties/list-properties", - "api-reference/issue-types/properties/get-property-details", - "api-reference/issue-types/properties/update-property", - "api-reference/issue-types/properties/delete-property" - ] - }, - { - "group": "Issue property options", - "pages": [ - "api-reference/issue-types/options/overview", - "api-reference/issue-types/options/add-dropdown-options", - "api-reference/issue-types/options/list-dropdown-options", - "api-reference/issue-types/options/get-option-details", - "api-reference/issue-types/options/update-dropdown-options", - "api-reference/issue-types/options/delete-dropdown-options" - ] - }, - { - "group": "Issue property values", - "pages": [ - "api-reference/issue-types/values/overview", - "api-reference/issue-types/values/add-property-values", - "api-reference/issue-types/values/list-property-values" - ] - }, - { - "group": "Issue attachments", - "pages": [ - "api-reference/issue-attachments/overview", - "api-reference/issue-attachments/get-attachments", - "api-reference/issue-attachments/get-upload-credentials", - "api-reference/issue-attachments/upload-file", - "api-reference/issue-attachments/complete-upload" - ] - }, - { - "group": "Module", - "pages": [ - "api-reference/module/overview", - "api-reference/module/add-module", - "api-reference/module/list-modules", - "api-reference/module/get-module-detail", - "api-reference/module/update-module-detail", - "api-reference/module/delete-module" - ] - }, - { - "group": "Module issue", - "pages": [ - "api-reference/module-issue/overview", - "api-reference/module-issue/add-module-issue", - "api-reference/module-issue/list-module-issues", - "api-reference/module-issue/delete-module-issue" - ] - }, - { - "group": "Cycle", - "pages": [ - "api-reference/cycle/overview", - "api-reference/cycle/add-cycle", - "api-reference/cycle/list-cycles", - "api-reference/cycle/get-cycle-detail", - "api-reference/cycle/update-cycle-detail", - "api-reference/cycle/delete-cycle" - ] - }, - { - "group": "Cycle issue", - "pages": [ - "api-reference/cycle-issue/overview", - "api-reference/cycle-issue/add-cycle-issue", - "api-reference/cycle-issue/list-cycle-issues", - "api-reference/cycle-issue/delete-cycle-issue" - ] - }, - { - "group": "Intake issue", - "pages": [ - "api-reference/intake-issue/overview", - "api-reference/intake-issue/add-intake-issue", - "api-reference/intake-issue/list-intake-issues", - "api-reference/intake-issue/get-intake-issue-detail", - "api-reference/intake-issue/update-intake-issue-detail", - "api-reference/intake-issue/delete-intake-issue" - ] - }, - { - "group": "Worklogs", - "pages": [ - "api-reference/worklogs/overview", - "api-reference/worklogs/get-worklogs-for-issue", - "api-reference/worklogs/get-total-time", - "api-reference/worklogs/create-worklog", - "api-reference/worklogs/update-worklog", - "api-reference/worklogs/delete-worklog" - ] - }, - { - "group": "Members", - "pages": [ - "api-reference/members/overview", - "api-reference/members/get-workspace-members", - "api-reference/members/get-project-members" - ] - } - ] - }, - { - "group": "Webhooks", - "pages": ["webhooks/intro-webhooks"] - } - ], - "footerSocials": { - "twitter": "https://twitter.com/planepowers", - "linkedin": "https://www.linkedin.com/company/planepowers/" - }, - "analytics": { - "ga4": { - "measurementId": "G-G578SD4VZD" - } - } -} diff --git a/plane-one/governance/authentication/custom-sso.mdx b/old/plane-one/governance/authentication/custom-sso.mdx similarity index 100% rename from plane-one/governance/authentication/custom-sso.mdx rename to old/plane-one/governance/authentication/custom-sso.mdx diff --git a/plane-one/governance/workspaces-and-teams.mdx b/old/plane-one/governance/workspaces-and-teams.mdx similarity index 100% rename from plane-one/governance/workspaces-and-teams.mdx rename to old/plane-one/governance/workspaces-and-teams.mdx diff --git a/plane-one/introduction.mdx b/old/plane-one/introduction.mdx similarity index 100% rename from plane-one/introduction.mdx rename to old/plane-one/introduction.mdx diff --git a/plane-one/manage/prime-cli.mdx b/old/plane-one/manage/prime-cli.mdx similarity index 94% rename from plane-one/manage/prime-cli.mdx rename to old/plane-one/manage/prime-cli.mdx index d8c5c89..a32b0d0 100644 --- a/plane-one/manage/prime-cli.mdx +++ b/old/plane-one/manage/prime-cli.mdx @@ -2,7 +2,7 @@ title: Manage your instance sidebarTitle: Instance --- -Update your CLI with the command `sudo prime-cli update-cli` before you download any Plane One updates. The latest version of the CLI ensures your Plane upgrades happen smoothly. +:::warningUpdate your CLI with the command `sudo prime-cli update-cli` before you download any Plane One updates. The latest version of the CLI ensures your Plane upgrades happen smoothly.::: The Prime CLI is our own command-line interface to help you install, upgrade, and manage your instance without being a pro at Docker. - diff --git a/plane-one/manage/prime-client.mdx b/old/plane-one/manage/prime-client.mdx similarity index 100% rename from plane-one/manage/prime-client.mdx rename to old/plane-one/manage/prime-client.mdx diff --git a/plane-one/self-host/guides.mdx b/old/plane-one/self-host/guides.mdx similarity index 100% rename from plane-one/self-host/guides.mdx rename to old/plane-one/self-host/guides.mdx diff --git a/plane-one/self-host/methods/docker.mdx b/old/plane-one/self-host/methods/docker.mdx similarity index 99% rename from plane-one/self-host/methods/docker.mdx rename to old/plane-one/self-host/methods/docker.mdx index 42c4a8e..656b310 100644 --- a/plane-one/self-host/methods/docker.mdx +++ b/old/plane-one/self-host/methods/docker.mdx @@ -13,11 +13,11 @@ If you don't have a license, [get it here](https://plane.so/one). For Amazon Linux 2 or Linux 2023, click here. ## Upgrading from Community Edition to One - +:::warning Do not install One first if you are upgrading from the Community Edition. Follow the instructions below first all the way to the end of the section `Restoring your data to your One instance`. We strongly recommend you install One on a fresh machine, not the one running Plane Community. - +::: ### Backing up your data `setup.sh` in the Community Edition now comes with an option to back up your data. diff --git a/plane-one/self-host/methods/kubernetes.mdx b/old/plane-one/self-host/methods/kubernetes.mdx similarity index 100% rename from plane-one/self-host/methods/kubernetes.mdx rename to old/plane-one/self-host/methods/kubernetes.mdx diff --git a/plane-one/self-host/overview.mdx b/old/plane-one/self-host/overview.mdx similarity index 100% rename from plane-one/self-host/overview.mdx rename to old/plane-one/self-host/overview.mdx diff --git a/package.json b/package.json new file mode 100644 index 0000000..4ff162e --- /dev/null +++ b/package.json @@ -0,0 +1,58 @@ +{ + "name": "dev-docs", + "version": "0.1.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "gen-api-docs": "pnpm docusaurus gen-api-docs all", + "clean-api-docs": "pnpm docusaurus clean-api-docs all", + "check:type": "tsc", + "check:format": "prettier --check .", + "format": "prettier --write ." + }, + "dependencies": { + "@docusaurus/core": "3.8.1", + "@docusaurus/plugin-content-docs": "3.8.1", + "@docusaurus/preset-classic": "3.8.1", + "@easyops-cn/docusaurus-search-local": "^0.52.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "docusaurus-plugin-openapi-docs": "^4.5.1", + "docusaurus-theme-openapi-docs": "^4.5.1", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-icons": "^5.5.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.8.1", + "@docusaurus/tsconfig": "3.8.1", + "@docusaurus/types": "3.8.1", + "prettier": "^3.6.2", + "typescript": "~5.6.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "packageManager": "pnpm@10.14.0", + "engines": { + "node": ">=18.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..f2f4004 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,13560 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@docusaurus/core': + specifier: 3.8.1 + version: 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': + specifier: 3.8.1 + version: 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/preset-classic': + specifier: 3.8.1 + version: 3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3) + '@easyops-cn/docusaurus-search-local': + specifier: ^0.52.1 + version: 0.52.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@mdx-js/react': + specifier: ^3.0.0 + version: 3.1.0(@types/react@19.1.8)(react@19.1.0) + clsx: + specifier: ^2.0.0 + version: 2.1.1 + docusaurus-plugin-openapi-docs: + specifier: ^4.5.1 + version: 4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + docusaurus-theme-openapi-docs: + specifier: ^4.5.1 + version: 4.5.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(docusaurus-plugin-openapi-docs@4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0))(docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(webpack@5.100.2) + prism-react-renderer: + specifier: ^2.3.0 + version: 2.4.1(react@19.1.0) + react: + specifier: ^19.0.0 + version: 19.1.0 + react-dom: + specifier: ^19.0.0 + version: 19.1.0(react@19.1.0) + react-icons: + specifier: ^5.5.0 + version: 5.5.0(react@19.1.0) + devDependencies: + '@docusaurus/module-type-aliases': + specifier: 3.8.1 + version: 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/tsconfig': + specifier: 3.8.1 + version: 3.8.1 + '@docusaurus/types': + specifier: 3.8.1 + version: 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + prettier: + specifier: ^3.6.2 + version: 3.6.2 + typescript: + specifier: ~5.6.2 + version: 5.6.3 + +packages: + + '@algolia/autocomplete-core@1.17.9': + resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} + + '@algolia/autocomplete-plugin-algolia-insights@1.17.9': + resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.17.9': + resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.17.9': + resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.34.0': + resolution: {integrity: sha512-d6ardhDtQsnMpyr/rPrS3YuIE9NYpY4rftkC7Ap9tyuhZ/+V3E/LH+9uEewPguKzVqduApdwJzYq2k+vAXVEbQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.34.0': + resolution: {integrity: sha512-WXIByjHNA106JO1Dj6b4viSX/yMN3oIB4qXr2MmyEmNq0MgfuPfPw8ayLRIZPa9Dp27hvM3G8MWJ4RG978HYFw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.34.0': + resolution: {integrity: sha512-JeN1XJLZIkkv6yK0KT93CIXXk+cDPUGNg5xeH4fN9ZykYFDWYRyqgaDo+qvg4RXC3WWkdQ+hogQuuCk4Y3Eotw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.34.0': + resolution: {integrity: sha512-gdFlcQa+TWXJUsihHDlreFWniKPFIQ15i5oynCY4m9K3DCex5g5cVj9VG4Hsquxf2t6Y0yv8w6MvVTGDO8oRLw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.34.0': + resolution: {integrity: sha512-g91NHhIZDkh1IUeNtsUd8V/ZxuBc2ByOfDqhCkoQY3Z/mZszhpn3Czn6AR5pE81fx793vMaiOZvQVB5QttArkQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.34.0': + resolution: {integrity: sha512-cvRApDfFrlJ3Vcn37U4Nd/7S6T8cx7FW3mVLJPqkkzixv8DQ/yV+x4VLirxOtGDdq3KohcIbIGWbg1QuyOZRvQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.34.0': + resolution: {integrity: sha512-m9tK4IqJmn+flEPRtuxuHgiHmrKV0su5fuVwVpq8/es4DMjWMgX1a7Lg1PktvO8AbKaTp9kTtBAPnwXpuCwmEg==} + engines: {node: '>= 14.0.0'} + + '@algolia/events@4.0.1': + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + + '@algolia/ingestion@1.34.0': + resolution: {integrity: sha512-2rxy4XoeRtIpzxEh5u5UgDC5HY4XbNdjzNgFx1eDrfFkSHpEVjirtLhISMy2N5uSFqYu1uUby5/NC1Soq8J7iw==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.34.0': + resolution: {integrity: sha512-OJiDhlJX8ZdWAndc50Z6aUEW/YmnhFK2ul3rahMw5/c9Damh7+oY9SufoK2LimJejy+65Qka06YPG29v2G/vww==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.34.0': + resolution: {integrity: sha512-fzNQZAdVxu/Gnbavy8KW5gurApwdYcPW6+pjO7Pw8V5drCR3eSqnOxSvp79rhscDX8ezwqMqqK4F3Hsq+KpRzg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.34.0': + resolution: {integrity: sha512-gEI0xjzA/xvMpEdYmgQnf6AQKllhgKRtnEWmwDrnct+YPIruEHlx1dd7nRJTy/33MiYcCxkB4khXpNrHuqgp3Q==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.34.0': + resolution: {integrity: sha512-5SwGOttpbACT4jXzfSJ3mnTcF46SVNSnZ1JjxC3qBa3qKi4U0CJGzuVVy3L798u8dG5H0SZ2MAB5v7180Gnqew==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.34.0': + resolution: {integrity: sha512-409XlyIyEXrxyGjWxd0q5RASizHSRVUU0AXPCEdqnbcGEzbCgL1n7oYI8YxzE/RqZLha+PNwWCcTVn7EE5tyyQ==} + engines: {node: '>= 14.0.0'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@apidevtools/json-schema-ref-parser@11.9.3': + resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==} + engines: {node: '>= 16'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.0': + resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.0': + resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.0': + resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.27.1': + resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.27.1': + resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.5': + resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.27.1': + resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.27.3': + resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.27.1': + resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.27.1': + resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.27.6': + resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.0': + resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': + resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': + resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': + resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': + resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1': + resolution: {integrity: sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.27.1': + resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.27.1': + resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.28.0': + resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.27.1': + resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.27.1': + resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.28.0': + resolution: {integrity: sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.27.1': + resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.27.1': + resolution: {integrity: sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.28.0': + resolution: {integrity: sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.27.1': + resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.28.0': + resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.27.1': + resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.27.1': + resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.27.1': + resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.28.0': + resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.27.1': + resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.27.1': + resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.27.1': + resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.27.1': + resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.27.1': + resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.27.1': + resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.27.1': + resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.27.1': + resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.27.1': + resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.27.1': + resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.27.1': + resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.27.1': + resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.27.1': + resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': + resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.27.1': + resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.28.0': + resolution: {integrity: sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.27.1': + resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.27.1': + resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.27.1': + resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.27.7': + resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.27.1': + resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.27.1': + resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.27.1': + resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.27.1': + resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.28.0': + resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.27.1': + resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.27.1': + resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.27.1': + resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.28.1': + resolution: {integrity: sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.27.1': + resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.27.1': + resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.28.0': + resolution: {integrity: sha512-dGopk9nZrtCs2+nfIem25UuHyt5moSJamArzIoh9/vezUQPmYDOzjaHDCkAzuGJibCIkPup8rMT2+wYB6S73cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.27.1': + resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.27.1': + resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.27.1': + resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.27.1': + resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.27.1': + resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.28.0': + resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.27.1': + resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.27.1': + resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.27.1': + resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1': + resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.28.0': + resolution: {integrity: sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.27.1': + resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.27.1': + resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime-corejs3@7.28.0': + resolution: {integrity: sha512-nlIXnSqLcBij8K8TtkxbBJgfzfvi75V1pAKSM7dUXejGw12vJAqez74jZrHTsJ3Z+Aczc5Q/6JgNjKRMsVU44g==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.27.6': + resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.0': + resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.1': + resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==} + engines: {node: '>=6.9.0'} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@csstools/cascade-layer-name-parser@2.0.5': + resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/color-helpers@5.0.2': + resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.0.10': + resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.3': + resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/postcss-cascade-layers@5.0.2': + resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-function@4.0.10': + resolution: {integrity: sha512-4dY0NBu7NVIpzxZRgh/Q/0GPSz/jLSw0i/u3LTUor0BkQcz/fNhN10mSWBDsL0p9nDb0Ky1PD6/dcGbhACuFTQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-function@3.0.10': + resolution: {integrity: sha512-P0lIbQW9I4ShE7uBgZRib/lMTf9XMjJkFl/d6w4EMNHu2qvQ6zljJGEcBkw/NsBtq/6q3WrmgxSS8kHtPMkK4Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.0': + resolution: {integrity: sha512-Z5WhouTyD74dPFPrVE7KydgNS9VvnjB8qcdes9ARpCOItb4jTnm7cHp4FhxCRUoyhabD0WVv43wbkJ4p8hLAlQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-content-alt-text@2.0.6': + resolution: {integrity: sha512-eRjLbOjblXq+byyaedQRSrAejKGNAFued+LcbzT+LCL78fabxHkxYjBbxkroONxHHYu2qxhFK2dBStTLPG3jpQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-exponential-functions@2.0.9': + resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-font-format-keywords@4.0.0': + resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gamut-mapping@2.0.10': + resolution: {integrity: sha512-QDGqhJlvFnDlaPAfCYPsnwVA6ze+8hhrwevYWlnUeSjkkZfBpcCO42SaUD8jiLlq7niouyLgvup5lh+f1qessg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gradients-interpolation-method@5.0.10': + resolution: {integrity: sha512-HHPauB2k7Oits02tKFUeVFEU2ox/H3OQVrP3fSOKDxvloOikSal+3dzlyTZmYsb9FlY9p5EUpBtz0//XBmy+aw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-hwb-function@4.0.10': + resolution: {integrity: sha512-nOKKfp14SWcdEQ++S9/4TgRKchooLZL0TUFdun3nI4KPwCjETmhjta1QT4ICQcGVWQTvrsgMM/aLB5We+kMHhQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-ic-unit@4.0.2': + resolution: {integrity: sha512-lrK2jjyZwh7DbxaNnIUjkeDmU8Y6KyzRBk91ZkI5h8nb1ykEfZrtIVArdIjX4DHMIBGpdHrgP0n4qXDr7OHaKA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-initial@2.0.1': + resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-is-pseudo-class@5.0.3': + resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-light-dark-function@2.0.9': + resolution: {integrity: sha512-1tCZH5bla0EAkFAI2r0H33CDnIBeLUaJh1p+hvvsylJ4svsv2wOmJjJn+OXwUZLXef37GYbRIVKX+X+g6m+3CQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-float-and-clear@3.0.0': + resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overflow@2.0.0': + resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0': + resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-resize@3.0.0': + resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-viewport-units@3.0.4': + resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-minmax@2.0.9': + resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': + resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-nested-calc@4.0.0': + resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-normalize-display-values@4.0.0': + resolution: {integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-oklab-function@4.0.10': + resolution: {integrity: sha512-ZzZUTDd0fgNdhv8UUjGCtObPD8LYxMH+MJsW9xlZaWTV8Ppr4PtxlHYNMmF4vVWGl0T6f8tyWAKjoI6vePSgAg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-progressive-custom-properties@4.1.0': + resolution: {integrity: sha512-YrkI9dx8U4R8Sz2EJaoeD9fI7s7kmeEBfmO+UURNeL6lQI7VxF6sBE+rSqdCBn4onwqmxFdBU3lTwyYb/lCmxA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-random-function@2.0.1': + resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-relative-color-syntax@3.0.10': + resolution: {integrity: sha512-8+0kQbQGg9yYG8hv0dtEpOMLwB9M+P7PhacgIzVzJpixxV4Eq9AUQtQw8adMmAJU1RBBmIlpmtmm3XTRd/T00g==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-scope-pseudo-class@4.0.1': + resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-sign-functions@1.1.4': + resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-stepped-value-functions@4.0.9': + resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-text-decoration-shorthand@4.0.2': + resolution: {integrity: sha512-8XvCRrFNseBSAGxeaVTaNijAu+FzUvjwFXtcrynmazGb/9WUdsPCpBX+mHEHShVRq47Gy4peYAoxYs8ltUnmzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-trigonometric-functions@4.0.9': + resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-unset-value@4.0.0': + resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/selector-resolve-nested@3.1.0': + resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/utilities@2.0.0': + resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/css@3.9.0': + resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} + + '@docsearch/react@3.9.0': + resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@docusaurus/babel@3.8.1': + resolution: {integrity: sha512-3brkJrml8vUbn9aeoZUlJfsI/GqyFcDgQJwQkmBtclJgWDEQBKKeagZfOgx0WfUQhagL1sQLNW0iBdxnI863Uw==} + engines: {node: '>=18.0'} + + '@docusaurus/bundler@3.8.1': + resolution: {integrity: sha512-/z4V0FRoQ0GuSLToNjOSGsk6m2lQUG4FRn8goOVoZSRsTrU8YR2aJacX5K3RG18EaX9b+52pN4m1sL3MQZVsQA==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/faster': '*' + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + + '@docusaurus/core@3.8.1': + resolution: {integrity: sha512-ENB01IyQSqI2FLtOzqSI3qxG2B/jP4gQPahl2C3XReiLebcVh5B5cB9KYFvdoOqOWPyr5gXK4sjgTKv7peXCrA==} + engines: {node: '>=18.0'} + hasBin: true + peerDependencies: + '@mdx-js/react': ^3.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/cssnano-preset@3.8.1': + resolution: {integrity: sha512-G7WyR2N6SpyUotqhGznERBK+x84uyhfMQM2MmDLs88bw4Flom6TY46HzkRkSEzaP9j80MbTN8naiL1fR17WQug==} + engines: {node: '>=18.0'} + + '@docusaurus/logger@3.8.1': + resolution: {integrity: sha512-2wjeGDhKcExEmjX8k1N/MRDiPKXGF2Pg+df/bDDPnnJWHXnVEZxXj80d6jcxp1Gpnksl0hF8t/ZQw9elqj2+ww==} + engines: {node: '>=18.0'} + + '@docusaurus/mdx-loader@3.8.1': + resolution: {integrity: sha512-DZRhagSFRcEq1cUtBMo4TKxSNo/W6/s44yhr8X+eoXqCLycFQUylebOMPseHi5tc4fkGJqwqpWJLz6JStU9L4w==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/module-type-aliases@3.8.1': + resolution: {integrity: sha512-6xhvAJiXzsaq3JdosS7wbRt/PwEPWHr9eM4YNYqVlbgG1hSK3uQDXTVvQktasp3VO6BmfYWPozueLWuj4gB+vg==} + peerDependencies: + react: '*' + react-dom: '*' + + '@docusaurus/plugin-content-blog@3.8.1': + resolution: {integrity: sha512-vNTpMmlvNP9n3hGEcgPaXyvTljanAKIUkuG9URQ1DeuDup0OR7Ltvoc8yrmH+iMZJbcQGhUJF+WjHLwuk8HSdw==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-docs@3.8.1': + resolution: {integrity: sha512-oByRkSZzeGNQByCMaX+kif5Nl2vmtj2IHQI2fWjCfCootsdKZDPFLonhIp5s3IGJO7PLUfe0POyw0Xh/RrGXJA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-pages@3.8.1': + resolution: {integrity: sha512-a+V6MS2cIu37E/m7nDJn3dcxpvXb6TvgdNI22vJX8iUTp8eoMoPa0VArEbWvCxMY/xdC26WzNv4wZ6y0iIni/w==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-css-cascade-layers@3.8.1': + resolution: {integrity: sha512-VQ47xRxfNKjHS5ItzaVXpxeTm7/wJLFMOPo1BkmoMG4Cuz4nuI+Hs62+RMk1OqVog68Swz66xVPK8g9XTrBKRw==} + engines: {node: '>=18.0'} + + '@docusaurus/plugin-debug@3.8.1': + resolution: {integrity: sha512-nT3lN7TV5bi5hKMB7FK8gCffFTBSsBsAfV84/v293qAmnHOyg1nr9okEw8AiwcO3bl9vije5nsUvP0aRl2lpaw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-analytics@3.8.1': + resolution: {integrity: sha512-Hrb/PurOJsmwHAsfMDH6oVpahkEGsx7F8CWMjyP/dw1qjqmdS9rcV1nYCGlM8nOtD3Wk/eaThzUB5TSZsGz+7Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-gtag@3.8.1': + resolution: {integrity: sha512-tKE8j1cEZCh8KZa4aa80zpSTxsC2/ZYqjx6AAfd8uA8VHZVw79+7OTEP2PoWi0uL5/1Is0LF5Vwxd+1fz5HlKg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-tag-manager@3.8.1': + resolution: {integrity: sha512-iqe3XKITBquZq+6UAXdb1vI0fPY5iIOitVjPQ581R1ZKpHr0qe+V6gVOrrcOHixPDD/BUKdYwkxFjpNiEN+vBw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-sitemap@3.8.1': + resolution: {integrity: sha512-+9YV/7VLbGTq8qNkjiugIelmfUEVkTyLe6X8bWq7K5qPvGXAjno27QAfFq63mYfFFbJc7z+pudL63acprbqGzw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-svgr@3.8.1': + resolution: {integrity: sha512-rW0LWMDsdlsgowVwqiMb/7tANDodpy1wWPwCcamvhY7OECReN3feoFwLjd/U4tKjNY3encj0AJSTxJA+Fpe+Gw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/preset-classic@3.8.1': + resolution: {integrity: sha512-yJSjYNHXD8POMGc2mKQuj3ApPrN+eG0rO1UPgSx7jySpYU+n4WjBikbrA2ue5ad9A7aouEtMWUoiSRXTH/g7KQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + peerDependencies: + react: '*' + + '@docusaurus/theme-classic@3.8.1': + resolution: {integrity: sha512-bqDUCNqXeYypMCsE1VcTXSI1QuO4KXfx8Cvl6rYfY0bhhqN6d2WZlRkyLg/p6pm+DzvanqHOyYlqdPyP0iz+iw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-common@3.8.1': + resolution: {integrity: sha512-UswMOyTnPEVRvN5Qzbo+l8k4xrd5fTFu2VPPfD6FcW/6qUtVLmJTQCktbAL3KJ0BVXGm5aJXz/ZrzqFuZERGPw==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-search-algolia@3.8.1': + resolution: {integrity: sha512-NBFH5rZVQRAQM087aYSRKQ9yGEK9eHd+xOxQjqNpxMiV85OhJDD4ZGz6YJIod26Fbooy54UWVdzNU0TFeUUUzQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-translations@3.8.1': + resolution: {integrity: sha512-OTp6eebuMcf2rJt4bqnvuwmm3NVXfzfYejL+u/Y1qwKhZPrjPoKWfk1CbOP5xH5ZOPkiAsx4dHdQBRJszK3z2g==} + engines: {node: '>=18.0'} + + '@docusaurus/tsconfig@3.8.1': + resolution: {integrity: sha512-XBWCcqhRHhkhfolnSolNL+N7gj3HVE3CoZVqnVjfsMzCoOsuQw2iCLxVVHtO+rePUUfouVZHURDgmqIySsF66A==} + + '@docusaurus/types@3.8.1': + resolution: {integrity: sha512-ZPdW5AB+pBjiVrcLuw3dOS6BFlrG0XkS2lDGsj8TizcnREQg3J8cjsgfDviszOk4CweNfwo1AEELJkYaMUuOPg==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/utils-common@3.8.1': + resolution: {integrity: sha512-zTZiDlvpvoJIrQEEd71c154DkcriBecm4z94OzEE9kz7ikS3J+iSlABhFXM45mZ0eN5pVqqr7cs60+ZlYLewtg==} + engines: {node: '>=18.0'} + + '@docusaurus/utils-validation@3.8.1': + resolution: {integrity: sha512-gs5bXIccxzEbyVecvxg6upTwaUbfa0KMmTj7HhHzc016AGyxH2o73k1/aOD0IFrdCsfJNt37MqNI47s2MgRZMA==} + engines: {node: '>=18.0'} + + '@docusaurus/utils@3.8.1': + resolution: {integrity: sha512-P1ml0nvOmEFdmu0smSXOqTS1sxU5tqvnc0dA4MTKV39kye+bhQnjkIKEE18fNOvxjyB86k8esoCIFM3x4RykOQ==} + engines: {node: '>=18.0'} + + '@easyops-cn/autocomplete.js@0.38.1': + resolution: {integrity: sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==} + + '@easyops-cn/docusaurus-search-local@0.52.1': + resolution: {integrity: sha512-pwfANjTLOQyAPc2Iz93WbG4OQM5C4COCWARbLAs79FIpIS38gHq3PrbDIX8f7oDhGQp1u6f8fr3K3u3+yZXZTA==} + engines: {node: '>=12'} + peerDependencies: + '@docusaurus/theme-common': ^2 || ^3 + react: ^16.14.0 || ^17 || ^18 || ^19 + react-dom: ^16.14.0 || 17 || ^18 || ^19 + + '@emnapi/core@1.4.5': + resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + + '@emnapi/runtime@1.4.5': + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + + '@emnapi/wasi-threads@1.0.4': + resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + + '@exodus/schemasafe@1.3.0': + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + + '@faker-js/faker@5.5.3': + resolution: {integrity: sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==} + deprecated: Please update to a newer version. + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@hookform/error-message@2.0.1': + resolution: {integrity: sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + react-hook-form: ^7.0.0 + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.12': + resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.10': + resolution: {integrity: sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==} + + '@jridgewell/sourcemap-codec@1.5.4': + resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + + '@jridgewell/trace-mapping@0.3.29': + resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@mdx-js/mdx@3.1.0': + resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + + '@node-rs/jieba-android-arm-eabi@1.10.4': + resolution: {integrity: sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@node-rs/jieba-android-arm64@1.10.4': + resolution: {integrity: sha512-XyDwq5+rQ+Tk55A+FGi6PtJbzf974oqnpyCcCPzwU3QVXJCa2Rr4Lci+fx8oOpU4plT3GuD+chXMYLsXipMgJA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@node-rs/jieba-darwin-arm64@1.10.4': + resolution: {integrity: sha512-G++RYEJ2jo0rxF9626KUy90wp06TRUjAsvY/BrIzEOX/ingQYV/HjwQzNPRR1P1o32a6/U8RGo7zEBhfdybL6w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@node-rs/jieba-darwin-x64@1.10.4': + resolution: {integrity: sha512-MmDNeOb2TXIZCPyWCi2upQnZpPjAxw5ZGEj6R8kNsPXVFALHIKMa6ZZ15LCOkSTsKXVC17j2t4h+hSuyYb6qfQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/jieba-freebsd-x64@1.10.4': + resolution: {integrity: sha512-/x7aVQ8nqUWhpXU92RZqd333cq639i/olNpd9Z5hdlyyV5/B65LLy+Je2B2bfs62PVVm5QXRpeBcZqaHelp/bg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': + resolution: {integrity: sha512-crd2M35oJBRLkoESs0O6QO3BBbhpv+tqXuKsqhIG94B1d02RVxtRIvSDwO33QurxqSdvN9IeSnVpHbDGkuXm3g==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@node-rs/jieba-linux-arm64-gnu@1.10.4': + resolution: {integrity: sha512-omIzNX1psUzPcsdnUhGU6oHeOaTCuCjUgOA/v/DGkvWC1jLcnfXe4vdYbtXMh4XOCuIgS1UCcvZEc8vQLXFbXQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-arm64-musl@1.10.4': + resolution: {integrity: sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-x64-gnu@1.10.4': + resolution: {integrity: sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-linux-x64-musl@1.10.4': + resolution: {integrity: sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-wasm32-wasi@1.10.4': + resolution: {integrity: sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@node-rs/jieba-win32-arm64-msvc@1.10.4': + resolution: {integrity: sha512-nwMtViFm4hjqhz1it/juQnxpXgqlGltCuWJ02bw70YUDMDlbyTy3grCJPpQQpueeETcALUnTxda8pZuVrLRcBA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@node-rs/jieba-win32-ia32-msvc@1.10.4': + resolution: {integrity: sha512-DCAvLx7Z+W4z5oKS+7vUowAJr0uw9JBw8x1Y23Xs/xMA4Em+OOSiaF5/tCJqZUCJ8uC4QeImmgDFiBqGNwxlyA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@node-rs/jieba-win32-x64-msvc@1.10.4': + resolution: {integrity: sha512-+sqemSfS1jjb+Tt7InNbNzrRh1Ua3vProVvC4BZRPg010/leCbGFFiQHpzcPRfpxAXZrzG5Y0YBTsPzN/I4yHQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/jieba@1.10.4': + resolution: {integrity: sha512-GvDgi8MnBiyWd6tksojej8anIx18244NmIOc1ovEw8WKNUejcccLfyu8vj66LWSuoZuKILVtNsOy4jvg3aoxIw==} + engines: {node: '>= 10'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@redocly/ajv@8.11.2': + resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} + + '@redocly/config@0.22.2': + resolution: {integrity: sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==} + + '@redocly/openapi-core@1.34.5': + resolution: {integrity: sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==} + engines: {node: '>=18.17.0', npm: '>=9.5.0'} + + '@reduxjs/toolkit@1.9.7': + resolution: {integrity: sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 + react-redux: ^7.2.1 || ^8.0.2 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slorber/react-helmet-async@1.3.0': + resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@tybys/wasm-util@0.10.0': + resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express-serve-static-core@5.0.7': + resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} + + '@types/express@4.17.23': + resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} + + '@types/gtag.js@0.0.12': + resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + + '@types/hast@2.3.10': + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/hoist-non-react-statics@3.3.7': + resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} + peerDependencies: + '@types/react': '*' + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/http-proxy@1.17.16': + resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node-forge@1.3.13': + resolution: {integrity: sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@24.1.0': + resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + + '@types/parse5@6.0.3': + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + + '@types/prismjs@1.26.5': + resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-redux@7.1.34': + resolution: {integrity: sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==} + + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + + '@types/react-router-dom@5.3.3': + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react@19.1.8': + resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/send@0.17.5': + resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.8': + resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + algoliasearch-helper@3.26.0: + resolution: {integrity: sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + + algoliasearch@5.34.0: + resolution: {integrity: sha512-wioVnf/8uuG8Bmywhk5qKIQ3wzCCtmdvicPRb0fa3kKYGGoewfgDqLEaET1MV2NbTc3WGpPv+AgauLVBp1nB9A==} + engines: {node: '>= 14.0.0'} + + allof-merge@0.6.6: + resolution: {integrity: sha512-116eZBf2he0/J4Tl7EYMz96I5Anaeio+VL0j/H2yxW9CoYQAMMv8gYcwkVRoO7XfIOv/qzSTfVzDVGAYxKFi3g==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + async@3.2.2: + resolution: {integrity: sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==} + + async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-polyfill-corejs2@0.4.14: + resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.5: + resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.3.0: + resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.25.1: + resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001727: + resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + charset@1.0.1: + resolution: {integrity: sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==} + engines: {node: '>=4.0.0'} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + cheerio@1.1.2: + resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} + engines: {node: '>=20.18.1'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + + comlink@4.4.2: + resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + compute-gcd@1.2.1: + resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==} + + compute-lcm@1.1.2: + resolution: {integrity: sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + copy-text-to-clipboard@3.2.0: + resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} + engines: {node: '>=12'} + + copy-webpack-plugin@11.0.0: + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.44.0: + resolution: {integrity: sha512-JepmAj2zfl6ogy34qfWtcE7nHKAJnKsQFRn++scjVS2bZFllwptzw61BZcZFYBPpUznLfAvh0LGhxKppk04ClA==} + + core-js-pure@3.44.0: + resolution: {integrity: sha512-gvMQAGB4dfVUxpYD0k3Fq8J+n5bB6Ytl15lqlZrOIXFzxOhtPaObfkQGHtMRdyjIf7z2IeNULwi1jEwyS+ltKQ==} + + core-js@3.44.0: + resolution: {integrity: sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + css-blank-pseudo@7.0.1: + resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-has-pseudo@7.0.2: + resolution: {integrity: sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + + css-prefers-color-scheme@10.0.0: + resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssdb@8.3.1: + resolution: {integrity: sha512-XnDRQMXucLueX92yDe0LPKupXetWoFOgawr4O4X41l5TltgK2NVbJJVDnnOywDYfW1sTJ28AcXGKOqdRKwCcmQ==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-package-manager@3.0.2: + resolution: {integrity: sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==} + engines: {node: '>=12'} + + detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + docusaurus-plugin-openapi-docs@4.5.1: + resolution: {integrity: sha512-3I6Sjz19D/eM86a24/nVkYfqNkl/zuXSP04XVo7qm/vlPeCpHVM4li2DLj7PzElr6dlS9RbaS4HVIQhEOPGBRQ==} + engines: {node: '>=14'} + peerDependencies: + '@docusaurus/plugin-content-docs': ^3.5.0 + '@docusaurus/utils': ^3.5.0 + '@docusaurus/utils-validation': ^3.5.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + docusaurus-plugin-sass@0.2.6: + resolution: {integrity: sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==} + peerDependencies: + '@docusaurus/core': ^2.0.0-beta || ^3.0.0-alpha + sass: ^1.30.0 + + docusaurus-theme-openapi-docs@4.5.1: + resolution: {integrity: sha512-C7mYh9JC3l9jjRtqJVu0EIyOgxHB08jE0Tp5NSkNkrrBak4A13SrXCisNjvt1eaNjS+tsz7qD0bT3aI5hsRvWA==} + engines: {node: '>=14'} + peerDependencies: + '@docusaurus/theme-common': ^3.5.0 + docusaurus-plugin-openapi-docs: ^4.0.0 + docusaurus-plugin-sass: ^0.2.3 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.189: + resolution: {integrity: sha512-y9D1ntS1ruO/pZ/V2FtLE+JXLQe28XoRpZ7QCCo0T8LdQladzdcOVQZH/IWLVJvCw12OGMb6hYOeOAjntCmJRQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + encoding-sniffer@0.2.1: + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + + enhanced-resolve@5.18.2: + resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.4.0: + resolution: {integrity: sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exenv@1.2.2: + resolution: {integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==} + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + file-saver@2.0.5: + resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} + + file-type@3.9.0: + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreach@2.0.6: + resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@7.1.2: + resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-parse-selector@3.1.1: + resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@7.2.3: + resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@7.1.0: + resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.3: + resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@10.0.0: + resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + + http-proxy-middleware@2.0.9: + resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http-reasons@0.1.0: + resolution: {integrity: sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==} + + http2-client@1.3.5: + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + + immediate@3.3.0: + resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infima@0.2.0-alpha.45: + resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + + js-levenshtein@1.1.6: + resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} + engines: {node: '>=0.10.0'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-crawl@0.5.3: + resolution: {integrity: sha512-BEjjCw8c7SxzNK4orhlWD5cXQh8vCk2LqDr4WgQq4CV+5dvopeYwt1Tskg67SuSLKvoFH5g0yuYtg7rcfKV6YA==} + engines: {node: '>=14.0.0'} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-pointer@0.6.2: + resolution: {integrity: sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==} + + json-schema-compare@0.2.2: + resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==} + + json-schema-merge-allof@0.8.1: + resolution: {integrity: sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==} + engines: {node: '>=12.0.0'} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klaw-sync@6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + + launch-editor@2.10.0: + resolution: {integrity: sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + liquid-json@0.3.1: + resolution: {integrity: sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==} + engines: {node: '>=4'} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lunr-languages@1.14.0: + resolution: {integrity: sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@2.0.0: + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-definitions@5.1.2: + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + + mdast-util-directive@3.1.0: + resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} + + mdast-util-find-and-replace@2.2.2: + resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@1.0.3: + resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@1.0.2: + resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@1.0.3: + resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@1.0.7: + resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@1.0.2: + resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@2.0.2: + resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@3.0.1: + resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@12.3.0: + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-directive@3.0.2: + resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@1.0.5: + resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@1.1.2: + resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@1.0.7: + resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@1.0.7: + resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@1.0.2: + resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@1.0.5: + resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@2.0.3: + resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-format@2.0.1: + resolution: {integrity: sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg==} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + mini-css-extract-plugin@2.9.2: + resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + neotraverse@0.6.15: + resolution: {integrity: sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA==} + engines: {node: '>= 10'} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + + node-fetch-h2@2.3.0: + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-readfiles@0.2.0: + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.2: + resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + null-loader@4.0.1: + resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + oas-kit-common@1.0.8: + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + + oas-linter@3.2.2: + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + + oas-resolver-browser@2.5.6: + resolution: {integrity: sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==} + hasBin: true + + oas-resolver@2.5.6: + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + hasBin: true + + oas-schema-walker@1.1.5: + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + + oas-validator@5.0.8: + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + openapi-to-postmanv2@4.25.0: + resolution: {integrity: sha512-sIymbkQby0gzxt2Yez8YKB6hoISEel05XwGwNrAhr6+vxJWXNxkmssQc/8UEtVkuJ9ZfUXLkip9PYACIpfPDWg==} + engines: {node: '>=8'} + hasBin: true + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + postcss-attribute-case-insensitive@7.0.1: + resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-clamp@4.1.0: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + + postcss-color-functional-notation@7.0.10: + resolution: {integrity: sha512-k9qX+aXHBiLTRrWoCJuUFI6F1iF6QJQUXNVWJVSbqZgj57jDhBlOvD8gNUGl35tgqDivbGLhZeW3Ongz4feuKA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-hex-alpha@10.0.0: + resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-rebeccapurple@10.0.0: + resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-custom-media@11.0.6: + resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-properties@14.0.6: + resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-selectors@8.0.5: + resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-dir-pseudo-class@9.0.1: + resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-double-position-gradients@6.0.2: + resolution: {integrity: sha512-7qTqnL7nfLRyJK/AHSVrrXOuvDDzettC+wGoienURV8v2svNbu6zJC52ruZtHaO6mfcagFmuTGFdzRsJKB3k5Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-visible@10.0.1: + resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-within@9.0.1: + resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-font-variant@5.0.0: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + + postcss-gap-properties@6.0.0: + resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-image-set-function@7.0.0: + resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-lab-function@7.0.10: + resolution: {integrity: sha512-tqs6TCEv9tC1Riq6fOzHuHcZyhg4k3gIAMB8GGY/zA1ssGdm6puHMVE7t75aOSoFg7UD2wyrFFhbldiCMyyFTQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-logical@8.1.0: + resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nesting@13.0.2: + resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-opacity-percentage@3.0.0: + resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-overflow-shorthand@6.0.0: + resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-page-break@3.0.4: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + + postcss-place@10.0.0: + resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-preset-env@10.2.4: + resolution: {integrity: sha512-q+lXgqmTMdB0Ty+EQ31SuodhdfZetUlwCA/F0zRcd/XdxjzI+Rl2JhZNz5US2n/7t9ePsvuhCnEN4Bmu86zXlA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-pseudo-class-any-link@10.0.1: + resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-replace-overflow-wrap@4.0.0: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + + postcss-selector-not@8.0.1: + resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.4.23 + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + postman-code-generators@1.14.2: + resolution: {integrity: sha512-qZAyyowfQAFE4MSCu2KtMGGQE/+oG1JhMZMJNMdZHYCSfQiVVeKxgk3oI4+KJ3d1y5rrm2D6C6x+Z+7iyqm+fA==} + engines: {node: '>=12'} + + postman-collection@4.5.0: + resolution: {integrity: sha512-152JSW9pdbaoJihwjc7Q8lc3nPg/PC9lPTHdMk7SHnHhu/GBJB7b2yb9zG7Qua578+3PxkQ/HYBuXpDSvsf7GQ==} + engines: {node: '>=10'} + + postman-url-encoder@3.0.5: + resolution: {integrity: sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==} + engines: {node: '>=10'} + + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + prism-react-renderer@2.4.1: + resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} + peerDependencies: + react: '>=16.0.0' + + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-dom@19.1.0: + resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + peerDependencies: + react: ^19.1.0 + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-hook-form@7.61.1: + resolution: {integrity: sha512-2vbXUFDYgqEgM2RcXcAT2PwDW/80QARi+PKmHy5q2KhuKvOlG8iIYgf7eIlIANR5trW9fJbP4r5aub3a4egsew==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 + + react-icons@5.5.0: + resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==} + peerDependencies: + react: '*' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-json-view-lite@2.4.1: + resolution: {integrity: sha512-fwFYknRIBxjbFm0kBDrzgBy1xa5tDg2LyXXBepC5f1b+MY3BUClMCsvanMPn089JbV1Eg3nZcrp0VCuH43aXnA==} + engines: {node: '>=18'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + + react-lifecycles-compat@3.0.4: + resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + + react-live@4.1.8: + resolution: {integrity: sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==} + engines: {node: '>= 0.12.0', npm: '>= 2.0.0'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + react-loadable-ssr-addon-v5-slorber@1.0.1: + resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + + react-magic-dropzone@1.0.1: + resolution: {integrity: sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==} + + react-markdown@8.0.7: + resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + react-modal@3.16.3: + resolution: {integrity: sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==} + peerDependencies: + react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 + react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 + + react-redux@7.2.9: + resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} + peerDependencies: + react: ^16.8.3 || ^17 || ^18 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + react-router-config@5.1.1: + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react@19.1.0: + resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + engines: {node: '>=0.10.0'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.0: + resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + redux-thunk@2.4.2: + resolution: {integrity: sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==} + peerDependencies: + redux: ^4 + + redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + + reftools@1.1.9: + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + + registry-auth-token@5.1.0: + resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + rehype-raw@6.1.1: + resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@3.0.1: + resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + + remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + reselect@4.1.8: + resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rtlcss@4.3.0: + resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} + engines: {node: '>=12.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass-loader@16.0.5: + resolution: {integrity: sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==} + engines: {node: '>= 18.12.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + webpack: + optional: true + + sass@1.89.2: + resolution: {integrity: sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==} + engines: {node: '>=14.0.0'} + hasBin: true + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + + schema-dts@1.1.5: + resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + engines: {node: '>= 10.13.0'} + + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.6: + resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + should-equal@2.0.0: + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + + should-format@3.0.3: + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + + should-type-adaptors@1.1.0: + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + + should-type@1.4.0: + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + + should-util@1.0.1: + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + + should@13.2.3: + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.2: + resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} + engines: {node: '>= 6.3.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + + swagger2openapi@7.0.8: + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + hasBin: true + + tapable@2.2.2: + resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.43.1: + resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} + engines: {node: '>=10'} + hasBin: true + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + + undici@7.12.0: + resolution: {integrity: sha512-GrKEsc3ughskmGA9jevVlIOPMiiAHJ4OFUtaAH+NhfTUSiZ1wMPIQqQvAJUrJspFXJt3EBWgpAeoHEDVT1IBug==} + engines: {node: '>=20.18.1'} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + + uri-js-replace@1.0.1: + resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-loader@4.1.1: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + + url@0.11.4: + resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} + engines: {node: '>= 0.4'} + + use-editable@2.3.3: + resolution: {integrity: sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==} + peerDependencies: + react: '>= 16.8.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + + validate.io-array@1.0.6: + resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} + + validate.io-function@1.0.2: + resolution: {integrity: sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==} + + validate.io-integer-array@1.0.0: + resolution: {integrity: sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==} + + validate.io-integer@1.0.5: + resolution: {integrity: sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==} + + validate.io-number@1.0.3: + resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@4.1.0: + resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + + watchpack@2.4.4: + resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} + + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack@5.100.2: + resolution: {integrity: sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@6.0.1: + resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + webpack: 3 || 4 || 5 + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-formatter@2.6.1: + resolution: {integrity: sha512-dOiGwoqm8y22QdTNI7A+N03tyVfBlQ0/oehAzxIZtwnFAHGeSlrfjF73YQvzSsa/Kt6+YZasKsrdu6OIpuBggw==} + engines: {node: '>= 10'} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + xml-parser-xo@3.2.0: + resolution: {integrity: sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg==} + engines: {node: '>= 10'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@1.2.1: + resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + engines: {node: '>=12.20'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)': + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + '@algolia/client-search': 5.34.0 + algoliasearch: 5.34.0 + + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)': + dependencies: + '@algolia/client-search': 5.34.0 + algoliasearch: 5.34.0 + + '@algolia/client-abtesting@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-analytics@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-common@5.34.0': {} + + '@algolia/client-insights@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-personalization@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-query-suggestions@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/client-search@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/events@4.0.1': {} + + '@algolia/ingestion@1.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/monitoring@1.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/recommend@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + '@algolia/requester-browser-xhr@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + + '@algolia/requester-fetch@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + + '@algolia/requester-node-http@5.34.0': + dependencies: + '@algolia/client-common': 5.34.0 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + + '@apidevtools/json-schema-ref-parser@11.9.3': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.0': {} + + '@babel/core@7.28.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helpers': 7.27.6 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.0': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.1 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.1 + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.28.1 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helper-wrap-function@7.27.1': + dependencies: + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.27.6': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.1 + + '@babel/parser@7.28.0': + dependencies: + '@babel/types': 7.28.1 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-object-rest-spread@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regenerator@7.28.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-runtime@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.0) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/preset-env@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-regenerator': 7.28.1(@babel/core@7.28.0) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.0) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.0) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0) + core-js-compat: 3.44.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.1 + esutils: 2.0.3 + + '@babel/preset-react@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/runtime-corejs3@7.28.0': + dependencies: + core-js-pure: 3.44.0 + + '@babel/runtime@7.27.6': {} + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 + + '@babel/traverse@7.28.0': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.0 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/types': 7.28.1 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.1': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@colors/colors@1.5.0': + optional: true + + '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/color-helpers@5.0.2': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.0.2 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + + '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + '@csstools/postcss-color-function@4.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-color-mix-function@3.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.0(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-content-alt-text@2.0.6(postcss@8.5.6)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-gamut-mapping@2.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-gradients-interpolation-method@5.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-hwb-function@4.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-ic-unit@4.0.2(postcss@8.5.6)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-initial@2.0.1(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + '@csstools/postcss-light-dark-function@2.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 + + '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-oklab-function@4.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-progressive-custom-properties@4.1.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-relative-color-syntax@3.0.10(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-text-decoration-shorthand@4.0.2(postcss@8.5.6)': + dependencies: + '@csstools/color-helpers': 5.0.2 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + + '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)': + dependencies: + postcss-selector-parser: 7.1.0 + + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': + dependencies: + postcss-selector-parser: 7.1.0 + + '@csstools/utilities@2.0.0(postcss@8.5.6)': + dependencies: + postcss: 8.5.6 + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/css@3.9.0': {} + + '@docsearch/react@3.9.0(@algolia/client-search@5.34.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.34.0)(algoliasearch@5.34.0) + '@docsearch/css': 3.9.0 + algoliasearch: 5.34.0 + optionalDependencies: + '@types/react': 19.1.8 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + + '@docusaurus/babel@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/generator': 7.28.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-transform-runtime': 7.28.0(@babel/core@7.28.0) + '@babel/preset-env': 7.28.0(@babel/core@7.28.0) + '@babel/preset-react': 7.27.1(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/runtime': 7.27.6 + '@babel/runtime-corejs3': 7.28.0 + '@babel/traverse': 7.28.0 + '@docusaurus/logger': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + babel-plugin-dynamic-import-node: 2.3.3 + fs-extra: 11.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/bundler@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@babel/core': 7.28.0 + '@docusaurus/babel': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/cssnano-preset': 3.8.1 + '@docusaurus/logger': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + babel-loader: 9.2.1(@babel/core@7.28.0)(webpack@5.100.2) + clean-css: 5.3.3 + copy-webpack-plugin: 11.0.0(webpack@5.100.2) + css-loader: 6.11.0(webpack@5.100.2) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.100.2) + cssnano: 6.1.2(postcss@8.5.6) + file-loader: 6.2.0(webpack@5.100.2) + html-minifier-terser: 7.2.0 + mini-css-extract-plugin: 2.9.2(webpack@5.100.2) + null-loader: 4.0.1(webpack@5.100.2) + postcss: 8.5.6 + postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.6.3)(webpack@5.100.2) + postcss-preset-env: 10.2.4(postcss@8.5.6) + terser-webpack-plugin: 5.3.14(webpack@5.100.2) + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2) + webpack: 5.100.2 + webpackbar: 6.0.1(webpack@5.100.2) + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - csso + - esbuild + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/babel': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/bundler': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.0) + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + core-js: 3.44.0 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + execa: 5.1.1 + fs-extra: 11.3.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.3(webpack@5.100.2) + leven: 3.1.0 + lodash: 4.17.21 + open: 8.4.2 + p-map: 4.0.0 + prompts: 2.4.2 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@19.1.0))(webpack@5.100.2) + react-router: 5.3.4(react@19.1.0) + react-router-config: 5.1.1(react-router@5.3.4(react@19.1.0))(react@19.1.0) + react-router-dom: 5.3.4(react@19.1.0) + semver: 7.7.2 + serve-handler: 6.1.6 + tinypool: 1.1.1 + tslib: 2.8.1 + update-notifier: 6.0.2 + webpack: 5.100.2 + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(debug@4.4.1)(webpack@5.100.2) + webpack-merge: 6.0.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/cssnano-preset@3.8.1': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-sort-media-queries: 5.2.0(postcss@8.5.6) + tslib: 2.8.1 + + '@docusaurus/logger@3.8.1': + dependencies: + chalk: 4.1.2 + tslib: 2.8.1 + + '@docusaurus/mdx-loader@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/logger': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.4.0 + file-loader: 6.2.0(webpack@5.100.2) + fs-extra: 11.3.0 + image-size: 2.0.2 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + rehype-raw: 7.0.0 + remark-directive: 3.0.1 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.1 + stringify-object: 3.3.0 + tslib: 2.8.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2) + vfile: 6.0.3 + webpack: 5.100.2 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/module-type-aliases@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/plugin-content-blog@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + cheerio: 1.0.0-rc.12 + feed: 4.2.2 + fs-extra: 11.3.0 + lodash: 4.17.21 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + schema-dts: 1.1.5 + srcset: 4.0.0 + tslib: 2.8.1 + unist-util-visit: 5.0.0 + utility-types: 3.11.0 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.3.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + schema-dts: 1.1.5 + tslib: 2.8.1 + utility-types: 3.11.0 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-pages@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-css-cascade-layers@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-debug@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-json-view-lite: 2.4.1(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-analytics@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/gtag.js': 0.0.12 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-tag-manager@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-sitemap@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + sitemap: 7.1.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-svgr@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/webpack': 8.1.0(typescript@5.6.3) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + webpack: 5.100.2 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/preset-classic@3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-blog': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-css-cascade-layers': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-debug': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-google-analytics': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-google-gtag': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-google-tag-manager': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-sitemap': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-svgr': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-classic': 3.8.1(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-search-algolia': 3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3) + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/react-loadable@6.0.0(react@19.1.0)': + dependencies: + '@types/react': 19.1.8 + react: 19.1.0 + + '@docusaurus/theme-classic@3.8.1(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-blog': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-translations': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.0) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.0 + infima: 0.2.0-alpha.45 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.5.6 + prism-react-renderer: 2.4.1(react@19.1.0) + prismjs: 1.30.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-router-dom: 5.3.4(react@19.1.0) + rtlcss: 4.3.0 + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/mdx-loader': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.4.1(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/theme-search-algolia@3.8.1(@algolia/client-search@5.34.0)(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.6.3)': + dependencies: + '@docsearch/react': 3.9.0(@algolia/client-search@5.34.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3) + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/logger': 3.8.1 + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-translations': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + algoliasearch: 5.34.0 + algoliasearch-helper: 3.26.0(algoliasearch@5.34.0) + clsx: 2.1.1 + eta: 2.2.0 + fs-extra: 11.3.0 + lodash: 4.17.21 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-translations@3.8.1': + dependencies: + fs-extra: 11.3.0 + tslib: 2.8.1 + + '@docusaurus/tsconfig@3.8.1': {} + + '@docusaurus/types@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@types/history': 4.7.11 + '@types/react': 19.1.8 + commander: 5.1.0 + joi: 17.13.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + utility-types: 3.11.0 + webpack: 5.100.2 + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/logger': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + fs-extra: 11.3.0 + joi: 17.13.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@docusaurus/logger': 3.8.1 + '@docusaurus/types': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + escape-string-regexp: 4.0.0 + execa: 5.1.1 + file-loader: 6.2.0(webpack@5.100.2) + fs-extra: 11.3.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.7 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + p-queue: 6.6.2 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2) + utility-types: 3.11.0 + webpack: 5.100.2 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@easyops-cn/autocomplete.js@0.38.1': + dependencies: + cssesc: 3.0.0 + immediate: 3.3.0 + + '@easyops-cn/docusaurus-search-local@0.52.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-translations': 3.8.1 + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@easyops-cn/autocomplete.js': 0.38.1 + '@node-rs/jieba': 1.10.4 + cheerio: 1.1.2 + clsx: 2.1.1 + comlink: 4.4.2 + debug: 4.4.1 + fs-extra: 10.1.0 + klaw-sync: 6.0.0 + lunr: 2.3.9 + lunr-languages: 1.14.0 + mark.js: 8.11.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - esbuild + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@emnapi/core@1.4.5': + dependencies: + '@emnapi/wasi-threads': 1.0.4 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.4.5': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.4': + dependencies: + tslib: 2.8.1 + optional: true + + '@exodus/schemasafe@1.3.0': {} + + '@faker-js/faker@5.5.3': {} + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@hookform/error-message@2.0.1(react-dom@19.1.0(react@19.1.0))(react-hook-form@7.61.1(react@19.1.0))(react@19.1.0)': + dependencies: + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-hook-form: 7.61.1(react@19.1.0) + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 24.1.0 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.12': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/trace-mapping': 0.3.29 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.10': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + + '@jridgewell/sourcemap-codec@1.5.4': {} + + '@jridgewell/trace-mapping@0.3.29': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.4 + + '@jsdevtools/ono@7.1.3': {} + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@mdx-js/mdx@3.1.0(acorn@8.15.0)': + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.0(acorn@8.15.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - acorn + - supports-color + + '@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 19.1.8 + react: 19.1.0 + + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 + '@tybys/wasm-util': 0.10.0 + optional: true + + '@node-rs/jieba-android-arm-eabi@1.10.4': + optional: true + + '@node-rs/jieba-android-arm64@1.10.4': + optional: true + + '@node-rs/jieba-darwin-arm64@1.10.4': + optional: true + + '@node-rs/jieba-darwin-x64@1.10.4': + optional: true + + '@node-rs/jieba-freebsd-x64@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm64-gnu@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm64-musl@1.10.4': + optional: true + + '@node-rs/jieba-linux-x64-gnu@1.10.4': + optional: true + + '@node-rs/jieba-linux-x64-musl@1.10.4': + optional: true + + '@node-rs/jieba-wasm32-wasi@1.10.4': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + + '@node-rs/jieba-win32-arm64-msvc@1.10.4': + optional: true + + '@node-rs/jieba-win32-ia32-msvc@1.10.4': + optional: true + + '@node-rs/jieba-win32-x64-msvc@1.10.4': + optional: true + + '@node-rs/jieba@1.10.4': + optionalDependencies: + '@node-rs/jieba-android-arm-eabi': 1.10.4 + '@node-rs/jieba-android-arm64': 1.10.4 + '@node-rs/jieba-darwin-arm64': 1.10.4 + '@node-rs/jieba-darwin-x64': 1.10.4 + '@node-rs/jieba-freebsd-x64': 1.10.4 + '@node-rs/jieba-linux-arm-gnueabihf': 1.10.4 + '@node-rs/jieba-linux-arm64-gnu': 1.10.4 + '@node-rs/jieba-linux-arm64-musl': 1.10.4 + '@node-rs/jieba-linux-x64-gnu': 1.10.4 + '@node-rs/jieba-linux-x64-musl': 1.10.4 + '@node-rs/jieba-wasm32-wasi': 1.10.4 + '@node-rs/jieba-win32-arm64-msvc': 1.10.4 + '@node-rs/jieba-win32-ia32-msvc': 1.10.4 + '@node-rs/jieba-win32-x64-msvc': 1.10.4 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.3.1': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + + '@polka/url@1.0.0-next.29': {} + + '@redocly/ajv@8.11.2': + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js-replace: 1.0.1 + + '@redocly/config@0.22.2': {} + + '@redocly/openapi-core@1.34.5': + dependencies: + '@redocly/ajv': 8.11.2 + '@redocly/config': 0.22.2 + colorette: 1.4.0 + https-proxy-agent: 7.0.6 + js-levenshtein: 1.1.6 + js-yaml: 4.1.0 + minimatch: 5.1.6 + pluralize: 8.0.0 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - supports-color + + '@reduxjs/toolkit@1.9.7(react-redux@7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + dependencies: + immer: 9.0.21 + redux: 4.2.1 + redux-thunk: 2.4.2(redux@4.2.1) + reselect: 4.1.8 + optionalDependencies: + react: 19.1.0 + react-redux: 7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@babel/runtime': 7.27.6 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + '@slorber/remark-comment@1.0.0': + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + + '@svgr/babel-preset@8.1.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.28.0) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.28.0) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.28.0) + + '@svgr/core@8.1.0(typescript@5.6.3)': + dependencies: + '@babel/core': 7.28.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.0) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.6.3) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.28.1 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))': + dependencies: + '@babel/core': 7.28.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.0) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))(typescript@5.6.3)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.6.3) + cosmiconfig: 8.3.6(typescript@5.6.3) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@5.6.3)': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.0) + '@babel/preset-env': 7.28.0(@babel/core@7.28.0) + '@babel/preset-react': 7.27.1(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3))(typescript@5.6.3) + transitivePeerDependencies: + - supports-color + - typescript + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@trysound/sax@0.2.0': {} + + '@tybys/wasm-util@0.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 24.1.0 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 24.1.0 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 5.0.7 + '@types/node': 24.1.0 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 24.1.0 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.8 + + '@types/estree@1.0.8': {} + + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 24.1.0 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express-serve-static-core@5.0.7': + dependencies: + '@types/node': 24.1.0 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express@4.17.23': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.8 + + '@types/gtag.js@0.0.12': {} + + '@types/hast@2.3.10': + dependencies: + '@types/unist': 2.0.11 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/history@4.7.11': {} + + '@types/hoist-non-react-statics@3.3.7(@types/react@19.1.8)': + dependencies: + '@types/react': 19.1.8 + hoist-non-react-statics: 3.3.2 + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-cache-semantics@4.0.4': {} + + '@types/http-errors@2.0.5': {} + + '@types/http-proxy@1.17.16': + dependencies: + '@types/node': 24.1.0 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@3.0.15': + dependencies: + '@types/unist': 2.0.11 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.13': {} + + '@types/mime@1.3.5': {} + + '@types/ms@2.1.0': {} + + '@types/node-forge@1.3.13': + dependencies: + '@types/node': 24.1.0 + + '@types/node@17.0.45': {} + + '@types/node@24.1.0': + dependencies: + undici-types: 7.8.0 + + '@types/parse5@6.0.3': {} + + '@types/prismjs@1.26.5': {} + + '@types/prop-types@15.7.15': {} + + '@types/qs@6.14.0': {} + + '@types/range-parser@1.2.7': {} + + '@types/react-redux@7.1.34': + dependencies: + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.1.8) + '@types/react': 19.1.8 + hoist-non-react-statics: 3.3.2 + redux: 4.2.1 + + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router': 5.1.20 + + '@types/react-router-dom@5.3.3': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.1.8 + '@types/react-router': 5.1.20 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.1.8 + + '@types/react@19.1.8': + dependencies: + csstype: 3.1.3 + + '@types/retry@0.12.0': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/send@0.17.5': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 24.1.0 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.23 + + '@types/serve-static@1.15.8': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 24.1.0 + '@types/send': 0.17.5 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 24.1.0 + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 24.1.0 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.3.0': {} + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + address@1.2.2: {} + + agent-base@7.1.4: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-draft-04@1.0.0(ajv@8.11.0): + optionalDependencies: + ajv: 8.11.0 + + ajv-formats@2.1.1(ajv@8.11.0): + optionalDependencies: + ajv: 8.11.0 + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.11.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + algoliasearch-helper@3.26.0(algoliasearch@5.34.0): + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 5.34.0 + + algoliasearch@5.34.0: + dependencies: + '@algolia/client-abtesting': 5.34.0 + '@algolia/client-analytics': 5.34.0 + '@algolia/client-common': 5.34.0 + '@algolia/client-insights': 5.34.0 + '@algolia/client-personalization': 5.34.0 + '@algolia/client-query-suggestions': 5.34.0 + '@algolia/client-search': 5.34.0 + '@algolia/ingestion': 1.34.0 + '@algolia/monitoring': 1.34.0 + '@algolia/recommend': 5.34.0 + '@algolia/requester-browser-xhr': 5.34.0 + '@algolia/requester-fetch': 5.34.0 + '@algolia/requester-node-http': 5.34.0 + + allof-merge@0.6.6: + dependencies: + json-crawl: 0.5.3 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + astring@1.9.0: {} + + async@3.2.2: {} + + async@3.2.4: {} + + at-least-node@1.0.0: {} + + autoprefixer@10.4.21(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-lite: 1.0.30001727 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + babel-loader@9.2.1(@babel/core@7.28.0)(webpack@5.100.2): + dependencies: + '@babel/core': 7.28.0 + find-cache-dir: 4.0.0 + schema-utils: 4.3.2 + webpack: 5.100.2 + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.7 + + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.0): + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + core-js-compat: 3.44.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + batch@0.6.1: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.3.0: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + boxen@6.2.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.4.1 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.25.1: + dependencies: + caniuse-lite: 1.0.30001727 + electron-to-chromium: 1.5.189 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.1) + + buffer-from@1.1.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.2 + responselike: 3.0.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + call-me-maybe@1.0.2: {} + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + camelcase@6.3.0: {} + + camelcase@7.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.25.1 + caniuse-lite: 1.0.30001727 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001727: {} + + ccount@2.0.1: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.1: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + charset@1.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.2.2 + css-what: 6.2.2 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + htmlparser2: 8.0.2 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + + cheerio@1.1.2: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.1 + htmlparser2: 10.0.0 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 7.12.0 + whatwg-mimetype: 4.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@1.2.1: {} + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@1.4.0: {} + + colorette@2.0.20: {} + + combine-promises@1.2.0: {} + + comlink@4.4.2: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + compute-gcd@1.2.1: + dependencies: + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + + compute-lcm@1.1.2: + dependencies: + compute-gcd: 1.2.1 + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + + connect-history-api-fallback@2.0.0: {} + + consola@3.4.2: {} + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.7.1: {} + + copy-text-to-clipboard@3.2.0: {} + + copy-webpack-plugin@11.0.0(webpack@5.100.2): + dependencies: + fast-glob: 3.3.3 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + webpack: 5.100.2 + + core-js-compat@3.44.0: + dependencies: + browserslist: 4.25.1 + + core-js-pure@3.44.0: {} + + core-js@3.44.0: {} + + core-util-is@1.0.3: {} + + cosmiconfig@8.3.6(typescript@5.6.3): + dependencies: + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.6.3 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-js@4.2.0: {} + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + css-blank-pseudo@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + css-declaration-sorter@7.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + css-has-pseudo@7.0.2(postcss@8.5.6): + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + + css-loader@6.11.0(webpack@5.100.2): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) + postcss-modules-scope: 3.2.1(postcss@8.5.6) + postcss-modules-values: 4.0.0(postcss@8.5.6) + postcss-value-parser: 4.2.0 + semver: 7.7.2 + optionalDependencies: + webpack: 5.100.2 + + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.100.2): + dependencies: + '@jridgewell/trace-mapping': 0.3.29 + cssnano: 6.1.2(postcss@8.5.6) + jest-worker: 29.7.0 + postcss: 8.5.6 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + webpack: 5.100.2 + optionalDependencies: + clean-css: 5.3.3 + + css-prefers-color-scheme@10.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + + css-what@6.2.2: {} + + cssdb@8.3.1: {} + + cssesc@3.0.0: {} + + cssnano-preset-advanced@6.1.2(postcss@8.5.6): + dependencies: + autoprefixer: 10.4.21(postcss@8.5.6) + browserslist: 4.25.1 + cssnano-preset-default: 6.1.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-discard-unused: 6.0.5(postcss@8.5.6) + postcss-merge-idents: 6.0.3(postcss@8.5.6) + postcss-reduce-idents: 6.0.3(postcss@8.5.6) + postcss-zindex: 6.0.2(postcss@8.5.6) + + cssnano-preset-default@6.1.2(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + css-declaration-sorter: 7.2.0(postcss@8.5.6) + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-calc: 9.0.1(postcss@8.5.6) + postcss-colormin: 6.1.0(postcss@8.5.6) + postcss-convert-values: 6.1.0(postcss@8.5.6) + postcss-discard-comments: 6.0.2(postcss@8.5.6) + postcss-discard-duplicates: 6.0.3(postcss@8.5.6) + postcss-discard-empty: 6.0.3(postcss@8.5.6) + postcss-discard-overridden: 6.0.2(postcss@8.5.6) + postcss-merge-longhand: 6.0.5(postcss@8.5.6) + postcss-merge-rules: 6.1.1(postcss@8.5.6) + postcss-minify-font-values: 6.1.0(postcss@8.5.6) + postcss-minify-gradients: 6.0.3(postcss@8.5.6) + postcss-minify-params: 6.1.0(postcss@8.5.6) + postcss-minify-selectors: 6.0.4(postcss@8.5.6) + postcss-normalize-charset: 6.0.2(postcss@8.5.6) + postcss-normalize-display-values: 6.0.2(postcss@8.5.6) + postcss-normalize-positions: 6.0.2(postcss@8.5.6) + postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6) + postcss-normalize-string: 6.0.2(postcss@8.5.6) + postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6) + postcss-normalize-unicode: 6.1.0(postcss@8.5.6) + postcss-normalize-url: 6.0.2(postcss@8.5.6) + postcss-normalize-whitespace: 6.0.2(postcss@8.5.6) + postcss-ordered-values: 6.0.2(postcss@8.5.6) + postcss-reduce-initial: 6.1.0(postcss@8.5.6) + postcss-reduce-transforms: 6.0.2(postcss@8.5.6) + postcss-svgo: 6.0.3(postcss@8.5.6) + postcss-unique-selectors: 6.0.4(postcss@8.5.6) + + cssnano-utils@4.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + cssnano@6.1.2(postcss@8.5.6): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.5.6) + lilconfig: 3.1.3 + postcss: 8.5.6 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.1.3: {} + + debounce@1.2.1: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.1: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.2.0: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + detect-libc@1.0.3: + optional: true + + detect-node@2.1.0: {} + + detect-package-manager@3.0.2: + dependencies: + execa: 5.1.1 + + detect-port@1.6.1: + dependencies: + address: 1.2.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff@5.2.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + docusaurus-plugin-openapi-docs@4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0): + dependencies: + '@apidevtools/json-schema-ref-parser': 11.9.3 + '@docusaurus/plugin-content-docs': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + '@docusaurus/utils': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@redocly/openapi-core': 1.34.5 + allof-merge: 0.6.6 + chalk: 4.1.2 + clsx: 1.2.1 + fs-extra: 9.1.0 + json-pointer: 0.6.2 + json5: 2.2.3 + lodash: 4.17.21 + mustache: 4.2.0 + openapi-to-postmanv2: 4.25.0 + postman-collection: 4.5.0 + react: 19.1.0 + slugify: 1.6.6 + swagger2openapi: 7.0.8 + xml-formatter: 2.6.1 + transitivePeerDependencies: + - encoding + - supports-color + + docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2): + dependencies: + '@docusaurus/core': 3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(debug@4.4.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3) + sass: 1.89.2 + sass-loader: 16.0.5(sass@1.89.2)(webpack@5.100.2) + transitivePeerDependencies: + - '@rspack/core' + - node-sass + - sass-embedded + - webpack + + docusaurus-theme-openapi-docs@4.5.1(@docusaurus/theme-common@3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(docusaurus-plugin-openapi-docs@4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0))(docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(webpack@5.100.2): + dependencies: + '@docusaurus/theme-common': 3.8.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@hookform/error-message': 2.0.1(react-dom@19.1.0(react@19.1.0))(react-hook-form@7.61.1(react@19.1.0))(react@19.1.0) + '@reduxjs/toolkit': 1.9.7(react-redux@7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + allof-merge: 0.6.6 + buffer: 6.0.3 + clsx: 1.2.1 + copy-text-to-clipboard: 3.2.0 + crypto-js: 4.2.0 + docusaurus-plugin-openapi-docs: 4.5.1(@docusaurus/plugin-content-docs@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(@docusaurus/utils-validation@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@docusaurus/utils@3.8.1(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + docusaurus-plugin-sass: 0.2.6(@docusaurus/core@3.8.1(@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0))(acorn@8.15.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.6.3))(sass@1.89.2)(webpack@5.100.2) + file-saver: 2.0.5 + lodash: 4.17.21 + pako: 2.1.0 + postman-code-generators: 1.14.2 + postman-collection: 4.5.0 + prism-react-renderer: 2.4.1(react@19.1.0) + process: 0.11.10 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-hook-form: 7.61.1(react@19.1.0) + react-live: 4.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-magic-dropzone: 1.0.1 + react-markdown: 8.0.7(@types/react@19.1.8)(react@19.1.0) + react-modal: 3.16.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-redux: 7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + rehype-raw: 6.1.1 + remark-gfm: 3.0.1 + sass: 1.89.2 + sass-loader: 16.0.5(sass@1.89.2)(webpack@5.100.2) + unist-util-visit: 5.0.0 + url: 0.11.4 + xml-formatter: 2.6.1 + transitivePeerDependencies: + - '@rspack/core' + - '@types/react' + - node-sass + - react-native + - sass-embedded + - supports-color + - webpack + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.189: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emojis-list@3.0.0: {} + + emoticon@4.1.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + encoding-sniffer@0.2.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + + enhanced-resolve@5.18.2: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.2 + + entities@2.2.0: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es6-promise@3.3.1: {} + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.15.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.2 + + escalade@3.2.0: {} + + escape-goat@4.0.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esprima@4.0.1: {} + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.4 + + estree-util-value-to-estree@3.4.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + esutils@2.0.3: {} + + eta@2.2.0: {} + + etag@1.8.1: {} + + eval@0.1.8: + dependencies: + '@types/node': 24.1.0 + require-like: 0.1.2 + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exenv@1.2.2: {} + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-safe-stringify@2.1.1: {} + + fast-uri@3.0.6: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + feed@4.2.2: + dependencies: + xml-js: 1.6.11 + + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + + file-loader@6.2.0(webpack@5.100.2): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.100.2 + + file-saver@2.0.5: {} + + file-type@3.9.0: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.9(debug@4.4.1): + optionalDependencies: + debug: 4.4.1 + + foreach@2.0.6: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data-encoder@2.1.4: {} + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@4.3.7: {} + + fresh@0.5.2: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-monkey@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-own-enumerable-property-symbols@3.0.2: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@6.0.1: {} + + github-slugger@1.5.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.2.0: {} + + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + graphlib@2.1.8: + dependencies: + lodash: 4.17.21 + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + handle-thing@2.0.1: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-yarn@3.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-from-parse5@7.1.2: + dependencies: + '@types/hast': 2.3.10 + '@types/unist': 2.0.11 + hastscript: 7.2.0 + property-information: 6.5.0 + vfile: 5.3.7 + vfile-location: 4.1.0 + web-namespaces: 2.0.1 + + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.1.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-parse-selector@3.1.1: + dependencies: + '@types/hast': 2.3.10 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@7.2.3: + dependencies: + '@types/hast': 2.3.10 + '@types/parse5': 6.0.3 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 + parse5: 6.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@7.1.0: + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-whitespace@2.0.1: {} + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@7.2.0: + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 3.1.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.27.6 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-entities@2.6.0: {} + + html-escaper@2.0.2: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.43.1 + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.43.1 + + html-tags@3.3.1: {} + + html-void-elements@2.0.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.6.3(webpack@5.100.2): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.2 + optionalDependencies: + webpack: 5.100.2 + + htmlparser2@10.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 6.0.1 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 + + http-cache-semantics@4.2.0: {} + + http-deceiver@1.2.7: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-parser-js@0.5.10: {} + + http-proxy-middleware@2.0.9(@types/express@4.17.23)(debug@4.4.1): + dependencies: + '@types/http-proxy': 1.17.16 + http-proxy: 1.18.1(debug@4.4.1) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.23 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1(debug@4.4.1): + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.9(debug@4.4.1) + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + http-reasons@0.1.0: {} + + http2-client@1.3.5: {} + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + image-size@2.0.2: {} + + immediate@3.3.0: {} + + immer@9.0.21: {} + + immutable@5.1.3: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@4.0.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infima@0.2.0-alpha.45: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@2.0.0: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.4: {} + + interpret@1.4.0: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@2.0.5: {} + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-npm@6.0.0: {} + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-obj@2.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-regexp@1.0.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-yarn-global@0.4.1: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 24.1.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-worker@27.5.1: + dependencies: + '@types/node': 24.1.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 24.1.0 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.7: {} + + joi@17.13.3: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-levenshtein@1.1.6: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-crawl@0.5.3: {} + + json-parse-even-better-errors@2.3.1: {} + + json-pointer@0.6.2: + dependencies: + foreach: 2.0.6 + + json-schema-compare@0.2.2: + dependencies: + lodash: 4.17.21 + + json-schema-merge-allof@0.8.1: + dependencies: + compute-lcm: 1.1.2 + json-schema-compare: 0.2.2 + lodash: 4.17.21 + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + klaw-sync@6.0.0: + dependencies: + graceful-fs: 4.2.11 + + kleur@3.0.3: {} + + kleur@4.1.5: {} + + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 + + launch-editor@2.10.0: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.3 + + leven@3.1.0: {} + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + liquid-json@0.3.1: {} + + loader-runner@4.3.0: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.debounce@4.0.8: {} + + lodash.memoize@4.1.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.17.21: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lowercase-keys@3.0.0: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr-languages@1.14.0: {} + + lunr@2.3.9: {} + + mark.js@8.11.1: {} + + markdown-extensions@2.0.0: {} + + markdown-table@2.0.0: + dependencies: + repeat-string: 1.6.1 + + markdown-table@3.0.4: {} + + math-intrinsics@1.1.0: {} + + mdast-util-definitions@5.1.2: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.11 + unist-util-visit: 4.1.2 + + mdast-util-directive@3.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@2.2.2: + dependencies: + '@types/mdast': 3.0.15 + escape-string-regexp: 5.0.0 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@1.3.1: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.11 + decode-named-character-reference: 1.2.0 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@1.0.3: + dependencies: + '@types/mdast': 3.0.15 + ccount: 2.0.1 + mdast-util-find-and-replace: 2.2.2 + micromark-util-character: 1.2.0 + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@1.0.2: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + micromark-util-normalize-identifier: 1.1.0 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@1.0.3: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@1.0.7: + dependencies: + '@types/mdast': 3.0.15 + markdown-table: 3.0.4 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@1.0.2: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@2.0.2: + dependencies: + mdast-util-from-markdown: 1.3.1 + mdast-util-gfm-autolink-literal: 1.0.3 + mdast-util-gfm-footnote: 1.0.2 + mdast-util-gfm-strikethrough: 1.0.3 + mdast-util-gfm-table: 1.0.7 + mdast-util-gfm-task-list-item: 1.0.2 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@3.0.1: + dependencies: + '@types/mdast': 3.0.15 + unist-util-is: 5.2.1 + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@12.3.0: + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-definitions: 5.1.2 + micromark-util-sanitize-uri: 1.2.0 + trim-lines: 3.0.1 + unist-util-generated: 2.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@1.5.0: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.11 + longest-streak: 3.1.0 + mdast-util-phrasing: 3.0.1 + mdast-util-to-string: 3.2.0 + micromark-util-decode-string: 1.1.0 + unist-util-visit: 4.1.2 + zwitch: 2.0.4 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@3.2.0: + dependencies: + '@types/mdast': 3.0.15 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@1.1.0: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-directive@3.0.2: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@1.0.5: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@1.1.2: + dependencies: + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@1.0.7: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@1.0.7: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@1.0.2: + dependencies: + micromark-util-types: 1.1.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@1.0.5: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@2.0.3: + dependencies: + micromark-extension-gfm-autolink-literal: 1.0.5 + micromark-extension-gfm-footnote: 1.1.2 + micromark-extension-gfm-strikethrough: 1.0.7 + micromark-extension-gfm-table: 1.0.7 + micromark-extension-gfm-tagfilter: 1.0.2 + micromark-extension-gfm-task-list-item: 1.0.5 + micromark-util-combine-extensions: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@1.1.0: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@1.1.0: {} + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.8 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@1.2.0: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@1.1.0: + dependencies: + micromark-util-types: 1.1.0 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@1.2.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.2: {} + + micromark@3.2.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-format@2.0.1: + dependencies: + charset: 1.0.1 + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + mini-css-extract-plugin@2.9.2(webpack@5.100.2): + dependencies: + schema-utils: 4.3.2 + tapable: 2.2.2 + webpack: 5.100.2 + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.2 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mri@1.2.0: {} + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + mustache@4.2.0: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.11: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + neotraverse@0.6.15: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-addon-api@7.1.1: + optional: true + + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-fetch-h2@2.3.0: + dependencies: + http2-client: 1.3.5 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-forge@1.3.1: {} + + node-readfiles@0.2.0: + dependencies: + es6-promise: 3.3.1 + + node-releases@2.0.19: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize-url@8.0.2: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + null-loader@4.0.1(webpack@5.100.2): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.100.2 + + oas-kit-common@1.0.8: + dependencies: + fast-safe-stringify: 2.1.1 + + oas-linter@3.2.2: + dependencies: + '@exodus/schemasafe': 1.3.0 + should: 13.2.3 + yaml: 1.10.2 + + oas-resolver-browser@2.5.6: + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + path-browserify: 1.0.1 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + + oas-resolver@2.5.6: + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + + oas-schema-walker@1.1.5: {} + + oas-validator@5.0.8: + dependencies: + call-me-maybe: 1.0.2 + oas-kit-common: 1.0.8 + oas-linter: 3.2.2 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + reftools: 1.1.9 + should: 13.2.3 + yaml: 1.10.2 + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + obuf@1.1.2: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + openapi-to-postmanv2@4.25.0: + dependencies: + ajv: 8.11.0 + ajv-draft-04: 1.0.0(ajv@8.11.0) + ajv-formats: 2.1.1(ajv@8.11.0) + async: 3.2.4 + commander: 2.20.3 + graphlib: 2.1.8 + js-yaml: 4.1.0 + json-pointer: 0.6.2 + json-schema-merge-allof: 0.8.1 + lodash: 4.17.21 + neotraverse: 0.6.15 + oas-resolver-browser: 2.5.6 + object-hash: 3.0.0 + path-browserify: 1.0.1 + postman-collection: 4.5.0 + swagger2openapi: 7.0.8 + yaml: 1.10.2 + transitivePeerDependencies: + - encoding + + opener@1.5.2: {} + + p-cancelable@3.0.0: {} + + p-finally@1.0.0: {} + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.2.1 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json-from-dist@1.0.1: {} + + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.1.0 + registry-url: 6.0.1 + semver: 7.7.2 + + pako@2.1.0: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.2.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-numeric-range@1.3.0: {} + + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.3.0 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.3.0 + + parse5@6.0.1: {} + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-browserify@1.0.1: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-to-regexp@0.1.12: {} + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@3.3.0: {} + + path-type@4.0.0: {} + + path@0.12.7: + dependencies: + process: 0.11.10 + util: 0.10.4 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pirates@4.0.7: {} + + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + + pluralize@8.0.0: {} + + postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-calc@9.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + + postcss-clamp@4.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-color-functional-notation@7.0.10(postcss@8.5.6): + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-color-hex-alpha@10.0.0(postcss@8.5.6): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-custom-media@11.0.6(postcss@8.5.6): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 + + postcss-custom-properties@14.0.6(postcss@8.5.6): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-custom-selectors@8.0.5(postcss@8.5.6): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-discard-comments@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-duplicates@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-empty@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-overridden@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-unused@6.0.5(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-double-position-gradients@6.0.2(postcss@8.5.6): + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-focus-visible@10.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-focus-within@9.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-font-variant@5.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-gap-properties@6.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-image-set-function@7.0.0(postcss@8.5.6): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-lab-function@7.0.10(postcss@8.5.6): + dependencies: + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.6.3)(webpack@5.100.2): + dependencies: + cosmiconfig: 8.3.6(typescript@5.6.3) + jiti: 1.21.7 + postcss: 8.5.6 + semver: 7.7.2 + webpack: 5.100.2 + transitivePeerDependencies: + - typescript + + postcss-logical@8.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-merge-idents@6.0.3(postcss@8.5.6): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-merge-longhand@6.0.5(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.5.6) + + postcss-merge-rules@6.1.1(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-minify-font-values@6.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.5.6): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-modules-values@4.0.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-nesting@13.0.2(postcss@8.5.6): + dependencies: + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-normalize-charset@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-normalize-display-values@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-opacity-percentage@3.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-ordered-values@6.0.2(postcss@8.5.6): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-overflow-shorthand@6.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-page-break@3.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-place@10.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-preset-env@10.2.4(postcss@8.5.6): + dependencies: + '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) + '@csstools/postcss-color-function': 4.0.10(postcss@8.5.6) + '@csstools/postcss-color-mix-function': 3.0.10(postcss@8.5.6) + '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.0(postcss@8.5.6) + '@csstools/postcss-content-alt-text': 2.0.6(postcss@8.5.6) + '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6) + '@csstools/postcss-gamut-mapping': 2.0.10(postcss@8.5.6) + '@csstools/postcss-gradients-interpolation-method': 5.0.10(postcss@8.5.6) + '@csstools/postcss-hwb-function': 4.0.10(postcss@8.5.6) + '@csstools/postcss-ic-unit': 4.0.2(postcss@8.5.6) + '@csstools/postcss-initial': 2.0.1(postcss@8.5.6) + '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6) + '@csstools/postcss-light-dark-function': 2.0.9(postcss@8.5.6) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6) + '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6) + '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6) + '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.6) + '@csstools/postcss-oklab-function': 4.0.10(postcss@8.5.6) + '@csstools/postcss-progressive-custom-properties': 4.1.0(postcss@8.5.6) + '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6) + '@csstools/postcss-relative-color-syntax': 3.0.10(postcss@8.5.6) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6) + '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6) + '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6) + '@csstools/postcss-text-decoration-shorthand': 4.0.2(postcss@8.5.6) + '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6) + autoprefixer: 10.4.21(postcss@8.5.6) + browserslist: 4.25.1 + css-blank-pseudo: 7.0.1(postcss@8.5.6) + css-has-pseudo: 7.0.2(postcss@8.5.6) + css-prefers-color-scheme: 10.0.0(postcss@8.5.6) + cssdb: 8.3.1 + postcss: 8.5.6 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) + postcss-clamp: 4.1.0(postcss@8.5.6) + postcss-color-functional-notation: 7.0.10(postcss@8.5.6) + postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) + postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) + postcss-custom-media: 11.0.6(postcss@8.5.6) + postcss-custom-properties: 14.0.6(postcss@8.5.6) + postcss-custom-selectors: 8.0.5(postcss@8.5.6) + postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) + postcss-double-position-gradients: 6.0.2(postcss@8.5.6) + postcss-focus-visible: 10.0.1(postcss@8.5.6) + postcss-focus-within: 9.0.1(postcss@8.5.6) + postcss-font-variant: 5.0.0(postcss@8.5.6) + postcss-gap-properties: 6.0.0(postcss@8.5.6) + postcss-image-set-function: 7.0.0(postcss@8.5.6) + postcss-lab-function: 7.0.10(postcss@8.5.6) + postcss-logical: 8.1.0(postcss@8.5.6) + postcss-nesting: 13.0.2(postcss@8.5.6) + postcss-opacity-percentage: 3.0.0(postcss@8.5.6) + postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) + postcss-page-break: 3.0.4(postcss@8.5.6) + postcss-place: 10.0.0(postcss@8.5.6) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) + postcss-selector-not: 8.0.1(postcss@8.5.6) + + postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-reduce-idents@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + caniuse-api: 3.0.0 + postcss: 8.5.6 + + postcss-reduce-transforms@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-selector-not@8.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + sort-css-media-queries: 2.2.0 + + postcss-svgo@6.0.3(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + svgo: 3.3.2 + + postcss-unique-selectors@6.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-value-parser@4.2.0: {} + + postcss-zindex@6.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postman-code-generators@1.14.2: + dependencies: + async: 3.2.2 + detect-package-manager: 3.0.2 + lodash: 4.17.21 + path: 0.12.7 + postman-collection: 4.5.0 + shelljs: 0.8.5 + + postman-collection@4.5.0: + dependencies: + '@faker-js/faker': 5.5.3 + file-type: 3.9.0 + http-reasons: 0.1.0 + iconv-lite: 0.6.3 + liquid-json: 0.3.1 + lodash: 4.17.21 + mime-format: 2.0.1 + mime-types: 2.1.35 + postman-url-encoder: 3.0.5 + semver: 7.6.3 + uuid: 8.3.2 + + postman-url-encoder@3.0.5: + dependencies: + punycode: 2.3.1 + + prettier@3.6.2: {} + + pretty-error@4.0.0: + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + + pretty-time@1.1.0: {} + + prism-react-renderer@2.4.1(react@19.1.0): + dependencies: + '@types/prismjs': 1.26.5 + clsx: 2.1.1 + react: 19.1.0 + + prismjs@1.30.0: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@6.5.0: {} + + property-information@7.1.0: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@1.4.1: {} + + punycode@2.3.1: {} + + pupa@3.1.0: + dependencies: + escape-goat: 4.0.0 + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + queue-microtask@1.2.3: {} + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-dom@19.1.0(react@19.1.0): + dependencies: + react: 19.1.0 + scheduler: 0.26.0 + + react-fast-compare@3.2.2: {} + + react-hook-form@7.61.1(react@19.1.0): + dependencies: + react: 19.1.0 + + react-icons@5.5.0(react@19.1.0): + dependencies: + react: 19.1.0 + + react-is@16.13.1: {} + + react-is@17.0.2: {} + + react-is@18.3.1: {} + + react-json-view-lite@2.4.1(react@19.1.0): + dependencies: + react: 19.1.0 + + react-lifecycles-compat@3.0.4: {} + + react-live@4.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + prism-react-renderer: 2.4.1(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + sucrase: 3.35.0 + use-editable: 2.3.3(react@19.1.0) + + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.1.0))(webpack@5.100.2): + dependencies: + '@babel/runtime': 7.27.6 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + webpack: 5.100.2 + + react-magic-dropzone@1.0.1: {} + + react-markdown@8.0.7(@types/react@19.1.8)(react@19.1.0): + dependencies: + '@types/hast': 2.3.10 + '@types/prop-types': 15.7.15 + '@types/react': 19.1.8 + '@types/unist': 2.0.11 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 2.0.1 + prop-types: 15.8.1 + property-information: 6.5.0 + react: 19.1.0 + react-is: 18.3.1 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unified: 10.1.2 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + + react-modal@3.16.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + exenv: 1.2.2 + prop-types: 15.8.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-lifecycles-compat: 3.0.4 + warning: 4.0.3 + + react-redux@7.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + '@types/react-redux': 7.1.34 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.1.0 + react-is: 17.0.2 + optionalDependencies: + react-dom: 19.1.0(react@19.1.0) + + react-router-config@5.1.1(react-router@5.3.4(react@19.1.0))(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + react: 19.1.0 + react-router: 5.3.4(react@19.1.0) + + react-router-dom@5.3.4(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.1.0 + react-router: 5.3.4(react@19.1.0) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router@5.3.4(react@19.1.0): + dependencies: + '@babel/runtime': 7.27.6 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 19.1.0 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react@19.1.0: {} + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: {} + + rechoir@0.6.2: + dependencies: + resolve: 1.22.10 + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.0(acorn@8.15.0): + dependencies: + acorn-jsx: 5.3.2(acorn@8.15.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - acorn + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.8 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + redux-thunk@2.4.2(redux@4.2.1): + dependencies: + redux: 4.2.1 + + redux@4.2.1: + dependencies: + '@babel/runtime': 7.27.6 + + reftools@1.1.9: {} + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + registry-auth-token@5.1.0: + dependencies: + '@pnpm/npm-conf': 2.3.1 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + rehype-raw@6.1.1: + dependencies: + '@types/hast': 2.3.10 + hast-util-raw: 7.2.3 + unified: 10.1.2 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + + relateurl@0.2.7: {} + + remark-directive@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.1.0 + micromark-extension-directive: 3.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.1.0 + mdast-util-find-and-replace: 3.0.2 + node-emoji: 2.2.0 + unified: 11.0.5 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@3.0.1: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-gfm: 2.0.2 + micromark-extension-gfm: 2.0.3 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.0: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@10.0.2: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@10.1.0: + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-to-hast: 12.3.0 + unified: 10.1.2 + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + + repeat-string@1.6.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-like@0.1.2: {} + + requires-port@1.0.0: {} + + reselect@4.1.8: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + retry@0.13.1: {} + + reusify@1.1.0: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rtlcss@4.3.0: + dependencies: + escalade: 3.2.0 + picocolors: 1.1.1 + postcss: 8.5.6 + strip-json-comments: 3.1.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + sade@1.8.1: + dependencies: + mri: 1.2.0 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sass-loader@16.0.5(sass@1.89.2)(webpack@5.100.2): + dependencies: + neo-async: 2.6.2 + optionalDependencies: + sass: 1.89.2 + webpack: 5.100.2 + + sass@1.89.2: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + + sax@1.4.1: {} + + scheduler@0.26.0: {} + + schema-dts@1.1.5: {} + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.3.2: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + search-insights@2.17.3: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + select-hose@2.0.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.13 + node-forge: 1.3.1 + + semver-diff@4.0.0: + dependencies: + semver: 7.7.2 + + semver@6.3.1: {} + + semver@7.6.3: {} + + semver@7.7.2: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.6: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + + serve-index@1.9.1: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.3: {} + + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + + should-equal@2.0.0: + dependencies: + should-type: 1.4.0 + + should-format@3.0.3: + dependencies: + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + + should-type-adaptors@1.1.0: + dependencies: + should-type: 1.4.0 + should-util: 1.0.1 + + should-type@1.4.0: {} + + should-util@1.0.1: {} + + should@13.2.3: + dependencies: + should-equal: 2.0.0 + should-format: 3.0.3 + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + should-util: 1.0.1 + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + sitemap@7.1.2: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + slugify@1.6.6: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + + sort-css-media-queries@2.2.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.4.1 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.4.1 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + sprintf-js@1.0.3: {} + + srcset@4.0.0: {} + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + std-env@3.9.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-to-js@1.1.17: + dependencies: + style-to-object: 1.0.9 + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.9: + dependencies: + inline-style-parser: 0.2.4 + + stylehacks@6.1.1(postcss@8.5.6): + dependencies: + browserslist: 4.25.1 + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.2.2 + css-tree: 2.3.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + + swagger2openapi@7.0.8: + dependencies: + call-me-maybe: 1.0.2 + node-fetch: 2.7.0 + node-fetch-h2: 2.3.0 + node-readfiles: 0.2.0 + oas-kit-common: 1.0.8 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + oas-validator: 5.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + + tapable@2.2.2: {} + + terser-webpack-plugin@5.3.14(webpack@5.100.2): + dependencies: + '@jridgewell/trace-mapping': 0.3.29 + jest-worker: 27.5.1 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + terser: 5.43.1 + webpack: 5.100.2 + + terser@5.43.1: + dependencies: + '@jridgewell/source-map': 0.3.10 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + thunky@1.1.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + tinypool@1.1.1: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-interface-checker@0.1.13: {} + + tslib@2.8.1: {} + + type-fest@0.21.3: {} + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@5.6.3: {} + + undici-types@7.8.0: {} + + undici@7.12.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unified@10.1.2: + dependencies: + '@types/unist': 2.0.11 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 5.3.7 + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + unist-util-generated@2.0.1: {} + + unist-util-is@5.2.1: + dependencies: + '@types/unist': 2.0.11 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@4.0.4: + dependencies: + '@types/unist': 2.0.11 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@3.0.3: + dependencies: + '@types/unist': 2.0.11 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@5.1.3: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 5.2.1 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@4.1.2: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.1.3(browserslist@4.25.1): + dependencies: + browserslist: 4.25.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.4.1 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.7.2 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + + uri-js-replace@1.0.1: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.100.2))(webpack@5.100.2): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.100.2 + optionalDependencies: + file-loader: 6.2.0(webpack@5.100.2) + + url@0.11.4: + dependencies: + punycode: 1.4.1 + qs: 6.13.0 + + use-editable@2.3.3(react@19.1.0): + dependencies: + react: 19.1.0 + + util-deprecate@1.0.2: {} + + util@0.10.4: + dependencies: + inherits: 2.0.3 + + utila@0.4.0: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + uvu@0.5.6: + dependencies: + dequal: 2.0.3 + diff: 5.2.0 + kleur: 4.1.5 + sade: 1.8.1 + + validate.io-array@1.0.6: {} + + validate.io-function@1.0.2: {} + + validate.io-integer-array@1.0.0: + dependencies: + validate.io-array: 1.0.6 + validate.io-integer: 1.0.5 + + validate.io-integer@1.0.5: + dependencies: + validate.io-number: 1.0.3 + + validate.io-number@1.0.3: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vfile-location@4.1.0: + dependencies: + '@types/unist': 2.0.11 + vfile: 5.3.7 + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@3.1.4: + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position: 3.0.3 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@5.3.7: + dependencies: + '@types/unist': 2.0.11 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + warning@4.0.3: + dependencies: + loose-envify: 1.4.0 + + watchpack@2.4.4: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-namespaces@2.0.1: {} + + webidl-conversions@3.0.1: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.15.0 + acorn-walk: 8.3.4 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-dev-middleware@5.3.4(webpack@5.100.2): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.3.2 + webpack: 5.100.2 + + webpack-dev-server@4.15.2(debug@4.4.1)(webpack@5.100.2): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.23 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.8 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.21.2 + graceful-fs: 4.2.11 + html-entities: 2.6.0 + http-proxy-middleware: 2.0.9(@types/express@4.17.23)(debug@4.4.1) + ipaddr.js: 2.2.0 + launch-editor: 2.10.0 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.100.2) + ws: 8.18.3 + optionalDependencies: + webpack: 5.100.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-merge@6.0.1: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.3.3: {} + + webpack@5.100.2: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.25.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.2 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.2 + tapable: 2.2.2 + terser-webpack-plugin: 5.3.14(webpack@5.100.2) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + webpackbar@6.0.1(webpack@5.100.2): + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + consola: 3.4.2 + figures: 3.2.0 + markdown-table: 2.0.0 + pretty-time: 1.1.0 + std-env: 3.9.0 + webpack: 5.100.2 + wrap-ansi: 7.0.0 + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wildcard@2.0.1: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.10: {} + + ws@8.18.3: {} + + xdg-basedir@5.1.0: {} + + xml-formatter@2.6.1: + dependencies: + xml-parser-xo: 3.2.0 + + xml-js@1.6.11: + dependencies: + sax: 1.4.1 + + xml-parser-xo@3.2.0: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml-ast-parser@0.0.43: {} + + yaml@1.10.2: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@1.2.1: {} + + zwitch@2.0.4: {} diff --git a/self-hosting/govern/authentication.mdx b/self-hosting/govern/authentication.mdx deleted file mode 100644 index 1ca7bd8..0000000 --- a/self-hosting/govern/authentication.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title : Overview -description: Plane offers several methods you can choose from to let your users log in to your Plane instance. Configure these methods in `Authentication` on `/god-mode` of your instance. ---- -{/* ## Restrict sign-ups to invited users - -To ensure only specific users can sign up and use Plane, you can toggle on `Allow sign up by invite only` which prevents users without invites from signing up. */} - -## Authentication methods - -### Unique code - -Plane lets your users log in with codes sent over email. This is disabled if SMTP is not configured for your instance. See [Communication](https://app.plane.so/plane/projects/e3ea12b0-62e3-4b8d-8ada-3379f4efc563/pages/e83af23e-b120-47b0-b241-2bee39037505) to set up SMTP if you wish to enable unique codes. - -### Passwords - -Your users can log in with passwords that they or you set for them. This is toggled on when SMTP isn't configured for your instance. Disable it if you would like to use another authentication method below. diff --git a/self-hosting/govern/github-oauth.mdx b/self-hosting/govern/github-oauth.mdx deleted file mode 100644 index f5e141d..0000000 --- a/self-hosting/govern/github-oauth.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Github OAuth ---- - -Plane also supports GitHub OAuth so your users can sign-in with GitHub instead. - -## Configure Plane as an OAuth app on GitHub - -1. Log in to your [GitHub account](https://github.com/). -2. Click your profile's avatar and navigate to **Settings.** -3. Click **Developer Settings** and then **OAuth Apps**. - ![](/images/authentication/github/github-auth-1.png) -4. Click **Register a new application**. -5. Configure the following OAuth credentials for your Plane app. - 1. **Homepage URL**\ - The domain, with HTTPS, on which you host Plane, e.g., `https://app.plane.so` - 2. **Authorization Callback URL**\ - Append the path that users should be redirected to after they have authenticated with GitHub. e.g., `https:////auth/github/callback/` and `https:///auth/mobile/github/callback/` where `` is your self-hosted instance's domain. -6. Click `Register application` to save it. - ![](/images/authentication/github/github-auth-2.png) -7. Find the app you just registered and click through to find the client ID and the client secret. You will need this for the next steps. - -## Configure Plane - -1. Go to `GitHub` on the Authentication screen of `/god mode`. -2. Add the client ID + the client secret from the GitHub app you just registered. -3. Click `Save `. - -Your Plane instance should now work with GitHub sign-in. diff --git a/self-hosting/govern/google-oauth.mdx b/self-hosting/govern/google-oauth.mdx deleted file mode 100644 index 8f1183b..0000000 --- a/self-hosting/govern/google-oauth.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Google OAuth ---- - -Plane already ships with out-of-the-box support for Google OAuth. This is the easiest option to configure for Google Workspace users. - -## Configure Plane as an app on Google API Console - -First, you will need to identify Plane as an approved OAuth app to Google. - -1. Go to the [Google API console](https://console.cloud.google.com/apis) and create a new project. -2. Navigate to the **OAuth consent screen** under **APIs & Services**. Choose how you want to configure and register the Plane app, including your target users, and click **Create**. - ![](/images/authentication/google/google-auth-1.png) -3. Configure the OAuth consent screen with information about the app. - ![](/images/authentication/google/google-auth-2.png) -4. Navigate to the **Credentials** screen, click **Create Credentials**, and select **OAuth client ID** from the options given. - ![](/images/authentication/google/google-auth-3.png) -5. Select **Web application** under the **Application type** dropdown list. Update the following fields. - 1. **Authorized JavaScript origins**\ - The HTTP origins that host your web application, e.g., `https://app.plane.so` - 2. **Authorized redirect URIs**\ - Append the path that users should be redirected to after they have authenticated with Google. `https:///auth/google/callback` and `https:///auth/mobile/google/callback/` where `` is your self-hosted instance's domain. - 3. Click **Create**. - 4. Get the Client ID and Client secret under **OAuth 2.0 Client IDs** on the **Credentials** screen. - ![](/images/authentication/google/google-auth-4.png) - -## Configure Plane - -1. Go to `Google` on the Authentication screen of `/god mode`. -2. Add the client ID + the client secret from Google API Console. -3. Click `Save `. - -Your Plane instance should now work with `Sign in with Google`. - - -We don't restrict domains in with Google OAuth yet. It's on our roadmap. diff --git a/self-hosting/govern/integrations/github.mdx b/self-hosting/govern/integrations/github.mdx deleted file mode 100644 index 926f2a4..0000000 --- a/self-hosting/govern/integrations/github.mdx +++ /dev/null @@ -1,258 +0,0 @@ ---- -title : Configure GitHub App for Plane integration -sidebarTitle: GitHub ---- - -This guide walks you through setting up a GitHub App to enable GitHub integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for GitHub, you’ll need to set up the necessary authentication, permissions, and webhooks to ensure smooth integration. - -This guide covers configuration for both: - -- **[GitHub Cloud](/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app)** -The standard cloud-hosted GitHub service - -- **[GitHub Enterprise Server](/self-hosting/govern/integrations/github?edition=github-enterprise#create-github-app)** -Self-hosted GitHub instances for organizations with specific compliance or security requirements - -In this guide, you’ll: -1. [Create and configure a GitHub App](/self-hosting/govern/integrations/github#create-github-app) -2. [Set up permissions and events](/self-hosting/govern/integrations/github#set-up-permissions-and-events) -3. [Configure your Plane instance](/self-hosting/govern/integrations/github#configure-plane-instance) - - -**Activate GitHub integration** - -After creating and configuring the GitHub app and configuring the instance as detailed on this page, you'll need to [setup the GitHub integration](https://docs.plane.so/integrations/github) within Plane. - - -## Create GitHub App - -To configure GitHub integration, you'll need to create a GitHub App within your organization. - - - - 1. Go to **Settings \> Developer Settings \> GitHub Apps** in your GitHub organization. - - 2. Click **New GitHub App**. - ![Create GitHub App](/images/integrations/github/create-github-app.webp) - - 3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**. - ![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp) - - 4. In the **Identifying and authorizing users** section, add the following **Callback URLS**. - - ```bash - https:///silo/api/github/auth/callback - https:///silo/api/github/auth/user/callback - ``` - - These URLs allow Plane to verify and enable workspace connection with the Github App. - ![Add Callback URL](/images/integrations/github/add-callback-url.webp) - -5. In the **Post installation** section, add the below **Setup URL**. - - ```bash - https:///silo/api/github/auth/callback - ``` - - Redirects users to this URL after GitHub app installation. - ![Add setup URL](/images/integrations/github/add-setup-url.webp) - - 6. Turn on **Redirect on update**. - - 7. In the **Webhook** section, add the below **Webhook URL**. - - ```bash - https:///silo/api/github/github-webhook - ``` - - This allows Plane to receive updates from GitHub repositories. - - ![Add Webhook URL](/images/integrations/github/add-webhook-url.webp) - - - - -1. Go to **Settings \> Developer Settings \> GitHub Apps** in your GitHub organization. - - 2. Click **New GitHub App**. - ![Create GitHub App](/images/integrations/github/create-github-app.webp) - - 3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**. - ![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp) - - 4. In the **Identifying and authorizing users** section, add the following **Callback URLS**. - - **For Plane cloud instance** - - ```bash - https://silo.plane.so/api/oauth/github-enterprise/auth/callback - https://silo.plane.so/api/oauth/github-enterprise/auth/user/callback - ``` - - **For Plane self-hosted instance** - - ```bash - https:///silo/api/oauth/github-enterprise/auth/callback - https:///silo/api/oauth/github-enterprise/auth/user/callback - ``` - - These URLs allow Plane to verify and enable workspace connection with the Github App. - ![Add Callback URL](/images/integrations/github/add-callback-url.webp) - - 5. In the **Post installation** section, add the below **Setup URL**. - - **For Plane cloud instance** - ```bash - https://silo.plane.so/api/oauth/github-enterprise/auth/callback - ``` - - **For Plane self-hosted instance** - - ```bash - https:///silo/api/oauth/github-enterprise/auth/callback - ``` - Redirects users to this URL after GitHub app installation. - ![Add setup URL](/images/integrations/github/add-setup-url.webp) - - 6. Turn on **Redirect on update**. - - 7. In the **Webhook** section, add the below **Webhook URL**. - - **For Plane cloud instance** - ```bash - https://silo.plane.so/api/github-enterprise/github-webhook - ``` - - **For Plane self-hosted instance** - - ```bash - https:///silo/api/github-enterprise/github-webhook - ``` - This allows Plane to receive updates from GitHub repositories. - - ![Add Webhook URL](/images/integrations/github/add-webhook-url.webp) - - - - -### Set up permissions and events - -1. Add repository and account permissions by setting the **Access** dropdown next to each permission, as shown in the tables below. - ![Setup permissions](/images/integrations/github/setup-permissions.webp) - - **Repository permissions** - - |Permission           |Access level    |Purpose| - |---------|---------------------|-----------| - |Commit statuses|Read-only|Allows the GitHub app to read and update commit statuses, indicating whether a commit has passed checks (e.g., CI/CD pipelines).| - |Contents|Read and write|Grants access to read and modify repository contents, including reading files, creating commits, and updating files.| - |Issues|Read and write|Enables reading, creating, updating, closing, and commenting on issues within the repository.| - |Merge queues|Read-only|Allows interaction with merge queues to manage the order of pull request merges.| - |Metadata|Read-only|Provides read-only access to repository metadata, such as its name, description, and visibility.| - |Pull requests|Read and write|Allows reading, creating, updating, merging, and commenting on pull requests.| - - **Account permissions** - - |Permission          |Access level    |Purpose| - |---------|------------|-----------| - |Email addresses|Read-only|Grants access to users' email addresses, typically for notifications or communication.| - |Profile|Read and write|Enables access to user profile details like name, username, and avatar.| - - -2. In the **Subscribe to events** section, turn on all the required events below. - - ![Subscribe to events](/images/integrations/github/subscribe-to-events.webp) - - |Event                                            |Purpose| - |---------|------------| - |Installation target| This is where the repositories or organizations where your GitHub App is installed. This determines which repositories Plane can sync with.| - |Meta|Includes metadata about the app's configuration and setup. This is essential for maintaining integration stability.| - |Issue comment| Triggers when a comment is added, edited, or deleted on an issue. Useful for keeping comments synced between Plane and GitHub.| - |Issues|Triggers when an issue is created, updated, closed, reopened, assigned, labeled, or transferred. Ensures issue status and details remain consistent between Plane and GitHub.| - |Pull request|Fires when a pull request is opened, closed, merged, edited, or labeled. Essential for tracking development progress.| - |Pull request review|Activates when a review is submitted, edited, or dismissed. Keeps review activities aligned between Plane and GitHub.| - |Pull request review comment|Fires when a review comment is added, modified, or removed. Ensures feedback is reflected across both platforms.| - |Pull request review thread|Triggers when a review discussion thread is resolved or reopened. Helps maintain visibility on code review discussions.| - |Push|Activates when new commits are pushed to a repository. Useful for tracking code updates and changes.| - |Repository sub issues|Tracks issues within a repository that are linked to or managed by another issue. Ensures accurate synchronization of related issues.| - -3. Click the **Create GitHub App** button at the bottom of the page. - -## Configure Plane instance - - - -1. Go back to **Settings \> Developer Settings \> GitHub Apps**. - -2. Click **Edit** on the GitHub you created. - -3. In the **General** tab, under the **Client secrets** section, click **Generate a new client secret**. - - ![General tab](/images/integrations/github/general-tab.webp) - -4. Scroll down to the **Private keys** section. - - ![Private keys](/images/integrations/github/private-keys.webp) - -5. Click **Genereate a private key**. - -6. Retrieve the following details from the **General** tab: - - App ID - - Client ID - - Client secret - - GitHub App name - - Private key - -7. Before adding the Private key as an environment variable, you’ll need to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64: - - ```bash - cat private_key.pem | base64 -w 0 - ``` - -8. Add these environment variables with the values to your Plane instance's `.env` file. - - ```bash - GITHUB_CLIENT_ID= - GITHUB_CLIENT_SECRET= - GITHUB_APP_NAME= - GITHUB_APP_ID= - GITHUB_PRIVATE_KEY= - ``` - -9. Save the file and restart the instance. - -10. Once you've completed the instance configuration, [activate the GitHub integration in Plane](https://docs.plane.so/integrations/github). - - - - - -1. Go back to **Settings \> Developer Settings \> GitHub Apps**. - -2. Click **Edit** on the GitHub you created. - -3. In the **General** tab, under the **Client secrets** section, click **Generate a new client secret**. - - ![General tab](/images/integrations/github/general-tab.webp) - -4. Scroll down to the **Private keys** section. - - ![Private keys](/images/integrations/github/private-keys.webp) - -5. Click **Generate a private key**. - -6. Retrieve the following details from the **General** tab: - - App ID - - App Slug (You can find this in browser url) - - Client ID - - Client secret - - Private key - -7. Convert the Private key to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64: - ```bash - cat private_key.pem | base64 -w 0 - ``` - -8. Once you've created the app, [activate the GitHub Enterprise integration in Plane](https://docs.plane.so/integrations/github?edition=github-enterprise#connect-github-organization). - - diff --git a/self-hosting/govern/integrations/slack.mdx b/self-hosting/govern/integrations/slack.mdx deleted file mode 100644 index 407bc35..0000000 --- a/self-hosting/govern/integrations/slack.mdx +++ /dev/null @@ -1,304 +0,0 @@ ---- -title : Configure Slack App for Plane integration -sidebarTitle: Slack ---- - -This guide walks you through setting up a Slack App to enable Slack integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for Slack, you’ll need to set up the necessary authentication, permissions, and event subscriptions to ensure seamless communication between Plane and Slack. - -In this guide, you’ll: -1. [Create and configure a Slack App](/self-hosting/govern/integrations/slack#create-slack-app) -2. [Configure your Plane instance](/self-hosting/govern/integrations/slack#configure-plane-instance) - - -**Activate Slack integration** - -After creating and configuring the Slack app and configuring the instance as detailed on this page, you'll need to [set up the Slack integration](https://docs.plane.so/integrations/slack) within Plane. - - -## Create Slack App - -To configure Slack integration, you'll need to create a Slack App within your organization. Follow these steps: - -1. Go to [Your Apps](https://api.slack.com/apps) on Slack. - -2. Click **Create an App**. - ![Create Slack App](/images/integrations/slack/create-slack-app.webp) - -3. Choose **From a manifest**. - ![Choose Manifest](/images/integrations/slack/choose-from-manifest.webp) - -4. Select the workspace where you want the app installed. - -5. Remove the default manifest and paste the one below, making sure to update the placeholders with your actual values. - ![Manifest](/images/integrations/slack/app-from-manifest.webp) - - - ```json - { - "display_information": { - "name": "[YOUR_APP_NAME]", - "description": "[YOUR_APP_DESCRIPTION]", - "background_color": "#224dab" - }, - "features": { - "bot_user": { - "display_name": "[YOUR_APP_NAME]", - "always_online": false - }, - "shortcuts": [ - { - "name": "Create new issue", - "type": "message", - "callback_id": "issue_shortcut", - "description": "Create a new issue in plane" - }, - { - "name": "Link Work Item", - "type": "message", - "callback_id": "link_work_item", - "description": "Links thread with an existing work item" - } - ], - "slash_commands": [ - { - "command": "/plane", - "url": "https://[YOUR_DOMAIN]silo/api/slack/command/", - "description": "Create issue in Plane", - "should_escape": false - } - ], - "unfurl_domains": [ - "[YOUR_DOMAIN]" - ] - }, - "oauth_config": { - "redirect_urls": [ - "https://[YOUR_DOMAIN]silo/api/slack/team/auth/callback/", - "https://[YOUR_DOMAIN]silo/api/slack/user/auth/callback/" - ], - "scopes": { - "user": [ - "chat:write", - "identify", - "im:read", - "im:write", - "links:write", - "links:read" - ], - "bot": [ - "channels:join", - "channels:read", - "users:read", - "users:read.email", - "chat:write", - "chat:write.customize", - "channels:history", - "groups:history", - "mpim:history", - "im:history", - "links:read", - "links:write", - "groups:read", - "im:read", - "mpim:read", - "reactions:read", - "reactions:write", - "files:read", - "files:write", - "im:write", - "commands" - ] - } - }, - "settings": { - "event_subscriptions": { - "request_url": "https://[YOUR_DOMAIN]silo/api/slack/events", - "bot_events": [ - "link_shared", - "message.channels", - "message.im" - ] - }, - "interactivity": { - "is_enabled": true, - "request_url": "https://[YOUR_DOMAIN]silo/api/slack/action/", - "message_menu_options_url": "https://[YOUR_DOMAIN]silo/api/slack/options/" - }, - "org_deploy_enabled": false, - "socket_mode_enabled": false, - "token_rotation_enabled": true - } - } - ``` - - - - ```yaml - display_information: - name: [YOUR_APP_NAME] - description: [YOUR_APP_DESCRIPTION] - background_color: "#224dab" - features: - bot_user: - display_name: [YOUR_APP_NAME] - always_online: false - shortcuts: - - name: Create new issue - type: message - callback_id: issue_shortcut - description: Create a new issue in plane - - name: Link Work Item - type: message - callback_id: link_work_item - description: Links thread with an existing work item - slash_commands: - - command: /plane - url: https://[YOUR_DOMAIN]silo/api/slack/command/ - description: Create issue in Plane - should_escape: false - unfurl_domains: - - [YOUR_DOMAIN] - oauth_config: - redirect_urls: - - https://[YOUR_DOMAIN]silo/api/slack/team/auth/callback/ - - https://[YOUR_DOMAIN]silo/api/slack/user/auth/callback/ - scopes: - user: - - chat:write - - identify - - im:read - - im:write - - links:write - - links:read - bot: - - channels:join - - channels:read - - users:read - - users:read.email - - chat:write - - chat:write.customize - - channels:history - - groups:history - - mpim:history - - im:history - - links:read - - links:write - - groups:read - - im:read - - mpim:read - - reactions:read - - reactions:write - - files:read - - files:write - - im:write - - commands - settings: - event_subscriptions: - request_url: https://[YOUR_DOMAIN]silo/api/slack/events - bot_events: - - link_shared - - message.channels - - message.im - interactivity: - is_enabled: true - request_url: https://[YOUR_DOMAIN]silo/api/slack/action/ - message_menu_options_url: https://[YOUR_DOMAIN]silo/api/slack/options/ - org_deploy_enabled: false - socket_mode_enabled: false - token_rotation_enabled: true - ``` - - - -6. Review the permissions and click **Create**. - ![Review summary](/images/integrations/slack/review-summary.webp) - -### Manifest reference - -The manifest file defines the configuration for integrating Plane with Slack. It requests access to several features, enabling Plane to interact with Slack efficiently. - -#### Features - -| Feature | Explanation | -| --- | --- | -| `bot_user` | Required to send thread messages while syncing issues or sending Plane notifications to Slack.| -| `slack_commands` | A Slack command (`/plane`) allows users to create issues directly from Slack using a slash command. | -| `shortcuts` | After activation, users can create issues from messages inside Slack.| -| `unfurl_domain` | Specifies the domain where Plane is hosted. When an issue, cycle, or module link is pasted in Slack, it generates a preview of the entity. | - -#### Variables - -|Variable|Explanation| -|------------|--------| -|`YOUR_DOMAIN`|The domain where Plane is hosted. This is required for sending webhook events and authentication callbacks.| -|`YOUR_APP_NAME`|The name you want to give your Slack app. "Plane" is a good default option.| -|`YOUR_APP_DESCRIPTION`|A short description of your Slack app’s purpose.| - -#### Event subscription - -For thread sync and link unfurling to work, event subscriptions must be enabled. These events send relevant activity to Plane. - -| Bot event | Explanation | -| --- | --- | -| `link_shared` | When a link is shared in Slack and its hostname matches `unfurl_domain`, Plane receives the event and generates a preview of the entity. | -| `message_channels` | When a message is posted in a channel, an event is triggered in Plane to support thread sync. | -| `message_im` | When a direct message (DM) is posted, an event is triggered in Plane to support thread sync. | - -#### User permissions - -| Permission | Explanation | -| --- | --- | -| `chat:write` | Allows the bot to send messages in channels and conversations it is a member of. | -| `identify` | Allows the bot to verify its own identity and retrieve basic information. | -| `im:read` | Enables the bot to view direct messages (DMs) where it has been added. | -| `im:write` | Allows the bot to send direct messages (DMs) to users. | -| `links:write` | Permits the bot to add, edit, and remove link unfurls. | -| `links:read` | Allows the bot to view link unfurls and associated metadata. | - -#### Bot permissions - -| Permission | Explanation | -| --- | --- | -| `channels:join` | Allows the bot to join public channels. | -| `channels:read` | Permits viewing public channel information and members. | -| `users:read` | Allows viewing user information and presence status. | -| `users:read.email` | Enables access to users' email addresses. | -| `chat:write` | Allows sending messages in channels and conversations. | -| `chat:write.customize` | Enables customization of the bot's name and profile when sending messages. | -| `channels:history` | Allows viewing message history in public channels. | -| `groups:history` | Permits viewing message history in private channels. | -| `mpim:history` | Enables access to message history in multi-person direct messages. | -| `im:history` | Allows viewing message history in direct messages. | -| `links:read` | Permits viewing link unfurls and associated metadata. | -| `links:write` | Allows adding, editing, and removing link unfurls. | -| `groups:read` | Enables viewing private channel information and members. | -| `im:read` | Allows viewing direct messages where the bot is added. | -| `mpim:read` | Permits viewing multi-person direct messages. | -| `reactions:read` | Enables viewing emoji reactions on messages. | -| `reactions:write` | Allows adding and removing emoji reactions. | -| `files:read` | Permits viewing and downloading files. | -| `files:write` | Enables uploading, editing, and deleting files. | -| `im:write` | Allows sending direct messages to users. | -| `commands` | Enables the bot to add and respond to slash commands. | - -## Configure Plane instance -After creating your Slack app, follow these steps: - -1. Go to the **Event Subscriptions** tab. - -2. Click **Retry** to verify your event subscription URL. - ![Event subscriptions](/images/integrations/slack/event-subscriptions.webp) - -3. Navigate to the **Basic Information** tab on Slack to find your `client_id` and `client_secret`. - -4. Add these environment variables with the values to your Plane instance's `.env` file. - ```bash - SLACK_CLIENT_ID= - SLACK_CLIENT_SECRET= - ``` -5. Save the file and restart the instance. - -6. Once you've completed the instance configuration, [activate the Slack integration in Plane](https://docs.plane.so/integrations/slack). - - - diff --git a/self-hosting/manage/backup-restore.mdx b/self-hosting/manage/backup-restore.mdx deleted file mode 100644 index 7c5ecc6..0000000 --- a/self-hosting/manage/backup-restore.mdx +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Backup and restore data -sidebarTitle: Backup and restore ---- - -Backing up your data regularly helps prevent data loss and allows you to restore your system quickly if necessary. Follow these instructions to back up and restore your data using Plane’s command-line interface. - -## Backup data - -Create a backup of your Plane data with ↓: -```bash -sudo prime-cli backup -``` - -This command initiates a full backup of all critical data, storing it in the default backup location at: -```bash -/opt/plane/backups -``` -Each backup file will be timestamped to ensure you can easily identify the latest or a specific backup if needed. - -## Backup plane.env -If you need to back up only the `plane.env` file, you'll need to do it manually. Here’s how: - -1. Navigate to the `/opt/plane` folder on your machine or server where Plane is installed.. -2. Locate the `plane.env` file. -3. Copy this file to a different location as a backup, so you can restore it if needed. - - -## Restore data - -You can restore your data from a previous backup with ↓: -```bash -sudo prime-cli restore -``` - -This command prompts the restoration process, which will overwrite the current data with the data from the most recent backup file. Ensure you have selected the correct backup before running this command, as restoring will replace your current data. - - - -## Backup data - -To create a backup, start by running the setup script: -```bash -./setup.sh -``` -You’ll see a menu of options—just type 7 to select "Backup Data." - -``` -Select an Action you want to perform: - 1) Install (x86_64) - 2) Start - 3) Stop - 4) Restart - 5) Upgrade - 6) View Logs - 7) Backup Data - 8) Exit - -Action [2]: 7 -``` -The system will start backing up the PostgreSQL, Redis, and upload data: - -``` -Backing Up plane-app_pgdata -Backing Up plane-app_redisdata -Backing Up plane-app_uploads - -Backup completed successfully. Backup files are stored in /....../plane-app/backup/20240502-1120 -``` -The backup files are stored locally, so you can copy them to an external storage service if needed for extra security. - -## Backup plane.env -If you need to back up only the `plane.env` file, you'll need to do it manually. Here’s how: - -1. Navigate to the folder on your machine or server where Plane is installed.. -2. Locate the `plane.env` file. -3. Copy this file to a different location as a backup, so you can restore it if needed. - -*** - -## Restore data -Follow these steps to restore data from a backup: - -1. Make sure Plane-CE is installed and started, then stop it. This ensures the necessary Docker volumes are ready. - -2. Use the command ↓ to download the restore script. It’s easiest to save it in the same directory as `setup.sh`. - - ```bash - curl -fsSL -o restore.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/restore.sh - chmod +x restore.sh - ``` - -3. Now, run the command ↓ to restore your data, specifying the path to your backup folder (the folder with the `*.tar.gz` files): - - ```bash - ./restore.sh - ``` - - Here’s an example output for restoring from /opt/plane-selfhost/plane-app/backup/20240722-0914: - - ```bash - -------------------------------------------- - ____ _ ///////// - | _ \| | __ _ _ __ ___ ///////// - | |_) | |/ _` | '_ \ / _ \ ///// ///// - | __/| | (_| | | | | __/ ///// ///// - |_| |_|\__,_|_| |_|\___| //// - //// - -------------------------------------------- - Project management tool from the future - -------------------------------------------- - Found /opt/plane-selfhost/plane-app/backup/20240722-0914/pgdata.tar.gz - .....Restoring plane-app_pgdata - .....Successfully restored volume plane-app_pgdata from pgdata.tar.gz - - Found /opt/plane-selfhost/plane-app/backup/20240722-0914/redisdata.tar.gz - .....Restoring plane-app_redisdata - .....Successfully restored volume plane-app_redisdata from redisdata.tar.gz - - Found /opt/plane-selfhost/plane-app/backup/20240722-0914/uploads.tar.gz - .....Restoring plane-app_uploads - .....Successfully restored volume plane-app_uploads from uploads.tar.gz - - - Restore completed successfully. - ``` - -4. Start your Plane instance again with ↓: - ```bash - ./setup.sh start - ``` - -That’s it! You’re back up and running with your restored data. - - \ No newline at end of file diff --git a/self-hosting/methods/airgapped-edition.mdx b/self-hosting/methods/airgapped-edition.mdx deleted file mode 100644 index 9c1a4ad..0000000 --- a/self-hosting/methods/airgapped-edition.mdx +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: Deploy Plane Commercial in an Airgapped Docker Environment -sidebarTitle: For Docker ---- - -This guide walks you through setting up the Commercial Airgapped Edition in an offline environment using our pre-packaged installation bundle. - -**IMPORTANT** -These instructions are for new installations only. If you're migrating from an existing Community Edition to an air-gapped setup, follow [this guide](/self-hosting/manage/community-to-airgapped). - - -## Prerequisites -Before we get started, make sure your air-gapped machine has: - -- Docker (version 24 or later) up and running -- Docker Compose Plugin installed (you should be able to run `docker compose` or `docker-compose`) -- The Plane air-gapped package we provide includes: - - Docker image files (`.tar` format) - - Configuration files (`docker-compose.yml` and `plane.env`) - - Installation script (`install.sh`) - -### Required files - -- `docker-compose.yml` - Docker Compose configuration for service orchestration -- `plane.env` - Default configuration file containing environment variables -- `admin-commercial-.tar` - Docker image for admin service -- `backend-commercial-.tar` - Docker image for api/worker/beat-worker/migrator service -- `email-commercial-.tar` - Docker image for email service -- `live-commercial-.tar` - Docker image for live service -- `monitor-commercial-.tar` - Docker image for monitor service -- `proxy-commercial-.tar` - Docker image for plane-proxy service -- `silo-commercial-.tar` - Docker image for silo service -- `space-commercial-.tar` - Docker image for space service -- `web-commercial-.tar` - Docker image for web service -- `minio-latest.tar` - Docker image for plane-minio service -- `postgres-15.7-alpine.tar` - Docker image for plane-db service -- `rabbitmq-3.13.6-management-alpine.tar` - Docker image for plane-mq service -- `valkey-7.2.5-alpine.tar` - Docker image for plane-redis service - -## Install Plane -1. Get in touch with sales@plane.so to get your installation download URL and the license file. - -2. On a machine that has internet access, download the installation package: - - ```bash - curl -LO - ``` - - The download may take 15 minutes. Once the file is downloaded you no longer need internet access. - -3. Transfer the `airgapped-{arch}.tar.gz` file to your air-gapped machine. - -4. Once you have the file on your air-gapped machine, extract the package. - - ```bash - mkdir -p airgapped - tar -xvzf airgapped-amd64.tar.gz -C airgapped - cd airgapped - ``` - - The airgapped directory contains your `plane.env`, `docker-compose.yml`, and `install.sh` files which are used in the following steps. - -5. Run the installation script: - ```bash - bash install.sh - ``` - - The script will guide you through the process step by step. Here's what to expect: - - ```bash - ********************************************************** - You are about to install/upgrade Plane as airgapped setup - - Pre-requisites: - - - Docker installed and running - - Docker version 24 or higher - - docker-compose or docker compose installed - - A tarball of all the images - - A docker-compose.yml file (docker-compose.yml) - - A plane.env file (plane.env) - ********************************************************** - - Enter the directory to install Plane (default: /home/ubuntu/planeairgapped): - - Enter the domain or ip address to access Plane (default: 127.0.0.1): plane.mycompany.com - - ********************************************************** - Verify the final configuration: - - Setup Directory: /home/ubuntu/planeairgapped - - App Domain: plane.mycompany.com - - Installation Type: New - ********************************************************** - ``` - - Once you confirm your settings, the installer will: - - Copy the `docker-compose.yml` and `plane.env` files to your chosen installation directory. - - Create the necessary folders for data and logs. - - Load all the Docker images into your local Docker registry. - - You'll see something like this when the installation completes: - ```bash - ********************************************************** - Plane Setup is ready to configure and start - - Use below commands to configure and start Plane - Switch to the setup directory - cd /home/ubuntu/planeairgapped - Start the services - docker compose -f docker-compose.yml --env-file plane.env up -d - Check logs of migrator service and wait for it to finish using below command - docker compose logs -f migrator - Check logs of api service and wait for it to start using below command - docker compose logs -f api - Once the api service is started, you can access Plane at http://plane.mycompany.com - ********************************************************** - Installation completed successfully - You can access Plane at http://plane.mycompany.com - ``` - - After installation, your directory structure will look like this: - ```bash - ~/planeairgapped/ - ├── docker-compose.yml - ├── plane.env - ├── data/ - └── logs/ - ``` - -## Environment variables - -The following key environment variables are automatically configured during installation: - -- `MACHINE_SIGNATURE` - A unique UUID generated for your installation -- `DOMAIN_NAME` - The domain or IP address where Plane will be accessible -- `WEB_URL` - The full URL where Plane will be accessible (e.g., `http://your-domain`) -- `CORS_ALLOWED_ORIGINS` - Allowed origins for CORS (Cross-Origin Resource Sharing) - -## Start Plane -1. To get Plane up and running, navigate to your installation directory and start the services: - ```bash - cd ~/planeairgapped - docker compose --env-file plane.env up -d - ``` - -2. Watch the logs to make sure everything starts properly. - - To monitor the database migration process: - ```bash - docker compose logs -f migrator - ``` - - - To monitor the API service startup: - ```bash - docker compose logs -f api - ``` - - The api is healthy when you see`: api-1 listening at` - -Once both services are running smoothly, you can access Plane by opening your browser and going to the domain or IP address you configured during installation. - -## Activate your license - -Once your air-gapped installation is running, you'll need to activate your workspace with the provided license file. - -You should have received the `license_key.json` file as part of your air-gapped package. If you don't have this file, contact our support team. - - -1. Go to your [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#workspace-settings) in the Plane application. -2. Select **Billing and plans** on the right pane. -3. Click the **Activate this workspace** button. - ![Upload license file](/images/activate-license/upload-airgapped-license-file.webp) -4. Upload the license file `license_key.json` to activate your workspace. - -You now have Plane running in your air-gapped environment. If you run into any issues, check the logs using the commands above, or reach out to our support team for assistance. - - -*Optional* -Once everything is working, you can safely delete the `airgapped` folder that contains the installation script and image files to free up space. - \ No newline at end of file diff --git a/self-hosting/methods/docker-compose.mdx b/self-hosting/methods/docker-compose.mdx deleted file mode 100644 index fa40c29..0000000 --- a/self-hosting/methods/docker-compose.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: Docker ---- - -This guide shows you the steps to deploy a self-hosted instance of Plane using Docker. - -If you want to upgrade from Community to the Commercial edition, see [Upgrade to Commercial Edition](/self-hosting/upgrade-from-community). - - -## Install Plane -Plane Pro and Plane Business are enabled on this edition, so the Free plan on this edition is easier to trial our paid plans from. - -### Prerequisites - - - A virtual or on-prem machine with at least 2 vCPUs and 4 GB RAM (8 GB RAM recommended) - - `x64` AKA `AMD 64` or `AArch 64` AKA `ARM 64` CPUs - - Supported operating systems: - - Ubuntu - - Debian - - CentOS - - Amazon Linux 2 or Linux 2023 - - -Ensure you're using the **latest version of Docker Compose**. Check your Docker Compose version with `docker-compose --version` and update if needed. - - -### Procedure - - 1. `ssh` into your machine as the root user (or user with sudo access) per the norms of your hosting provider. - 2. Run the command below: - ``` - curl -fsSL https://prime.plane.so/install/ | sh - - ``` - 3. Follow the instructions on the terminal. Hit `Enter` or `Return` to continue. - 4. Enter the domain name where you will access the Plane app in the format `domain.tld` or `subdomain.domain.tld`. If you are using a paid plan, the domain linked to the license can’t be changed later. - 5. Choose one of the options below: - - **Express**: Plane installs with the default configurations. - - **Advanced**: You can customize the database, Redis, storage and other settings. - - When self-hosting Plane for production use, it is strongly recommended to configure [external database and storage](/self-hosting/govern/database-and-storage). This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. - - 6. The installation will take a few minutes to complete and you will see the message **Plane has successfully installed**. You can access the Plane application on the domain you provided during the installation. - - -If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so/workspaces-and-users/upgrade-plan). - - - - The Commercial edition comes with a free plan and the flexibility to upgrade to a paid plan at any point. If you still want to install the Community edition, follow the steps below: - - ### Prerequisites - - - Docker installed and running. Choose one of the following options: - - **Option 1** - Create an EC2 machine on AWS. It must of minimum **t3.medium/t3a.medium**. Run the below command to install docker engine. - ```bash - curl -fsSL https://get.docker.com | sh - - ``` - - **Option 2** - Install [Docker Desktop](https://www.docker.com/products/docker-desktop/). - - OS with bash scripting enabled (Ubuntu, Linux AMI, macos). Windows systems need to have [gitbash](https://git-scm.com/download/win). - - User context used must have access to docker services. In most cases, use `sudo su` to switch as root user. - - Use the terminal (or gitbash) window to run all the future steps. - - ### Installation - 1. Create a folder named `plane-selfhost` on your machine for deployment and data storage. - - ```bash - mkdir plane-selfhost - ``` - 2. Navigate to this folder using the cd command. - ```bash - cd plane-selfhost - ``` - 3. Download the latest stable release. - ```bash - curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh - ``` - 4. Make the file executable. - ```bash - chmod +x setup.sh - ``` - 5. Run the following command: - ```bash - ./setup.sh - ``` - This will prompt you with the below options. - ```list - Select a Action you want to perform: - 1) Install (arm64) - 2) Start - 3) Stop - 4) Restart - 5) Upgrade - 6) View Logs - 7) Backup Data - 8) Exit - Action [2]: 1 - ``` - 6. Enter `1` as input. - This will create a folder `plane-app` or `plane-app-preview` (in case of preview deployment) and will download the `docker-compose.yaml` and `plane.env` files. - 7. Enter `8` to exit. - 8. Set up the environment variables. You can use any text editor to edit this file. Below are the most importants keys you must refer to: - - `LISTEN_HTTP_PORT`: This is set to `80` by default. Make sure the port you choose to use is not preoccupied. For example, `LISTEN_HTTP_PORT=8080` - - `LISTEN_HTTPS_PORT`: This is set to `443` by default. Make sure the port you choose to use is not preoccupied. For example, `LISTEN_HTTPS_PORT=4430` - - `WEB_URL`: This is set to `http://localhost` by default. Change this to the FQDN you plan to use along with LISTEN_HTTP_PORT. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. - - `CORS_ALLOWED_ORIGINS`: This is set to `http://localhost` by default. Change this to the FQDN you plan to use along with LISTEN_HTTP_PORT. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. - 9. Run the following command to continue with the setup. - ```bash - ./setup.sh - ``` - 10. Enter `2` as input to start the services. - You will something like this: - ![Downloading docker images](/images/docker-compose/download-docker.png) - Be patient as it might take some time based on your download speed and system configuration. If all goes well, you must see something like this: - ![Downloading completed](/images/docker-compose/download-complete.png) - This is the confirmation that all images were downloaded and the services are up and running. - - You have successfully self-hosted the Plane instance. Access the application by going to IP or domain you have configured it on. For example, `https://plane.example.com:8080` or `http://[IP-ADDRESS]:8080`. - - #### Stop server - - In case you want to make changes to the environment variables in the `plane.env` file, we recommend that you stop the services before doing that. - - Run the `./setup.sh` command. Enter `3` to stop the services. - - If all goes well, you will see something like this: - - ![Stop Services](/images/docker-compose/stopped-docker.png) - - #### Restart server - - In case you want to make changes to `plane.env` variables without stopping the server or noticed some abnormalities in services, you can restart the services. - - Run the `./setup.sh` command. Enter `4` to restart the services. - - If all goes well, you will see something like this: - ![Restart Services](/images/docker-compose/restart-docker.png) - - -## Troubleshoot -- [Error during Docker Compose execution](/self-hosting/troubleshoot/installation-errors#error-during-docker-compose-execution) -- [Migrator container exited](/self-hosting/troubleshoot/installation-errors#migrator-container-exited) diff --git a/self-hosting/methods/docker-swarm.mdx b/self-hosting/methods/docker-swarm.mdx deleted file mode 100644 index 349d624..0000000 --- a/self-hosting/methods/docker-swarm.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Deploy Plane with Docker Swarm • Commercial Edition -sidebarTitle: Docker Swarm ---- - -This guide shows you the steps to deploy a self-hosted instance of the Plane Commercial Edition using Docker Swarm. - -## Install Plane - -### Prerequisites - - Before you get started, make sure you have a Docker Swarm environment set up and ready to go. - - Your setup should support either amd64 or arm64 architectures. - -### Procedure - -1. **Download the required depoyment files** - - `swarm-compose.yml` – Defines Plane's services and dependencies. - ```bash - curl -fsSL https://prime.plane.so/releases//swarm-compose.yml -o swarm-compose.yml - ``` - - `variables.env` – Stores environment variables for your deployment. - ```bash - curl -fsSL https://prime.plane.so/releases//variables.env -o plane.env - ``` - - The `` value should be v1.8.3 or higher. - - -2. **Configure environment variables** - Before deploying, edit the `variables.env` file in your preferred text editor and update the following values: - - - `DOMAIN_NAME` – (required) Your application's domain name. - - `SITE_ADDRESS` – (required) The full domain name (FQDN) of your instance. - - `MACHINE_SIGNATURE` – (required) A unique identifier for your machine. You can generate this by running below code in terminal: - ```sh - sed -i 's/MACHINE_SIGNATURE=.*/MACHINE_SIGNATURE='$(openssl rand -hex 16)'/' plane.env - ``` - - `CERT_EMAIL` – (optional) Email address for SSL certificate generation (only needed if you're setting up HTTPS). - -3. **Configure external DB, Redis, and RabbitMQ** - - When self-hosting Plane for production use, it is strongly recommended to configure external database and storage. This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption. - - - `DATABASE_URL` – Connection string for your external database. - - `REDIS_URL` – Connection string for your external Redis instance. - - `AMQP_URL` – Connection string for your external RabbitMQ server. - - -3. **Load the environment variables** - ```bash - set -o allexport; source ; set +o allexport; - ``` - -4. **Deploy the stack** - ```bash - docker stack deploy -c plane - ``` - -That's it! This will deploy Plane as a Swarm stack, and your instance should be accessible on your configured domain. \ No newline at end of file diff --git a/self-hosting/methods/kubernetes.mdx b/self-hosting/methods/kubernetes.mdx deleted file mode 100644 index fff8ac0..0000000 --- a/self-hosting/methods/kubernetes.mdx +++ /dev/null @@ -1,650 +0,0 @@ ---- -title: Kubernetes ---- - -This guide shows you the steps to deploy a self-hosted instance of Plane using Kubernetes. - - -If you want to upgrade from Community to the Commercial edition, see [Upgrade to Commercial Edition](/self-hosting/upgrade-from-community). - - -## Install Plane -Plane Pro and Plane Business are enabled on this edition, so the Free plan on this edition is easier to trial our paid plans from. - -### Prerequisites - - - A working Kubernetes cluster - - `kubectl` and `helm` on the client system that you will use to install our Helm charts - - -Ensure you're using use **Helm chart v1.3.0**. - - - -### Procedure - - 1. Open terminal or any other command-line app that has access to Kubernetes tools on your local system. - 2. Set the following environment variables: - ```bash - PLANE_VERSION=v1.14.1 - ``` - ```bash - DOMAIN_NAME= - ``` - - - When configuring the PLANE_VERSION environment variable, **do not** set it to `stable`. Always specify the latest version number (e.g., `1.8.0`). Using `stable` can lead to unexpected issues. - - - 3. Add the Plane helm chart repo. - - ```bash - helm repo add plane https://helm.plane.so/ - ``` - - 4. Use one of the following ways to deploy Plane: - - **Quick setup**: - This is the fastest way to deploy Plane with the default settings. This will create stateful deployments for Postgres, Redis/Valkey, and Minio with a persistent volume claim using the `longhorn` storage class. This also sets up the Ingress routes for you using `nginx` ingress class. To customize these settings, see the [Custom ingress routes](#custom-ingress-routes). - - Run the following command to deploy Plane: - - ```bash - helm install plane-app plane/plane-enterprise \ - --create-namespace \ - --namespace plane \ - --set license.licenseDomain=${DOMAIN_NAME} \ - --set license.licenseServer=https://prime.plane.so \ - --set planeVersion=${PLANE_VERSION} \ - --set ingress.enabled=true \ - --set ingress.ingressClass=nginx \ - --set env.storageClass=longhorn \ - --timeout 10m \ - --wait \ - --wait-for-jobs - ``` - - - This is the minimum required to set up Plane Commercial edition. You can change the default namespace from `plane`, the default app name from `plane-app`, the default storage class from `longhorn`, and the default ingress class from `nginx` to whatever you would like to.

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

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

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

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

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

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

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

{title}

+

{children}

+ + ); + + return href ? ( +
+ {CardContent} + + ) : ( + CardContent + ); +}; diff --git a/src/components/CardGroup.tsx b/src/components/CardGroup.tsx new file mode 100644 index 0000000..e5888a5 --- /dev/null +++ b/src/components/CardGroup.tsx @@ -0,0 +1,17 @@ +import React from "react"; + +type Style = React.CSSProperties & { + "--cols"?: number | string; +}; + +export const CardGroup = ({ cols, children }) => { + return ( +
+ {React.Children.map(children, (child, index) => ( +
+ {child} +
+ ))} +
+ ); +}; diff --git a/src/components/Tags.tsx b/src/components/Tags.tsx new file mode 100644 index 0000000..a8eaffa --- /dev/null +++ b/src/components/Tags.tsx @@ -0,0 +1,23 @@ +import React from "react"; + +function Tags({ tags }) { + return ( +
+ {tags.map((tag, index) => + tag && tag.name ? ( + + {tag.link ? ( + + {tag.name} + + ) : ( + {tag.name} + )} + + ) : null + )} +
+ ); +} + +export default Tags; diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..216ca05 --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1,3 @@ +export * from "./Card"; +export * from "./CardGroup"; +export * from "./Tags"; diff --git a/src/css/custom.css b/src/css/custom.css new file mode 100644 index 0000000..fee7573 --- /dev/null +++ b/src/css/custom.css @@ -0,0 +1,1122 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +@import './fonts.css'; + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary-lightest: #aad6ee; + --ifm-color-primary-lighter: #7fc2e6; + --ifm-color-primary-light: #55addd; + --ifm-color-primary: #006399; + --ifm-color-primary-dark: #2892cc; + --ifm-color-primary-darker: #195c80; + --ifm-color-primary-darkest: #113d55; + --ifm-code-font-size: 95%; + --ifm-font-family-base: 'Nacelle', system-ui, -apple-system, sans-serif; + --ifm-heading-font-family: 'Nacelle', system-ui, -apple-system, sans-serif; + --ifm-font-family-monospace: 'IBM Mono'; + --plane-text-color: rgb(255, 255, 255, 0.87); + --color-neutral-400: oklch(71.7% .0116 230.89); + --color-neutral-500: oklch(58.24% .0161 231.06); + --color-neutral-600: oklch(47.52% .0127 231.05); + --color-brand-25: oklch(98.54% .0085 230.78); + --color-brand-50: oklch(97.09% .017 230.91); + --color-brand-300: oklch(84.11% .0949 233.04); + --color-brand-400: oklch(76.44% .1392 236.52); + --color-brand-500: oklch(62.27% .1255 238.15); + --color-brand-600: oklch(48.1% .1154 242.59); + --color-brand-700: oklch(37.56% .0879 241.26); + --color-brand-800: oklch(27.52% .0617 238.68); + --color-brand-900: oklch(20.77% .044 234.86); + --color-brand-950: oklch(17.92% .0365 231.95); + + --ifm-footer-background-color: var(--color-brand-950); + --plane-footer-background-color: var(--color-brand-950); + --plane-call-to-action-color: var(--color-brand-500); + --plane-call-to-action-hover-color: var(--color-brand-600); + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,'); + --default-transition-duration: .15s; + --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +html[data-theme='dark'] { + --ifm-color-primary-lighter: var(--color-brand-300); + --ifm-color-primary-light: var(--color-brand-400); + --ifm-color-primary: var(--color-brand-500); + --ifm-color-primary-dark: var(--color-brand-600); + --ifm-color-primary-darker: var(--color-brand-700); + --ifm-color-primary-darkest: var(--color-brand-800); + + --ifm-heading-color: #e0e4ec; + --ifm-background-color: var(--color-brand-900); + --ifm-footer-background-color: var(--color-brand-950); + --ifm-footer-link-color: var(--color-neutral-500); + --plane-footer-background-color: var(--color-brand-950); + --plane-footer-link-color: var(--color-neutral-400); + --plane-call-to-action-color: var(--color-brand-500); + --plane-call-to-action-hover-color: var(--color-brand-600); + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,'); +} + +.theme-layout-main { + padding-bottom: 40px; +} + +.navbar__logo img { + width: 100px; + height: auto; +} +@media (max-width: 996px) { + .navbar__inner { + align-items: center !important; + display: flex !important; + } + .navbar__logo { + display: flex; + align-items: center; + height: 48px; /* or the height of your navbar */ + } + .navbar__logo img { + height: auto; /* adjust as needed for your logo */ + width: auto; + } +} + +/* Add divider after logo */ +.navbar__brand::after { + content: '|'; + margin-left: 1rem; + color: var(--ifm-color-emphasis-500); +} + +.navbar__brand{ + margin-right: 0px !important; +} + +h1 { + font-size: 2rem; + line-height: 120%; +} +h2 { + font-size: 1.5rem; + line-height: 140%; +} +h3 { + font-size: 1.25rem; + line-height: 140%; +} + +h4{ + line-height: 140%; +} + +h5{ + line-height: 140%; +} + +h6{ + line-height: 140%; +} + +@media (min-width: 1536px) { + + body, + .navbar { + display: flex; + flex-direction: row; + justify-content: center; + align-items: start; + } +} + +[data-theme='light'] body, +[data-theme='light'] .navbar { + background-color: rgb(250 250 250); +} + +[data-theme='dark'] body, +[data-theme='dark'] .navbar { + background-color: var(--ifm-background-color); +} + +.navbar__toggle { + margin-right: 10px; +} + +.menu__list { + display: block !important; + margin: 0; + transition: height 0.35s var(--default-transition-timing-function) 25ms !important; + will-change: auto !important; +} + +.theme-doc-sidebar-item-category .menu__list li:first-of-type { + padding-block-start: 0.5rem; +} + +.menu__list li:last-of-type { + -webkit-padding-after: 1.5rem; + padding-block-end: 0.5rem; +} + +.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link--sublist { + font-size: 13px; + font-weight: 600; + line-height: 20px; + color: #213547; +} + +[data-theme='dark'] .theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link--sublist { + color: rgb(255, 255, 255, 0.87); +} + +[data-theme='dark'] .menu__link { + color: var(--color-neutral-400); + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; +} + +.menu__link { + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; + color: var(--color-neutral-600); +} + +.menu__link--active:not(.menu__link--sublist) { + font-weight: 600; + transition: color 0.25s; + color: var(--ifm-color-primary); + font-size: 13px; + border-left-style: solid; + border-left-width: 4px; + padding-left: 8px !important; +} + +[data-theme="dark"] a, +[data-theme="dark"] .menu__link--active:not(.menu__link--sublist), +[data-theme="dark"] .breadcrumbs__item--active .breadcrumbs__link { + color: var(--ifm-color-primary); +} + +[data-theme='dark'] .theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link { + border-left-style: none; + border-left-width: 0px; + color: rgb(235, 235, 235, 0.6); + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; + padding: 6px 12px !important; +} + +.theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link { + border-left-style: none; + border-left-width: 0px; + color: rgba(60, 60, 60, 0.7); + font-size: 13px; + font-weight: 500; + align-items: center; + display: flex; + letter-spacing: -0.01em; + line-height: 16px; + transition: opacity 0.2s ease-out; + padding: 6px 12px !important; +} + +[data-theme='dark'] .menu__link:not(.menu__link--active):hover { + color: rgb(255, 255, 255); + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +[data-theme='dark'] .theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link:hover { + color: rgb(255, 255, 255); + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +.theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active)>.menu__list-item-collapsible>a.menu__link:hover { + color: #213447; + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +.menu__link:not(.menu__link--active):hover { + color: #213447; + font-size: 13px; + font-weight: 600; + transition: color 0.5s; +} + +.theme-doc-sidebar-menu .menu__list-item .menu__caret:before, +.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDEwIDggNmwtNCA0IiBzdHJva2U9IiMxQjI3MzgiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=) 50% no-repeat; + height: 1.5rem; + min-height: 29.5px; + min-width: 1.5rem; + width: 1.5rem; + background-size: 12px 12px; +} + +.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link--sublist.theme-doc-sidebar-menu .menu__list-item .menu__caret:before, +.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { + background: none; + height: 1.5rem; + min-height: 29.5px; + min-width: 1.5rem; + width: 1.5rem; +} + +.theme-doc-sidebar-item-category-level-3>.menu__list-item-collapsible>.menu__link--sublist.theme-doc-sidebar-menu .menu__list-item .menu__caret:before, +.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDEwIDggNmwtNCA0IiBzdHJva2U9IiMxQjI3MzgiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=) 50% no-repeat; + height: 1.5rem; + min-height: 29.5px; + min-width: 1.5rem; + width: 1.5rem; + margin-right: -5px; + background-size: 12px 12px; +} + +.theme-doc-sidebar-item-category-level-2>.menu__list-item-collapsible>.menu__link--sublist { + margin-bottom: -6px; + margin-top: -6px; +} + +.theme-doc-sidebar-item-category-level-3>.menu__list-item-collapsible>.menu__link--sublist { + margin-bottom: -6px; + margin-top: -6px; +} + +.theme-doc-sidebar-item-category-level-4>.menu__list-item-collapsible>.menu__link--sublist { + margin-bottom: -6px; + margin-top: -6px; +} + +.menu__caret { + padding: 0em 0.375em 0em 0.75em !important; +} + +/* +[class^="sidebar_"] { + -webkit-padding-before: 1rem; + overflow-y: auto; + padding-block-start: 1rem; + position: static; + padding-inline-end: 0.5em; + padding-inline-start: 0.5em; +} + +[class^="sidebar_"]>.menu { + -webkit-padding-after: 2rem; + overflow-x: initial; + padding: 0; + padding-block-end: 2rem; +} +*/ + +h1 { + font-size: 2rem; + line-height: 120%; +} + +h2 { + font-size: 1.5rem; + line-height: 140%; +} + +h3 { + font-size: 1.25rem; + line-height: 1; +} + +h4, +h5, +h6 { + line-height: 140%; +} + +h3.description { + font-weight: 200; + padding-bottom: 1rem; + line-height: 140%; + margin-top: 0px; +} + +#__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(4) { + background-color: var(--plane-call-to-action-color); + border-radius: 8px; + color: #f3f5f7; + font-size: 0.75rem; + font-weight: 500; + margin-left: 0.5rem; + margin-right: 0.5rem; + padding: 0.375rem 1rem 0.375rem 1rem; + text-transform: capitalize; + white-space: nowrap; + line-height: 1.25rem; +} + +[data-theme="dark"] #__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(4) { + color: var(--ifm-color-emphasis-800); +} + +#__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(4):hover { + background-color: var(--plane-call-to-action-hover-color); +} + +#__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a>svg { + display: none; +} + +.navbar__title { + color: var(--ifm-navbar-link-color); +} + +.navbar--github-link { + width: 32px; + height: 32px; + padding: 6px; + margin-right: 20px; + margin-left: 6px; + border-radius: 50%; + transition: background var(--ifm-transition-fast); +} + +.navbar--github-link:hover { + background: var(--ifm-color-emphasis-200); +} + +.navbar--github-link:before { + content: ''; + height: 100%; + display: block; + background: url("data:image/svg+xml,%3Csvg fill='%23505050' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat; +} + +html[data-theme='dark'] .navbar--github-link:before { + background: url("data:image/svg+xml,%3Csvg fill='%23ebebeb99' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat; +} + +.navbar--discord-link { + width: 32px; + height: 32px; + padding: 6px; + margin-right: 6px; + margin-left: 6px; + border-radius: 50%; + transition: background var(--ifm-transition-fast); +} + +.navbar--discord-link:hover { + background: var(--ifm-color-emphasis-200); +} + +.navbar--discord-link:before { + content: ''; + height: 100%; + display: block; + background: url("data:image/svg+xml,%3Csvg fill='%23505050' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3Ediscord%3C/title%3E%3Cpath d='M20.992 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.050 0.005 0.109 0.005 0.168 0 1.523-1.191 2.768-2.693 2.854l-0.008 0zM11.026 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.048 0.005 0.104 0.005 0.161 0 1.525-1.19 2.771-2.692 2.862l-0.008 0zM26.393 6.465c-1.763-0.832-3.811-1.49-5.955-1.871l-0.149-0.022c-0.005-0.001-0.011-0.002-0.017-0.002-0.035 0-0.065 0.019-0.081 0.047l-0 0c-0.234 0.411-0.488 0.924-0.717 1.45l-0.043 0.111c-1.030-0.165-2.218-0.259-3.428-0.259s-2.398 0.094-3.557 0.275l0.129-0.017c-0.27-0.63-0.528-1.142-0.813-1.638l0.041 0.077c-0.017-0.029-0.048-0.047-0.083-0.047-0.005 0-0.011 0-0.016 0.001l0.001-0c-2.293 0.403-4.342 1.060-6.256 1.957l0.151-0.064c-0.017 0.007-0.031 0.019-0.040 0.034l-0 0c-2.854 4.041-4.562 9.069-4.562 14.496 0 0.907 0.048 1.802 0.141 2.684l-0.009-0.11c0.003 0.029 0.018 0.053 0.039 0.070l0 0c2.14 1.601 4.628 2.891 7.313 3.738l0.176 0.048c0.008 0.003 0.018 0.004 0.028 0.004 0.032 0 0.060-0.015 0.077-0.038l0-0c0.535-0.72 1.044-1.536 1.485-2.392l0.047-0.1c0.006-0.012 0.010-0.027 0.010-0.043 0-0.041-0.026-0.075-0.062-0.089l-0.001-0c-0.912-0.352-1.683-0.727-2.417-1.157l0.077 0.042c-0.029-0.017-0.048-0.048-0.048-0.083 0-0.031 0.015-0.059 0.038-0.076l0-0c0.157-0.118 0.315-0.24 0.465-0.364 0.016-0.013 0.037-0.021 0.059-0.021 0.014 0 0.027 0.003 0.038 0.008l-0.001-0c2.208 1.061 4.8 1.681 7.536 1.681s5.329-0.62 7.643-1.727l-0.107 0.046c0.012-0.006 0.025-0.009 0.040-0.009 0.022 0 0.043 0.008 0.059 0.021l-0-0c0.15 0.124 0.307 0.248 0.466 0.365 0.023 0.018 0.038 0.046 0.038 0.077 0 0.035-0.019 0.065-0.046 0.082l-0 0c-0.661 0.395-1.432 0.769-2.235 1.078l-0.105 0.036c-0.036 0.014-0.062 0.049-0.062 0.089 0 0.016 0.004 0.031 0.011 0.044l-0-0.001c0.501 0.96 1.009 1.775 1.571 2.548l-0.040-0.057c0.017 0.024 0.046 0.040 0.077 0.040 0.010 0 0.020-0.002 0.029-0.004l-0.001 0c2.865-0.892 5.358-2.182 7.566-3.832l-0.065 0.047c0.022-0.016 0.036-0.041 0.039-0.069l0-0c0.087-0.784 0.136-1.694 0.136-2.615 0-5.415-1.712-10.43-4.623-14.534l0.052 0.078c-0.008-0.016-0.022-0.029-0.038-0.036l-0-0z'%3E%3C/path%3E%3C/svg%3E"); +} + +html[data-theme='dark'] .navbar--discord-link:before { + background: url("data:image/svg+xml,%3Csvg fill='%23ebebeb99' viewBox='0 -28.5 256 256' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' preserveAspectRatio='xMidYMid'%3E%3Cg%3E%3Cpath d='M216.856339 16.5966031 C200.285002 8.84328665 182.566144 3.2084988 164.041564 0 C161.766523 4.11318106 159.108624 9.64549908 157.276099 14.0464379 C137.583995 11.0849896 118.072967 11.0849896 98.7430163 14.0464379 C96.9108417 9.64549908 94.1925838 4.11318106 91.8971895 0 C73.3526068 3.2084988 55.6133949 8.86399117 39.0420583 16.6376612 C5.61752293 67.146514 -3.4433191 116.400813 1.08711069 164.955721 C23.2560196 181.510915 44.7403634 191.567697 65.8621325 198.148576 C71.0772151 190.971126 75.7283628 183.341335 79.7352139 175.300261 C72.104019 172.400575 64.7949724 168.822202 57.8887866 164.667963 C59.7209612 163.310589 61.5131304 161.891452 63.2445898 160.431257 C105.36741 180.133187 151.134928 180.133187 192.754523 160.431257 C194.506336 161.891452 196.298154 163.310589 198.110326 164.667963 C191.183787 168.842556 183.854737 172.420929 176.223542 175.320965 C180.230393 183.341335 184.861538 190.991831 190.096624 198.16893 C211.238746 191.588051 232.743023 181.531619 254.911949 164.955721 C260.227747 108.668201 245.831087 59.8662432 216.856339 16.5966031 Z M85.4738752 135.09489 C72.8290281 135.09489 62.4592217 123.290155 62.4592217 108.914901 C62.4592217 94.5396472 72.607595 82.7145587 85.4738752 82.7145587 C98.3405064 82.7145587 108.709962 94.5189427 108.488529 108.914901 C108.508531 123.290155 98.3405064 135.09489 85.4738752 135.09489 Z M170.525237 135.09489 C157.88039 135.09489 147.510584 123.290155 147.510584 108.914901 C147.510584 94.5396472 157.658606 82.7145587 170.525237 82.7145587 C183.391518 82.7145587 193.761324 94.5189427 193.539891 108.914901 C193.539891 123.290155 183.391518 135.09489 170.525237 135.09489 Z' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"); +} + +.navbar--plane-docs-link { + width: 32px; + height: 32px; + padding: 6px; + margin-right: 6px; + margin-left: 6px; + border-radius: 50%; + transition: background var(--ifm-transition-fast); +} + +.navbar--plane-docs-link:hover { + background: var(--ifm-color-emphasis-200); +} + +.navbar--plane-docs-link:before { + content: ''; + height: 100%; + display: block; + background-image: url("data:image/svg+xml,%3Csvg fill='%23505050' stroke-width='0' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath%20d=%22M448%20360V24c0-13.3-10.7-24-24-24H96C43%200%200%2043%200%2096v320c0%2053%2043%2096%2096%2096h328c13.3%200%2024-10.7%2024-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3%200-74.7%205.4-4.3%208.9-11.1%208.9-18.6zM128%20134c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm0%2064c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm253.4%20250H96c-17.7%200-32-14.3-32-32%200-17.6%2014.4-32%2032-32h285.4c-1.9%2017.1-1.9%2046.9%200%2064z%22%3E%3C/path%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +html[data-theme='dark'] .navbar--plane-docs-link:before { + background-image: url("data:image/svg+xml,%3Csvg fill='%23ebebeb99' stroke-width='0' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath%20d=%22M448%20360V24c0-13.3-10.7-24-24-24H96C43%200%200%2043%200%2096v320c0%2053%2043%2096%2096%2096h328c13.3%200%2024-10.7%2024-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3%200-74.7%205.4-4.3%208.9-11.1%208.9-18.6zM128%20134c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm0%2064c0-3.3%202.7-6%206-6h212c3.3%200%206%202.7%206%206v20c0%203.3-2.7%206-6%206H134c-3.3%200-6-2.7-6-6v-20zm253.4%20250H96c-17.7%200-32-14.3-32-32%200-17.6%2014.4-32%2032-32h285.4c-1.9%2017.1-1.9%2046.9%200%2064z%22%3E%3C/path%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.tag-wrapper { + display: flex; + align-items: center; + gap: 8px; +} + +.tags { + display: flex; + flex-wrap: nowrap; + gap: 8px; + align-items: center; + position: relative; + top: -10px !important; +} + +/* Media query for smaller screens */ +@media (max-width: 768px) { + .tags { + flex-direction: row; + align-items: flex-start; + white-space: nowrap; + } +} + +/* + +.pro { + color: #1a1a1a; + border-radius: 4px; + border: 1px solid #ea992466; + background: linear-gradient(167.44deg, + #fdc742 0%, + #fed464 67.25%, + #fcfcfc 98.9%); + padding: 0 15px 0 15px; +} + +.one { + color: #1a1a1a; + border-radius: 4px; + border: 1px solid #4c506266; + background: linear-gradient(167.44deg, + #a8a9ac 0%, + #eeeeee 67.25%, + #fcfcfc 98.9%); + padding: 0 15px 0 15px; +} + +html[data-theme="dark"] .pro { + color: #fff; + border-radius: 4px; + border: 1px solid #ea992466; + background: linear-gradient(167.44deg, + rgba(234, 153, 36, 0.7) 0%, + rgba(33, 33, 33, 0.4) 49.45%, + rgba(255, 224, 133, 0.32) 98.9%); + padding: 0 15px 0 15px; +} + +html[data-theme="dark"] .one { + color: #fff; + border-radius: 4px; + border: 1px solid #4c506266; + background: linear-gradient(167.44deg, + rgb(56, 60, 78) 0%, + rgba(33, 33, 33, 0.22) 49.45%, + rgba(37, 41, 59, 0.12) 98.9%); + padding: 0 15px 0 15px; +} +*/ + +.card-group { + display: grid; + gap: 16px; + grid-template-columns: repeat(var(--cols), 1fr); +} + +@media (max-width: 640px) { + .card-group { + grid-template-columns: 1fr; + } +} + +.card { + border-radius: 8px; + padding: 15px; + display: flex; + flex-direction: column; + align-items: flex-start; + border: 1px solid #9b9b9b; +} + +.card:hover { + border: 1px solid var(--ifm-color-primary); +} + +.card-icon { + border-radius: 8px; + display: inline-flex; + justify-content: center; + align-items: center; + margin-bottom: 15px; +} + +.icon-style { + color: var(--ifm-color-primary); +} + +.card-title { + color: var(--ifm-heading-color) !important; + font-size: 18px; + font-weight: 600; + margin-bottom: 10px; +} + +.card-description { + font-size: 14px; +} + +[data-theme="dark"] .card-description { + color: var(--ifm-heading-color); +} + +.card-link { + text-decoration: none; + color: inherit; + display: block; + width: 100%; + height: 100%; +} + +.card-link:hover { + text-decoration: none; + color: inherit; +} + +/* fix text ellipses for docusaurus index cards */ +.card p.text--truncate[class*='cardDescription_'] { + width: 100%; +} + +html { + color: #213547; + font-family: var(--ifm-font-family-base), sans-serif; +} + +code { + color: #213547; + font-family: var(--ifm-font-family-monospace), sans-serif; +} + +.navbar { + font-family: var(--ifm-font-family-base); +} + +.navbar__title { + font-family: var(--ifm-font-family-base); + font-weight: 600; +} + +.menu__link { + font-family: var(--ifm-font-family-base); +} + +.markdown { + font-family: var(--ifm-font-family-base); +} + +* { + font-family: var(--ifm-font-family-base); +} + +.theme-doc-markdown { + font-family: var(--ifm-font-family-base); +} + +pre { + font-family: var(--ifm-font-family-monospace); +} + +pre code { + font-family: var(--ifm-font-family-monospace); +} + +/* Inline code */ +.markdown code { + font-family: var(--ifm-font-family-monospace); +} + +/* Code blocks in different contexts */ +.prism-code { + font-family: var(--ifm-font-family-monospace); +} + +.codeBlockContainer_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Container-styles-module { + font-family: var(--ifm-font-family-monospace); +} + +code, kbd, pre, samp { + font-family: var(--ifm-font-family-monospace) !important; +} + +strong { + color: rgb(18 27 46); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: rgb(18 27 46); +} + +[data-theme='dark'] h1, +[data-theme='dark'] h2, +[data-theme='dark'] h3, +[data-theme='dark'] h4, +[data-theme='dark'] h5, +[data-theme='dark'] h6 { + color: var(--color-brand-25); +} + +html[data-theme='dark'] { + color: var(--color-brand-25); +} + +[data-theme='dark'] blockquote { + color: var(--color-brand-25); +} + +[data-theme='dark'] code { + color: rgb(237 240 246); +} + +[data-theme='dark'] strong { + color: rgb(243 246 251); +} + +[data-theme='dark'] .table-of-contents a { + color: var(--color-neutral-400); +} + +.table-of-contents__link { + color: var(--color-neutral-600); +} + +@media (min-width: 768px) { + + [class^='navbarSearchContainer_'], + .navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module { + margin-left: auto; + margin-right: auto; + } + + .DocSearch-Button { + width: 400px; + } +} + +.navbar__search-input { + width: 25rem; + border: 1px solid #9e9e9e33 !important; + border-radius: 0.5rem; +} + +[data-theme='dark'] .navbar__search-input { + width: 25rem; + background-color: var(--docsearch-searchbox-background); + border: 1px solid #9e9e9e33 !important; +} + +[data-theme='dark'] .navbar__search-input::placeholder { + color: rgb(235, 235, 235, 0.6); +} + + +.DocSearch-Button { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #fafafa !important; +} + +[data-theme='dark'] .DocSearch-Button { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #1b1b1d !important; +} + +.DocSearch-Search-Icon { + width: 14px; + height: 14px; +} + +.DocSearch-Button-Container { + gap: 0.25rem; +} + +.DocSearch-Button-Placeholder { + font-size: 0.85rem !important; +} + +.navbar { + border-bottom: 1px solid rgb(112 112 112 / 5%); + box-shadow: none; +} + +[data-theme='dark'] .navbar { + border-bottom: 1px solid rgb(206 206 206 / 6%); + box-shadow: none; +} + +.lightToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + color: #505050; +} + +.navbar--fixed-top { + padding-left: 2rem; + padding-right: 2rem; + margin-left: 0; + margin-right: 0; +} + +.mainWrapper_node_modules-\@docusaurus-theme-classic-lib-theme-Layout-styles-module { + padding-left: 1rem; + padding-right: 1rem; +} + +@media (min-width: 997px) { + .docSidebarContainer_YfHR { + border-right: 1px solid rgb(112 112 112 / 9%) !important; + } +} + +.table-of-contents__left-border { + border-left: 1px solid rgb(112 112 112 / 5%) !important; +} + +.lightToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module, +.darkToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + width: 20px; + height: 20px; +} + +.table { + font-size: 1rem; + line-height: 1.25; + font-weight: 400; + --tw-numeric-spacing: tabular-nums; + width: 100%; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} + +[data-theme='dark'] table tr:nth-child(2n) { + background-color: rgb(27 27 29); +} + +table tr:nth-child(2n) { + background-color: rgb(250 250 250); +} + +table thead tr { + border-bottom: none; +} + +.mobile-img-container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + flex-wrap: wrap; +} + +.mobile-img-box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + max-width: 25rem; + min-width: 15rem; + text-align: center; + margin: 10px; +} + +img[src*='#center'], +img.center { + display: block; + border-radius: 0.75rem; + float: none; + margin: 10px 0 10px 0; + border-color: rgb(224 228 236); + border-style: solid; + box-sizing: border-box; + border-width: 0px; + padding: 0.5rem; + background-color: rgb(226 226 226); +} + +[data-theme='dark'] img[src*='#center'], +[data-theme='dark'] img.center { + display: block; + border-radius: 0.75rem; + float: none; + margin: 10px 0 10px 0; + border-color: rgb(224 228 236); + border-style: solid; + box-sizing: border-box; + border-width: 0px; + padding: 0.5rem; + background-color: rgb(32 43 61); +} + +/* .business { + color: #111111; + border-radius: 4px; + border: 1px solid #d6d7d9; + background: linear-gradient(167.44deg, + #c2c8e4 0%, + #bfc4df 67.25%, + #fcfcfc 98.9%); + padding: 0 15px 0 15px; +} + +html[data-theme="dark"] .business { + color: #f5f5f5; + border-radius: 4px; + border: 1px solid #646c90; + background: linear-gradient(164.95deg, + #414669 0%, + rgba(56, 60, 78, 0.12) 53.4%, + rgba(172, 211, 255, 0.16) 100%); + padding: 0 15px 0 15px; +} +*/ + +/* +[data-theme="dark"] .themedComponent--dark_xIcU, +[data-theme="light"] .themedComponent--light_NVdE, +html:not([data-theme]) .themedComponent--light_NVdE { + width: 100px !important; +} +*/ + +.menu__caret:hover { + background: none; +} + +[data-theme='dark'] .clean-btn { + color: rgb(159 160 160); +} + +a.footer__link-item { + color: var(--ifm-footer-link-color); + text-decoration: none; + font-size: 0.8rem; +} + +a.footer__link-item:hover { + text-decoration: underline; +} + +[data-theme='dark'] .footer--dark { + --ifm-footer-background-color: var(--plane-footer-background-color); + --ifm-footer-link-color: var(--plane-footer-link-color); +} + +@media (min-width: 1455px) { + + body, + .navbar { + width: 100%; + min-width: 87.8vw; + margin: 0; + box-sizing: border-box; + } +} + +/* openapi */ + +.openapi-params__list-item { + padding-bottom: 1rem; +} + +.openapi-params__list-item>strong { + display: inline-block; + padding-top: 0.5rem; +} + +.openapi-tabs__schema-tabs-container { + border-bottom: 1px solid var(--ifm-color-emphasis-200); + margin-bottom: -0.5rem; +} + +.openapi-tabs__schema-tabs-container .openapi-tabs__schema-item { + border-radius: var(--ifm-global-radius) var(--ifm-global-radius) 0 0; +} + +.openapi-tabs__schema-tabs-container .openapi-tabs__schema-item.active { + border-color: var(--ifm-color-primary); + color: var(--ifm-color-primary); +} + +.openapi-explorer__request-form .openapi-explorer__request-btn { + background-color: var(--plane-call-to-action-color); + font-weight: inherit; + text-transform: inherit; +} + +.openapi-explorer__request-form .openapi-explorer__request-btn:hover { + background-color: var(--plane-call-to-action-hover-color); +} + + + +@font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-light.otf') format('opentype'); + font-weight: 300; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-regular.otf') format('opentype'); + font-weight: 400; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-semibold.otf') format('opentype'); + font-weight: 500; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'Nacelle'; + src: url('/fonts/nacelle/nacelle-bold.otf') format('opentype'); + font-weight: 600; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-light.ttf') format('truetype'); + font-weight: 300; + font-style: normal; + font-display: swap; + } + + @font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-regular.ttf') format('truetype'); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-semibold.ttf') format('truetype'); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'IBM Mono'; + src: url('/fonts/ibm/ibmplexmono-bold.ttf') format('truetype'); + font-weight: 600; + font-style: normal; + font-display: swap; +} + + :root { + --ifm-font-family-base: 'Nacelle'; + --ifm-heading-font-family: 'Nacelle'; + --ifm-font-family-monospace: 'IBM Mono'; + } + + #__docusaurus>nav>div.navbar__inner>div.navbar__items.navbar__items--right>a:nth-child(3) { + background-color: #006399; + border-radius: 8px; + color: #f3f5f7; + font-size: .75rem; + font-weight: 500; + line-height: 1.25rem; + margin-left: .5rem; + margin-right: .5rem; + padding: .375rem 1rem; + text-transform: capitalize; + white-space: nowrap; +} + +@media (min-width: 768px) { + .navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module { + margin-left: auto; + margin-right: auto; + } + + .navbarSearchContainer_Bca1 { + margin-left: auto; + margin-right: auto; + } + + .navbar__search-input { + width: 400px; + } +} + +.navbar__search-input { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #fafafa !important; +} + +[data-theme="dark"] .navbar__search-input { + border-radius: 0.5em !important; + border-color: rgb(158 158 158 / 20%) !important; + border-width: 1px !important; + border-style: solid !important; + background-color: #1b1b1d !important; +} + +.DocSearch-Search-Icon { + width: 14px; + height: 14px; +} + +.DocSearch-Button-Container { + gap: 0.25rem; +} + +.DocSearch-Button-Placeholder { + font-size: 0.85rem !important; +} \ No newline at end of file diff --git a/src/css/fonts.css b/src/css/fonts.css new file mode 100644 index 0000000..4114420 --- /dev/null +++ b/src/css/fonts.css @@ -0,0 +1,55 @@ +@font-face { + font-display: swap; + font-family: 'Nacelle'; + font-style: normal; + font-weight: 300; + src: url('/fonts/nacelle/nacelle-light.otf') format('opentype'); +} + +@font-face { + font-display: swap; + font-family: 'Nacelle'; + font-style: normal; + font-weight: 400; + src: url('/fonts/nacelle/nacelle-regular.otf') format('opentype'); +} + +@font-face { + font-display: swap; + font-family: 'Nacelle'; + font-style: normal; + font-weight: 600; + src: url('/fonts/nacelle/nacelle-semibold.otf') format('opentype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 300; + src: url('/fonts/ibm/ibmplexmono-light.ttf') format('truetype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 400; + src: url('/fonts/ibm/ibmplexmono-regular.ttf') format('truetype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 500; + src: url('/fonts/ibm/ibmplexmono-semibold.ttf') format('truetype'); +} + +@font-face { + font-display: swap; + font-family: 'IBM Mono'; + font-style: normal; + font-weight: 600; + src: url('/fonts/ibm/ibmplexmono-bold.ttf') format('truetype'); +} diff --git a/plane-one/manage/advanced-deploy.mdx b/static/.nojekyll similarity index 100% rename from plane-one/manage/advanced-deploy.mdx rename to static/.nojekyll diff --git a/static/fonts/ibm/ibmplexmono-bold.ttf b/static/fonts/ibm/ibmplexmono-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2e437e21b862ab5662dc3416dfe46ad04bfd5e03 GIT binary patch literal 135932 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ǝ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 b`B>bV*}|Ng#o~S=Z0v%1-?a8K*2exn0`Vt3 literal 0 HcmV?d00001 diff --git a/static/fonts/ibm/ibmplexmono-regular.ttf b/static/fonts/ibm/ibmplexmono-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..81ca3dcc9264054eda54892f2105a4d9f85eaf50 GIT binary patch literal 133720 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�f+*W;r$=a=vy`(2<$1RoaK*H7}p<@P(j8nx3t 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 a=@V29BDo4cx0%oeV11ZZHfr;&ru`33D|t@< literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-blackitalic.otf b/static/fonts/nacelle/nacelle-blackitalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..d067231f5117565cf4fc77b8762490f472c496a8 GIT binary patch literal 64780 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 literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-bold.otf b/static/fonts/nacelle/nacelle-bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..90b1b723b24653248d11b3ef12d8d2543fac5697 GIT binary patch literal 65120 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 JQJW9U{soTXe*XXf literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-bolditalic.otf b/static/fonts/nacelle/nacelle-bolditalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..037b7ab8c375f876671bb15ac6bb068deb1c11f4 GIT binary patch literal 65068 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 literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-heavy.otf b/static/fonts/nacelle/nacelle-heavy.otf new file mode 100644 index 0000000000000000000000000000000000000000..255d66212783b0b7b79e68750f7a5aa084c4112c GIT binary patch literal 65764 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

tk7LFe)EK^wSFD zCY1RzblZyV(A)9zdD6#k#;Nl9fJK!d-y#RSlvjWN4jpVGbTX1YiYQ=2g)*R30 z*oJw_ZAtC0?iavg7jnFa;}ziHM(B;z#5eUb4?CK3R+r!#(Qf`HVwoE-i_7)ILyQ83 zu-?_kw^mCQ!fUT$C#SFicLQsXX0rxqI;(JhVioSItVQ|>j(UalNQJCLn#d~LwXDLO zgTzj^-edmD`@AXr00;)d+e6@|&w*hmmP;C4Uch8lT};7O*7_{oAfnlSvI=;12IE;X z`9F^s3iEjn{u9(#L_TKyq4A$b<4;H9&$2d9?IbAy+SFTQU!3IgpZjA1*Ru} z*$K!&4xCX06(5F*eeLVf#@#u;$+;Q1=nc1Ahi1MJ>iz&{d+^A+q3int0kdvdc{dlj zO#;`W!0T9So$x8#2{&pNFsUwR+!XBTs<0)0N6^M-W&rq~7rxs+jLVtf9R1--yfio` z3O#}yB)vw9PwNpce3%-xpn))tZ=ofd;Wy>A3O)-FJMU&C*d`8y1N>75wzV4T~|WaInZ<+G;9hD zFMxgDo1HCH2z!qp#jCBr$Epsg^7HXhLQ>^DYET&dQOFs>V z4kOV4KA=z^!u1Utpeq5ooj_LtbR|Hy3+PJWxSxUQ1RQr5$aceRhk)!5khK7^OMq-I zko^o~d*PlkdbJkN90!^pwO>Zf8>u;jW>BA}Ej-x~nAInc2Qq@OoqY7-8d*G^JPF^1 zkl;l8scbOZ8GYB4bt5;jKA=0&d=slwdQgk7J_xMC4Pc@pp5^aoeK%l`6g|zmx@X|2 zXTjQYaPJF@1HT50TFEznwhiR|yUtwNvW~WBy;u!;#Y3CgvF7+EAR2?zOrdSFY1a}k zzL54TV2%1VYop=*U*LX4o~Q-V7FgaDc74`Ww1_!Wtsk6Zw@jTEM{{WNEkOp#3eI%C(?V-Sa znCdUKs>b{uRQ~e-3-2nGCs+-+|&3ub6Mbz2l2>W z=AWKcZ}%HgBnPGN>~5feo}9@C+e#^_#r1BYOq2q@>O-e|ngO3OlL?P+FDv!;arY&tF_?VxmQ1U&;DxS~buHHt;C34hSEMeR zT*r*n!zU%@b|9My#~gw-Kf~K)&}1pN*$zGWfTaxh)Jt0raHdsRJ81!Ic*~m>>@YyH^D##F~+crtoERQX8(dC8>7x=&nQe-h@0bmH^aG zBA5RlJxzLs^epK)(o3Y5;jK5|{EyLVgE*J>^f?&#g5wC%*Q9Sq-;#bLjp5!{(hMYQ zHpe+!o5zur8sO0Zj}AOj4P_m4mqX-(U*MlYD6@)|ZpVUGV8P4j)y>C>@1iw_ur>RU zwmsm5wORN-O}XBT6^P9_w&2*3es?RhPHT?mb8JITqAf`gQGB#)H@G@T>-M4F_8>|7 z@iR20+>q3Wq%r=hNFU>)iRNDc(+qfE9u$s7k0t_37Gn?Xp__U;L`D(q;DtVD?Y@-R zkI@E~TdII^9Z)WUB0m9Z2KF%<{mv?VW-9fCi@u~(kMZP*VM3og8!l+W`rfwa8NV5O z?!)_{2dOgyykz4Cwn1|%Qo}^9&gDvh;q=vW_Zz9?YKH=5K`P1;_OJLzmH2nLV4~7nsef7~cjvJ?X+H9<-|aEn&H zj-~|h+{bXn5AY}N(y8MYWGV_C4M4GdHc2JVs{ppW>KpMpVA*9bqBS>E(Gv9Fh78nG_kEAjDA4|&TIU*)OJ)4&J z6!Qxh@mi33-ZlVdJaFzeoTV65P4S>xfv47BybaWCOS%Gjx^R9*jx$>*IAaXA3`R3B zdPiGVg4>0sG+uA0BH6FRCl+^g1cs|QJ`Gnr2W&5L6b>U82ZzKUGkyu!R@A5(I}0Ak zM($mC4W7cCG(~=x?$07&ukoC;)%zSjLBfVvdGr?Jv0*1=muaH|^-{sslVDNUjHkyR zOKdbn1+<8JW;6C|gO6(Tg^#>`@DW0?LUtSeGlqixZ$Zu{fm~00ftLA_@$k{qx)U4; z@^C5O)}?41JWz){*=j(}28^3GV8pxuV;&8NDG>!0fE=ALf~aN&N}|Oz!~VA*wP9>U zK0_2-QU>NDT%x(s5k2)3?Rc7WT340hHy;PH6=CjlN4CE*Yo;UIX`nI~PJtV;c>9`7 zY&2n5ny`-12GRo8khJRm2ac?6gT{W@eqo*58dD9Ty({Sbm1Er$Ic6c!*&oUNz}Wdc zl+}i3KLjFi0dJw9NsO@s3z4)H^l2D<#L7lvW3|S-3<$K2e==pUuG8GH&D!-8BMA{H z_?S{ZB}p1wDNwXW+ZsiRaQ_6(Biz5&j4P_Yodefr$|3-11y=neR1DE#y|1zur?rSD zhfSr`Ka!S{invouZs^PNTJNjX%H`n9g0Ba|Ul9we5$r8Uh2}~YlXj7I(@y+so?3}~ zC?47pG`3a*??=XVB4ay$B`*m^q9i41qp)Ul(HYX!9xE2{DQ-raNyp;nI0^(>7kU65l8lWa$=6`cCm7ci-tS|#YRwh$s|5P<`C$)8rA#udcKw6|;s9o# z$Fkwty3p3O8GTrtD=)x|YjRC9diFudXx4?x7jkX=Vaio>EC-G$M1O7oQt{Y6V6LV` z8H@{MYlbC0gC)xV#)X9k8PVn*E$9e6#gTnjE!>&DUjlEOEOdS)*0>UDT#h9^No$T_ z11h25Nho-dXBB%-vEItSH4<)MZGi-xG*bMrp`Q=E=`(yOU9g7sZ{dFta=R0|QcUkD zBH7hgKiLu+Ou0JLi_SPeYqbizoN*WrQ3rN0DzytsEsXA<{u$_!BhX!|!H+EY#urv*b~6Ii*sS_x4f_R*x9fLhD5Fd z&+B@9Mq2~ufAB~aou8b>Np~);@*>5P$I+6l)UL#N2<>`@8WbNQpPM#Y8> zC(s(|BYaHj2O|kz!6niFd(hQ;N&85|yQ8)=qhqspPnQj6i1%;e?VkH)a4a=`&sb0c ztcu>foQ`0rF(}u*e*r|&YWWckya732z*re;_E4$V~ z-k1EbJqADer?-*v#WsVZY|SHs&rJ*h>XtXC_zb6P7f+r9UoS!HH-W1^b$!refmxu~+$A0r>SLaD$fA5EjNr+u_?!y6}%f31;H9EvFX z#CUoa^3hVjp7^5!{y-;mTW2`^O5l==<4w@h{t1jO;!VqgP`)oEKMYO#p{*lc!Ixkr z;u(A`e2Hgi!CBq`eWQ&;MW{zqjAEdu0g50{tN?&EH^p;EE!ow{v~L zw+Fq^6P)&Oeor}*!QCY5Bc51J+5#8sW}JnUKUNt@xu=lxW^#T(jgzSHF7UscKH(g4 z=i@m{rzbHC+b!?sNqED{?+!{l#5LAk@-Aj2bsVz(M%hEqp)Ki-8riNEj)8vPAYf6`piLTFz^KW-Rm5c*ArAJct+2e)Q%(qJGvi(O;gz6RUV)mE~!AoVHlaZfkLv83{e$2oG@inbTU% zldUKrU}YkmozRBO;bxn;uzN{m%&M%SKCG!(lX8Ul>ML075@c5B`_Q)~kbBWNUS>cB znVoo&`Ob=jfVN;3`Jb67Ii1<~Md*(Plvb-%X5?hdjG25|{XF0P$ck{#?)-i12ZYfkChvxKh zwG68r-k_A;qig0{6h{nO_?Hvl(M)YdbfLmA^aFRHue+I?Xnk#|Twl!W|KsGE2h>a8 z;iJr--cH%@5pz+;o8JSJ#i}XJ7a;fgB~}14o-5Ffg6#;u(Hynmy_~V-=$vO63kHH1 zv!+9Hd9|ib>&Q02m&&o3V_j-to-{B_;(P{gLp1wb^B)4#RK{HVljNL+R@D>ba8@P9 ze8Iq6WyM4I3hXO3jn-%}`p2wtFu*^!7EUFqGg!~#KX0SObI^i!KBT89Rk0?%qg6+s zVTe+g9c|9FURu=N%|FFA*h{VhrqrJd78J`su{;(zbIDbL=F#Q>ixc_3j69Qw9k2wh zT}BJmqlu}PwZ)q2z8`qCPERYX@#vwo##O_cT6gxw_>y8Ilrkr}lop0*3Ky~>0S%S^h{J;ihE_Kg1pLgoaP}8(uQoyElFC6N!v;Nr3O->e%TPfhn z&0THsiBlU{SHK(0&nFQ<6Ya=+4YXZ-%F&2<6eZjSjQcENrJL1tQQXryXg~6@%kc3I zWUDD_3(C)^3TrCKrL~Z|O-?*# z{@0S=YOZm{yUB}bX*qR7(I(Zbc^aMYj$4|NPr$|HVU5!q+re9X_@V}UNE4RRZfU8O zl+61sX=6&C3lv*Cw(ONZ4daTJKRrYnPfU$Khm2oJ+BNP*DG7Afsl@B(=C} zHi_>HI9^~Y0%wd`LXo}DqeyU&NBX6NEBo0iIYJ+)b`X3%FAbUgkqVS(#bz zoz|Q!1JWw^F9ejjzJ}vWC~yGCgWQ=#xfRG@vEi$=6dSQQ*`|(4=ObE#9AMFn<|RLC zI(cHh?sHA!cG@I;M2|*0&4SjN#SsNh*X8UOIz=T+F*;W3w}%@2_oGU|;vKI!HVB1cKyqzztN5v-|5JT z2P+`TvmO#&nu?F+`2w;k$1g)RJUdwZkoHPIG63(`>8;Y?)^K)8VpSRms zPwv30a934C|44(wCt6!w2%H7T=3zJ#-wByj-L*h84{15U>W@v}lPHq3Otc>ZS1duE z#B0-#pC5pK8@WdU{d`I_lqFw~GsaR(?d$XlM$^qdjnSv$v)5&Gu8y&AvSvrX(=L-Q z;zvcJjfwhC?bv_%2YFy%9+dH*O-|zTin3E(p9?s^t0`S?x8lG;G;2VQ@yuj$Ei<~Y zg!@F8=GXN^k~oXkGt4a(O(T?E3ZHJHt$2{qABN_lJDvp_YuLD^{Kui$FF=3~!$0DE z@p}@SYURxwaT=v;G0#Ys;C-N@6$57kI6uIu&`so26tLZBl(otU1aO@xP2Pv*he{$C z=|bbI1VhB4LS{cO+Ui}fTMnMJ+OL?Bh@{EC3hebS{NIm0oC!|GQC=@<+YeQJ$cTK! zebDebau%R54k5*_JN2pUMJEoszX-~{K*XQ#fNC+`@)S6_zY|3cEE1Skd@@C$Ht}Tm zHMUfG>~uT9ht~e=U|;R1;!G43F4vQ)OzvO(7-}pA zf-+jP!@U)j*+gm(Rbs)4=%Y1=qyTE8UBN3na13ndyFjP6Soo{)>AyOo zUne;8kPFRol${m+@s@!We&q@+0@rvzSTy<1S}o{6SNYf*!BsWXV5KH-1PlgfAN9lm zq4>^dK=_3g8|YXm2z1f35-)`^6#?Lw(F`@J6sjX*h;9xHh3p%X#nQb;&HIlO)_l3u=xzNbH zs6GN$wFmyWOd@b`cfKAloxB{;1z#F105|PQdvKj8!jFwSEs~qcMFu%*-)Zk6e z;RVEDD-@AOQvV&CF%K?M>g!NE1$;hi)ZQS-2)z&Pvn7;k7uj_s6P$h}2?;xoNh zSsBN)z{OV*waOpOL<6To!CE+uwaNx~>1lV@-wZS3=ahU?&Q3Tum3pu}$S9f=T%Q2D zwbZM1nezH9_-rb_>wsHv-n5Fk6pc~?zJpv>Z>A<*Kgd zk(bzQ-1qY<=}|hpCFm_wmSRPJ5-z@J>yRVxGeX zR?iy=oz61{kXw0oGr8);#_R{9;_mgQMh})Veyj+0B|tUF;A@)EX`8sZ3|v;Zekzn# zn|YS&MMkr)!>`VxL5*=m7ry7jqoBo`Kcm-P-kr3{_WmHKutftJN=Kp3a z*+gXDCYR!&jpAwnQdWgk`vna(mzGpQcQfiBNa5g8sO^KpQjiJpTq>5gHf*a@i{i!A z@Kjj4g>{MHJKg1pmXxSokfJS{@eO{B{(&Q8(YNwnG1m@rtmGPT2%x$Lc_`wF@!jA| zKN6z|Kc-9ri5eFjt``Y71p^$(KiLXJ3KYfhGT5?R&Nk=#7|yK35-S1?qex(72a@;` z*r-KDH*-aP!BUM&@r#B9O5Sf`8<@)?-vrDphgusVB^r#?8Yyx$N<>3sTbCOvqKr+^ zBh3va1f3`<=wjs?pSgj#hVChmChEO_RY23Dr!jd(-X>Xw6jmv#DqrW>=^V zQ3T$1(9Z>iX31y_#<`K$_p!dLh@rG<_*=ffm+<#d`nJ{dD5KD5aaevI&jt*n{P0}0 zG^W{N(1VIqY5LRQYvF_V2e0`eo^Ua4_zoXmtD16nf>=F3h1|Te+Ieb#1P`&~H1WGe^8f+cZK(ABn4tS$_!W zV9rjD1;~TV)3wMJ84KXQ%d^?&k|JjFm`!6MW>bH-1!o3#=z)l);}W=#xUXtaA0XSK9+2U?n51=v&^kwT49h{EO($uXl5^w3K26-VLA z9;U~*8)^!3mE_(g8ncDDpQ{csEo`!hr%jDIJ_%23GexyIU7l?;rclRQvil|!zN2=#Yd|tz4$gA-?#sAw4L_?XK zE6FM0A74^|#uwuk=dfPPHX|%QqAh2_%irTIUC8?(MN+Az1#U!DMZWn6Xq%9Om~`xq zfsL<49U^z~Ju0~D8^%`n8k33J#TQX&O&ZZ`zlURAF`mtMU>RvzJjqxm#m9qZ!y~5& z27j)+L~OVsuJDe6Jdu&vuy%wh%85-jPjMBUrO}g9d5mTzm*``RK z#Z%J8h)EU)55B|*_%tFFd(1t(({bCZJbYQuTpbJMtKonmS#!Rn!m2UT$3}|rtgE5P zKS{3<>H2ZXjfR`vhF2C~I|tzrAEO2DW3loWPnvA#^d!9hd#*Z+k1LYZ9NyyHixwS1 z)biQX=`|MiHm4uu-^r-ObaEXh&iXH4G+!PNtvPO@N`A>X(!`eS_WFVGTSNP8*o4{e z0y9~Vi4ascYI;VA=%Z+)y*`{tGX3Qva9uvW>Qveu1y(fj3l@+q*(Wx*egwaY|Gg7< zYr*g|BoayI>KelZ>iH)j!@Mn`bVVLMWcvQwjV99?u}rRdfKR=W5MHS?+^@HIaz(bf z*o?ZAtv6D#U-M`uc7@s%)n3uWiK7U%1!pO=O+-?eiwxFfTQ}2sMfBeTo@8<1aIPK) zw#a+39cOR|Hptu$QH!jCv9sn%#J^LYj!k0_U{NFA9yH&4#vvDK1d*#zw7L~=23={B zPi~$#CMoC1@fx28%X;fO%9T;B?gCC?Dl2E$bIRkaG51?@SK|$=HDs5}xV)}k5;WF0 zDPuF7tM{)py^+o2(Wo7pcyt-MOJjNqz>(fD9)q%a#|U?WF==g$+d*|>=@zO5$gRFQ zpm&U-DbbVo1$W#Dzhg9bmOLEfok}I8s&BQOvPVN1)`LcXfzLIXXkw_-q7a%zQFZmj zIK8h}43!R<`zwKJr5W!h8nb!&%=Zwxw>V}y+VGf4AH2BSZPLDLh%3oyOYxx6Pd8&tUi&u|{`M@M42mZ9-9%CCI|UZ$I8 z6a2myd$7~>F5RpD=`Z?g70|4~KcFpU#J7m!XQX4M$3+FsJ^aMtzsn9EMZONhC+5h5?#E}CjVHB_UH-84 zqY?cF?^l_U&=UW>4g2Hvd`=kX4g#6%#x&AeaSlt_EA zOJQCP`8x8o{Umy|hDMCgyX7P84?|PU-53W|^)9jyjIKjtE|w>& zjqAsZMm%v^`?z=hlV9}mPRia7MbPl3&x;n(s3iUGFb^>Vue#vm4PU`U1n__&oYTN+f>&(#YHg zcyk7rl+?`rZ-E93b678^(c1+^qYUT#JJLwff^e_Hsx3z*rh>1L=#k;{Y?oknR+3f& zkHI0iH=s|};&<>y?7s-zBGVU{kH&yT#&ciCalWa~crcvp!w+Px2(XRBo7C5J_M+MK z=6!3}&)3^+y*n#|M~n{m??4FFwow0J_^+5Fx|RQmj^i;S>CLR)(_ihwT7+Azx2#WC z-SQbLeLi4zXaQ^aX0l=>-&)Cf71mwa9jp=)C9l*($zw({5pxcjD0zoWl)P&DPQJxl zV`Akg#{DBC%@bAhI>q8kU^FWcyV;PD>ojIIr{k%6tUUGrZ(keJLvO;Ki*MhIUqyGj zfSzs(&K1)w58tXa=jSu>mB-U}{=^h%S}MT+QF}PNk1^7d72&{SRK_gY1dS zLwpF&`(gG5#7KDzn4Yv=#PfZL-Dkbb9%sE`y-o|5s|dVrvD-wXdK;PQZ+%FfkJ#(7 z+JY~Bg5}Tn9mIO_7RtfN7~&py{~d}yH_H4PL~jQS~cOzn_u14*D2gxeCqDf%aL7t`|Dj1`yzY1kuXVF zg4<){S8tln-Rr^=kzJAf^j0b5oc#tk%H8V%V_oD}usTNd(o_U^_IR2;z^qQEIWpu6*}JF`oce|yVA zT5m+-=sl@oST^FU3G&elZf{}qief}+Qxu6)n}%b#*`-k}A3I zUVT;XJgezVJ-X*v9eee-DGyEH=F+_708~yl|MeC!8ZM}ZtojV2mZxxzrXzHK5NRq{C)I+e%8!> z`knvSBTxR-TJo=c4aS5NcQj9A*SYY+OnUR{F~5G=nS>4g6b?Lyg}K{)BAizvJgsT* z@8R#I#B;1;*R@maG&>z$$hGtA26jWck=@R|z`oGFh-Z>{?{+7vfL7Ta+e>WVBs&@Y z$*?mOA=u8gTiUJc*0yG^3kJ!ZVv;9;agCJk$HIBA>O;)$w_MW*r6Ns>R)Rk&Qa=A9 zB@~-HIp!|;ZRQA}ZS<^0YQz=pHMcx7dc$?KtT8K;{_ibfWKAuhs(N-Zep>e^!V{6+$sL83bD`CWaQDnZ JYreIt{{tQ;v=9IQ literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-ultralightitalic.otf b/static/fonts/nacelle/nacelle-ultralightitalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..523f25574ff969710a003cf71bbb72539be8c6e7 GIT binary patch literal 63996 zcmcG$cU%-n^ElkI%M3URtH-zqyUs2_B`J~=QB+V7Oc)R&Dj7kNNK{bFIp>5K6_A{a zn6sF}neWV=;q*Lv_If>jH4C1Xp6C0#f4uN1rl-5QyQV``byYP3hYlTxj8P7fBJZBP zdt0(SYhNHFe~Qr9*?zrzdp8-|WHdtYaR{L-zd-{7hwr#h3hyrwn%~kdFsO&3xnn*; z*Z?8P=YfIkUFWSF(-a{F%27yod}tCo#~a#Xmmy@}IzBQqLjBQZI+Wc2=r|rSnv6Ak z0{AE4z18^ml#KT=?o$z>j1i)1;zKi%sDwdKgf0Rw38C?kPuGvQi;$r|LQ=n^#7Qaj zE0HVEE7rF}Xb_?jAVoF6`*Du0U>1q{{jV2uNJj} z5ojrSjarJ&e~0=!i6c@;k{h8d;EUki_!QFvkg?PSp4*_Ge}m7+NAjQG6EYIZ41$rj zWCFC|k6K7D>LJO3w*CxbA^-2N251UFS$~5_$!g^LU!a%1Y#fS~MxzOT2T6MU6QE(- zKVTM;Nd5$r4)OmBNT3a$PDPN=n{J+hT7gJ*YuCdlT$f+4b@n!-1`AVv>P zjZZ0JB}S+z+68OwUw|6?HNSo-Dyp9)0(Aw+L_p_}g$R^H|1?Fv=+kym70^um2e1WN z{}X8HwPKmH2ymS0AL_vkwWeH=;Wwz?K?z9xC*Z}jq%YvKMD7%a>?sXATh@OTK|;eA z{U1Pmgf;dM_53?f_v*i=9@U@v2mA`#`Oi>>RMZ_9TRY?ma9v_o{|=r?fF=MMi34(g zr!RmpfQ4iT@}#DtREa&{d7@?#H^lvc=YrfMK}ey;gSwP`eGJ-L|2x`Ue-iBlj<~1( zB()yiAHtq{Q2z<)j-p=H-$xr!NAwB>No-JWi7)b@%-48S)gPl&Fh*Jw4DZ2|HR?lI!MFBA&Q!1Zi&U5T-zYD5TA@J7y8bEE3w5D-*59JM z5DjIwL|P~{fC&l%=!LeRFo0eXQ#2far=rnt03JO;L(wEO6!M|~+Cp9wKwIfO;7tc% zydnXAFX|y(2zy3`CP|*c`te6;)X!+12*4-$z&`E+-_u9Z3yqXaLQar2m-yCygl88? zH#7!dY~xc*djojFez1Y(Z~!v^F|7s|1u#)!1!L3=O_9QQNq7AN7AA zLSidIiQdSv@7KJbe!~OMbYw{+Qi<4y^gMcQiJ({bkx;C+b9FzVV;ZCdiBW(3sy0$tCR?)88R$ zNtb}o@W{BhNXwwOl;qIupQ*u!_yTx1Gqpc3@|KFAmAp$fQhM4zz#(T zkmG~`AQg@xQ5^h6LTL~@Q}meq|7f)jTo{?TmrH1L~4tFAAsxd1IO`VnX-`D+jVH%0$GKH`|Bz!-N%?cq0F z|LcSzfQA$pi$oX`ks2p}NXQ8Uiu(g?1EEHwp32_(a&cb7(G$AAHG58-fH?KjH{^8&!d`A)>JECRdxUl)B)-ub&GmT{YX8f-cdhG?gIP18I>7v!AUSZ;7BKc!s5P>M830KQv)&n2KwnsL1JGdDpuw=0}e$^kjT+U*8>+z0hQ{-`I_2l=58I9rTG<4`zqVQ+;98-9T5-HFO=OxfVS^MraB$fNk3Z zWr03910>9B)C|o;3N#Oyq4`LSmV?f+6lu^3kU5KxHChd_WG%8mYfu}s9=7&2*hkx8 zH*Eygx)oSz9&$%}KnCZd4zRa8V7+&O9o7XEqpq;eyif`1j>z6PQ*XcVeLBhe)^0?sL6=oYY*JHTdd0-LxE%=|vEiXVY}B%|lR zT3!O%cmZtn92$)-Q{$;HDu#-OofL^;LF$`U4oj{(u#`Y*BozTe zkwi_Va;Uk~5^5E-f!aysQzcXtb(A_o)loO7d(<=P74;MKki={`Tb<#)D4+aJXW(M{K?F>2? z_!#sx2r?LB5NQx^kYbQ+Fw0=6!5V|j2FDEU8a(w0OO8y7^ob7*PfkqmNsLZRh@8+f zG(0sWvS)ZGWc7?lObHDSk4#AErGM`Qc%do2`n2yKWxfsdeH-fg>Dx?Ah;eptb@lrL z$v-SKxli9df4ui;sMM#Sk{;cyV}E_${q^lPWcBC|HDGxFNde!o-8=XuL=POFnh+hD zoEje&nwm1Op}8S?%pu<}J9G@xX9b2wM#RJcCeY>T(g_|ezMj5AfvBP1kUP3I6#E4I zx#^&Wrh^(N4N8tlh#szQb9i`6a(HTdR9s}n@Q9em_&zkg?QTI#%Qc}KQb#!YO?jEUsZZox^&D2Ip#oN6(mD@^`l3?@e=Cpsl1CnmuH*FRIz8{SjKCr38qL?xys>x-gd(i(Cm#boF+Cczd- z(5E6rrCOg#h-qv{kL~R25}p{BnBWv1Iw^8eWPHrGxAB=tY-pYsjLHx-ycVoK!1)X=!-5fcvCuq0wa<04|BqT&)K!vc#G z7loT^$DWBvnR*H=gY9|-+grNAzO@X?v(Cs9&LOxzMg^5 zE>R}XAdp3gFbo9!3=q8=L9~jTzYaM56EGRPN1u=u_`NA8E3HAj@B$@hATv{cp>O34Td5Nc_zhsOgPBKlh5V&@(WS3;0q*`(ec=jbd*M1^-A^BPI zSwf^pN=rke8>P<-Sc6^$sRru}$_%a=+%xz{8`9>qJ?%;NrUU75^muv_okh>4SJLa~ zE%aWxjIN=N&?gxSW`!YbIKgm^;Tpq>Mpi})?C(E7A(t@ZID&TZpeNyZf4xhxR3ET<7DIc#%qjs8y6d&G`?i~gYg?< z!GtwwY0}E1gNd(6fJvZ9h)IIU6q9)-t4+3=>@+DcIb?Fm}mPdG;Kn<4Br%XD2Q3#KJF=+D(1oNmj*R{ll6?lr!;*zcfEi2`XWNEGGat2F;)pRJ+pB$ip z7-4m~EH4S$n97RQ6q(9uga_5KJYEQ9mh&@~XBUkKauroHLmyI?Q zhoE;kB~wgZH+A#YEnBv3nz}ACH6tTcEtd`utHv=a3TYC@$gw-Np@SLOU1CUAF|zl> zhAw7g*`@RJeRsh|;&2L6OS02t%<@87#$3cFY1#DQvy&z(Wz5VdT6X!;Whs2SR$VTu zkcRUz58~!U9J&yvsn|6Ox1WmLjY642y4CbS<{q|vj(gN$vrWW0m+*PS+vorz!%=4V z5`6V2h7{|Px(G@180M8OcVal*HXt}5LNzsK(UPf}nbGvzHR~2^P+dM=gnNG0$VORr zC0-MJW@Don*l-p$O2ZG#hcU#9JfLMXHfB~7(Zrb9hdp38V~7XcpMg0)58W|uN0Meq znra5CcRJl6?kd^VHMN>|!Z>;y#lqElgA+F>FEn8R>QmvI&!dxj1F_^=Kv<%xVS~7frj93y(XYX;Y@8 z$*>H|Y1u&rJIR>o;j~Pfl1|C8D+JqeoK#K~Rtc8-rNZ}?yv_&~gw6pb^V;EyMK4u% zuZ0krSlL(+o-~a*`f-^igdyhBPW8nOD(s1yVN>jZHC;{+iD#dLA;Fqo@o5_Wz{s`z zEcp<|Q>RRKnM6#ccv{%ug`|(*PY-8^6D(%fQbNlu&v)P^8y;Kaci!uj-yH|&g3OP@ z2wxU=UVMKtotP4%vjecvuTRf>uF`}u9U^;$bW&LcoyKl^G(rnzRo;qp?oGh(+|x8#@;D=VuO!SGKEl!>+jJlk0d` zg<6JNM4cMnQEBh$Pb^8hUT3i33iUXK*ya4>hke9vGdh*5;9)Hl}yW;kv$`G%RBQR{xsf0b656ZxBKVc%v@1yzG&vmh0|5C z*`?ZmbZX~*>7DnAiF^+}e$%wlbsH8hUawxUZ_uonOE+AzkZD^7@YvWabHksOOcpE| zIqZ?%>C|q)SBjG@d7#h%hEeFktS+Z@-!ZbmJomB-&)v!3V~H1VmU{wAljF?H2pX?u zW+#Y?dOCyiaeEwwH{kxH>G!0gMyA-EP4C;eYULKyx^;6W7ieT12ju>`9EO@GX55Uy zhAP<}K-jTr;>BxvN=Ov}RlAkB2IX;~G6L$L!e(&3D( zU`yu2*!YAHSYor&@RKt9ph9-?c+shf@w-NgT=Gc;t}B<}N8(KT5IJ!okup1MGn!wT znX@QOCHv|4%^Sz|#0_)+X4CO|yd7_qX)_d&jI0Qo7D;7kHo)s-gLu<=l$wLe>Z!yW zFtIx2Aa2t@o{Q_l!;=^dChSncEWkz!u;D!1WCng=K9<=EqjrqJ!-QruS9tjS;r9pM zF0);3yUc!;9V6$>k2%z!nCqlP*yLl;ywvYwOI-hK@?;a*+*Jk>xRuVoPgWn z?_g8G7Vy1AlpR|KJH%*k)?UouHdw9VKK)V?+-5FF4lG$U@-AtuBKviv3aDoK>K!)w z`C?!z(#Fb>n5wx?gdTh2qed=v(#FP}eAj<(z}1Nw(mbwvr&dZLe?0`7tGOfC4b#uD z*`46JZh0E6_WhPS_ueVFNAG+uljdr2PIpbgJ^c9TF*d{KQr`~5pp73fQFD*%T`N9l zKH}dMAD&&o1}`s+?O^BVO=Ld4)z8%WE=}9{5Q``v^w**rXFjN&p9u9LQX4N~r%7RE zgwxv@?mljIW3(Hg+jS>R2^V$*Hi$;QK`sx%tyI_!v#&9);SN0?ayf6FLSssXQi>p54AQZ~1Ob9li+5tq(az&l*1`DpT3+M9ed_C_Nl2C}9C` zFeHv*YY$JNhy)J(G5=~EmZ@GI4DtceCHAB>k!Z+DGGh8@T8L#pf0-dQpnvgg~zrpx|6P?eOI!FY$I*j-^O0*v5OR>?`s=8 z1Rs8Z596M=Z`)tUAX3|&RFghx_&Oo7lq#+kjF#}SnPtMjBC57Z`ZG3G+{B;z^8Vxw zJw14C{1jyY-+;TAmkGJc6w@}%shEFe(Orv0Pf`vH*=U3fVY0DQiB$yU6ALu~Q77`y z8s-{)LgQ`>Hr+bjW|3x5o5drRj59h3T0@dJ4)aJi5>N6-k5^8(7f5Q!Gt3==dJp?4Fm()%!9!jg540mx z5E(-PorfNOuMU~7AkA;}$5Nbj0jGf6;(X2%12V~80ZpQU9sJe8-lk!rhH@&Sx)s;>WYp+AUXv4RzU z5N6jGyWr8FB^_Z%jL?CWHB9>je2x}4J@-^F=kPIFZ~)PB9LCKip=(Oy&c9dITlrpH<6>_UfvL^ zhgElX>M2$)5~~mO@oA{8h$u`teDXxmX<)yj0t2H4tBaN@_T}%XEZj1AVr*PO$b|Hb zyVP>UIA*u+2Df%flH@?vgTU{ihUK8fzR&OqoTz*2BYB}{v zoKRlAUiej5$gndkw{l*Fsf@CeValF9Bia#z(S<*)QG?p2*w4et3Z~^@J0_jU-L`1S zX7!4qRx`8KZ+d7U%h-^$Id{W`Q846+Z)q7e+w;TuSE@((k%K19n>Zs(BO}4TWl^vw z=So4)RVbnvv1)D&51P?{Y{kV>+m9a7tXZ>S-SUl~G%6w(Te6!jW!~d0v@D1h7vy3? z8HuUpK{H4L%^)@{b1Y~EVGL=mdza;#IjQq{3z-7s;9zXKXc;}4kpWeDB{f4-Qui~~ zcqAT<$B9~lf+XrURw5&>`*zBz1$j;Ge(s@+ zg5xxpt-%gW%|)nCLd~O4F$MNi@U2q|D6mOWix7ARz`Rc_rogBT7ISJTLgf?%!A6yc zT26sCnOZ3Ui#)XkfmI${%BV_0twUhHrq)x)k)k#tu-H?Zq+lTj_b0Vg0_JUM2Lgu! zIw%EOE7;`0+zxhmu<(Kr7hJ7Wo&*f#)LsN`1S($w#&T+(RCHY*lTxKppOK3fhPoP%jmk4x+DRg0tAVGXN0QEsYehOg~0a%jsh@Z zQ$I?jP4hM5Tcuc@;0iFu5mQ!CSu%Lq{0NfSG8&UNV)Pw@34tPnx z-2na*iG)U}6gU9D&jGF!@Ogk!0K6t>0wr4f$0Lc66l^VEhzBPEc!I!n0e&8EZh&tC zoGoZ8LP->O9>9$Nh8c-50>eBwBfwt+&JHljfU^bsBod%jgTR3!kyGG&kpOMu5SZ-2 z-68po0S6EGY9!_qnDW7*gR&@aEP>w!+$`W@0>=%SMuF=E{59bGgBAM;VZB$Y75FBy zsHN0)2?PGKAjtu#jnq!sRT?3EDg9!gF|aY{Z!pMUs6mXu5`zMRa|S;cd;%klH<)JP z=_T}9`T+feY0Wq@nan(99aF-bW9~6;4UG)D8}>BpZ#c+sgy90i6^5q_wMM~4Ax1Gq zQ;p^r?Pwxz!ZqQWcr^)X64PXRlS;NN+nc>EGna+P%D_N#LH4t;g)wj3(Ks56GPg{; zP5PQFGTCKv(&U=SEt5wkALLH*?(%f`JoyhzHBEaq^=~?)>8z$ln!akLZf4!gp;=(F zY0Wk^+tO@zvjffEHT&3%e5d-(|GR|mmV8(Eoz}FEX(H#ujpM?(SZ)XRu{qPcQ}crg zS`n-WQN$?bDYhyODXu7f#we#KS1I#U zR;uo*yDi(d3~RZwWpT?Ryo^`z8omu5#24|^>h9`Z>J0T^4W*H3nrd2T+%$ojM9nHq zkw&m|wG6TxWf@^P({h{TQOjQ~wN{js#>&~s$I90#z-p@1a;sC;O{|AlkF^f9o?xA3 zooStAJ=c1<^(yNJ)~~JKT4NiD4Q*p&!`bjQmNqsvUN*iqeQZYCjJH{9bIRsptD&um zTh+CC*SbyX&8@3i*R_7!`d#ba+ca{;9*%4&Qf_b?nnIspET(W*(6qt31j)?s&ZSsPCliG@w&Tr*)l9b^6)U#?#9) z$TO)InS7=2K;d?PGle@&Y}>cJup}w3FmGS+zFmbSg>|McZ~ENw#+Jkqhuap$;wWMR ze{H(m;p%G@f|GWQf?WMQ3twf(+$)Mg!>b2q-$L9ub^_xYOn-=FNN3zqfoa^C(1wuq zfplS)_Xi9)2K9(di8;Y=G9UUqp+!WMVjs4+RA>u`ClwrZm@d3j(noBpkFTLEHdFla z-uF_B*oql+#3A|gOC@~^v1e?bs7tX7*9;jE3*A!%BrM+_(7)R<9BS4~2r__&cVV&q zEtZk%n#fl5`ZZY*;8dQAptz`^219+V8gVkaM~p8>eNsH;^@4 z$oXnA;y%IQ|Be0#4LENuQ&`uF|7tw6X8*J8keCZ+ZN;9BW5-51h=sP9yVwdFqr>W4boIBLe33p%D?^`#OWC7hjdidZW|4Ai-3iNrp0;p4O%_o*$<=}2#(G@j=^&1MBD*i}<1 zs>^Y0Wq7%1J#{??)zsHN7VQOX!Cvs@w|LOMRx`S-)@&_<2jWdME@ftrO|)PVz>?R@ z8u6SU31GR`x+d@f=Y&DbmxVfog8PVf3S731qvf@Bys5CddTtH(QZNO>G6`AB;@J%M zGaS0iuVAM;At%~x&~Pt*&b{;Cr4pMFNs*PBocYpQaS2+--Xf;_`G3wLI?mv8PwINP-IC)QwZX`RXH|Fo)59AR)2SZZ1s z<^hkp^Pdo}Yk&7*MdUTpSUCVW_WEyQwZ@J=tv8GB7T$7i+<0;V&rxunV6fi6V14S# za&NlvB9dOq{EGDC9hlhkyDUR26t~#Vz4%7;eLSnTs*|0#yDbZ)KV370dSt?N?xh>l zB4N0*hgeJ8WKbZ5PIuzD?qZg>$r`hYu#+dhM%-jRjm`iH-zt}a$zH__jSd|?d<*}d z53ll5U{`xrj!%|TJA|L4S}CmS!E4!S<_3O83rz!9T{9nEXazR=ev@D{`=#)eg{J3g zaQ;5Lp@yp+%5u{t@LcT}7ME+iw(=s@IbF0HD`Gyl2ABeM9mBv^17f0*B{F9E3i*$J4m&IMf;>Lc}45|n5+1ecp8V}&3fq7ya7=Ge0#iUvDTk^sf`m3 zDgrmKI=>CH1<*o76e;KzVjftKr}aNggIhxLTUdWyzH z@YR^&q#CZom*tX(gEf3Gn55DaU_I)Vecl&as&J<>Z?Vl@%_m`@BWtBwK$DgUgZjep zz$UN)yROrGZS!GIcBgii4XcwL;dkR7xH}>24DH@nUhEP#f$28w#p_M45$rMT2V1~{ zd?T1>oYV6<_j3r#y~M`aHy-*5x5SCY`+Ks-e)Dv1XhI3|j4$+LtF@0kAqS@UH&r_2 zQZDsniS3sVy3hEb0|#y4SoPfLXnf}LXHx^)}D8#HC|)TxuFted(?qw~_)LFKPiH#eB6*9vJ;!CIIM zCpyyfwjhO8JL`CY0;Y#z$=LvMkPc^0;R2k1o6&N-VBygTXrn#ZDc-dNyjqV#eTRhNphSN7*C1yt) zynE!~{_nH;ObePsj63Q&n^!aP4?|cHNVGV?A7a_l&ioFo8}~8{EaoKUw@zLxl7q>kaX=`kR&gcvYb%Ke;{F{cyOAw%Ml<{#JMBv9H78mw1uGyz}J!CI*}M> zd0E8XkG&srpZE*@qD#rinynPQ9W?hc_t{R|Wc|JT?uA{!-!TCE9c!3r0U7PX)4i8j z%#5VDJ6JU*|7`9PFboZx%j^H(qrz$%77qme-j4-)BzM0Zi?;~tfg8O6nSWm|^Tpza zm#K?2xD*^}Z>yz%^HBJ~R$s3I)}m<06!Wz9?!1V+uO6)d8CX9d2c?^SZFRD+1WxMQ z8$50Z58@&Y7$NqaFCN}QhVXH) zQZ*VuN30mPAyU)1_s*p2XX)-W4??lAs?k__Hs@$srRHoc{iTggGlhS0C2??tT9>B_ zq-X4zQ&^_lLwJR-R~SZbh*=prQrT#EwePX-MxYV~meb)<;XF*!8xZ)F z*%e8p_+lwOS(;Q~dZAi4xRXnR7%O0h1DPn&lje#rJsJ(7^pSF75!eI>!!fA*KiehCcLkbCM0yM zIwy!G!-9#C6>(J&(=OMrmqvaN*xmOP_)a+`Tm$Pgc2(}J?Pvc$;?tojJ0mCeK z0X7qvhGggv7|HL@*oFD@b_y{fme#{bdyRY@G}5U8->SeJVI%IU5&1=Xk?bh67Gt*HkCxGAw8IGq+W3u-=cAE=IzZ0XJX+rh^Rn$7z9&wsT!QXqDgzF0(TG{ zD_gJ~7`D5K!@HYoA$DNc?y4RKhV6c$Vf)mPwYgPb0la@2Ct^z_?gs|$!Q^mzQUwNX z`Nb4ggiN8`-z4nCG#+-CFn0gt8t(HBa zRq(`A=<{!00(ns~D=)HSccmZYxjG+~yB`V9emqy`vE7D+f;`yFU#&mf89=B5gfoC} zs{`();GRRbx1ihS(Cw{md{Hi|$EM40Fqn(Df}>EQIOpHpfZU^;>BQ`YA68{Wj5D9l zas@eg`MVd;|HUl`4ff+jno0TZgWcHY*%j$&MQK9YeRxs1sc^A|+oWv^YjHBec@amw zxDsttLQ@7D6H8`Kps@)y3@6Ps+$Jy>8~BhmV?$T1jZkyJGs9?ZQ+CynStTlPHMDq& zJ7X(ibj)_S2Cv6!Xn9FT9yb#XEn?**uwt$j;8*38m?0JBfI3O+!CUZ3w1tTd!?JNa zUdHqS5lzgQS8&H9F>2~R!wXZ_gVg@M;}jys%o^Bc1vvypw8!EcsE4 z&gM%Gg0wv#-T}+NdVCaAyQ9-UXuuy5C<;1!bPx|?{wF7CG|R084{0=bNY@6j-0qPq zNzv{FQL+(4$=VEFtO0ZKhhNn>2VI^M4K0{Mg4>LsZajj@n-SFBheonoZVu@nYC~d8 zn2yGf?gy8P{H!p;rkQvLbYt-DXgQEUlJQj0= zW40{d0{t8K+1e)mh>f{1gOvl2=TB_d8@?iMTdcL??rh@83p~wB%mRfUvdH4=+?9Xx zaDevR=-=R8k~!GTgYTcj$^o#aFx{H(-x`T-P_JY`0umhh~$yMY4c1jMQ zSLC#THW3aM_D^nXva!J`KuH6PDnK}b1GHwYVmUS{Xe>Vhj2z1z9C~#-{_h(CS zRtX+aNx8t`Hj7VNDQb0_I@W79Y7(unQ7aN!$< zsv6o!hi0mw6?0*iA`x2b4#Skh<2&Fv$S8^}!oj7cdn@qE@;Sx$MHP1s-|oVa7QKC) zCW2S|>E83jPgJMK+h@Rs*s;q`xz@7GK1T$uJ>576%<*UFe#8A!MbMhVEeYEEKoZ)2<7O+g`uHX)1 z2y@tk2hCGY@u6LlZ2jA*xO=@q_ny>n2L&4pXJCi&`-fkuZk?OpIB8zWoMerB>Oua- zX2GnQJA@%bER^B0NPA!c<;*V3(%d1J71u)FjAPq*4(lDSi6%XA`9bq|Ie`65YkrUw zd&8d<9n&@3{lB?s7qV?|DwqyBftuxXMQ$=GM58qW%EtqWt!_sr{yLyx7^owp)j*%>QlY8Q( zKi#jrv`5WlP35^mxQlXuu$cQ~Mts=c3$%2@UUNr$! zZ`|s5>6on^OS)LpO${t^Q$eH`ORT}0ZFt%Xn=H~my`05$cmZyyRcv1io3md`98 z@-gF!M(yao$%2IGE-0|?8*p^DetvS42kGcRJc*Zc@Y&aD`Qut1&Q}d|7ilxIctVji zjy$IDeEQ2^-EqZVXiuBUV@GWQc(uQNoSG|&WHr@GyRu6geOmY6gxs{T#VV~_+gvdS z6wlme4lGxd=|YqC;7fF3#*qpCHaKDjrou1uX@;xPRqJ|pWk=593e%F!ZK6i$vCkw@TW&_2u@U32u4}9fa2QeS`N>K$K>cG#c;J$?O zq?;fQ;JM#NiDfX8P?lYHwKq=`g50jLoyO1((qEY1DrNyw`Ip@cJkaT z@bRw7+h23~@lnlz-DNe~PaB0ZZV|mgJXBUg&tmu88o^wQ6g$2}iBZr^LaV_QzZh72 z$(k=_i_as4Z*9=z0Bn0(-T?w^icNoUegto z(`s;2|}P#eTx&#q88X7WWdA3Nhpkw*VPUoQWwd zwt~$rH#D=P?%HPVN3oS_Vkl!`IYe2Qfi=Ud zt`mP>+uDw8&r>U~V<#R8AaM*LJeLV?t@*9JSr9lYa0z#303Rp3g@y34(aU|O160E1 z7pNx=JfN427m=avicb7aZptXZ~s z@rGqvaZ}-rc@_UaTepwL-e!e7H0n?Q?UZ%`Dcr)H1rv$3M?6dDay+h1ie1~Y5D0>F z%V@u_VL=1Cv3l}#R?wZ+2l~>~&18Slj<;hQv(hQj3|Gx$<(5l%5y(*8oDRH>j^^d! zpI@}m);zhS56XkxyK_HRf}g?GmFTyw1hy_Y_r-5C*hMBnEK-k#N`pvM2cF!YU5fWy z#-GJtK5Tqhic|4fMGY@H&NUE3ymK^sxR!Nb^?`9vv#}Qn4uN>J;I8NrbXzcRU_Esj zuc6aJ@12Mx9qAtYDz*kE-8~KlkrbHP>{5s{5Ly>ZsKUFexr_LG7uM51ctom(E8O&m z4&txi+cab|d#=>pS7F(L*{&JxeaJ;~?nWhZ316a@7-HGp%f}w6Fgx4DJyQc^U?Zu6 zlI44rS8P|_8C~tF<}Uhmjqen#xi&Aj(nBR5JeU>X9S-qt-r zDQ@8p|A=Mb?reEWmxH;bi1#L+r*umk<+Q|NRt#=Bzx>FyUoGV63wRN5l;CB}r&~2D zMI)dG7Z&#vykL#K0cLf-0}F+~tV*izSOIE@7@>WC(pAE@($@ z6-n_UlZaW&vV_&inxVnlCLOAzgY%C~x}w5qmvB1f3g_&ZzEgAJAOr@HBl@7KaX9c) zWoq~iHTgo$({nb@+p%7v@#EtV0Qv2D8y^N-VTHQRorA-LJ$OCSw;nx`1(1IDm_g!%yD z*JvMTRAh?!R;7Py)Tzq|{|TBa_@)>+HsbfT`Zjah{u0`O z_aDT{0X(4}|LkHRrdTh(ce326v0&|(3(uWkli> z(R>SKQbRR;IFsfWFOox&MA|mYDVv(64JtFm&#Ep|udCuJ1VeBudGxg+?lBrJrL`^@ zBCFmDU}Uh#uYHbNs&1c*?G}_eF*sf`GHz^apfYA%YH_HVJ5(`hQ$noL*LS%6gqS6( zBh(PPoKsdbzf6UjKE3?%KuSr-Ax%QT)U7*|6??ZIE>Lq7r%QL1oK?Q)b*!~oPRi%Q zq#T-AhIbWWULR_SX9K5d%k05?Up|rWbO19i7H*+TAWn1)Tfmp%{`5OWPD=E#nMJty zg>*4M6YC((DT?VzhSK}s&Ou)qJasOLe~GdBBZ@PIh2BT*{tJkdobSK~&F19*`vqdn2Z2VY7sU`6 zTL_V{aZX_QYRj$>$PPZJt0;y+^~L=ic&-LYGoZAlEz2FbuXUTuHq;ekYWG0dcqrQg zWi^+y%UoHg`x&w_q2O;w#oE^HY!I9Ph3s?+`gSgtmh$P2=Dov$ zhJsWU@1Qua;uVyCi{Eu%{}#S07YPxMf6x*rR;EQY^}FDwMSc_YtYkB{~X;;BCMN?p_=Li-<=$*sb9Y=`JcY z*rN{%k-p+lx~`HdjAFUC9wShYsG zsXaT6;WD7O28tcLSx3;HB7`GSVQqUB%>D_WW*Xy6xE+I)WI0(v)&V^@31{G@Bm-`< z5Di{V%iCwOBFq=Rq$%E$YSRGx>>MvP2Gg08`?Oug9(I zSi9M!IgN^RcKRN0%^lp&mEq&9*uO{Ba>?6xE>CQzER&!0Wd!J1`JiW&fwq(ZcIv~` zf)n___Jef;;yg?$JV{DV@{V*QA=q%tQ=EDgf55J4-Dt8}fi2GBAMucDPa?pK-C_`V zN`m}cim{Jco&groXq+Gwe3r8rbNGyHY~D#;U}o?cdF(1-y;R7U&Sr%2lXG~$ydu;} z1??(6;}E}g2P;UX^BEJ_?Lf-O8lg|MRJbRkDsU2MQq_Sh_94%R3yH%fqhI3L*YIoH zPOVENlNDHT7T?Bk*Pcd^0AdzEZj*>!4y8B%xKjYo(gbM1PnNTpbNKn&*i9#Stee5l z%wuy!T4sEuWqL>ch)BzeRs60){8pevrl$ocC3#!ZDB`GXCKWQZz2SW8HINQbs4EDrWtaExB(l7-7kcyVpM` zaZ~#Czl;~jfgZ%@()G}TNKPk`P_EU~QPDLx59set5)|0}(GQs016CUAq+WjD z2DbA$`1bY95tt#yFj3P3+Up1WD zBAEy>l6aq|<*UKAzqkPV%L`~YH(tj+^e1L{K5frHR7i+IdGCVv}&S$Kf|~>PEQ~8xRLDsU}{{dh$w%limP*Jno`~ z6TF)Ex{wtlQR%kUJh9Qe>L2q~yjz7$j4;1u=gya^iUI6MxJ5M)?w?N80MYiyv4}oU6?f>|l`@|YJ461}{E8sI1 z`mv|=pXu%L|KnFK@?-H({Z|HR^WiI3`mxL4E0($Z`$w+wV?)J{{6(9;ix>GIDJ8CW z4K)z2k>XLCV3f#05La+1VeuMA(AbV^Gt#NIc(D{mYy{)tOhp+)weNIMps+)v3|gW-h@?bfQ;{@%x%loc>{!7H?xcSK9$c1E zAlQ`Q!3C!0_TfQQ_|axOe;=6Tg*QhPrx@HDZpvBVI2=N3Ao?wwTq2Xn9CD9jf%BWg z@o#UhKlw?svV<2wYD!Cw(AnHkV~a+qiN#QBH_}8&nmh`GxKZZE z%4>JQ@_fq<&JcFky!Lqc_d7pZgfr>x(Y?nGBmMAPb8K3{jURA2`a8Lt%eVk)Es9gOjUunQ-(N1ye-0ANx6^4)O?mw6?W7XluGmER0 z@=C2=8LXvpsg{MXff8nN%EAScHAFhwnIO_s>0LhL;T-jXOb_eQV1ca)FrUi_fu)_Om`Jkf5NrW|}z-k4e&aD?zGlB=7n zczWx?+r{ejbJow@FxQB?o%1r~a7=)*qqm>^e0BD+tfg5?ji8F#_MpOZN;!TyISOI}?#^k}apis>_PWNdep``D8| z{d)EJ+ZTHx2dvhVFpqP_9wM|#*P28rND8(G){qUq_Sh9Jucg3MGFOrfzmQK-)OlvG z`qa2Jj)z|!L~|60g!@o!;5uDA+?Q{IAp~VKezOC6t(&^@;m&J2OtIk(oVQ!u`bN?)Tv$V^jCeaOZP}88*Ce z71kwv!rQTILcn`Hx>nas*W=Arl zKRG-3Q|8YZA7BCdkWX|0T!K5WGI-UPmBALf;GD3Fd4b#JAKH{(bjo4?sey9cOMF{_ ztr$OY8{RI1`4L{0@1e}cVcMWM`|lVhmQyg89pMk>WEtIUCfj4-?Kn55tAKsZjd4_x(AA4=CR-=UZ$E= zPgUfg-K@}2ioXo!gUDJkVA0HI9I%L(>R!QJXZ)S;3I{A$Sxg2lpye0qQHU7cYXg5M za9~5lsZzmrI6n+328b00F6v88lYqrDqaYbbR)g2<7+#GBELd4W0_I=9r@u9}dUe{H z;%L$5WqPApFadX)V5^N(jAzmvY0@zVhTMjXP!fZaz8`0)(;Xc7Ek9xDiXZC0!37rh z`$^q0S97E2@>%Srtk7>Z?~%w)gH$ z@0t*{aja@=*p#F=jqlZzl&ik<#JDM8QY^(QJbH?iQ6;k-8~43RWGgm(Zw_HEMT(bqFJWqhdJrk3JLHDI#^=Vq)s0e! z*UR3d9S-fIwCg;8DCVf;tFz1S=E6sXcrzHBn3{;{_!>?SV&K{)_mKdzhP&i_M`%Ve z8L{+P1_Hp7<|NKbFye%+OlBy*$qd|H9;gI`xIYuKVAA1}=E@z_iE;4TL~L zWMJs9O|B~WYKS%8Rf<1Vm}0x?_$qu~ygjZ0Hmk95BVKV!#;yp^xG-Xz--R}Q)KfnL&oX++5PS|luf_j`GlMVXPrUjcIRb_tU_Ri=0*=*B%F3xT+!N7$Lj8l z5&W#}bEx^OzI)mId~DQO$MaUl^R|fzR`(0G87xkF!A4{3e!vzo#*rRx7GVuI4d)`b z{uTFgR`+Ar=8wqjtx;=aPU$f$&PRN4i=7=U&Yv77!#%g&66L&Ap2j*ZkwrU;bCC1% z@Hro`lfLJm1;5O9M7!^Mf1o?a(c1l>yY-+24qQsOYdLQDWuBu}yPz=+YdXtv91-cE zj$!H3H;0uv$4ahk$+fKw$>|(EWXk-Yp+kp6hdDDHj_@H<=LdbsKML%>)X{dSxm)@w z@y_ny9`;(kV|8}7dHTEihI6I2!?Tbv=N&EHk*J|todd$&cYfe+fWIHHxs%=J!kxGD4f5O~j`J4@HgN8tlyh4iw0ZM7R{YJ zJ95h0@88%kD+&v2P`Et&bsi5V^Kj#=s5d^4sN^yxe#0`;VRZ&r9RGCshrjXuXOI0e zX3^&ody8@M_da9e@6dr`mpvP^`iVho{0;d4uN8lLJ3h3)>5oDC ztg{x~Il#}ch0Xn!J3`uyF|H?9n9L~Fw>aA{i8sn!A`Qd)jvXi6JEWiLxc2Fi@t?RJ zTY}n%cXe7CmRwoS^+LG2vD?p@+q>mDw_hYPcXzovyWi^k%iSq`W5Pa_cQZe6Gy&$6YMke5>&NoELY-=yz2=xle~Xo^iBwv~)ap`Rq&g?Tq%!@$|C3 zy5*yTIT6R*pM*Q-ID1(WAOE@6-4S#I+PPc0A8gqnDXVXEi1QJLU&5OSj%_28WZw```#6Eo;P|zh| znG*(mFz&6$5EeT;u+rS?dd1>e&@`&5foQ-oo4ZF<5;kiOSCZ9n$>#2<|MlcwnJwg) z+i#_7?8-M+gudqbj1^UEDDWV63AEjxdqO>(JPmQi<2)*=(KFlTZ08K6H1`)=oI`CP zAG>c)bT&ya<6T`XuIF5p>}&T7tp4C7=RMYz_eEvdl01L6ZnlL?XWhsvI22eJx-8lG zw`nuhpsd512R-)87ybLjOn=)Nza@3rW_Az!fM1x-@5Y3Avc9=H`OZjpFD$`M@QS(T zeuo(ocFpk|EV00m;s|--5bJE+TRoUby>JB5+|edF%yan2>#ZilxF323Bdw`B4A&st zp4)H+i|oz$EKTa^(yMno*JP1+*t(vRohzqAg{5wq6cyr}H$Q5L>@g2p_rB}AV^_HL z4DdT&0Wo3s8&!+kyXe+Bujv&fVUdPsqq`q@%q^W1<=EHYx+fK!2`ml@d4ALqSNo-A zx^(b7EG3x5vQE=u%If)9PSfhC-N5mUqwtcu(EY9ZB%?U{847M_u5$bXlkTx_2LIZ* z8(MvyqC(uayR3{zKhKD?<8zla{6-%~;`1ox)Y9-tLGCdw3j@plWc=+1mnD2o5W{q{ z7$EE7yvQsp9ppzXj^|l6(AoRHhhseBI~oBt?glR*-y|WHY)68mdnk(Q%5U# zAc(QHh4g?&J4?bD9)FqHv$@Qky)5J6GJ4Y4S+Ll2^jvOn{OT+ScUV>&Dw-MdmhIjz z-tXHrvg^p5Su^<8X5h@fUy78-B}`_Rjwio}a%^+`7%uY`vUH7QYj=12-RuQXRmUi} zBo+8Rbv+jDb*l3RhdW^fOz*zz^|}+{?%-;;)I2A{62-1N!`AA7KSP{Mse)^b3bro`T4P`KV{q`AF~PMRUF$pdhbM&@qr47DYvYNwDSlqtvn{*U;})d>h~6_jkX~aYDDpuguce(#F!!(%I6-@|@*u%V5h_meH1} zmid-NmX(%dT!e11?6PE9j#%<6CoSjvZT^wC1fA=@#y{N}i5t59*7vQ0tzTNdvyQS( zvd*;rV$HDy*y`Cj+2U+3+FoVn^ITho?R-G(fO-M#0&WkuC*YBQR|5v(oNjtRe8B2} zlz`mXK{*dCq`<%npI5EZg4Duh*t+6RuExoW$(H~6zzGv57S+RV-x z{{J_(H11Z`5WGs*-L0+m|9Af`_}ao*ULyYEnmBG@gexQ|DkL0MoPZSsL;Cz+$V`*e z$-8jK?wx?L>j@`4`DDidl%1I=mgr}*M8Ak7`q|y1!X5XQ(EW}q$$QG(_TA{O89M9m z)*X*Fi){YV&Xf50cx~|)D`w6fGhu%8L{?i59>Qwt_dlJqFloc~gUe#)V2yp_t(9-F|nv>ohy^q62S7cK27F0iQV94RW*|=(w%%>o&XPxDuDtdm_l;@QQKiCs3a+4U?v z6ZBckvpbof&-yvaK9{9035%k_GABpb-wra_KV*3|%5Hfb_a260e7Iu*0}D?xVby8J z-(yEaaW$T3)`+v8B(_T3I(L_v+ zJ1{ufF)A0l1$tgNky^AkMtX^{1D?1W??U!J@vX)D(xjm9i9vR&<4K$2mg2kJt=wO` zn=n`Q6C`=(MfdFw$=0C;w;ynH#P`W|mH`HL?A5X7#y6V|;L}O`h~Z5vbYaquI1@|8RQTr?;dq;D;F#!G=4gIjHY;XWUCRa_ zx1B{gbr1A(L==>!7B7!+4}KSO;bw-+!mi!)kJQq!;&IDwc-mc#nL2Q!AV@HdVJurC>McF@&lC7Hu8QEmt<`DL6ro9+s zzrOQkIDTnfyd`R_ZOgAi`oBBmr9u5-KJNYbv+qT`GxcBbUq;{l{x_|@cGnJcM-BV% z!*-FcJ{q*%=BT?c)p5(zn8}X%Kbh+eR7#`>iZTVI^_ zfOxEP?2VWGsIK-*92jP^ThA$@{m zhCPAF_xG7yPv{+GXVt0GmKb&k|By_`$|mO_LH0+Yo(p2Dq-@-@R%{j3n{DlkzwKl!!O`f~!d>Sh^OxfN=KBwZzZ&!44Q`dji(93~SGT>r>(dW@ z7|mWS&l{cr(lPgAo$cGPQAv)snM0$G-pY0nFO!}ZJnx6I$FbF&9uz9Oms$UBnTb5F zeIQ&`Hd@z4F#-4Qs~!XG;d5rrm^*jyj6vd=QTzD`E8XCH`gd-U*l*}r6LnM6^eFq{ zD0kq{9nZkZ3tpquTg`$_E3*V!XM_v2-259aK+eZuiVQ^yOeIKAe6)*ABPZRNH* zhqVv-zqqyfFC2JT#-K&Lme8M?Ng)%0k~T-7p@)4vD00})(R0wyzB!s0OYTfoYDT$x z+unHZhhehy-5pzXKjYX`l$s!sFG)qIoi)VOMLGm}50m>QX29)#=1KA2T`01$Pi#ZI zCDT55$(-S{BA3mbow`^$oo{|^S^e28$8KH?oj!fa zlR8Mc>4^{BC~titivC4xi@}H7}bl z<1a_b4#M~T3B#|~{SQBBgbaA)fg=Lv2YPC?tMx#w=YsAEdM+p-DAj(K{X2V_{iMAF4?Ew~Zc#fq#1CIOm+E|4 zXM5de>W;5hzg})=htT&z=Y}2$yDMyb*xaxsVR`la>Nl-_Tm7E(AFQ7kZVT@f{vn=n zQo}ce=Z2SrUu{sgL4yX5HF&zgSp4ObHmGP=w_)psw>NyFAzwHH`{hP8)i?PbMG$s< zlo4jem^bkauba&~jMli9?!tF`y748cyZNBNJw{Kyzwr>hruv#s@m;Do^LgVb98dp) z?=^%$y;|^IfYB8SF9b8o!JM0%Otsq#S4+%>s*tZ-o#abY2l!f5w%Lnf`|z$WU##k< zj+#%X9p+Q~e^H$$FSoj4)>glob<}>d9x1}rTC<~?Zr-6bl6sZdgV0C)MCwJP98bzg z@Qh2XBBe4d%0udXq&`PVH>vW?ZmNis1*E({%H^ayNy_P@OvK}qOI-n4KT=*Gx-_tR0;o;{)gB-z27;|XunL}V^HnqpGzkaZXs~*hx=gI&#JWPPZNyrQ z4jZY)88cKWbQlT+50WCqw5rFU#W?7nM(Vm|J2eJME+vNwa#%>Mza^I`)HsfudXUpt zT&MG;H={zGpj>~$13s&e)M~>9A09CMR3Xx<1>)!_Do8EVua_f=*D@1xZ&vjfoI z1q40d$)0K*r6f^G9=J`Wq*O|pM@b9d(|k%3N|&R3D^#iBpkyapSP4J5@fPP%1(aT! z(qk!k4<)-Pt&bT7C)Ou~t6z|cBBY{-(z7W&*KDtkhvr;Kv725eRG6}nYsYeIV!56`TCXI4OGdE1C5EeWj% z9pIWCY8m)(z!g@0J-|`Gcla&?%W1O>v~CQ?yaC5dfeXHe3ueFpD^r3`4W@9ZmODJhDB@G6imB6#oyj6W}wk5QOsvXr+=51;su*HG1+Ny%u zT`|JAHYLQWt424jJ>k2D34OVLf%gNDs1JbaJ9Q37F2Oks)n(&mLMOtVgsy}K3H?+N zxS0n0>A-&+j?d>SJ_d4^PhHBW!xAWz3@rIzBH!=_bC=+;{Xn)9sFu>ImaFx|TWmOy zPZxPrszSJPFX=8BRmg2MIwSyU)#591w1d=j8g(26=1x%0QRH@l{AX%RcT~fv?-+6( zZr;w<8LgC;0-i^Ko%LX66R|SU$z70yGcbZbm#5U8Ty6M3rN#QzwlyWOfT2lmTXTA^(|Ny| za17G0(X4|n!*KLz3nf`T=Ka*@AzLSn&FJdvl$Gud^87qTi~zR;Cv+*Oa+5!;64T1p9c3S;QkD_PXw#` zpy)Die*oMs1NR5OgC8Y#pa%WGMVv|j>PtYK2h>;Kl&e6#6+SD_B|EVWs=#qIZDf1& zrWJmuHk+!mW;1k2b4_CpEnqC)4r;+SoZ55O1viAf`9{(+)Myw_=M&-?Q(H&-xQDCT zxF3D69r|ws`gEY*45V4$yd|w_cQo+Ln(_`PzYhwY0S`G)Y6lehh7?JpNF~KiE!Vk! zd z`hKdm8K0?*#$cr53&NLb2hy+y-r8)80=A#H&LZt>WN8jo+xnEs04uQeLNZ2_vb8WR4ep+gFrtQ508>I`aTUXkM zzhM`7Tcb4E;&lBr&c7qS51`-rVl6xhPxhm&cwCJ}i;qBxrkKw`+W=z^7`1>6X>oec zD)lAT$KlSW&`RNO=SF1g1b8?JA2^Jbgsz01{C|+ESKeHFy)00-x zwht|`2i*N?tfie!QJcVBGPp|uceRn-dEhM_oEL@MbO+axHC<=+WlvumK>^5wPV_>!gm=${>39N1-^#yR02u9a~ zr!hWkjyGyk=VV&fGr|>ODRTFPHuW91yDxgV7^k z^9Xw2DwwjE^}tg{sP`0Kh4v%QV(!)gZwEEUhp{}Q>Y%SRIF2M8rv=Cder#1=`UaXy zcEAzi&EB+r4-mXH|5mgF?RR^$a~Ejb8{1IY?`Lml!{?)6;?+9vTw!cfrR1CpW{$#d ztFZOflVdzN##5JM|P}0T21` zoU~wjfN}vmH5hE?0qG{NE%XuVa~M39i=GlK_&IXA1$^y;gPwx!P9VAn_J0yO(t@Qz zOF#7k5d8o|qk!lKp!or4egKM0aF=fk1gEp0)H-<21k-*5DY-V5R6TgJ4LEv&w6R7o zn6Ifr2k!r@9#RJ{{AuL2iriL_+e%%JT3my{nAAt=5=M#jwa%5gh`p2qrjxGMN$S%Z zz5f91+k@H`O~yhKC|b~BwnvkBq43t@Q)>GqoHUxN)MqxBp2t#i@=+PDk46d&xDETyw$fPvn?Fj#J1n9b0xHt>s$yHU*8a3k{yGrKzu) zOs)&y&tNcD8*LOuXox200LD6U?L?6JbmiI`>)=7I{jeS0!3O*ap8O8|Ie~j`eJ-F2 zv(bGAv0DnUTMBjkOtn{A{#LHFbiX6X48gjV`bJRyo6$)v2vSd99kGRL>h}y5H+7<| z$k6qYI{jH)s0Y}YfnLXEBy|b!RzvYlP`fqo9n<*U$TJtX7LK+k7deiD2hRi7Ofa?& z4sat&xt~z;q0Mgk|9<>h z2>t{s!A1xm1QKcyf(Uj(Fqjo+#hR#rxDPh&r`TYlY4HX6*|g45gZVtKsl|HQ3m5IB zA2^X(cx#Y>6dj@#`@!xWU6W8Wei#tfCxjFCR-U&dNUcOWNKJZ?9_tEe+NW#u1aY5& zkHX>Qvp}^SJQl-ceZg5GB}$KUF8JC@No%0tR!TZ)HsjeHufAM)71dty-~`y_U#eD`<8L z*VbIy)4Kt;;Bf<9#4TXgpAbS1qaJ(`s)mxXg7)w`vk{>USPGz=$YsvEzWu22`w9 zz~Zk$lB>absOCm|cVXpwD64_doI0(?UOPxx=q^%@CFMaN*o6d+CPiOt#Q@6x zL1@Uk?WFt_%q#~p$ylX~p7VPM?Jd?}1(uJ4F$X7n;DWm=(Q+O*Is!h7riM-7+U8&~ z4omSltlQ_&Y9b|x%tc<6+{?I=2g+7)U(I-8W06km=omPO(Mux$Sau+FUn6y2L$}G$d9~(@ z9_mfTPy*EhI!1&Z2^h`WRfb>VsWLL(_(~rm9tynxcx;CH}>8!n5j} za;tx-wY+`NxK*uDN7Na$Rc%rg#GbAWC=XV~UwEi2^}YIBO{LUb>N}OKR;dJ)p%PV+ z>aVYBDLjDxJ z?*R8io_?=>A@&~qj<0U~?+>+K4O9y$YpvQ&NsBdqt0-6c*_za_#n#J7^H4nH} zt1W6c@skOgf%q8xzrWys+o!9maCMT(2byDlT0|7(rw|we0s6BNN96$FHLe$_+2}t_ z_5bUkIt9-!Aonw>NX;fBfw?S|i4^RBvWL*1`db~)Z3KAz77p7BG;5K_Ovc#_BV29% zEBIcOf~8BUTpi~w4Ly;{c?8I^fNZ5I6ut(ZKSQ_Wz`TSw2cdN;9Jz^J1P2h#mFxfZ zfQ~Mpx=cxD&`IZkaut}!1R}Q@FO*dyu@BdR(Mo7{S?jftK_}wN&lpZIQmFQuqD9Q4R#^>AjJq6yoVk=+$n)crc@`)y6EZ3395O$W{I8Jz4?J5142kgc zI`t+`*AaFIg^a&g4>aGwnM2%s$~grrYc#G8@-&%v8#Oi-z(*T3CUf9~ zC6ruD%u4;v8)GSX<}gs~6M-cvsN^CBZdgj3&Ux93OR1SkaB3$$BFc%O?!Vr<3bA z`l4%TT@~$pHS-AuI=G54Hj{gsQHQj_)Mf+k83E?pO^gg;o-^7=e0XUWzsyE(R1xx} zzP~@ihKxqm}0=rhV$KsYBDWPINM@+zq} zoP3FxtKsT+@+gJF1Yd_qbr9?n>ok{u=m1Yj2wu33^BjAV=M`XDC|U)lXQDCAkke); ze+52Hqqb?B`@k9_w@_L5?g$(NW{ldzkhUNfN|a%_iMG2+da;=jNWU8mlLy{+l4BWk zkh285UO<|!QJ%!UhMZghihSx(LfAzv1=QcgyF_VU$Zaj!Dv40SGm(qk%u~ow-)JKj zq}i=L)pGb9B|E|BZtSFTcrJnb_aJN1I!yx~SD|AOHY9Vaj5n0QtuCyA#c=6*uy7jO zNWajZJQ!~Rvh`@D)zGL4i`GDMj6jyxg4>;F#w@KTGI*ZM^Gza~0AuypG~n}+5%LH)~kb_9CRI+0s8dAfyz_$LxoA$R}% z0TruskQPJE3^-KUCXvU*V9m{la%XtUMc!BV$4of(SC(-TqdF0cplyN^=m%p1O^0qG zO{^LMQjtelg=1sx*8#Pdb0PPWnt~!3g~X^ts-^TwO;ytJTynU`^(1+`jTO3=bi=^D z*!RdORCpYzTjkTLsZvv7eg*G)_507z^r#xd)Ajn@9PFhX;LXGD4)n)yY_?w9%?F=@ z$$7BE`tJ{<)rB-lyL*)~9B`V4KA6~5r!^h3goey3hkzY}cB%lJO+a6GDAxt8@+fya z&-ZJI5Q!4ZF5_P*aY_UdjfX2pNEKYNS@aj_3V4eK29uRM-#}^m!Hu+SqD`tFb(}>Gsc?#DheEBhL~k7=(1sK9 z7;#Sl^*%7Yf!~c_bd|30|KvwY=`QsJC2c26SA*!wv5G}K5AR;ao;a$OBH>dwC!pQL zK03Nyoe^D)e6!{UY+cYPODX9pGqDET$H7%-iv-F)C@UI; z7E^Nk-yP(*Qt~AngYys2dT#=28~Oho;R5dugR_HZZ{b4@%8u4tR)B6QLIbB8^&~yV zy~Ntgyz1RXS8})$-b&$~p#tKxVRRK+g!$}niAozN{iR^J=if2(+FEXEYe_9b_L?(G z{|fUW&CpwSgQf9CbEG^BzJY^vqW}J<3)DGk^kSz?dpP_-q&|)D2$_#aV3a(H*)V;; zohRf58m1Wa!G}Q98X0<&5ftWn8O5msT%Gv%VJv5F#^djy|8^6SRt>)|hT37wx!&nJ z!;CwOmgL`p^-HnbnS5387II-B@G9k7?A^Ni+ zYeE_Vdp_~U(&9oJ__-P>&P0EepbI>3jEj7W6zCbW!+G>FEp$G95$7hc-tJ1=NC z5ewa)rylTm4jr6~K9XJ_Z8Faa377bF!hIgbw+zvS=*2=t$^<4x3xQgC1ZQXiS-l1q z?*<0evw^Q#;+Ke6!&M~GO=^2C=qQ=>d&vHXs!}vjkogsxhhyzq$E03w(u8vj)TyDlH<9 zWQ|#m=Gyycx21iwkt%|=z8a1*z^sC*Ily+7yQ73lMYMnAoPrYnR-d*Pg)!F3XRu!q=L zaQaMO6+W!SrVv^!(iR#NLF^f zO~w&{W*R9UCkIJgrCtNmJAgWwGYL5N1HTtr(nl&HzceIer7m$bbNU91f&0L zl($FI+(S-Rz?4EdAAmQcA18e(vG(%7Fe9Cewg(!$s8tTNp|wU+G~_o}YdG#`DQd&p ze$-M{p^7f?=alu&1{QP>XEb-RzFUskx?Cv{tAXDfd8k{D<4Cs9|B{xBV_?XMw1}oy z4*qfo(vQDLeGl@R3AZ!;OMhc2a7rDKZUXw68p&NEm^woq6*{HZQBI^;<}bYERnjZ= z5Xa3^dVtuEl7~xc%KG#ZqS2qo4pJYE9=SkF=`Uf8P%A6=YNKH-1A;2N|2^D zWOE-lJ-|P~c^!?Z+FUKP0`+KT18H$A&KfT<5~K>F~@2!gl0gGruYD$#i=D`{-wsQQ`&oXgadF ziM$vY;r9TXu^P&W>`H5Rir)B;oQo3l8{aOYw*W@N=boBj*yesj61zD0xm?q zN$=_i*hvGD!^Cp){unq#zM(F2v82o6%{EQTbbhs58r{(X>;Ly-=3wn8JW>UXL=MZr zxC8u&mXkh`j88414Nv3W1$a&3xWJy+o?A$(;Ez1CK#ArmY*cC|JqfX|u2KI>(4&(7 zdE_U0^(ZN`p^k#@#HtCFEcE+oAdp^75Wm6`0h;n!M&Jb-7?yE0_!fFxrVLpxdMmgq zqnr|Q7kjt>=!!(M(dOREoBjHpzyG^~65W)NPYbr6yIifGQlYoZZ@hv1xRKGKE$GwJ zK)8?JW5D+;BW7;;LszkMR-tX5Mp`}wQw3s4Y94z9UM$pg@<&fxLUK>g_bovK|HQcj zjvEaZ{=)NO&R?+3vyf_;J6OfT7{vg@FM-gVHNT?e-_GuVaw23_@j zgYN7%xX-x9>}@__+-p9?u7gL}br5Gfrgt6m!+t2|gU&Z$!L-8eX^F($%zA<5JdvXr zD5XKnPMgj&eC zgfPxnY!?aM!zy-+%sc5rbf>h~@=Ol-7P&t`J_l{0MZLj-F7c+3xHX3#m||aw`69LX z_p=4{Y<2yVI!kE%Z|85ZYTn(-Y*@{`fqwJe*F2N&o435-Y|D4ee>>$X=dE;%w%6md zV|}alY>kClb9TTM{QcR{xb6DciFL{~XJ^*I%6Z41o_DggwC3!}3e&EffBVDP4NLcK z-+3ps>&~vHp1!j?*IVSH-`d)}m(QkqPlGr&p54g%x6|Ohi*X-0btP7J&ik;-Yt9~g zTfOGIpU}!mDad1QXCGjnZU5Q63PZ*g92^`P z+$eZ(a6;_}zD+*4_S}&B>pWcN!#X4C%&(JOr=pIhu3z26dZG1R4-E=!655QtRNX@- za?TH{AJ&>3Rj-Eq7&bdBK5TQ?p0KlFrF?h-9%qlQF%7xiP*!RY$Y&7#{xKN9^y^xM%xqDMy0jcFFsCFbcE`TBTb)1anxo3?J6 z7TYX#Z0wTQ%-AEbo@Nc2HE-6vS+8cVHXG0^6)LnPNbj&N)T|A!G=y5h1NC*kuK_xy zCA@J9^3#O4op{}-bn9*>>})B^y9qKc!INw@iZ&kyYiv?myom9IPYOK z@*Bw5JH`jd%SU|J{vmc3jWJ$iU(ru!Y8_#;=^88H}l9<9AGWzA(C&rsy&926B z+KAr93bT*d$4D?AHv1YY%|~f9R_j(H*?h))#z--rWA$|^92|l@;az1{!D_6JSw;9U z>lHs{#q4BO6HYbWB@Dw#{+`~`By7aVgein+Sh$spI9Ac_V|}oCE1vZni&&R1m6Zoc zdc8!nf3A9FyC1it>Hl|3cC zym=Z2gm2Iqv$Nv*(*PqDyDX0NM}Go`FQ+)xMc(ihi6sBuJ*kZbZ|Z|jW5T2zGHK~q zMb2Iot`V#VLHd7}%E~&l3gBG&yQemINmliqXMJ@RZ*HuC?6~L;R2$KGyRn9InC+D{ zxejWf;5t9}P4=_c;T5ZI_f`;?mYstcW^>kWVwHp0^ zl82;$@BNsyun_zSR)UQXKnNt%A_NiagkU%WYadw)Ldvi-un8Lxq6kg-e>2yXgf;}( zInxmcJ8|Eca3`S)rFP}ojkwZMbSLyg``<&jkI8YpSuE>Qc{ozSUamSc6r<>YppDrzv2i zRvB13&$^n6X1Mwu?Cmp~g6rmBsFhv^=3>>+Rk-~sn5+VmTft;8>z|H+!Gq9YFAxgW z1RH{hrUa>#)IcByV#ys2kXUi7J(Pbz|AuM7vS3#7k@Pj`Vxe*g`1OEa4(i!%N|6hn7m&Efoisy+bY^gZ+U>_jl;Sk-Seto@Ae| zA2PW?3P>I=w^^doaN8okXz6S??22UXEQElu^nGp=8Rk{_c zF&K`wqB$?Z*&gy}jfAu%Ru}A+S?mO9N zc1HHQRlDK6Mdkz5mw;s$uvmemA^cO%e6so))bIoA?7e1mC=Ur;WYi^uao>>kDTdIL z`&gdc%zaBj2O#Rm*ik3$I}`3CbR~2n-dzNwjuGs|^ph7Ot=a5qSD><0tDSeanNFBRf;YlaC?naa30;@kdv5XQ9!k^dB zCQnmBDZF_O3Zje+0V z(NH)H?gEF5!2@qG?PexibqTCo1@2RD)(Nv2)<<)mKg8~ehZ*avg)F$CnAmzwDmYtrUAnos8UW2RlKWa&nW9yXmx_%t6wQoa<~FM zJm6zDIh{aGcY+u3TX29}_reX5tL%-uh5Cw*fNG$rM&hb{Hbovdr~(IN*cH{RANGKu zlhpGJl2nc)l_E*yNYZxdT!p6Zgzh+qwhu*rtTP)!uL#-}se26RWVdWftm0OzsP^vG z-GyWwLb7B%{~_p_5C7*PHM!6?9r~VvzUk2S6cV-)8_2t3Ydlc0HySx_k6d&?v-U=d zeS*C{2yXtAb(EiRKNubJxmwQt&|i^&G&Jv8_J&R~e&jlu+{Q5b{u6RLmN?^>V-wE< zGvW6+w5RjH%^FrkttF2ntnFkq8!eq;q>@(}@zcqlHBH8Lq&0(9Jd?c^2hc-@Xw?s+ zO^@=wfOTbsdj0kZbipMwtQ$^#+4SyN6YL~X`>xc!54F9U+CEBcpM&;Op;`v=a~G6r z1LYota$TX^-B7KqwyLI5;{)*HO!zU0oju9ebh0u$4LnXG7qNYTNtag-N=W|XP0a*r zf+fL>#PCDElMXrYV;z-0f&DGlV||JQd1HcPeBsMl?9@$Gtd*a`4F4Vw)s4y#9YAPb~9Kv)EXCxGk%5ETQ_ zW%POx`k)yl$5L_;Hg+y0iH#*|*;_z?>Aq52l(HY{mLPwt!ApBW7c`3O>i-gpeHb(t ziN>2r$zl~`pocQaP1aWYW(gbxyDs=*B789kzW5p|pa|Z`LWV7H8@mdTj&tN(M$W}x zHy*fCfqNwqu@UTMfL)P>U^5TS&Y-T7sp}>mq*H+OWuW{gdRCw!N1cM$ zq?KQbhEAS)|J@iPoZ94(?i~0@209D)Sp#l10l^s{IEQRqLHm`Vb^4o)2%TvGy0O#a zKD0+4cIrF?o*q%{z|}6G*Z>8#lZ)gkIZ94Vup>UguKWmXw;oy;#`gqvtuk(5Fm7RJ z-7uT$9Ku4va>8c976LPH?43xabq%3j;tyjT@MOdJr*w-|vj^${Y>dZg6Q7is6-rE_ zT{%W+*6XGD>wlDsmK1BE0C|r?3rQS-W*K2QVFe+bSoAB8#L`ADpasnYCRRP8bxYB@rNrG!dnCKn zWPg3O#z1S0g|onVmiFYh9&y;l7*CZk0_di4T|ih!_?57funfy-IbjA3d876j{_QhxYdhZLhSsb*N(*Ey+e&l0($10Lvg2 z*xvwCtXkDQ2rD+NP4i_uG}uXsz0hGRm|5;?b!Atq8!BZAe}eTmBy0d$2#zQAK4`d0 z)8U|gHy0`N2j>b-PbHTWxFU}Bv_E+V(xOD5>7tPVNhP$M#J?5ZJapSy3#=>fp}@8R z+a9p(F*cB&A3MYRrOyRL>|pf-SS-YpSwLg>88ZlCNh}~NB>YNSvV^ddu#Er9 z35lfHz%`w)P578=4k4Ft1{$-n)x>fJK7S~94eXwQ<}HBpD)5Paov{frU zw8WZg0#wmptqs`fsYl$lLj3{oi{N$#!3(!e2`~1;$`=d`r*z3%MprVpW^z41U?m#0 zs;1`=LeHbQ*@~LBCg4HE>_Dp;PJ0*(wu9-j2eXk(R`4MX#R~ zP{2?N7#aXW1M-v_oB{tfAjRVXZ$o%npSSgS8^_zvDNSPe>PU%Ah#4(GykW_eYTpq2eVpMHS=EiuOh{o)b-X*+O-SpOv(Km1*XB&|Ai)b0Q@ea}_-pxJ$!hu>_iodXGBOkt#{?Qq@ zumWx5;J>UeWaXBRvo4~?DvYoj7Z$W1tqkTJuZo3M%9filU;qh#A zTn^Oj0uB zBJFpLv{;aF3-F!>-dyk)hu(Y_TjUd3%g+ekL2uCrtiA-!N+d(DQ3e#E%|$xOs3p7O z;Q@d0vSMM_$WQh?XS46Sn%uoTa)T#s>K3P7A+AN+3X`DH9^&MHODj;>&{u(sPu9_W z&Yh%KPVTZtdK+4O9}-fNk`z!Nli15CEt42qDa`}4A`R`a55?jTpIN)*Nlj_Q-ObzW zU~50|3y{CRQ@-Rn65gFeVTL0@3aQ#co0_0dHQ+4H@{Z^jb23U`qPd zp~g)>=K?$VKqr3E@`11tm@Wa~CAg~$2^}i6hnK&HZ^y%L6S3H)A#F3E#4K{H1m9N1 zZKR(cfwdW}W*~vt$ZS4Vjm$wbMV3CH6&ptE;YiI$g1}j0OG+*pYd%{ek^asWV3pYw zauVv3Z-lm`vl&Nb)`8M?@#GMtNo#tLlG3ni*CO|LG2+b;jn9o@KS2fAwVe${?x<6Q)T)y4`9WUU>#D5)!GCLAsWtT2i-cuseO>gN0HNh)bDZZ z(YnxIe2$uo>zhb@8FekAZo#yA!Ekagb(0qDGM=vd(Dl-SH3p_CaxbC9+6&)&LO*I4 ze4T;bKvv+I5acKj_=W+WQ@2?g!G^TU()u)kdRP@A0YL246j}U>qj%mP8c7@EFRhT& z6aGF!9P!&FV>e+edPh79Y!&98Xh+fx53$jHOYG{Z@Yry9^;2IBvQ>d4Wp|wLRKEhLJcY;ahBF%c9UV|1g@3kLVRD-!LKp;?vULQr6 z#J%YAHH0JrazM$Gb;-gr-cr{}soG-OjK(@4Ip|msSc$}dR`_?I-5tjLczOg=u}`O? zJ7*BQ^A*>OdE77L`7*A{2`dTdge?SF@l=K0_Hye^YP1=+WnO5H&ik;h?Ecua1JJvZ z=}XR|=Fy~UZm_D*2qTF6bU=@R{M|D6wPi;8{0X-5&6Q*faORX?=PAINbjfZAxRHI7{i* zD7}i3%i)9HTH<&(Tw3BBc)38gbK;@SO$k}l-wEGVgH!Q0QbH+t=HCoEB^{*{@nw}w zDa$Ek38VCWP(oH;GLlC9uP|PI2^?H8#FoFA`<8?bK+%yBJ8^#}p(}w=K6+%8jE!Gn zY`hX&UGcThLm9mjk9M1Y{1|x40QyGw%kZ=#*0djc#rgqn7dGL3+ z9ueNgeEe=SW-dLMVxFHTh|iVT{xLQ4}4MqQAL?5AL@J`}N{=Y=jOm_)!(8P&U)^^Y7+ zXIT9xd)+nye>JNo%c%7xt_jG5VaN)9r>=>V%N`kii>bjmaPd5=AvY7#%?ijftfa31 z2M0J066Y}3ku}jptUz_~%*9$wS>bQ;dlh&VLiZ))bDsN3;umrrVE2aX?z+H^rz)N$ zkoE|p&a(2ifHj#DDDyJwd$&XTS=2>#H5OBfB1RdZoO^IY8M31TEyb?H%dD*~p_HFA z?Wm0JxaPYGOi+mwvft-4IWyiysnu|#&^eKHqbI=SRq~MikQb=wHKd&t?Yuog3f6&h zw^DWy=yk;V&<676AT?SK&kGI9DMctd1DIvsYc(_*$F&qpUjpNby5_UPYcEd@l20BS z$viWhAgfF-vUXW^!g_ohEcnWyma^t{Ef`w~H_7e|*7ovdHBZiw`e*!LwkA#{l-D~8|XDTsgL&% zTFD_C=sRRBdMQ%0oAeGOzDRhKXJz2)1bE2@7G`WUh7a(xfDu=N|EIvoLH=DO2nX)~ z+sSAap#PTBm$@0r6A*q0d7KXL){6o{|Q|@HHk4To(rUIOZE|OY$^bRWcM-HG! zgimEh^j_bSQ`)O3t9XE~7*1ONFU|&{O2T2d`!K1Xqc1k4@ZW`AG+1Rl0!=Baxl@po z6r}MW5>`Sk>yeQ)P$+{sdCxUmcWZ4SbX^JOuYtzPfo3{SM?%XS(kGDDYN#e@*c%CE zm(rdv4hcjyYBiG`yRv6|IWVq3E+?Tg_Nh@`g!AB}8Xcve4&F)OF!4Jr94fme_yPbncCg@5^RvPH3kNCI6Vj0kbb}u0lRd3? zDT4+LIl>YrH1#AWRYcAp9|*of!8^%-u2qTFISKtWt(n$WWKMh>3`b$Qc>(+@cPWTz|CV`mW*RA3c( z_Tr7}W>U!x@=D~E_5VO`=Y6tK7wWBmQb#o$Z=+Q=z%ivz`EzK#63t0nwf3l_rJRgC zRvRsP8p_S4gz>u7t4-eco~Qx&|MMzqnghU<;N6Obl5Z-Q+@Lxfy0T=HiR1bBD&VKH6$9Gem8r9l4^pVJyGPX@&i$ zy9eFt1Y4qWnKwYQxHz4}6dfkoxJck3_YD4@$9}@M9Pm{NbUeKT@6Bc}R|e2jKqKr6 zc6jX}FYzLy*h`VhK8jpqM?721N8*kkDc=GMa_plOy?%jS^CYV(mgfqdC=(K7$NGvJg$K}*E8_ZWyvy0Tl+u~WYOt7a)QcHR`%B|%a zi;Mr|U{hf+ipG{5bz+ApY!LCGa~5nnWXG$Hzk|2Y*Sm~7#M)R-NgHU@kCOKpXnlnL;-O|e zVKj79@cRY0eJt=q^XxJy#S6wE_BGy#UP~qQx77|XFqr(;Vm-_Qsw-%=uL$BFW;|MI zglelcRC}r~0m~U(8`E+=o)%C$!Tx#Pokr)c)A#zh?f)MIDt)M#jWq;o!HCrrWCE_-8)=CD|VQ4=Q+;; zUl~vyrkC6l$cu~!bjVq#CYIoFeoMe_7PQ?#4u_!0Ui8!=xX#N>zu`n|EQ6Hd%jGce z&>Hg}8&a2knbcyp!>JOFH*grg;-kVz{VTB_N{A~vyVx=7#h;GnLHF6g3@rvNLW;;C z7&<9!6nA+%FX6xVD3V^oQRtryk1g?OGH+REE6P5{?0Et z`S3V%eB$>Y4@}8!yi@#>717rZD7RPZqT}?SdAmIc7RHJ=z~4by{w?&ame8{zm8WK=kgt3;)L)TF|X&U+n1UM zHSuUSb&o~IqM!e}LwYH^Kc?$$k=B^?Ak4VvcDWJus~#3ij;UI7B1B?Bx$O6E4Du46Z~^YpNdjFz;g-?J*S^aJEfO1UAH*hV(`!3y!=Nl*RzHt~uzFbEqK%>342Jk0#QK)cTVD z3d;C&6wjcPywf&>th`1qLfs@CTXwK}+c&Tb-KA{2i=*)u^Iklr9F{$<)DivzhoTp* z=-++NE}2yZ`oIR|U{p!8jPSqsBym%lFZiDiZe%axbY$`xG|Lj25L3LTR0uwS9=*pC zr_M#FT@3zyhL=|0xndb@r*NvYWzv)1Nsha*rN)zU-Z@CWUy}S`UU-h}BQ4;xDk%GaoHAE^FjW;Q1YdQfo#t2sIGukujZzhLF2vSWmjG zKuYj|j13Bew1_h5gU0b4E#M~XLEk@i`oXi(s_y5CRYqFzE6@_I4ArUkVVj9vFWeH0 zbrGOtu!8tbczPQ+67OqbRfu%_Ldl|oWc-j(MB@=`yX{Eu1|-O(e^2R>gYfrriB!Xp z!)oNR2#x**@`S%@-iJ$jA@PvFYvd~X^ku|Vq< z>@O#_@TOo{yersfUzy869(SMvWCT|HpDE-TX+>AhL?agQdkm^?0j_kdMUtt11)A|1 z>BhkwlhFjSYEsLHcqU91OrMcuJ zqaxRjaMFr?Q}`jO26KWBlH)qY(>N9%o};Xg#XpZa|!qHlr^1p*`HGCcwrMs=Dn;`kY2C! z(cYkT>#5&G_$N=GtEq*Cng|@#QYQI(MNpd&&qT-`#@7;kqO26&pX8l*g^~YhaDZ?P7Qd7%Pyw;@knpm>9s8}g6M2zZ^93>D zN_-A^R&&+&XhW{QX`5PLLul;PHZrCwo|&Sxl(`te-T~*{tVcn`e_lEDI!FA?THEBp z8O6x?aeDm8z*9@OPD3cLc>5dTtF3cam}j50{y^BOWF zx*F|4{RL|a2xVYFMy3RZCCKMqAk4t7h~if;C*Cu&w9gdrLntE`XW&#B8x=3ZMc4u< znzGPSLns=I18x&s3E%&VlG8|4Ne}yyXgBywYy;7nHDflC)FzOV`m)x5WoT@^tU@l{ z-l!M9Lh=2;eug;G8rmZxY8S?)^qtit$BC| zX=Qhlj4Cw-qA1?XB;_2mgajAA)lfpD*WfxIXf~iHPJn{~EPCnfdC+F{v6P^{b!e1X=yH9R44yQ}2p#R;F1CmlBgWusDQ09>EM9DblE?N$e z={oQfwivLzMA-w>yE^28oBwO6{O6}<`{ir+|?m8ltnm7e=8z$bjzoRX!q?UdjY{sv1jN+9zo zRVtsmYt%vJQ#R=`L->_ePpsGi?HN0dw40&#tKfSEEA0&ESVpUP9vvXwj`kw6+3<|` zWyM;i)(5}^`_PyjmlpB@`Ol!d`O@EWIgC5K#YhIH)FT+1FKSd9OyyUn7_X)(p z#iD0ww4>nb`l0W=Ha2ob36*fV=q2GM(Q6r$brEdI{IZOwROohj8SU~GV$nMQ&QjVq zX_v7ciF1vAo1lWU%UFaw^U7tpE=y*qG*moiO%57f#*rp^v7yl;wW**UjK~6y$d(1D zq(zqTZ5h!yO1(Fc-pvT0c;dPO?n~hNU0@Htcg&hG2T1%wK(bTM1&Y_~15jD~Zx-<8 zD13b!U9=YL@U>hZl$Kx&p;XiIvU(BN#A~2L*~0*0iORLE8ZH9Lp&ikBjwy|G+kh{h9q%Z#*l=3M%8XuTWb z{qOEsc_3ErUVd3;15|TVH)u5pY>l8#GXm_1Z+tm(vC!cl(n0tY2BpAfxG`9g)Pp=8(B^ z>?~=!tTHad5rjq&3rsu_$k$Z;(G^GZe+!hfA{|y@h@9_5{;2`?LiKDN=YRggn4`?Y zuID!anytqoXvY6B%s_mh?!nLPeCU_%JCnGIFaEW9j0-CXT(6^DUB!sdV!jjemmJ#G zU8ik^wbhr=W1E<>lCK?XP;W8E@j5ojdZ0+-SLRgGG=%ssq(%a(d^15t@x-2=^Opcf zt4CSKWdxb_MrJb(tG-C`8gO}@nVN&hhxjx*uFn$UoaL17YKxEJW9Xez(o*w}S(?8H zLZRFzhmT3=2vc*lk%gtx5R%&bNsA5#g2|RV+5Xt zM;epx(KLlM(PLS!y@ZwR@vNU;fbXUA#ul@)d52MmC%!JmDYKh-mvLJA<2#3!rKgPZ z+6SM@e4Z~Ai(i5F2(ku3#(Yfrz_sb?GV*8qpT5p6wu&N(mTKyIT^9&9QxYJnyeAN_a`eKi<0_(F`@NHoD<42k#|OwdFyMjtdr zjqw4{`0ks(|IFRiHq`zzXQs2WyE8jy&g|};^WR1+ZcShY&XS)4tMKV*!fQsXcGPrS?(FXxKCihK<({$|$9pP|jKgL2l*>#MtGK_1UBeev%NdLvKYyv@~}gYBvs zuB>TW}i~e&p;&} zXP5DM{SvmVt@bsjq38AW#&1B2U4?sV8|(JJr&d3JJbpo}w!$~NX z^#ty&J|FTS(!)MN{wO?NJwE1R)(@N4IO&6akn|xxMEWrNUiWy>i+qJy+>m`iFLwmJ z?4_SmuzhL0$x=kNJy{Jw@8cB2%(xiQvZzdwFKtQEdP0opBrm>)kVT5ndY1)+xBBeC zI;Z&(E76k(t&vHvn*LsliZH4)vcvA>U8DynGr&>WuqJ~c+zS_%f;b`jV1rc1V`+@IpR%2#^rx?)7l^mBRk18k zA3^+)2TJiC@`uPBChj8aCE)*v6zh;<12V{`V8%m-{b4K;{AT2d#WYLb$eOODU9x<# zd3C|U<>K(zC=5 z;OCv-qAkTI*c9P1kQIse7HhG9pY8V&u45%4{-fo)1ov+U;t@{W!o`T8IwR5kMEL#=wc|*e1e}dG^>nY}7a{dTX&k&9`v7}~y zx9@_i50YO}$T<t_Y7IU^`bbJKH zy~E?9IrJfx5<~22dKo?EK7jT2SeXh&cNOC^mXQ5eLx0znN~EzM@aQt?VE3GyoSwBe zmy=VIPad^%%gU)^Gj@Jz89Dvfqm%aGvhu{#v|XB({9@+#$zyh9Ia#_^x^7X=rEl?V zy<-=ZP6b&`J2T9-ub_c{dAA?&S+;4rm_=J@@dWz)m0g2Dc)i#726Q6pIp6G!ekazeotuAmhKG$$SGhT2d^(3L7je{K+;3GLANoOUGVQybJ;w?9oQD`KB$ Zf4rC3Qbj6_g^aaL;(j$@cTd#|-uo$Ku13fIz5Cb~m&2Ll6xNadNr3k(b#QVb02 zd-%A(9Za7mY`}kWTX}gc6?u6kEmtRNTYC@&21lI32N~5{a->}d+Xt_nYKa!zBPNi8 zGN(;XcHwJ3b5RPWDXX&|Nc+&ax})&>0*fMI()bj43*VMIB(R!^1OHuUbb4m?P}u<6 z=EKc)D}PCA>o7d`Q1t;-OpMhCRu_y!gKLKJuo{y-JjX>D>|-iT}DxGCuv_YZA3{hWOjx}^TevoGwacdN1V#KmUr2F zJmhJ4bIfi1v2&sm(kD#N8QVGJmuham>}neinPVy?G5+)$YYcOkY519(JjFwA=U3!| zmhT170oGr|;yZCgYw`o=6(@!AndOM{cqsPi9=(DxKQCg{_?%#PJ@D(qq}SqYQp-|H zZ2=ZinAD<0q=MuqEYK(>HRde7=mklg-Lg-lyly5^3p(+TN%W4;PKbBuogq=ohTR}I zn*D$W)Vig8o({}-1jsd|l{<@Eafe~hl zf&I@i8o>9>-v{7xQ|BMww?4kdzyp4f10U~9tbdipA%h%+L)3gW}=M2UF$6gFWE=leRAn+zr&##I2khcr9K#S%P@I z9h`68gCXfH4qQ5b+%1^A9qb+5#J#0h{wg63T;JU0V`2KMh`XH>i-Ecplf08Fh)J0D zG4Ep*={rnJOp>mzt;Js`DE+fK@Jov2jk~+EI3J&vmlv;>Ag`0F4IjUlm>Az<0X_i% z9-st|8`#m^!kfp@jrAWd`PX|CKyFs9w$ARhPL51B@3pXW@^F`8VYzAO-+%w;C&=6O zzglv1`{%HL0rK5E;p69h%=hni163t&?uu*KdV}l@6>J@VIRn~|=6@_CB>7i`|Lf6z zHTfS^4gRC5fSB-qR{f7h|Ff#D8^~4O$pL88UHZQk?4OnY^Wi@$O7h)|{Xgd79~1r8 zU0|lA?@03fd)1`xpjljZfQ6*9RnUA1d;?^5^M`fACOH1_4P0a5h0B(+S72bsVyGy{ zz4XTXosO6GL>C-}%+k-Xefiszoc7T;c9ta{$G4&6$@`6#>hH=G)XTXZc?y+Vc03n4 z?tJ>2Ua{+)F<-`Bp z;(zqx*Z)@jpX>3z6ZSu6YgwTxR8GjqUeKv>c`?a?Y1zGE%&*sC_%8JM>%8W1A|P zJ}){B@--oEJw{UJ-G6}4ak5;Py@OT^hsm1+=BH0RCN08rN&NSMjW5Ak0JCXp!uPw} zGB14-+&CK}u`_wp$m>}isVlMDW{Pb>gq50+Jn3?Z(b#+!1@6PqrNo%Xm>@tJCwqwV3c@M+= z?e>}($C;=tG&(2oBy$Zp&XgHg_vBk?rEkloZfQY`=n_<}eA=n?vY-)hxibdL4=gu+ z+H+_m zl&Y=2_$5zL93y$~qg)Phn2N9;UN_zKnOL7bV4*<=oQ4HZaSilKTqo?mIaj}u*r{9o ztfSvJJysCwf0X4gFUb}phi!J&tFNc&e-KaG+Vog1L0N6$h6fw)V4XDYLJCRz7H(Mu zBdk*$3R+JiTfbeQORpOmI_P(PZCvZsHt3>O`2y-2Iv?^5H4$zct%nn-EVN#2wHEl! zZJG5~N?o4~mhQO3`r7|M9(|#RY)hR#%3Z_ZDZh%nK8@X^sIBX=lxlm_DSRU4wikfX z572F1z~OsC43crUd;#}mL!MN#0h2f0Ik9-jMi$6|4nXGx7&WgwDYd&muS z#pQ#|+LTLe^R`3k>3y>c&Y;cH<=9fQYxIQ31BRnaJl%=9?k7h1ey1Ibj=0D)1<}rr zHs{;5PN*%p+xF^M0GXF6^IeoR!i3o;e?yV!Ggb zRQHgTv(R~X(k@wqwbYyal@EOgyKdUBVWD|ZY6WURX87tQHO{VnCg?_~^6YZe`@G)9 z=U^(K-}3OyI;E7GKW#o#)4g+?i8gNWd+s|A|e=b z0-<==;vr=!v%|wLJUVFS%fvUb_X+MlpVj;^SM$>8dS^q&P?|9 zNy|y|9k{|(9Ud{+K9Q5ReBn2N-3!48lR?UZ6=MW?eABD-+|*;xcYcJEOsYuuFyAUh zEZ3)#m0^f!oy%(F@cLr#+CHSCacgt%u$Sk%tpRtx<4G=HjtOS$ zN1$9{c@!!hYm@E4Lmo z@oEa^av(0&M4X7{4-#wXnpezr3g32{LvAQTr4M2EJd;6mLs%@RVY%UDY5K%PGr-1v z=V+HY)VZf`nb@pcrvMGyxki0<&pNEGt6sXWmeCSnV3q!US>n~a)oCDoTpnADkF+51 zHLwu{NTo;liqC&Pl5ectJkMOi4=I5#ESM;xGu0{W8rlq)Kg&b0F(kCz!+skFP6$8% zbEi)BF6r4T2-&xZH2T#IpYU+heK9LRvLGMM7;U4NEv_-RJGbfPizJ#eq}Rsg_cv}= z(-SS8;9f*(U|X2<(HHG2s)-~7wy0mH$J4+jDl7Vfb!#tF~cumMizs>+j6|NK>mn0`Pp z4`$xu()?y5y2&u(ow)nrs>Ixe#(moCg}3k;>z-Qg29?~$m8|@1(`u<8_E!`HrNzrM zhdWzlCkK`D28H;e4`3c#A!EM3>l?;fy_O4t0qqb1J86obV)X>O-y* z(l+-3vdU#{d-a2{dUCpm|0zQT=w$0~K%%suYlMxsx=UFwJ+0sVM^XaOxCnErsL#mdRyQN1cJn8x!u-AuV|5|}ZxO#4 zFSd`gAr1rGPG$+S!aOE0U4MFZRIwX>y4ns-U`-ZS4HkNRvfU7F-z&KKne)Pdcf9BI z9YGW4QFd@jAfEJIP!{J|3R$Cm_t8gu31sce+>U4ebg4-PEPMrQ&heljqA~uy}(Aw35(&s`GcZpF zM@zR4`X5(XM-QWMtPhJuS0Roc(QnfbHLj;|v3}Vbtsi)c$oxjNl~IZ|UGmo6#K15Iec^W!^5@vrX^fibF9RjuqTc9kqwc@VHG`} z&E)5rdY!?ol>_31KHGNYGjzFpleJ_-;OK*(ERCj>hkR3heAiYsQ%1iWh_9z$mxh&n zsvBVl$-CRwm(uNX9uuZqq9X%trZ77@uWyxha=9w!BbqYJhVR%C>1o7s;ylA1+SW06 z#i!0@yFnIgH#I>fw#sMQc|||w{g``mBZ~S zIfKrThxv- zt}SYzND1@Ev(Ddnz)c`=4XxewTRL!4pxQT#bmQWF=w`6ryo1d*_U@%k+S~o&lxf?!XNDx5iJNonzB|JK z5t4KkACX%zBOE--q7-a7g^DdXt!JsN)TXrl%kj3$DA}T>B9zx0zi~n6_ITN|!n+!x z7Wq*&)W1F)&`c1bBuZUhdJ!fWw&7--7KO&<_-IiK(L%bjKg3`FKgHntn@nlQ#R6eS%YzA=(5#RlQmc z(*`~RITC{#3cAquxWN*n-zLE?GmNO-p!A#; zs$WKOrrUFjpfX!fM#PER0~0OB)j2-Fp`b;wSm&t#ee)uUg~UzuBPENAZN$|!IjGpZ zax@IYu$aN^^>VH9RDDiiZVHLNoWARa9EM$=!MxsABK*&v=ruqVonvgWNTzjbwZe$< zNsv=Xw3JAcfumhe;o>s{^RPg`Fyfo}OP>A?EdGhX6+U#$k;~!bk_5yO-ECUZ2a`YF zsjN}~&r#vVo=o+~P^g%w$kwd7LUyBO8e=vt}kLg*cx?_E{1UVbFg8FJ1Ah81iuxcDQ`7Ol~ ztH&>meS~0S#4z{I=X4`Jhcxmg@_Ci^+3VgDPO|6kHl>ni$+0`9U9FCql51k!gr-r( z!)r84N_ip~mBn#imdTJ7l1?IkKKH4l^SOsy-o(!>~tS3-kEZP|5M z!$yeY*M=55t zIm%ZlIiY_znyYl`nzZ%sk+PHjVQSJRheps_V|X0q35#`%Z!@Q|(>e(KaRNWmd(EAB7j=8Fx*EkH?VL4_JOh9E zxV3nTMACWV992PW%8UHDp!xZA44n-V;-P(iR?9aY31yUPXRvEDRlFkha6?V*x=-4` z@{K)|Dv33L4;xI&n`zH!4nM}a#&=rL-|TtOw5mwE4Hw!0ES)nBv+B^-PNenf1zs?d zMauHpnk$-6<)#f*Ch-^ZZl)?m6XUPA+81O8XdNJNenXi$}3N)mYr!Nqio4I79 zZjDOKpG-T;Rb`8KY!ctX0nJ|dgGHvfF<;CyQ3jDq;dZDsuxk>{afi(dirW&$9QN{y zMcjn+{RV#rZ)JnL6*IdqJJ<2gZ_HemV-gwg{$2mm?B)&E1iK3@uNMIcC4OLP6fMe- z!sHFtCXs6|JQYztCrA2)P~pNmUp2YD2y|@=2d5+ahOiAYl#%STh#46e6O=FlyONee-HBrS4lMJE9qX?zcM)e;b{UZR zfge}=OM)?nKULp3i)AdMb4*tuJcqWOGlTtdvY0Mz*>1Z!8mt&& z5}#sdLVP}tSM0edBF1fdHn|>Yh&RAaJJ}OW2aOpzaVJbe3$`k6GI4Bp2kQRj z>7E6K)Id44LRoli_I_h=oSaGYVX1c)S2vE#{u!V=Gm}wGXkVSTUY`#MPDn)Zsj9Zy zlrh>#u&D88rjM?6OAV7m=KF|me$&Y~WTEF3*NdaDe;!<>qp57?sE!vZ@|(H+7iMAJ zc8yY`z}>~iR2I%;i_VzfL&HHIz2&eN@M(^HqN548|ElLKU0-Y|+Lo}QtgkpPkZ0=$ ztLq9TGsS%e$8{q?F`k(lc>|RrjMy?wPcp1#wiI9@7swD9_G{ghWgXmNf8R? zledtbb!am?=tS=c{ zJchtt%4WyJqVhP6b0S4OZ$q182}SN^%5*mFG=ku&G*9UypFXq2;?vg3tFQbOp z;L}>0LG~_6E$bDJQ}wCM$cC0M&Lo%S9&)cpGx%@N{t`|gw)o^1$QZISY@tql^3)*r zvNuLtjG)v&tvdWe{am;-u8ZzV4&~Wc z;S%@5-|$ZswU=hGtBDQF2cnQZAF+6lwvF|(qp$-4?t^t9-ig7Xyqwt79*fb~D)ylP z^46LbwE1F0XZc(h%T2LI;4<(?WAh_$q)vNgb-{u1M>MU03Pp)lWPVaAGGQ;LSYIhwqFtMdBe1$wiG#w6psEgj> zP!0>Nopqppu_Mc$*kMA2_G(9yrdeS;5m_^qFng{zF)><}ZTuI8Zh`bYZA z9t`iXyHTSF#Z(Df-nf-1WQU)Bq7`L+XW85Vp8ite6Mqn296V#j(r;u=S_`$A za70O3H4EE}?94S%*e2^qMyD#s_OTG_i8z2lM45hRQyvidB^HHs3%WTP8!@$q+txuX z?Dsy=k6(T#x5!cT{%YSPOMdMz@(gKMyLyHD)mlG*RR&(S8-E9Ckc>+kk~FMHH-oKk zKt$1F0HHT9{_b&`8~>|CbL6Q>L&Y3xtJf+Q_7>F1SPW)E&AV)PmCFE4;y1+-;VTSx z@=qDI?(eRU+BaDxeD5PwH>4_ip>^$9f8lydF9&`}xB1)*dQ$(p_1-;KLncNhUiW&# ztqy@$ruDs#1^sa(@~=bmjeRv4*|}}b(MTvHj@Lo2)KH<@r_#Yhj;=g}@C$=g&;e+$ z3GM12*=q$@7Xl^lZ5+Op89EQ4c9-niutQSP+hHvZN$|>s>23_r72Sjv%qCSKO+U-r zDA8-DGVv_od_$NLa5D6NnlILr2*(Ifl+Q5gtST5@jd{+=^xnMvdqn0S|767by!kh; zLnqd`m&0s5Ok)Nd)W+VXw!@82>qwm5^wcLm9ks@Mykj&_dmC!dt3cOKlwU_-y~rn$ z=~ARFdodAkIWhFaRL2Y7*XS?BhXFzlDv2E+x-}-9lvjRyW+#y(!Q6D853l`+QQKZbNcI_wLrAanm z_OYi*@-G(Ixx+|{dtEbTq?UqSjjy_<{?Z#q8oqB_`Vb44;uh-jEQ1MplcQZ0a*hFJ#trtDW+fKMU6FZ`tDLJjaDUdPVUOP{TAj6Xp137j2o8X*4Yhvok&|Y?ldeE@ zmE(YtzTx}xXESHd_ZD@k9+JybUb2seq9H}!jHeR=^F2<*()%it*Kce+3JRFy1D^{2*!i9c+{zrB^ zxIbPv=&?Aw(`I&oV_edLNw)#;+JLicESW?H%9RWruN(R1^F;|`l3h35XE!MlY@|^Z z&vx0Rn-CpmV_F;FWoc`gyWxJP9v%tH)04@#yd#cAq!u2KHH~L8Lb-nQc65p~)#~9t z{m(LZ=r+?ClG3{)gxlX%ZW^rBU&ZA;*A`Y4Q2}osN({OtgyI*?9~}J_xPr6-OmE!A zLdk?GSpi+fYvPG->f$(S6l{_t^6ay&Y#-p+AIKEoMsvvI!0jBnarts!%&l3x@8!kP zJ%6AU!-$IUZ>h!&KNq=J8T@8m4&|5w)0OWDo?&LyFhE~;BG zWewjWJZY2}?r`zt;?>lr#ctC7NCJP+P<+NbU&JWZxf&g0fM#lJK|eZQJ{N5rLbQoD zIT-m<&woGwj>7{o2l{u8`08bHqi+iDvc^ELmOgl|R`>TdrOim;9zbGTsh2SIYI9Nn zCf4D2-akyL&DJZgq;;()WA&XyjvHg&YS8;K0I%vQOq zH#ipe^6-5R7POTb2<;M^_@JEUQt!{e-gno3N8*#<;9o@3vnx6CV5tTm8jjtNSmVL7 zBNG0jYejY-_OQ+=8g^=f$w3q90wW}E2uU#+0{jq(L)LrkRhYR>0*XPL&HSXyyday{ zt*pwvmmw~^n)f+*WDO{}GAM(hMNclvj}1?EQ!|F|=ka3li##&eNQn7Pz4hH?*VUO~ z-}Wx)VS{vz;!AL>t^c6JHDS2Cv9g%C7vQ~$9)=QgCRP|k_t`DV1l|JDG^_oQ{w_`c+hXG^h4>>4W2l@vg&r-%j4@iyiWaUO zOu43522QSa=YR&B60W6_iX9EI*c+RUXX-ZIm?)!_ru&U$Uw?S-fnlf24<&-X-I)+> z>$Sui6fKV2fE(!aFFpOOz)h{6A$q+RCevgQo})U2+n3eyW9ub9PC}K9>lTsth)RDGlEZ@bnB>uUa0F0I7sNTgt zxW8!0Bu1WBM|+?L!m{H&c0SS>=Z|yAFs;np)&87oNju`AzJy!kHhho*(Q$`jsM7tA zy8|@o(3*ev^cQy$S-2lN~E;z{?tUoi_@UxV#%?%7cCrRj-qAfq8odsx4fn2j;w;4N($fFY%}`e7 zA{hvbl807gnV5BCO67qiWrFdBQ#W`Vf@cKMS`hK>PY>>Wg~ESn;<`_DrTU1w$kWmP zuA>B1y3514CQxVTUSdn2r$t@&_mT1W3u=m1%S7Ts5Z4uLUoI!Mc_mpd71 zzW0y@HqKD_v?#k?57Hi#Tkl@wHNK#9Sa;ZCz$SJ>;1et|^E#DGKB;`?p$le?`D6nf z-1l1rVvZU*wN+idfbmYaKc4e=;{J&}NP+}2PI{Y^62gw|n_9gPDu(}5`V0%3Ga30^y?+H$4>g)H4f$_VvdPp{Uv9#CuT(?6=NsbHCi}Q4wbb>xBDV zGb7-rb(U6Q$a$)WcjiBB&+`kVruULM8+nCv{14;$BP>ac%)&moBED|g4Qa#uPUqQ~ z1d1PJeA!)nPAr%Kp}-`w>uD0S=nT@#EhZO!r-2{ofMuD@XD6buWzfU9V`_wJrL4eop}zJ04zzw?@iQ|oiTL|Fvkr^h4TY;mnnfY+ zR5_Q(2Y|@Bgt+Du{ZiQ;^l^E^kCM`s-m6pTfn8FU5<<7xU2djfPozI3;-{+pWak=* zJonR{t~jB7oiD+(uod-Qsc|&eW_FC6RKJig)+*zitGv;xq_T1{W*wJynA4;WV_{YA zjOC$>&J22iOzG-@DJy-i=~CFS8%xt~nf5-|N}kGW70P0Vwz}ADnj)-eiWw#AiQmkh zBPpZlr>yoG;?}E1#|3b|T6c$ciMvxMsfj|D(l0QOdC3;T>ORWIQT2Ocl-I>T>QcYF zEM3D-eft4<#KXoknVD|2DW?IE!#DBxzBd%Y3bS_fN1WbJh(Ap%q1m;?YH5%$t*NV9ZjFHEGY!1`mlqX*3GBt8QQ;T%3c6@2{Jxw zH*vNiT9s)MXR5@SHmOPUue5U!p%p2l&T1&{#LDS47=eWUuLx#KH8*gK4q|y zJ0gAhj+(+@CuRE+srKEOdBtJO!TJnIchI1}I` zR&JIb!3Gccb%n;?Mhg9|&@+mRG5X0tq6Fu(1*iXTp$#DAwR7nb)Zk*OcyAr@o!ySq z@+=DaUN*JZnUr*I1kj=AYv7br4}(h(*;dfAqAa1}4jR^WIntDD$;G6K8RVL_InxJ= zdWG~fk=DRnKsOs~nK{XzeFRjblGzW}JbF*ferUNrQsqFV!SJKUUE#pc0PK+?rPmXu zA69hMeR+_3A0%U8=0STx%|5Vb^CAhSvqCyui2LHCE6#^AccMKRb^a=|g zy*WXy{+*T-+8@<5z8SkBqMK;WYF?*oCD!C4n=yuef{#~Ul%<9XE4^GA zA2P*hP1N#cA%7HXHM3gw`F87STc90U91cnbi`$*C$-wL?BRD!fqeN~^dY4FsinT{8 zE~fDM-{i!Ex#2|++ib8jm2^KY)ug=DAP`l8fD)F=n;GYM12J+ghBNOS4$XL*l*Bfc z%kRZb$WcGU1>~a!zRtk1nOe~2uGJ?6@3TSkQP2v*2K)O8Hr0cxiVg6J=EPNKe&+9& z^z;hY2Q?dC04Bo)M%{*j->S}(WP=Rq55?V?^xg-7lvbn^j-)9iVry9RteWAab%m`X@_g{H<10)|k>Ho7GPzJ0&MIke;rp9I5dWK~L7;3TSD6p_&4 zvJ&b_otY-n*sVsU_Yaoh1+Wymbj{!-*nc>LYB5IHnbwG;48rmT%iUfJVH9#QSrfc> zCCX_zRrhsF3-q3K>50yu4I(3G_uiUgTOf;F7#*XkFf%!|=>MsLyEFAMRL*&0Ej^%j zZ^j=Pb0CDpVo`x>^OzdV_M`{&QR7*S0G0SQD}pP)MlcR4qDm0uMi|i^K)81J#Bg+z zD}D<7Ztpp!OEH{mFz}(iq;V>!%gB9HK(z%)Y-1br1A|>blVXcepSWH+!-)nnPKdxx zy%z$r0!KiNQv;K6@_8{i!Zf|1B&)n7hR{y&+(G`m2ZUD|GM7gnv&!n(sx1@`fpcFh zAY|Uj9Qi_QXs{uQP{)~uP!p649+*9 zrz2~!B|taW17|;=;`ZLZhc(9ELwDCq3C2&)xRtd&bKqJFza!DQKwGgv$;TH?5YY6v z*Kyci19lCSIAMl_^_l%};cPt_3#)hPyzEvN%b|~26*Slqtc?V#>sremi4~!PL7Yr4 z@D%6XIZN%}+;*_3l1dqqJa>f*k|W2h>J^_63@jgr&K_3W2AnZrRW?V_tTC$uRe#aK z_kei^^2HLxR`=pV+r0y~LsBi-SxMWuv+P5PKv(6Qd(;OrRW0wso=X%lzrh9u^V&y= zFpYXNb|(KMhYw;~X+||p44&3xUs&oC#pL(Ooz&&sMbB2d*$E|>Ml(l?>QHtt>VSJZ zGNHmFsZ@I|^yzDorVkkG=FiyMx6glXaRjtx;10Z-Z5rCC{1xm5<@#+emYj!2S2(~Ot^~UveRja8kAop@O`jpQ@Gv8 z9h09s&afhDP}?(@69#O?fkMI)Da{!%PvuyfzVSo{2TsVtivujSapA771@KkRkLco3 zSm+beqf*k^=dJNo5}kR2GAR3 z*tSDf&dVvNZdD71b?Ft|S2DA!9PZUYG|ZU93$jQQc` z3Hwuv9K0~zo&?lF-xJeB8~aD3S7q3ncjX#)bQ##2znWPzH{&xBoJ)rVl6@6%U<6n8 zYY()$5(WSXkV$&psWx*I9^`&&tFBV>dN2(iSc~Xd4)=i)^BF@zy@{|&<=8z^r0)Ae zLBg|`1+wusaeR&At1A!Ro`!4Y;(69r_-}0@EypO{Jy;Z|%yh4Jq?y=p-WI*a=d#%7 zk=khd#2d!%07;%1d8OBa5pn*JGD}lk?5bD4g*@-GX0P+_TzFJ4Z~3FvH^>YJEEW*= zCgH_ikwZ+wgK5+0`eDGEr~lsc>L$!_)PDx0Ja#Dgy>-Oz)F{meci>+9Rm)@ZFyva2 zK1005T`b@@I%VlEhhDuN){^8QCm$wRBv@N{rZ7Gb>nk{OLqUuAP$WBEfY`8P9j?Le zWMCK^>N{lEwsafLEH2!%nq@`dH0z4zR1E|@B&PbVfC#pSAk$@^jdW!Q=)RL2xMY2u z^xEat7hVl{Y=xZ^Mckbp-h9)T!;5G;!YTYv57l;=!C=K7K(w_z=O$aU|LcrFH=x=V}^R&}?%x+$Eb1RA3D(_;Fu zgxtuKC8c&q*4{|9Fzb?)d%-?j(7&q2XhrlX|5szE9r(j@21hr;NhZmXFFH^hE&Gh1 zPi(7Cmh=)G+JQh|uMSB*p8-6oDe}#adm5X;-qK4WHe>g6e(i;6^$A_PAY@ER1ZzDh ziJ@a>YUfN!Sx}Kod9K+^)w7PFqzo~_Ug`Q05i?4_V12O`2+=(}PU1)@%a$mz{Sul{>5LllSP-j?K>#5dz_B(XAAr@4diTOBniL?MEuEp!&BdcYDq ze4)C+>aCNgVl3R5jUe+7q9w*TOYkytohuL*=gjROXR#D|w91~& zwM5>dZ!Eh~54H1Wr90u3*)S@?Pe-*IB&Yi z_ES6GYT)Z}>kyB<81X6<6)Cam#}K0sbn-0`eg90`Gjo|?Svqecoib(%18=G|(x=k&()06oVb?`=C1dnE&^01xmpkUW*V)G~-zuU3(np6zZeqM=5-ci7)w@+LJjJ!%E`p;Vcq-lC zfrQ5k^Q&b2xpDRZB1rDAIbjGmx2EOAM!@W@i%WL#z&qcc9}%N@P)rv`fVpJYGJw44 zQV%3OPrimpcJ-M`tUb99OE{ta0MEObI*k=;oGpDIcr>k7FE)qFWNs*u|IV<{% z7!$WSJs_OzxPzw(uQ!dzp=g0pIQ7JeW~XeTEz}AablL$SY|q@E9MPiQvo@8)ssV9q zPBbQzwls|YXnp}CLc*H48EdPxA%hG^S48|pN@#nX{#CZqtZpv+g8GE&M66WUmItR3 zyrP39t>?|U&ijjbzS_akDp_w7?=rAY7#DtdC8T7K`pP!s4HZ$l5kB-ajslK2y@ElmF1w%*ZbX-XG57AA7y;78+<@bRZ)xG*S%0f)PXy_?B+R^YRX zGTHXeA7eoN!YzlnpR1?P<1X;Q$z#a02ENlFsT~zGVc*g@?9-&ymR>I<{cc%q)SmZY z@2hlTG5;k|P$hg{(t!07i#V9%JC;bc{j!tUDpYd1`*u)t|J|prmop&5TO_zl;Jqka zgE|*mv7fRxihVO@7=D_8H51$8%TM1;&D{OJ(wXhNF3fu-vKiAsEKyW`k*3__O0^Qi{n0Ar zNq82~Z=Z6P9*KDu+jWic!*4U);coGg`lqILfc5wysk&LVbNDWo-a)Ss0kqSO0hH|g zUffK)>m}Ii%}MyLsffl|&iY;d(PabH+Hjj}OhIDwX0XaM{StrpbrT&9WM6;*$a-_w z=1hz|a`-wQuDPi=EqP!Hvr=n2xEp8fA_ar07<^&&?AezF+AFJ4O2rS=YIj+Z7yv}D z$d1`o_3R5}Wc8C^8NNNMT;+izKUnuCh~_i}x(>`ne3C1br8)cLcxB!JNYqJN8)7R4 zG)K37R@e)?;nuHC|a)g`|D~36>h$7ERb*=(~#J% z`eb={U0W;>uRDjK>%m@7fLM5m5{fL?se1{4F}AOLr0a~T zU`bQmeZTC7gUaYJ`qUe+(T@f|)?uIfOe^aWV5&>cxb)Do#~4d_loyCt=Wpi!Ql~<_ zDw_sCDxaMZXD}B2)`ZkQ-^V=pR-&iQG`cQi<54ohPrn= z5a4B(4w1hKq+e8D0<4EoOHjvy&6gQAiLRrR*FOCV1r(M*uGaK7juX=fEyfRKqtvKZ znVg!GEqkGjO@n?-85A?4t=WnWpPuM?C!EJ`il?EYg(Hw@LZ-{zfUkn3N%8VQ>^O^x zV*0b`(Odf-L#-*w)Mie$FCxv=8|9l7nvDq}f_pc8ykl%P<?X~QM!HUBPkioe zrlS>~D$dBk@B)@Mi-x*Tl<0e?ds78w2j6TP-*g;LTE+ebeci2IpB&{G+FCa`b;HsMsg+_-;GDw=4al~2$j5c*v5m*z&8vxpwP0Q+iI*#j<4vp)`r$k zV`xRk?7rxsJ_oC(ZFS8SPFsTJIuX!kujqn&wigQKJ(~9QG!;uX)6IKKm%z85z50Ip z=r)w#>WxwW7uh;FY3&R5rebViDIoPg9fpGqfIjVC0}^wK%VX=w?Lwajr^D{1j0RnY z+Bwg3vZ9IE{7uFA)I$`m@Yr1-uS}yg<3pPdOWR7~O@jT{&2n^qK5~Pdn|KUGnz>6U z4%Goz)BljY-b)R*s2aG^qI?MQ{W~k zmmLL=S+p=9ucupcx!V6JPG>dS&gFw&ngI3{7Hjhm7#+6|FjCYfzoPGYd`9MRyrScN zAkzV#;P~#RkscMv=#;?;32Hr5`_9&uTvRmn9V}GI^4Jah!kVbuz%2C%!B!};u-YK0 z02(9nkSVD6W@ucph=tmhva<`fe=qaU0q+l06=3BCV7#wHfgg)SuM2T1Xr$Py)3($N)Elvr5Al z<123+JMx-j%;-e)a_vmeTOzB~2EC}y8}><5ntfDsz5 zgNy%wI~Kl~0iujH>5M-Vux8E-6eW-<{q*l{N3)q;R$-=lYj=qbwx^n+*o_WlmT$R`vHquQu1d}gQCd1KQOij zkEMc=x8XK^>{axhlV8qKrB_z<2NY#HH}}%q25fV=?n+uNHhmgc9Xd|>(obC;fe=+onnJ?G&Vk);$3*v^AvDa7Q{m z5Ly5pH?)cFlrJW>QMvO+j_ZdX@`QzDX+UCEGXCL`8WzhEGX+#ZVc%Ig+>Yb#c_eu< zUJxl+%0LuUv^dpBHi}5+9!Z|!uE!rr8<=7-vkX*}_rAnp5s|)u?dEkHkdkTtfj?p1 zF5<%~3WX+y&47|jb3ZFeehT~%14pKNW#}YL==(nw{!=@0Ohu%%0IE8}z) z!}hxWUY5vW$>WCv{`eRI;PMYYs4DpbO&DH(pl!HXgnlvq19vXlx&7*19YFrp^qnd! z66Jw6X^ zm)*Om)V~odH{#|MKOkIqtsAKA{xC&Fw*d{}$@kyte;QsgAmAwl=c20rurA{vfB^se z>X_|MJyZjF7@6YOZS)5LZ+9bK)gSxb{X-AA*?=B)sfk$e{H^$83VH(QICX5v&EbFO zAqC)WShCDbE&tObe+ENM3V-NfByc{93;#&Jf$HDW%`0_4!k65(c4GNM54!;C zqAq#Ey68_T02?sL6WEm^asTfjgS+GgMn(lS_EQ3jx<3D%PYPEDdatF}=-osE3U2Vg zV;gxeGt;B5l*Pw$UWm=-`VB9tM>Hfn)?$`pWm>Rifx|3xO;;c3ZyX_S-##My>)Z|i z#mp6*baSMF`ux`6t{6be5YkiNbOoby_hA+F*CpV7J3YV@hNGd$c@#!XQ_LCxOE4TpW*XM3dnB)rcm>eFxkoM7glhQy@vSE)! zYL~s615Z$>(tzd$;JgL>IRMUNO2KD_>wi9jaI~gqx@pam*MIUD?>1n&{d+42vj(X@ zWMZL{ygBZ`|6-X@#1;~+YVuWlukBW$o%#9n*iACQCUA0#hhXzYu@l4&6={C)b^j0< zaD|L+`!Jyf0KcdsdoN&ym@ZdpVIkiFMMH*{(9|p#$5L}2w(gUjC^lEE+-0%G+AL8yE!LB5BS+5z;y9Ss*^QF)bfFl zWvDl*&>XU&iRtox*n7)>sMa-XSQ?~eKnbO0C{ZMpk{D^F6adQ-5(8}O_o)d9;mGz7@h4H4MOFEe{p4$?M-=TPb9irKATrNHLqOUUgnfK zxU=&u(z|r@oUio+_o>fDs8O|Bi;cmuZu{b90pbb z*v7tAFQqpT@p!+LSDe;uWt!PF_s|J7F{>yV&!r##y5rA_}=V>$ockru10H9Y41I*#di=Yu1*;Y5(k z@a3{Qw{z7opfm5W%f~5C3DQJ{z2g(WeV{3KjNXbAQ1y~yRC{@MQe#M4)JJ?49{I3u z1JDC_Xz-TI6ZOicvxScf(RwThW{k$YhsvAsR-bK{d5H_cangzsxg|g+ab-w$~`00IP@89)h-E;T|zyX;~Zl&*4 zbGWTK1mDUZ6-y@Mh%q^e2XFkIRD-fSmYWTg5@JpCmcuM&9 zXIoNii&{947o}A*e2EjGax?o?%3*NH+b`m6J4^#MsB2Fz$gwk@1Vu z`z^v+_8#No9gW@gPo;zHGxiy2k?83;raer?HObD3UR_n~iSLm_FfuMRVr#HgkxuCI zb^9-KR;-GafigAOIbM{ig{O6Te2RaWroaqBTS7~%3mVz1C-0s)d6P<2KVeyuGox-j zV6#6PG&<3A0U@!)#>_RZ-q0NpY1aXlmHbfD1h!CQjk<`VQd00F(dQuX=gk5)m92(X z)xy%$m)YarFrHe@s84ZvZy^aRi|*WGi0p;PT~tInH`;p}LgO+c#6G~8=Ti0=K5_8z z@{B~MENAA2+Pr7xnyzNKJnO2nUYz(PcjJYxYv$$2hocq@bIl|XLUc2NpT);n?479X zgm(yj2}Xzq6izOnrvj>k_4U=NRQq=oM7)2GNEyRPnv(K+U9)~wmJeugE7@^YMFif9 zCgL&h)}9mbzm%KfKo(Hck~GxJg8P~h{#`w>>Vcp`gV-FvT>B^tsgUKsKMLpm#hNNpwe-WZ-GA|;V+>6@Jcmlw4IKn}%~G>+srq@I7iUZ`jbfDiVt?NFYrQ+7XiN?1qiDlXNfcr7>BAv^GDt8^~w$@d_- z=AEO}&-P|tFlBl)R+~Is=(mnW4Z)PA{ijE3YK5%9bpbFrH|hQ6VyfjLHLsrbLHUewkxjd&pfa5=6kl4KpuXmrbL%O@;{B z4`7w51y#iF3hSEwA}I>MpS|rVLyVe```+UsOG7m)*0-NJeQfEhHXAC3g`&RP4<@ zy&)aB*c2`NM#Yw5;H+qfpI4{D89vO-5~EElh_BS}is5^O0zKH1PYH7xuU{(aH8>w3*mUNgBQjFwD}> zIO;2;nFj0j5D63h40sucI0p3_y^jf(F_P#e@|hP812pLq{LvA{?a_=IW?~53PDn_8 z(!FVM=Glv6NytQ>&cKceuXa(8%H`%Y6p`{aC~|=d({zqb`}{QqneTFib@9*jFfM5_ zwlWW7Q0+XSf(RDmNQ@QT@#ZnH0D9Lvv7k}6*i(}G793qD-EBp<&?awMAZa@@A)kO1(1|_v_YcaTS z6Rw~M5a}_!FhST1Ql! zB&pYw@C7}jp?R!awm90@-N4@P@Th4MHWRa{q|?nC^-lX8XWP*LX?=vlX36^J+~tZO zfzThJnW}GI5+{z!{Je)hIl;3r>nlX7JyZmjAGgBz4hZW^$UIzR8r{J4bEiopXi@hJ ztFXl3Z+M+gUqvc7tUR{c>UI2kz_9KO70~Ub${NyiCU#levdSs0{KN>dp@|NE_J$5E zjs50XRtEpOgo(r#TpPuM{_#X7vn6d zO6+OZFCPgA6D=p@jz6g|viTrKEH+@Z^A~d@8lP9oF_F@`F?DLoB6ICZSecCv?$8z1 zblW}dPqSpa(Q)++Rl|evZ8UdeVOJxicc*yT8uj#@eq&IXB%k({>#bwPrr;u%ta?*l zAL7C$6;A8e|&GwrQBe9nr;<@=Xa`H%#4i#ouEfwCKmm}@fRCS5mjk1Ap zz^^C;f2Y;jE46mJKHO)2+@nOhEWNlC8VJxO!HjF$EV6gGnN&`)N>KQ zbR7S=eFwkEdh8VApYfa9PlbMfn<|eAyUl}(_r@rdj{gSS4A#&BN4LcBgsKaFSyH(i zO(I2B1IwlZrXMI7J+}NJOsFQp%}X~hXL=6vu0BQ2j$(sE={jJ-k?}R16dRIiG$9C3 z^uKtAtRscG*+)kl#Sj{ZCAANC2x3?F9_s6@n8t`H$2L+$0q~j12O;>!>)cKB_}oGx zZ3!=lwb1AyRn|A;34E9Y;ym<&z&gbwo%!#l2mt|uBmrmi-}(hqm8%;w&}vXTs3KtI<<27&fzCsyl-1v4(3FV6#X!`Z&GnPOQJ{u1O;+I z*TOiEq(gTw)+^O7F2W}0ZwR1TUhw3mpn0QRHehk^s|{C!T@Y{y2aL8|>Wl-AS}pe0 z(7g)SGVvM||8UMd<_#6ZR#wxPxkXH)-W-Tr>z$=lii7H+OuUh6oV~05Z3U7UkMg7q>B4oRBmuf71iaKo|9HS8EYo0R;GjV z%%F8cr^A~DljJ^Ct|8QkFn$@jOa(Jb@tWg0X&oy@%v##$8Rp-s39hPkQxoSMYDFW| zW`l@*y=KTOy@@rNN+H&-?mSo-ni?idn#kdse)fcd~fDsf^ecJ=t9K z%n)ZJF>zeAv1Sw$0ijd3(^)*JyUqYoUi?Y zS%7R#oq!!rPI2p#Wf>5_Jk?1jT3I6`P@h8s^BWclNT^#r_YDmSV zMBnzY*4ZAgG|Q4}LeZ%7P6`C|hN#+Egb18tg93-esC5svdRHkEiep^kHcGzKQ)Nk< zh;~K}0o}OhCX2`&393k&-jL#1n<47F!%f&)>4<9@v6Y1_U7HeBNOiQlop67#?Udu=_nJc-zd{(2$9qh^;%4I1E@re9?kZsz=j_(l2) z(O_8dkW%LoYi{|RzUM+2&nQFo1l`r+_>9WybxyH|@M~MPc^$fMFsEpdty#8QlktQb zn2K@|-}4xDFQ4B+&WgsOek!ai$gBKiA@7Sp>khPVekT?LDc&b~`NJB3ED@#kFU-Fg zw@$sh8;@sCXoU&IJRmza{$RQ~^XI*9l=T6Ato@V3sY}*m(j`d)WlMw`FPow%i0=|7 z8E6zG@6y^>gX=~W31dpCA(VPLRRj1~$I$jpk^$yD(GehW__}S|ELXb$@lJrH72B;j zE1p3%24^Z-;gZV-+tnMz)nyWoN1LAf-d$uw)@ZaZ7 zv*bsRa@c89y;p2wB@WU-%^NDuSWy!`^^BNAi>5Q;;tiExVvDNJCCDphDx}Hz{?wc1 z55Bp2B!UyYY{m7~V6PV&LhcOvtkg<{UsNL8@QfH$5_gjJ)J8Ngd8xBV-qstgF6lhJ zrs&a^Rz*Qt+K0Ggvhjj1gut-^for^Pcf|02FCn-7*lcGJ_qy48)tB00Io%3V&#i6E zV=~xlZ?p|-@NTFF3Ftl+zwirjs*@@_oC%k={I;`+JYG=4zrU(<@_bOFgji&EV62Z{ z2y4=<|C8t^`KpS6`inHUWs@cjKW3lnKcRRw7QY!NKusJY?jSQ#?}Q*k(9`>K6IK)Z zk*Ox9Tw2zifo|P_Bo04~Yb*0}4lT=3e)3=KYTiz)ss>AUwJ+rbVlt{{6vh`QFqD{^ zARVjAif;-J-hckC$^CwANOP%R`YmoOapIQp#g-T3Ha7_q*Xt2TL{w2UDei;Zjp4N1 zGqXG{^e@2n-t8VaH}uNv+>4z{VPj8^*<_08PP0!Hm^muV-!Mb%2t!cPpf4ePEn39__*w$b(Jjj4LN&N9^@>Dvb(rnBsde&T%yDI} zS3X>=kfwPPkWBEH(L6?~?ptgzr8_ku-pC{1s$t$KcX`$DO>p194 zr^7nn+b%se#Pha$)LwDttzKlge0pm63iVSO%#b>&>+&YwMfz(U)h$;YWmaxqm=#T) zidgsWw4N?Mpui?_Eyt}n5p5UvoGhy_-W9=iGDn0v%j7dR+z7RFBX82Fc+xDP_Ia_H zh{k=iNQa!a`<;fvzy>I7IfxOb!b&z6SMj;Q6i$*8k(k{mXFKb_K_ssnY&BV3<)vtQ z=eaSNzJPsXg9fMiYU7*uO|>JrsaZNVq}~;(0tfi85Kt2djlNE8R!fKZt@cLaMnPEn z-!rk?m!R}bj7U)q)iiw*pF^`Qc~Qh|ntrmzyLeJ|G{z-l$OM2Mn`1mPUtThhiDGY~2#y0j|J+>fcG3DwHw zXeUDN!+3KKlFI4)cQDk$a9$w^7UrmQ;^AE07QwlZ(sS3ED|Q2@Rq1{?bx5=uDQC9| zglx~IBUIxc%WNWXDV~@d^KBk)6Xv+cknj{?%OX-IHDuTL;e~5Go{i4ttpggIYW>Dy zH%$7OsrJ*=cCp}jy>!mimviFQqQ5Hbwz$#H(l^9jXhZe48^>{oAr3h*b3x8c*v`3pPs68|tj>!!&^(79%xA@_J~~#l{Sk|UOrSD(Ei4vY!*Z9Zb%n0Z#0}$ODw5j^^KIb2H(O&uaG|wGy#9Qw-zA=0 zT9Xj7d)|N;HMhdbxfm-Ipe`#ei_d_hzVCsYd0E*ZY=>yl8R=}Vm+dBnMgoUE}-EmC&O{uWw@Fw zZ|;5g&jzdrA_Xx~CW>a62u$*4?n@C5jiQU#p}Zs5<4C>~@=oJCW?#YFQjm;Wa-3n$ z9n_iBm{MQJk&T^BenU@@6a7qt(4%SBmYu=-vm{)pvuvmEp_xRFLrGjeaptcr(0#yF zBYmvLk!*%`$i$28H0Sz}4vVf5X%j}+rZ4bZbCJMF+s9nN4nqFXjp_j%;vj>FLZ3ypK|8lF?Y;a5EPOV%_^CEPmRQ%UzUh)1BEXU2K7Oby z;d!$8@dWj`SXsJTr}teN-e@=7lU@xy^Q1nrNIFG`NX=0bE4HK*Zp37Dr&RCE9|P4CDgMNq@6X8JDL8-_)D-_O}lI6xYe1Sp_W zo{?bUOc_;_waL3NONmHw zb>ZhGke!Xd)ZdWXg!y9;Ic*cv{PCUv=n;0YXGJ06YKGXu*KctBoi}d{Q){O`V~P-O zD_L)N_3>C13cYzbhKbA3r!_ry8Y`ZrO&pXAW|27vsTRBA7P;7rjNjog6FaLAiLHHK z&}J4pkOyDQ9aa$W$|!MII-e-e?W~~?d5zP+^vdk@nXmcxq@Gm@-M{{mxPy90{Kl86 z)uN$RH#h$g@U`jX-<>TMKPfuhIup#}D7Wh?7Z#3T-idXV$gdnMk8>9HbO6jg9={5| zDPD3svXlh#OH$(MZw4cP^b6pS5jX%0SK5mf16(`+b)xXiq9w6~u=1(g^*S%XG;sBAR#A1JFBk@oWl0VRMy5DM<;A-%`ne*Ir1lY155VlQDJ#D*-96`TAb* zxvrlp&OKA^+h0n+m;6LwBi5}iKNvinltVaDaFa{_DR}^HJ`Q(w)GEW^1QY zkB?wLI!ftqcrB0|%gHFTYKF^@&LF*28vl!*tDn~lf0g#DW={VNH}fyZX_tRp4mGS- ze5>o5@8ubXNQvFAkF1zP+xfsy@}zz59z#f!Vt2blgQufc9XE1*lYM`EEaWG#y$V9@ zOrUlt{o;_A7$j*g`<>Gogn|THS9Fn&11{{)|1PqC{LW>DvNH3x)c}GfsCsthu-&%> zpm39z{kV~=%G})8MS4>tmgZ{em&qq>HI0V<(DOVlQ@wmKFF&=&l6YpRk5^9%X9 zhfx3P;KGZJ*@fNChCvJgf9E3AXrXkX=@+$?erzqY+EWBWdMyj zl7;ULdm@90o{^H{3&qCa(su^~_*i*kJq&^G0=0-d*fg+J`Y-_NWc0aP>go#f#* z^mr*KqO;AM<^NN$CItb7cVnPh9vs^`G3bdN>b4($?gR^X1!){wUK9G(J@A9fouz*i zg0+BGFetpk9+ONT$?dc}^L~Fgu;_E|WPRR9TWP0u@QL1s>x0>QlbKcDTzE7lw|a&@ z6V?|lMjVqjMAF{XPBw0_jCS=uKlNGaGOnwsYs^FL%Guw-xLhpeA4tr72-~QX=P`IQrVA?3ql&X^X z!_@XFFFEw&s$;8-rkcmfZ5to6wJTtYZJ;d{a|=uRV~Yc!0kTw5R4sn|z?|keb}qwa z4J&Z8s^j$|oDzL>*+T)SQv*t#8RQs)d}TTegf7G>$0_) zBdx?QD;B~d{Rbkce&EzvDq3XR|NAz8f*)`O>)cq+W0aJX2Hh544vU|F{#ty#4L?09 zp*~+*y;8Mf#TH6skl%Gm?y>3s7<4sTnLKP=Ks@0ArK@l1!1k-n0Wq+h6{^%N5C6Oh zD6kcHRCc;J8*tDi!X^Bpp=}-G>38fmH4inHmgGf>U1p}YI(QqPeck(2K<_3bJqht` z6F>Us4N&9Ex#<9BuMKs*+X3V<&L3OkKuzoH-hwkQvqgw7gowYNeiSa~XWN8BZvx(D z(Oc#0@_mQ5c7+0z)~MK-XlvG`+Zo{R4Vi7w3yE`Z>v=$fp+Bu{@C2^R<_EM zeCIVUBduM@#n>Wr)#>4KKQ_@Q{q%6Sb||Nr|9bU$gS9`o&^s0Too-Na6bsS4-KfW> zo_G3@Xz0!b*%Tqpt_Rq}Em7{;<4x=Ac&)oThrTOnEDe9b?j(hKoQvBzl$?7+t#sY6 z@y;YqcSM+7zx!oyK?eTD^1`YI5@g@R!hL!jto#J9$2HGqYx|ZYPR@I|eU0Surr$4ShdP`kuoR3oOw7* zR_$O2fZiKHRT2Hm1-0qgCaBA}qKe#Q1L{jq+dP^Qw}!LR>cgKOlN}YWaU|+T^#n6} zyQVy@T6**`-tNhd*TFdwyCa!TUv}Rd)?Wg&33=CVF-!-b=0{+@m^v-ic|_+mm|pgR z(;upgZT&v{9!oi@CKVrvB#z!&De27twJ$;$Cvvm~aYoT{m>OaMN~rBCH_kBHEIbV> zzkr|*By)8d)YQgeqwR>_5SK@y=Hl;%Y3n;S-)LoU&H_j3x`FFV;1X1_)o zF`ffZ#&XZL<$vDnxJEsWyv$2@AK~x7!YUA)CT-d+(8=w_%s`5}0(Q1{)F*8(l(!~n zNZ+|T?G8baK9A58 zr71qJOtH?{1}#XmI0g?nHTu@nkgiDX&J;KijXXjsK!#xdA;nQAwlS^TOJ#9Mi zm^%ThDF5A=6c(9SA+%lDVDb7q!m*KDc;1;6&jlPMRj@DKcEb7^=J_$AZ3ofGFTSP$ z{C&x~Y=tCXd9;p}qiKJBLyLPHvoZjz;9HIq=GG0*TIj99Z&q_&GFjv=d8r*d(+un?uOLe2FeHw|!_%)vI7q3*(^ zK(-GSAGOJcJ!FH~11$QJjb_@n-!c`fDlc`mF6VzcU7SNYC5)OIHA3(?jGm^-+^n{L%W<%xDu9tcOdf?^sc!k?tP z)lqH4Y^=p$pmX81UZW@9)t1H*Jem!6~0E64A(4q2c=FD=vSY+T!wcP{$?O ze{-R^T%p0{7L}uZyG#WaOrc?Lj{kR%HINE)^!OJr*Gn~c&&wW;WEMzvgk6rejCo%^ z6Li@U5%7RDHR{!wxWLc0e5huo$v+|ei;v!3?yrZSekuf)059Du9Vfbsm zU1Rtj2phM`@Ol&)h>}f%bsOa z`!bShJi1+w`=bhMay!*xF+RAA_pGIAtRLBh!qHC z6~Cm2KmNl&YmD^8EeaG`lJld}u|J7#jb!OuGgL1i1d2aHx~ej>@HOOHk?pU^V;)ivPD9Btdgjl+jXz4 zLDD9=?8a>gwB_JUYRvZQ{lwa1_A|8uzR{HJ8MHjBpCWTi+?8R{CL}U%B{n)bjB6*z zvE-?-q}}bO%sSrqURS-(j;0GfeH71|Lb2Nhe~Vh`<(KdE21m4YOkTndQ;5`v>2ol@ zI$Lxp93QFkDppm@+65SBmFcp_SLPAlFJM?#H#dC$@T17|aL+fNn8tNK=M*4K zeT}4s^P>s9e)98mT>mr?^Fy2Wxw2p}0ewJL*eO2p1iwYG2kX9(em~0$mZZ)iP)Oqc zWPp_L{sHjpUzRLIrQZ*lRAfPt(#IcyXhUx*D{16y-7CYEujpo>YWF0+k$hB`x>Nc1 z-CN)&`h?)CmrS+wyDcP1rP+vH6?hXR@Q6?bLFXH^HS4q6&B94WA@hJ>HrXmY*&7sC zVcm{zj}$Z6{)mn4QtrtfCqOP5-j$V9AjA4{6-91p`l0*Qzx>@pz#$<64qg#~`Z;2P#B2%#vAxQQO&Y0n}>rl`Q;>1Gg32oaqF;$H@x16iaPYVOl_k5MD{4rj+*^_JQkNsp?MR=w9}ddquKcQ)i*R$|g82`g zzm^*X+4B#ymBh`5K$&0Dm2Y2=Fh3a8MrKs-ijf~N0mM%8H=A4RHp*`VxB2k}Oxy)X zvLCEOKeWi9r{=mSzs|qj4iY#IE~jNR?Q~o#n8&$IWANl#>G5XgaEDJpKygW=~RC?s@?2Hy@o!PfQqsF5s1oAgXV_ z(hZ9JZ+$FdSGs9X zn)LbuJ;EhK^wq zNOoS{)WZjKN#8^~djz{Ew0pQ*@Ydkz6uZPpSAPh%)ZGpxdiRr^VXFiNJZ%3?mYw7~ z?^6b!;|(1$q(2BKE=p!{vwCuE$j4A+qpFv3Qk^UjCv1JsIK1x5N0n6oOLlSBatwu! zw5#7~`Z2IwrbFl@GzILK%K4OCjPa|>0>Z#D^2vGmbnJcaIjJJ$PqkNJpT7i3Nd2LL z<|3dgJT!R~W;S31`?@yy<69;*GLNjo(d>yS;SXaJ+2Nd7fYDub`ZWA#Iy_9_s&lVI z;?q%!#Iz!XA-WR=BsKkHVy@gQ)C-bE9Pxd#iQnf+hQ+wDl`o~h&mT60lUE3k7N6QA zA_AjdMJuh~(YJ^q#I2G{f+RnK>kij3pD5z#qA_%xNjup4?oYXpt3nurh%JuAjmGom zQm6DbXF+O%8lZN&i>Sy=@?2sG@2l00>ls07^TW#3)- z+=ir6w#o$Kt}Da(f((1$ppBQK%#CS_QSAb<_=$LvEJUpS@!T5ugTzhil1D4CQar_N z$R$wp9ik(#b!k{`XKa=JT>85|h20a7m?|QOdkF-^O8zf7rW)^0<-;ZfY;>%IvDTOy z(qjnHPAAI*695c_vsc53b1V{cIIMUR=&krOY#V@sBryrx3!T%ZC$hc3J4!EUH`P6O z5oXE~4{WWQUO>j_$jAGq#&rsL7@e2x@URE+;R)bCXD7rBK}AJ-g{*%7+N{kftsi)@ zda%&A0)S=h9Uq!gP_+}3I_C>B|kXz8o>{DGH z0$8p^@@h{HLt?hcg(vvbcnOfy4~6Fi(@bEuTiC+5e#t*1XTyvB6*F2n;nbN8dB_y%H2e4>#_?y{ zyTuG2$;9RuO>N$ad+4A(BXfE@%!3l5Kp>f-io#@z|gh*?}D??^R7L|{? z*4E0d!rHS~+vYQEFE0t5Z1?YdO3v9@QlOe?DTig|tv{@)r?KiAMlAXn+XY*PruK%` zM}Es`=gYp4yi%+6d_{GhmEM25S@FPw^ZD|-3*%TJBC&!AdEpvumZxSP-BtgPpOTj# zeO>YFGs+gH9;25Pjbd=*oW)Tx_63>&4}bB|AKz!=qroAVMJu+Xzd|vjwmW3JK{2de zpWh(A34VQ#`svXh-**SC5Q_rK)9ou8`+ZuEg&EAMZy37&I5Y^Jd+n9gnuR)6-1xj@ zfm`MYpu`^paKryKK$!XoSvJ6&hY5*2~XtxL#~@N^CXmsOg%CmF0JR_B|d zzuskpT7I={B+EnzR<} zXOix=kn9y|N^8a(_>{ML$xPStD`(Ky=d2aSQn!9hR&QGw)>TMnHd zkc{B~`|_=OvHp)-D4iBqNjsrdhc?+8TZP^7&WD!PhiNC!Nh5JPbT$|5!Ysp~L2Fl=bbNKT6Kca+m ztzZUobQPZ=b{#$*FveB_i@iT$d#{AS?>#bKN+^*izG{U&=hjOY{P8v!MR3{z941SF zsPl^itG$tlT=V|JkbS}ohPqew-ii&Z4ht9T3-LdUCk=deX_lJpKBc8bN+|%8jZ~#p z=DYoNq>>SOVPniW%3Z5;H;!;VwE8(nf)%Vg3v4tv zR#m_{#pwfAsA$bUiGaw$P`$)W0;G;0P;o~?b%}P_&p;rb9T?WyxWI^$cgMzSZ_Xrp ziRkOK&;1c&<=Z6Q4nt*GLrTAi)>b+siGN=KoGdEbZ1H)b7!YYFRqE;L|3i>~eNI8C zk;odi`d+QJx)%@p%rVIZUlZuMfqmN0HuAbjnbJVAuJ8Ok4n7*k1f7lFu7#h8(yK*$ zcB_`w-6QSl|(1Kg#Fz<_y~A~NsWEzU61y-@$hX44hn zyQ{PG>89+g3JF)Q*f#&$vi$cOUv+rfIMzvY#oT=C$%v99M8BpFvb5};{GLCR7ilV_XOeUJ`gxHpl!LJ zp&Y%C;d6QeL^y|D_BMeSi{K>4c(|Q{P*AcZ$lwHZM$FR>8~J!0f{qHQY9=7=tyUwb8p(m2hzxb!4P+lS|r=PvQ%AdUeG*3~?a##(|rPvzD3+9Ocv$hv`qQyI#n=`EfD z8^!!Ix3rxjHLF{Ax;lGD+t3X=k*>s3X?_T3Z?yD+pSlA7e`^s+G+i(KDt&NL0OD}l zfcDBXcd6`R>&E4IEB#t(HF3w;WMjx?{6k$uJ(^CG0;E7?fo9eGI*-nzRPve!k%D&5 zNjM%lhWGFcWuUnCgg_uGD>G8EN=@Drgv;?eK;$q(67;EybNyK(1!x-kfB~SJI;_YN zV~3fLR*%2!W`pTWItA1pVxMF*k-MBQGp~pYFGQjH^`Kak_`!T^KfpZ2mUsei&&O`nSo9b;4o_MsOc<=9={e(z1gc{8534s_%!6e9`|;i{r2SK_AChZZGtp8XZIIs*qs`Hie6 zplxc?@rqk5zqM(%4T7W3$#QP9Oh-9{n}VC%FLg(c5m`SV6MBp;T0#$ zw7y{e{4tn;o6zx7z@azxCXZN_<`nQ_C%2g&@3%^&vp=-MbD25@TciqDweO{u01m$# zdqBD8mGE3nvG0DSd^R41$g5sY$>Z&}QYxi5cy$bbl)$T)Bl->eJCRGK*E2}i zbj_a>0QiH1<2h+@@lLmD1y5~)Coc3-e|Y&oc(DjwHOZN2J11KOzqL{* z(_=d4CFqB-MRvY;HBbM(@k*WfHw3ex`%<>}S{rMmvJ!WZtaon)>{=bC2j%^3P(sKP zeIiSPOxDDwfA}`T+r5Xoi@N3b_N5bWj#a_5HPf5gK82-(@!cjn0lKcIGfFdvg-h_0 z>E#_m85VEA;id{Arq6mVn2Ywni?qU{co|rwF}YH2uEL-`jA_?fs+mvMgGH6X_V7Zq z2#~B6Qb5Y;ppdZWqVDHp4G{c-SK22jyYNj|iux+?`~~`Wc(yV3Vmx-Fv>qAC9aD0* zlH+0Km3}C9nci$*8#!DdDRv#!S^k|NI#T}=Xe*#svkDt?)MpMvRiB+6l~i!r#C!PJ z4yq3cuuw}Ulw;i$>YPscgE_L7zY*XxFtv{uv2-v4cFHF}p=AkAxw7)AO1*D;FcxMb zIt$DR4{sg^Tk{mB-Xi;)k~PR>G_nHLgW4>Uz&~ZwBnWAtt>rpgSm%BK+)}&0N1-A} z%F(b$uK+&0JCG%k0K)_l7stOjPEeLO+zlnZ-DE{*cUv7n#oG2LD=TFLP!jh6;YeT7 z2h~UFYJCSdigcKSMcft_KgZ|%co1O5jo+aQ%j#+g`{l68@E3LhP5Ja%ZlQF#!9|RP z(07pL8ZGq{Eua2TcF|8UgbNq`?e3jTD2pwh`cZ|K{ri;1+RK{F_=152M5goye#hpE z+R9M6#!k{HDMoAdO(;*tZ0KI8#4xJ*EyHKB;uGl$iL=obvxh&jK+Ez=yE1$oe5O?l z69G>9o7F94DB1aFyBBO(+(})-AcJ(B+5R}hhJ**S=s+`b_4-P--J0iCPmQkUy8f8` z@Nyu%b(`^RMU&m`@=gKIRlH({=*F&KJBg*Kj-raNf7pY@A|QHpT5xl}&j*-wIRJJh zrDn1YlZ8<|2NCtHE`A>v?e;b84w(guAcEv0t<+VTF zgbH2200@u;)6%7)=UM0T2Twk2Rsu-OqnP{U({#!7*gWpq9Gi#A(-?`>Ek zex?%ZJrevrC|}n3x?L+Qw*?lq?dAsXBv^}43aS|Gv2w%94q@g^PF{8C>I<0HFibYv zoP@>d;H$~@CiWJPd}{Ip@$k;%0DXG^E>TVaIg%p=CV|vV^CTxPX9G=t?z%RL$wwda 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�#&?p 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 A82|tP literal 0 HcmV?d00001 diff --git a/static/images/mcp/approve.png b/static/images/mcp/approve.png new file mode 100644 index 0000000000000000000000000000000000000000..b1683a75a824d1969c1e71cdb56ee7d12fcbdf61 GIT binary patch literal 101257 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%0D4Oxw7I&8 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bc4b32878da4a6167cc894d23382a63bc4fa6feb GIT binary patch literal 317591 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

-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 A9`z<5-R;ugfILn+C=Jd3sWtG43)z%s5k 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

y@61!FMef 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

~ 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

419S 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�>4YJg{%wj{a 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 W8MIw|4TRGb@COVS6E79j^ZS2zgdf=e literal 0 HcmV?d00001 diff --git a/static/images/webhooks/details.png b/static/images/webhooks/details.png new file mode 100644 index 0000000000000000000000000000000000000000..5f1bbb57aa2c7392f9e5a9c0ff541994fe4d9d02 GIT binary patch literal 109913 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 P41tcuP4zNWOz8gr9e*#` literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..27fafe822d1b5459b202f2d254f2f755143fd4c6 GIT binary patch literal 14419 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 tSJz%?S4o&orC^w0@|Ts_C@{|D1PmPr5r literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a631267832248a456bb5d92b8167092161c1d360 GIT binary patch literal 6294 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 literal 0 HcmV?d00001 diff --git a/static/img/favicon/black/favicon-16x16.png b/static/img/favicon/black/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..af59ef0108a7a043765bdf556348e43f6b331aac GIT binary patch literal 466 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..abe1357c0d6da5b9ea055b5838f0aa8cf680c5d8 GIT binary patch literal 5113 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7f1447125320d138b2d15d454e17b47d040fe424 GIT binary patch literal 14027 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..be1806c5684e13e03e91d2a61e2f7b0e4308cbb4 GIT binary patch literal 6235 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 literal 0 HcmV?d00001 diff --git a/static/img/favicon/brand/favicon-16x16.png b/static/img/favicon/brand/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..837ddffa64a5d0b062fef766e6d4846bc15c9fac GIT binary patch literal 485 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 Is%`lH0YRJm`~Uy| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2457f967dbd625b23178333d599808fd5a046b9a GIT binary patch literal 13933 zcmeHuc|4Wd8}Hh$y|c|bk!0GABxP!lDeOa~5Pp=DF;0CK1 zZsY|32pl}H*Af5({ucq{HSotw;D<%{gWzjvWB~FSC5Hi^f`fa1JsjvT-WwLD>}t>a zmYvJ2LNB?kz4G9fH9VIoB66drrg|_=Jzva3T=ASGiO{BGov%(&CC>2HCwIDA19J2R10h7VtmUH#Y~~) z?)lh$ucX2HlL_gy?(cUA%K3|2ef`Js;7U(?i;I=9(QE6S$$)?m$sXIhshKl#@hz7Q zwc1ro>^~z8B=mb7<1K^#EcZeO6lf@*KU*Jo#(22%P;2PP-bUxMh|@swil{`%bo=|x zZ^Bd>%2*-@n!n%Z@^=zm@TH5 zIglMQ)BzFGP+Bx2!P2;2{dEa>vnVz;GQK4{G_Gmg6%5{~%>}BNe)(CayQqn;+BZSX z3M;mu1L?2SKT@&bPMY+$k&Jg-PK7q1jkzly^LA}phXL9|s{XL+{q`q&p57**Li4%j zx^;JBSWNda&mU?{skq`It_#**ecfwmJU$-oh>-_J58IBjZ8P0{8@|iPr z7t=1i<_M@HO84!0FC!3Sd~pqI4RkRceruS9KI62SlEQOOCuIwq_q<3#9VaE+>vK#n zxuQHh9lPFFMQQf`iaxZ_r?OshSU&WBm*XX$x3-oX&Rx(@V}VrOs@-V1ij$x+!yJ=Qf?QLZ&z*a^)jv zhSJM|!vF%3F;=uMYv4-4DI$_ZM1Q=cQw;%yjp09Om>FNhOyEFrS; zIxw!mo^za^-p7$=YRH7P1iaCT&%tb*G*wK!F%4=lmxEC5lPjN{PAX#QSx#cD^9K~e z3Mc=pUAx-KC)vB}eFAHbyBYW)!4BJdO%@-uP2?-f=t3|FgRhx6NLOlh$31od>hFffdEfVzF%)YZPjMKT@%B7M0>+n6uB6{3V!(3z1auPR}~+ z*>U}337BfF;rpG#aS7vk0O7d+RO!Sy{%t8zv=?M952&NIdl2%@OdOThrQ+*4F@ zNrfRxD6mnQxMNvPTF*hOrb9Q>;|~l3OFqWK@tvtp*ZqQ9NX+w08r1jLAt?6!EyXMn2#v?3w&~lOfmNg8RCB2>;VFY1+0#J~2`x=IXm9cr=)aTS4I6)7OFb|yt zp<6TkYL1gqG&p~=V0P^WOKWJCbSC35_sQ@i5G>|bbV9HRczBow4wrv3!&C3bdI~r{ zSyP0kSYr~AmMJk={O^!|8T;2^{*9OabGl$KB-no*t=w$?BT6HSi(63g`+GW?i^w^B+Um~WfYHm6Fc;{%W5xz1gXZ9ndNIF?1_=`zPUscEmW5bk^zW@07 zVR6;KgXJUU?6J#63m>D?ZuWVvF;LmsgO?>TaT`M zd{Sjy(;qgGnzz6dt^RekMcc1gF5-K`OoU$Ok^H+M^J53w?Sl5XSA~7ysa$!VknQU@ zb+hkQ7c+QJ%X~z)kA@Iy#VFv?`);wfbFa_cRh4aa9KSEas-IbA4;QbjdmbZ#EO&P4 z91U1}KDpGw(*v9xVwA5jPim!@%o3QDxswli>j`A zg`0eZ5uSyC-Zv93zVi6;tVPC?J39)n51>P_2`?95c6uAhq}bH zAaZhnI?|Av#8Hc6+RO#MBERlJy4v5jz8> zOM0nF>da-U=-0eCdfAjjcR;2yNbXzdQqa?wErGAh_iSGN%P3DUN3HS0c_I2EZbnMq z#>8OQ&BtNq9%CuULqXH1Fi6fW&66!qA*e-DY!Uzkp^K?l@pzEQC?m7LlTZNL;Ik2X zQi+JFQm2 zZKMlV^tUu{xkMW$sGTBzkj7drz!n||;SLXK_$_L&WDSvVuhDR2^diEvIK$@mVUk)t zyyb%(*7Km_-;ASC(9suknL+{GwtUd)%tyB{C&*n3Dh6)z5(otqzHeb;1>TtT=oXxH zy7F4EJoSex6)b8ckO_q5rsL!p-yQB<*u?20R3WcUI3lR=2KH<-pf=TiJ&hp>C!=4c z&Kc5x(om%-r1neBCB`|=Q@PeOKwKixfNJIk4d@~bS_;_nIQi95gY;3@Rtej@>ObT` zaVJw)kto>WqD*|JdHkdeWNk_m5Gv1RO^6^!M$WV+1oiGXAN^^X^|o!$8`2OeT2lYv zB~;2kP-zd9o`6c#@~p2xKxjH3GiMXa#gX=i!J^>@Mk!q`QL^=94*_U)j1ybSAfx8? zjhB!sv=H_@X&To2`@DI3|5RtOSN}@Pv8X}bVp;Dc-B^>e-U}P8X=MJ_XL@XLNX`C0s)w$iT1P0ib z6jt6Q;-ay5Nel{X_MdgR&gmlo{fg^+^t~|X{jXAek5Z5_=i2$T6c85gzd;Tlf#O!a z(8qscO7GsK03sRR8|xcIkotFbOE8bO6N8hGu>E`|)FA#w!Z3jcs+^Qel_mahVXy@H zjJFgS1rD_z++f(Pblia5mQzixi6EJqM(vCMan2qPr*>rBfk>OLIs5`GDe)a%Ymiaw zCN;`~GW7WH!7b2K|5{aX2zB5W)m?|lA{TOg6NgddMxZe26SWUR;c^-$E@L3XLhju& z$e?^~NLUN#0_&jz#XK^E>7X=hXB0mK=ku4?#;ru&UmN`}0X7@~)=)rvEg5V6w%Y80 zHCu3+{lN!G#093CH-W+;oYA=Y19)@!WAJc0(RwY0?yZH}L&_Fn*`0~>gad1yL!_7i5>{Jf+S&(Q&Hr0a6*51l$wve?TpZfy? zSIe1~^E{|lBtsk5{(W^gZaRfy8z&3nzLvK4QWP)UAa30;47>pjKJN_3aUtip;OMM4 z=&s<*Q*h=-rNO8OGAfC2bMOdhlCr;gLC^&Q#{RB+pd)&na+ zx)uqe=B6l4{Pp4(K&ElrqHGOA#L($F76)k_9Bf>wkQoMtxCw$VE5s->2hf!M_xIa+HH zVB#g1;Dm1lg0F)YRBLuuEiGN$L1YPuf)d+nYweZ;PF2gzPjuc|nTRrfP!%%YFuzG5 z_!M-L?YOl^faLGbu+)< zG<2y=P0O4HJ_kwdIF4iHMN$5V%H2 zp=kS4D-x}wCnS7+dALUR+v#2|o&A9yd!@e0)XY7*=vDP&qXTnPBdlu(S#t_Tty2I_ zG>N94(_XdkeI`b%@|ys;`VrrXh9BO)zV%tkc|mODGU2!+FS=qg zRLzthp7pA(WJkW-&x?lpX@pMH`t?sn*wnn(e~D;!OSalxfe%Gwza{(P* zmBWLT2PN)TbhL!|gJC+ul{0`E#z_(}?(ZbvUix_uSlG zLfoM{cdq3w89ffE9nud!uRYP>GO~Y5=p6L5t*aEQX}fbTHn?G+buwbg@YpR9ZGHQT z7f0C(jt^vh{FVMD-EIGKbaZF3M>`KfWpW&pL|fB#!q7KDdlsoknJr11V$9r*_%U+s z*834=qhkt)9lHW<$}pC`fPd`JZqYyXlP8^*Y}%y*%FdNwVnOQOjW)rf8s>Y5K?rWG3abxfC zX1QJndrc(L80J5@mx@}Mga-%h@dgEdl}$kVcWv%czUG66e?!lxH*Nt))c@4Kqqs?9 zv+84?QN6}*MumT#6myJg)E@YYiXgC$!ao+>0b4GL+I;abkFXA|tLT@odGSFHnJ;Di zHO!a3 zn~GrsYgy(%cKU3*z1Z}HAx+rkCN8(riKk{pI;A7Y6jTv z12JfdDOB)!|UaT70g3K zF3XdMjGNx$yH+#OjshZ0D~Dl>kDOg-3OpV>d(|;+`^)BB$c48qzLFd!#L?x!yAveq z@}c>Z6wj4E#kjU5b{R3ZXQ$uk3mP6>DTI=$v zR0=LU3L}Pp`cJGWd-S`;oVa@o*b*W@MxUnX)fB}!tcpw?$S z*zO8bO*lUCZz+^t3A#8mLKt7Z5GohUT^sJ`fRoFMd7Hta@%dO^?u_n-ugC-ogTfF2 zLi5?;ZZald;vXOTzZURWkk;T<*Es?Bi6I?Nk&Kigu*J2k+Zb_@bR|%H=hpw%G%I-# z;$QOSZ2IYbCBWIH57{!>9-vNWKKeK$MF;fmm)}oDg|GCUA)}shUW8XMl_a$|$NrNf zn&YDhALM_9zX>?+N1UiN)%Cn+wPo)Bkyi4b-`64;kW1!0-x zbuj%{LWpN&qzO<;a4JT*a|E8Tl*(nUT7G~|O!OZOuX$4Sz%{Ybv z7V-xD35%%6aZaQ1Q2TSmtG!i z#TJ;K{hSF?aKTKSo9MI}e6iI5CZeJRT)A`jqfv#&%Y0ulGe{?@g^PohMIX0j@9##j#Up3{)_o%CZe=*YHX&KmS- z$GJaddeXzTK0s;dpmbEDUw*k)Af3GD$|J-nuruOX>=(7lla41?zwG|)3SY_6>75G?uVUa~G~F#EYUZOM=)Ev`W;fC=Jdx(;lwsV;&E zLNNe1Tk4(~sw|zeX^fL1R)@D{xAs-79PiyBcA!yxv1LeiTh&aBe#qVEN8#7Oh9S5U z#4@OJcyvSff~sS@LwI%n5!D0bzLCfl|JL$|7LXr{bCg-u$I~E(cs*klL;@ zPkKJ}@@P>{y4|;GzwZ}oN|L6P&;L=@o-Nk#>u>x7wZ=g{G!eS*!dab)<$82Hf6d}XYi4AK zRJz_WTW{CcMW4I-=K)wRf!zgY@R&V`WXMx&gTyX?H`B-ci-C>xL>t_#4wejzRY*p# zXJQ>$U9=~*{#MLS?MnuWoeHU>2ic6L1iUH`u{o`EyrB>X#i|F&`thSH#llg18Bg#7tR^7bmE*I=J^}h7Egpy-jlQu4c%KRc=l7ZF8Ac zuvWW&7!)7QUSdTg=q-h;EY12ST!XIg7Oo|jyC&$eUguX+t45BhG^V*4q%oE!U^w)q zhpKs5lJ1+VVQfy&e;@k!k{qZF+5wX|HfPG}70Y%EERSIIm(0QB501>FZTSa;w7;z^ zD>Q_DrVyHME(CB1R(ZovGvBmoSM%7s{WtoIqYOK~dE@2)zGC(TCzj6G3gKRS6fgST zo?=&GOhzY$PQoRPnzaSG>Aq9!k^CBYUDlAJ!*9x0$CR3@mA&6{=RedYMhT+U5tC`U zj|Av#6>X}JjK)=u5=~VmUO6{WYV%%JZ9nk%vt1HaYf^@ua%Q8ST6Bp)%`s9s?m~_c z2kOx%BtuJyLx#pz4_UP>lV`8Ciy%+P=tfwrika>ag+T*@S>oh#%7#k|%#b!;b_`=H zS4I}BgAMF)h3No`-ThE)?Z>p$VlFm2zDGF8!b={i)EvW3{v<{UE>m(p89$ayv8e+#9BuQfnWxPe8t0k}5BP0bpiL1M zskJKdSrW9YGY?i>B@rhn9ElywK^P~t^_a-B$*}CI2(matC$18Gya_|nA8!Cp{c5jq z+e%ioox*LqW<{oJaWmpMw!s|$CNcSM+_pSec_pKYk=X2%t-7iPN0~h=y^4S*{5ZvM ziNNx)R~trgw+^hmZU9eUDHO7A#A(XEf%lyH)#WL2tUPD#^@|cH6vQM$dHcx@dOQxTdz9fP8}+&`oqd& zNfZj+p!JgF>afG+zMC&e@LVF%3VCW8LlA=u;2bO8MJfH3mE2k##tMnq{o676ZsPIL zSo@IPrzVN*R*;6st`pFG7Vg?x(8waMdQLowsQTj7GMm2Op*_4do0m=~%P;%BJRCl+ zCHpJ@Iqv275*nTO1RJ7@Lb||tm$$pYZuqjryYVd8^YsCCJ7`NTN7iy4Got1^aC5OiZX=5jGt{mhDvT-eOP=RN} z4t`kEW%|P)4I#i4RKKX*B4dyO%g&KBV;5MOJ8%%ZazLTcO=IfoVUe|#A5AiJY5)(l zpg)X}Y;b$%Sb6ozY7JH$dd%f20EtiU+$sD}mS_zV@}+-LYoVAEPEZu$D@a!)(gbAH zE&8TI};!8%)lj%(nOCx?gg>?;| z4nAFdEpZ5Y9db)2y{IwJuN>|cHV4>^o}(d7_WtjD@=~#Ssu@A;3nlUXw1{EG@?igd zH2(|C-0)S-+ONuLw<)D{y|HGFKRz3U$jp}uctjZJ!XSe0N$2vHnuj(3tI#vd^qL=? zejom0lp9*pJ`0G9@`;oI2Oav6XvSpqfby`u{&)SnRNDzczBciC&5+M7EV{~n zARE5oY`mvlOM*KWi@6QN=j5ENME8(FyCdY{fMZ=1%FjY`w-OtJ{=7SUb2_4M{ot>S zR)GIc_x~Whh)Wa$Zk3$Nzus0I*Lx^_eZx-T+(hp!Z2Ri^up`XaC7O2j*X}B=1$cI? zzAH|=!W**|aZqY~VO}V-EKbkwUm7kBXiEE|y{=q&_kOb7xfiNgzKz6QWDiNo1 zwx3XU(G6RPp;p>6S70SNe4wR0bElbpZd?8Qc*L+PTs==HtO$msO%8tTpFU4}mGtjaA3OY3nG+5EM$OCQT-ZAd>rRIQYJKplfOG=<4K2O18NWYf z1&^Rsz2bHI@QZK%D*Km4@UMfA|BW-+|8oX$<6^E;%v{GE%5Q>S6(u08!ll&$s76+N z+Me8jbGufry`qShI~TK1F|$PA2X!?Y5wql{N_T^aB+EtCX{m(!vUrXnt`X5JKP~16 zFHsX@UbU=_k0d6|nE+EaBS~IPHvHA;3|KNT9)7r1y44WBGfP08h-x;&Tj9GWf!!T= zgWo;2?*1w$InHfq4X%u3_~xXaYl@Qr$qlwlI=uNGq6WHDWr!*Bo;o^ser@LU2wyP= zrPBEIUfMpSn}jwI4*L-_k6`T&EtyOfn|qSz5yZ!kAwK?o+#3gKaf4B^>(KOVLnLEa zKU6T|4->{CVeC@vc_g`nUBZX5lP$H&wAU(du8a?=dLL=srC%D9R8mDM@Zn~3gXtQ; z`EKBYqPHKsNZq#^R0>!OiGIw%lDpFiV(Z10`L>?1AEcyPYJ07SG{)g;#bG(`Ut4!I zbq7C>t|S#K$b@bvNaFkRcU(CMiDu8#j7y={DnPo4qLd^3cPq|qZC|k;maV($B*Sm& z^b)2{Fv=VS8)Gqf?rTfO1K2wKNJl9jGo76GrNui9n+dg}^sqy%Jw6q;y5|Hj5OJ1^ z4R-rdI7`$+8Z$BLbalKam_QDDAJg22ag|uaxURokqEIye0f4DvsFvf##%q|8L8XEL zb9O4BU@akB&Z#jW+E)&G09}jMgY}l3t57~Fg}$e+s4yh+1%~!wE0(Wl$He@KkbZkL zftk)C#AmKVKNf~>c{x-f|~&`^duX>n<$U;2a@=uyt}t9LiA z|HmaN$YYByYI3K8xf!+gXuYMeISv0-0DdN6#i{xL61Pk zWjs1kSZM94cfKa#pFk)Vb+uq*tQa$Qj11yFO)q6!gM6RqJZXTnu;VSeD#i$j95CeH z_{J86mS>JBO9F|t%vj>=U%R7lZxEq;Wz~iIhdlg+Kt*`RvgA2#EJPRXU+RulTn~Q9 zsLK;Kz)eDs%<2U(A+VOxam0$VgHS=_YZiorF`*afDlT|LSnQ`R(QC#9?|-!gwleU8 zj31&ec1U=M;^Aa+?nZDyMxaV}nxe zb2IK#5X7?M!#x{r&D!8D;^d5o!H}&yBH8*5aWa8>WUj6Xq?$vRGIDV_*wK-38xAZX zb=62P9Yx0~eDSX=7}~tWGT+a5%}1R4n_K^P&~Z*9qiP+MXdQMWFcf2Di*j@L06PzU z->{`>>gnjAt>Aei!`{j`{d*hZX}7yHhTU{8vo^kE-t42o%1hnN;=oquT%ipf*}q5( zt8qZc&~Jy8<~O}~<^n%2vYp_Cjy%&B-=Y|1-l&OBjoKfKzZEmBvVXL$_^&y$4n+5g zy7m83x+QZaa;-+2A!i@>lGK-E89Y}W+S(sH1wV6&9#vg`b)A)Q(;-FOwseWPF)Sm{ z>BKIf?^U{)ekWRYwF}N{xUZ~p6?B-vkFJWn#FxI-EF10>>JIE?hTne_OvRMjxYFm6 oLqc@ehKiZ}wsq+fEG9eR7&_3Xz<&q#neELpaJuk60QBn#2mk;8 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e0b143589b9ec7cf550abcfa68c551229cb08d5f GIT binary patch literal 6134 zcmdsb^;Z;5)c!6@Ni9;+9fFjwfb`PR(v5`ZQqr}^vI_`Ehjc9|jmVM$qDU(&B^`nw z-HpJzpYQqp4et-{4>NP-%rp1gne)t@=iYbE^fbsx7)byC0J-K=wqm%45%Gu-UI+1eAHA`G7hxe%_A~4?wji^AeG!PnBYEJbky8oEav_G#pWX^ zqw$WzyADUUuL(BBMU)bpXLN3wJ3RHSG4-y-Zskt}KeFwUZ#QoV?=0j6i|lp!B=q_C z?p^k_}J~iyyEPeG2#l>Ib1A$ZS9ipqzreBi{b<@n7#{eq=b{7Vjgt%K|V3 zoKNK*u#2U|FD-gc?9BsU0T=_GhCnkMU;+a{&wGa@TG|X@^(} z_ku((oWOTQ=9nJ96)2&CoMcueC4!wg$|1da{alRDOCZmzzMqyDkSnn-J0ldRnZjzQ z!?5vvYDST}UE72IS+q($$Wj_Q6ezSI(RzPF;9ZVtO2}xD$vulGmS-DKTFsP%r|&wB z-2fdlgv&cSP%Uq}*Wc#8E8s&q#uk%WcEx#UlZL)gJoH+IeiQB}!-u%v&5u|?(*pZ~ zjL;y=DTWZZpkVKaFeedYfAEgw*%nd?D9;8BDAo5y__Gtpd_*D_@1bo;1eyQeYL_0K zOl04PR>DjXV-$R$><(c|NdbvTnF|d}_((V%v^lRtRGdae_YmzCC zMR*N@b}+s7Ju(^nrQzj3b#|vfSs5Cg4U+fyO-05iZ@b6vvlQ&TrmB(%KR9-d)uJ7| z*C-%)_WXjJJ}m7%)5a%*hWep&0n|GAc5zgll=m9CYNV(1i?FToZm*Enw%+?0^arYe?nw%ILVISb|OAym}Y4!_}zF|K@@ zA@ZEpitxdM2RaP0%pGlS-a;yj_;QxA$sBq0yQRj%st01`+1eA6W{eD)O?6vZ%8%#1 zRfe@YW&VgA6SH_(K!uf0&U*R7MYBzms{7j+t?M{+~~irIep7{W7rc@)S%A< zxhWtbSs!xEK=j#yDBEO|lM#8@lcV*zq!8C-)Q>DNe)um2aaWQPRB_+422_SaK}EoD zx&-OgL?vn_739WB!Yqp*Nt0)sE74ae6jpE-Z4YJ333jtWmVGPJ&Y|1?JBT{$CMt9q zS4UqG@*PvaNKcX-%V(ZRW6RV&JioiO3HiM+Mh#gs5u>T6g&Bn~lEhujva$LpsNJ>) z(QM9_L6X&qltw+sG`Roe5zS6NZ1ryGuJQu;!ghJ|S%30KASJi32OpeLBM;oCv}_ASGbRAD zvQe!bcH7zfT5W7iu;dJIK_U)NbGn$qvLB`&nBf$OLJN#kN?vqjeXAZA&QO z{(I4c1yf3e|1MvIG@>LY>uibz+5(%?PM3zVc`PWIdBVH#+;<-PycmhpuQK^M;l<^} zx0SCu3{>)^ONUhk#6%g6B;-x)Gn<)ELn8}h3V zB`Lw@w>1G~jMk!xrx z?qdBW{y?BcAcS?T;IAm*-uw`v#~}z&y|~Tun4S)BVJL(&WN+W(CMg z%VQ^ym}CeqFQJwHj{4uu@PiZQYJpuB3YepZZpR5Gi1hxGU=G{%z`~f$QZ(dC|7Jc* z11|wOC|qP|b1@r*C{8Q*5{N>pX&-jC>0azkFciu+@t}2M56;&fWh#i!CkG>Xdmc?i zY*`%}8CF@+o^1UIhc~)%UI*_l{z*njjt@e1(7G4b6l^{H_fQwxD^9NFPbCv2piJS` zErAS*)k_hF<6+R}m#{3Dj!m_v(#hd*S`^o>J(JN-ap@TPjTe@`dxkPHshPtrIqX|} zPqS@OHF%&*v8NXU)MSj}z#OiC-vx64ko|gRC)ijy$B}LF`KK3}hu!xHX9r)et=G&= zcW(3j0N?AWfj3u$kN1=;_^mib> zrvdNK`LvS%NCiYV+gp}^I3ebE)V(%P+&C1%iIk+vP~fv_av|rG^yn#lH04(Pb~kad z!UV?zx!;rJN->suj%areqaZnL5hwrK_6PEW@m(F);FLICDi{^#jcmZaz0%W%ygzeE zEel7*Mu&TuXBxOXcRVq$v1g6NeD5dTp-fjyse+t&9OmC!90A1)0`{|h@-xDW?r)Vw z#pOiT$og-K(G=cHLxM_t)L=GNb>E?+zWJuA2x(9H&XCUD)113@S_@sYrr`RfQT0MQ z%Z++mPk7WQp6g4Sa^}66#}alWax|ll9%BWbgx-#PIcR+)827-c zi{75}ODI)o6ajIF$WNv|)0!H1?ME%sBmZ3f$1BSUG- z18Ul_$|qzP6UmwU3U!eF<+QbyC7v!k_>2YW!=@+)Kl*+~GJVL+LJaZwW-iP5F!Vjj zbT6xj4-RG^$S&Cgp4>!%4-JICSl3{As=TbDopl1;^H5Q&K=a8MZPjS$KD!N)cQlN) za{K5va`acutHgo7?yhO{u(Z6garMm$Jb5^5tlGR8wZ5d6Z3*Z0=2E!-W;no5w-+k= z1e^8+7U#&PS7EI^^!wcX9e_o&!o&e>;%~XnnvF88M}di-=uPFXWFb!7^_h7_#IW-! zkAABe*b-VM+bD}2C#giouZQED$#&&{fNF~Vl3`-j#jvwELr~X!>2s_Ad>C2_}m;r^2&tScFl9yBw;R~=s?MNmu_Z>JE7CO)At|Jggs{P z1yAHFRQz=0;pB8R3@a=vTl?qg4f(xV_)vHO#2}7_ICSn9_mZdS%U;Oe+ z$39W~2mE_`L0vH6${lJ@=vPFIR6p5|uU8?2HI z&l<7@vOIbEmUO*uvqKgli^S5vDm}8OdOVLZp8iCj>0#s#=Rz;&8JqVbqDE&!UGyi5 z=L%oyv+^zVSNg-LVY4T!5PpD-EGBq+R$5~48?@^87SrR^m6dw?U~bDdle(bBW}Xc* zMWx9GBcjRRK`B((7&h`e&(#ce)WHI(;czIdnsQjqJfzcSG;Db28^9K_zdrL(L99G5 zyG$BgVT)P$tcAK?$!qXeX-dkrO0WJKLG; z>?^a)PKer_E+f#&p!CU)kbtI=pQsqOIs{=}FVc6qTXAZy|4_CJL(w@DhbZ03o*YoN zov>67Js8?t82ehMBCEqBHMo~X?23|2@Ay=9|jH;u} zMeb$-Hp@bEHR8!uH`KePkWL9mFh?Dad$NSpRH)eCP>M))#VdRH!;#e91JCn6tf?4AdSRo$0 zqJyZ5X$5zkla+Xo6S~HQH$;3P_yF)3u^82=tx|u!Y_ChILPoG3~*6`o{IIqD*fjM;% zxZ}4vIvps^hB5`aS?;-Jl<(&Y&AGaFLAS$7Zi*(X#xt)D>iR}QmOcNSp7UIX3q(Uz zaPhvw3hwahdwm_;6{oT2l6ezP3}1eW{<^WVus#`YOoj0{;$4A5YT2`zQB?&`R08pCn; zeaa_Bw@oQ_MvoX!lJWXe!+skx;QKkv6`c*qDAOvZpWj1{xCyI%d3+m;Ca>J>lO)2_ zKa{#{eVasEb-&Y#R4>Q+j&}^t2gXtJcx>R4UP zqz|f##-)o-j<4C2wUcOYG`@la*)%wl;=UT8Hy~3(XzJ}yhF6QvxiIfYb}YeC$la`3 zA!nQ&TCD}<826#R{zBmm%SKTF^{Zi$OTS!ZT*^}VyDwt1VePtY6Yg}MUmC3|F`Rn` zqJH(`>!OOrpPU9&vbXfG`!%pvai7okhvrN^4BOzh`E})&;KLjfL)K>fRQE0kmUKw* z$hCJgwQxDY_yM2b8=)||x67BY56=3-QB6Y%_2BV8@umdodbwd%&Bbmq%o_aIG70uf z-r>ynp2DhwkzHBI(@ZU#uK#e)r=ZaBwpssczTU6W&!RUQ#{YQ#UWPt=(ci4;5Mb+Z(<`|?T++oPq zv@#5jqHTgCItYepQ_7H0tE=SG9RX}_uE{X)hoUZa&+*CbA8+NrcUoh=bffF3YqI6a zwANxsHO@Jo=g<3p*03Az`+>M296F9`3EWPXS>3a4a#?CxAkZP}g3c}fNzJ6Mj-E!Q zxk@c(+(g+q(`HHjzH8@aRwJdwDD@n1L1;4Bs3QHWnyjq%ip`eX<#X5r)!8>%2$SF0 zV)3JDzo+-x96jr|_V)8qvg;x~*bf)3HKg1t@qmuHx{=M~yI^LFCRo`{>Pu zf@IwV1zVc1bFuPRV)AW`tig0k2oYf%W7PEY)R#qmvo>zdbRlJ2x@0{1VexAAl!=&x z;wz5kO2_1m-hO^cAI{tR*Eg=S;V!YT`Q=WccpTXy#Ds3#JA-VS<}H3GJ6bq(Zw8%sTaB zCAC1>NEF@f!@luJAfct%wS_eXM23NBNaxp5h+^AjM^=hhaGaDKJoNQLqJB*x=pO6> zKti(y2_LF(z}mBh78nsdY&5}J&ISkcYb@wdlkI}W`oCY@+ya1Vs%`{@XK|J>#mxF< zIH1k$E3Z+UPTz4`Gz z>?)WXpl?9J9L0jgqC5dLJeny{Ox|MjWEMbc!X&lsu#Ysdc6Fdc08JA2CXhgkV3wc@ z2H*m=%vOCHX#g=kp(L_X#_I#7a1Uf8e!-Ke&nTl!6bE=aKci2#Biivp3Nwn}O0e%A zV_l(q$~FS__e7|muY)Hqg8ZRsM6UrChAAae!WN;V8>;2b-t>6v4KV~O*d1gI1-50z zETyE;gHV*zmvcfMsN+!XewtfgGyn_>%H-BO{?XG+jM3C*`Q8mq%Z}_8@Iyv2+^)l4 z#yW0D(UK9WI0HUYFY>UZfU84F z)o0XR^sX$?grd}4%$h00TimH8P(BJpSYEbmo1l*Qtn1-=%5!h!e|I}batdrooj6jX z*KhrggE=`y(?fRzy9h3buz}M8uxCcM5s#!lT;A1qA)Ao-Pp2gUn7h0I8k>Gi5@1XD z$R-*=uMF1ss$&4!%U>6u=A23lsx7&fD literal 0 HcmV?d00001 diff --git a/static/img/favicon/white/favicon-16x16.png b/static/img/favicon/white/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8320f67ade0dd95787e02e6b4aed4a5fedfeb8 GIT binary patch literal 462 zcmV;<0WtoGP)Px$h)G02R5(v#{Qv)dAOi!#3KSnU(iH|4Ru%?bO$~;9hmSI-DJwC^NJ%nm+`fy!!P=66pN|)-L*Xu{ZtY^|oHU&w z$j5`>Q78g|is`{Q1jJ*U`(c ze$gz3JqM34wDe78`1R`-*r4L9GzKm%POw_625eY7hr!RomEr1*TMXP>oD2$bvJA`D zZDfc}&jV{}tuAAzEXYPR0AxGJ8z8WB<|Ky5Ab*Ajj~+98{q~(fTSJXu(~jK?0kJ7y zd5~t1At)~R_U$`E@3dJA6K2k3U}Ixrs42>2aIv>x2#iZ(XsRe?U}0fq2#Qa`Z2&BY zK>;{v);zF55@MnZPPWzzbC#@Nu(LD+2jIFbI~dCIGBI6%9!DU94jets;P2_i@Z{NZ zhFf>k3ZKyGTJN=l?SGf|YC0e#WMNx=qtBme*a07*qoM6N<$ Eg7YKBDgXcg literal 0 HcmV?d00001 diff --git a/static/img/favicon/white/favicon-32x32.png b/static/img/favicon/white/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..05ce4eebb96dfac7834c9758423a8739f32abbe0 GIT binary patch literal 755 zcmVPx%tw}^dR9Hvtmt9CxVHn5%$H2h#abLuYWTn%ME5gUO^ z$4I0xZ9+I=LEwziMJ|vWR2NCjYAv&mi&ASCO``7m*dQSn&zn2!cwBi}b6xDcJOA_Y zJiqsOpZ9;x%K<0RY+s zPM%B`Ab{8cls(=0;slV$(dt>+JV3qzq6++&p2iNX4(rR-qSk8pfqi>1^mrH_K7Qg?Ng(QNmAEl*3*V=vcwGv} zyZ|V2y+IF;%Yn;2Kib?L9^~H5>sV7PXBxee3L*)htJB3+NlCoDeP}w{hCr_u8kLgi zR2{ps13mtJK`&56+|E{%DoR8>@>c-KC?4+>l&@3p0Hl+#R`01r_}L3VvXa$uM4mqQ zw*bKqeMBJupyvj&72VhRM9IERjzd-?{Mw5u5R1pLR8GGK!cl)nk1qGGEl7^E02V8{ zePVzw(J?HM$pkUxbV9{eH74Fi1rw{bY(nUEKRAvP0F1tgz+^lsm`lesBY^S91kAP; z3=TaK1g_K7!eMLV&50_YH5k!;rWwY=dfuEe21sTN4UeF;qf-EqYEJK>li0ccAe)|Q zPA028vkJ`K|8yWy%!y*oy9Y!aI3vsk(Wt6$$KN9|C-RG3n(ZQU$`~MZYaHh~z zIPIsIOy)#RcgHo%!yp`_1Ih75BRaDpy1D^AYBErq33@{@)h_mE+#p@ ln$f2(cb8K-+qt}+{{%(orChV21Xut7002ovPDHLkV1gybRy_a! literal 0 HcmV?d00001 diff --git a/static/img/favicon/white/favicon.ico b/static/img/favicon/white/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..85774d00f2c5694d94fe2f2f6b94917dc07b8f9a GIT binary patch literal 15406 zcmeI2Yit!o6vwv$kq?6S;1MKni=dQe(b!OshbYj*7Y4*cf)Vfo2oZxe2nI3GV2Pq& zKtp1QuMi(7g-}7DK1fpyC<#hH_Y$ow2BTmPYKE?XyEug}uOtNn^s7TecLKU$-oUv>0|?BBOXpKsZ;-oEbDo;ve< z?nP+JGZ3C>u7l+kXM4E98SeCfzR)Lhf^O)mTWF7N&=I;qXXp+cns(^cPk1N18-#bo zJ41Mf(c0;on)WA|F_6p{)NMVTLL8O&nUE?YRKY(*6Q$-HRWPnd14#Wl00XQXIB`_P z-+>S0uky@yq1 z(4XcyR%2CRbM!N@au4ncG!SSY(7=CA1BVa&D4RBZEPwod+Ou!0ca?7~lU+N%lDfLu zht*kr-LkRt1NrULFA>+%RRPwLqPdcv+fDj*Zzt~W#&G?je6wB$>EH7@xp!2a z{Cx6w7@aexPszghvn79ENcyN}tXla}#QJDhgCzgd*8Zb8yrtIN;BD4?I6hlALt|H0 zpOtTSR?3u#_eplgmi9fY7gZfSEVZ?@a;)lzytcep=$G>uixxbsuO~^&suS_@p&$g6F{~qD~!1;cAhuTW%+BLSm-6!xLch6Aq`@WG*{^X|*4Ga*^`APJO%2v0ZfNC-A5ENjmipf5yI>v-5vr z@JEMmiC0p=AKQthe{9b^XFK(S?JiX|Z2VO`eMpu+V|Kh6yV3YF_VEEu&dzguN4fGL ziAbXS@sY$b_)L7Kn?F7lUt6(#oA$j+j_;UWF`BUxa)wmrDSrI13u0YjUiOOS_3IMBomiQe znb?^a+TAz)r^-(J-jf%9atm?{#wXXSemWesPlw!u9EDtkoQ1JU4&&sXYCG}c4>q|Q zIUKnhIUTv3Q?ONXK>EeEadJap~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logo/old-favicon-32x32.png b/static/img/logo/old-favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..be1a75304b44ec8155a76faa66fea523115042fe GIT binary patch literal 463 zcmV;=0WkiFP)Px$iAh93R9HvtS3OGuK@fd&7bWp75k%8i*$4*2AD}-%Ewr(WsAwB3tb?XE3aPD> z3n7IHz#b}ox zq9*`lUDvP4G|g>hz5nU_;RE0}ZvUI} z?*VXn!2NRy9D%pRd4c?N{{xX3Xd8rLRf7;T@XH-D^>z$QFk??OY{RHQRQ0l00cDBny; z!SXo|wIds9Ade70@jL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 0000000000000000000000000000000000000000..3875e4e0c5a513d3c278a531336afe5635330796 GIT binary patch literal 6699 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 literal 0 HcmV?d00001 diff --git a/static/img/logo/symbol-white.png b/static/img/logo/symbol-white.png new file mode 100644 index 0000000000000000000000000000000000000000..15f2f0375700f1633d83741ff557217efd6043ce GIT binary patch literal 5939 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..be1a75304b44ec8155a76faa66fea523115042fe GIT binary patch literal 463 zcmV;=0WkiFP)Px$iAh93R9HvtS3OGuK@fd&7bWp75k%8i*$4*2AD}-%Ewr(WsAwB3tb?XE3aPD> z3n7IHz#b}ox zq9*`lUDvP4G|g>hz5nU_;RE0}ZvUI} z?*VXn!2NRy9D%pRd4c?N{{xX3Xd8rLRf7;T@XH-D^>z$QFk??OY{RHQRQ0l00cDBny; z!SXo|wIds9Ade70@jL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logo2/light.svg b/static/img/logo2/light.svg new file mode 100644 index 0000000..860442f --- /dev/null +++ b/static/img/logo2/light.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..4028abc --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + // This file is not used in compilation. It is here just for a nice editor experience. + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + }, + "include": ["src", "docs"], + "exclude": [".docusaurus", "build", "node_modules"] +} diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..7eb4d56 --- /dev/null +++ b/vercel.json @@ -0,0 +1,30 @@ +{ + "cleanUrls": true, + "trailingSlash": false, + "redirects": [ + { + "source": "/self-hosting/methods/one-click", + "destination": "/self-hosting/methods/docker-compose" + }, + { + "source": "/intro", + "destination": "/" + }, + { + "source": "/self-hosting/telemetry", + "destination": "/self-hosting/govern/telemetry" + }, + { + "source": "/self-hosting/upgrade-from-community", + "destination": "/self-hosting/manage/upgrade/upgrade-from-community" + }, + { + "source": "/api-reference/(.*)", + "destination": "/api" + }, + { + "source": "/api-reference/byoa/build-plane-app", + "destination": "/apps/build-plane-app" + } + ] +} diff --git a/webhooks/intro-webhooks.mdx b/webhooks/intro-webhooks.mdx deleted file mode 100644 index 3c5d1f2..0000000 --- a/webhooks/intro-webhooks.mdx +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Webhooks -sidebarTitle: Introduction -description: A webhook triggers a HTTP POST request on the specified url, whenever there is a change in an event. Like a new project is created, updated or deleted then a webhook can be triggered to receive the required payload. ---- -## Creating a webhook - -`url` You are required to provide a url in which you want the payloads to be triggered. - -Then select the events for which you want the webhook to be triggered. - -After you create the webhook, a secret key will be created automatically and will be downloaded in csv format. - -``` -"Content-Type": "application/json", -"User-Agent": "Autopilot", -"X-Plane-Delivery": "f819eff4-cd50-4987-bc97-e5be1e04c94f", -"X-Plane-Event": "project", -"X-Plane-Signature": "7896ae9addb1f73931132b4f3e052bf12c410b837b24898e75dcd660c7" - -``` - - - -|Header |Description | -|-----------------|--------------------------------------------------------------------| -|X-Plane-Delivery |It is a randomly generated UUID for uniquely identifying the payload| -|X-Plane-Event |It describes the event for which the webhook triggered | -|X-Plane-Signature|A signature is generated based on the secret and the payload | - - -### Webhook Payload Example for the project `update` - -``` -"event": "project", -"action": "update", -"webhook_id": "3c2c32ac-82df-48b3-be2a-a3e21dbe8692", -"workspace_id": "d2d97c94-a6ad-4012-b526-5577c0d7c769", -"data": { - "id":"22b6fc9c-1849-45da-b103-52a3e3a6b4c1", - "workspace_detail": { - "name":"Testing Project", - "slug":"testing-project", - "id":"bob1b192-f988-4bf9-b569-825de8cb0678" - }, - "created_at":"2023-10-25T04:38:59.566962Z", - "updated_at":"2023-10-25T06:44:48.543685Z", - "name":"vfecddcwerj", - "description":"", - "description_text":null, - "description_html":null, - "network":2, - "identifier":"TRACE", - "emoji":null, - "icon_prop":null, - "module_view":true, - "cycle_view":true, - "issue_views_view":true, - "page_view":true, - "inbox_view":true, - "cover_image":null, - "archive_in":0, - "close_in":0, - "created_by":"6bb20d1c-4960-41ca-af4f-cee01de160c4", - "updated_by":"6bb20d1c-4960-41ca-af4f-cee01de160c4", - "workspace":"bob1b192-f988-4bf9-b569-825de8cb0678", - "default_assignee":null, - "project_lead":null, - "estimate":null, - "default_state":null -}, - -``` - - -User can choose the things for which they want the webhook to be triggered. - -Currently Plane supports the following events for which webhook can be trigged: - - - Project - - Issue - - Cycle - - Module - - Issue Comment - -## Verifying Signature - -``` -import hashlib -import hmac - -secret_token = os.environ.get("WEBHOOK_SECRET") - -received_signature = request.headers.get('X-Plane-Signature') -received_payload = json.dumps(request.json).encode('utf-8') - -expected_signature = hmac.new(secret_token.encode('utf-8'), msg=received_payload, digestmod=hashlib.sha256).hexdigest() - -if not hmac.compare_digest(expected_signature, received_signature): - raise HTTPException(status_code=403, detail="Invalid Signature provided") - -``` - - -## How webhook works - -Your webhook consumer is a simple HTTP endpoint. It must satisfy the following conditions: - -* It's available in a publicly accessible non-localhost URL. -* It will respond to the Plane Webhook push (HTTP POST request) with a `HTTP 200` ("OK") response. - -If a delivery fails (i.e. server unavailable or responded with a non-200 HTTP status code), the push will be retried a couple of times. Here an exponential backoff delay is used: the attempt will be retried after approximately 10 minutes, then 30 minutes, and so on. - -The webhooks are triggered for POST, PATCH, and DELETE requests. - -* For DELETE requests, the response only includes the ID of the deleted entity. - -``` -"action":"delete", -"data":{ - "id":"9a28bd00-ed9c-4f5d-8be9-fc05cbb1fc57" -}, -"event":"issue", -"webhook_id":"f1a2fe64-c8d4-4eed-b3ef-498690052c1d", -"workspace_id":"c467e125-59e3-44ec-b5ee-f9c1e138c611" - -``` - - -* However, for both POST and PATCH requests, the complete payload is sent in the response. - -``` -"event":"issue", -"action":"update", -"webhook_id":"f1a2fe64-c8d4-4eed-b3ef-498690052c1d", -"workspace_id":"c467e125-59e3-44ec-b5ee-f9c1e138c611", -"data":{ ... } - -``` - - -Note: Whenever an issue is added to the module, the corresponding issue webhook will be triggered. Similarly, any updates made to the cycle issue will also activate the issue webhook. \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index fb57ccd..0000000 --- a/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - From 63235abdb89269007143a6813b907013b2249ccd Mon Sep 17 00:00:00 2001 From: Dancia Date: Fri, 19 Sep 2025 00:48:59 +0530 Subject: [PATCH 2/2] build errors (#148) --- docs/apps/build-plane-app.mdx | 682 +++++++++--------- .../methods/airgapped-edition-kubernetes.mdx | 12 +- 2 files changed, 337 insertions(+), 357 deletions(-) diff --git a/docs/apps/build-plane-app.mdx b/docs/apps/build-plane-app.mdx index 7a86fb7..f198247 100644 --- a/docs/apps/build-plane-app.mdx +++ b/docs/apps/build-plane-app.mdx @@ -132,81 +132,81 @@ Plane will make a GET request to the Redirect URI with below parameters: #### Examples - - - -```python -import os -import time -from plane.oauth.api import OAuthApi -from plane.oauth.models import OAuthConfig - -# Initialize OAuth API -def get_oauth_api(): - oauth_config = OAuthConfig( - client_id=os.getenv("PLANE_CLIENT_ID"), - client_secret=os.getenv("PLANE_CLIENT_SECRET"), - redirect_uri=os.getenv("PLANE_REDIRECT_URI"), - ) - return OAuthApi( - oauth_config=oauth_config, - base_url=os.getenv("PLANE_BASE_URL", "https://api.plane.so"), - ) + + -# Get bot token using app installation ID -oauth_api = get_oauth_api() -token_response = oauth_api.get_bot_token(app_installation_id) + ```python + import os + import time + from plane.oauth.api import OAuthApi + from plane.oauth.models import OAuthConfig + + # Initialize OAuth API + def get_oauth_api(): + oauth_config = OAuthConfig( + client_id=os.getenv("PLANE_CLIENT_ID"), + client_secret=os.getenv("PLANE_CLIENT_SECRET"), + redirect_uri=os.getenv("PLANE_REDIRECT_URI"), + ) + return OAuthApi( + oauth_config=oauth_config, + base_url=os.getenv("PLANE_BASE_URL", "https://api.plane.so"), + ) + + # Get bot token using app installation ID + oauth_api = get_oauth_api() + token_response = oauth_api.get_bot_token(app_installation_id) + + # Get app installation details + app_installations = oauth_api.get_app_installations( + token_response.access_token, + app_installation_id, + ) -# Get app installation details -app_installations = oauth_api.get_app_installations( - token_response.access_token, - app_installation_id, -) + if not app_installations: + raise Exception(f"No app installations found for app installation ID {app_installation_id}") -if not app_installations: - raise Exception(f"No app installations found for app installation ID {app_installation_id}") + app_installation = app_installations[0] + bot_token = token_response.access_token + expires_in = token_response.expires_in + ``` -app_installation = app_installations[0] -bot_token = token_response.access_token -expires_in = token_response.expires_in -``` + + + + ```typescript + import axios from 'axios'; - - - -```typescript -import axios from 'axios'; - -// Prepare basic auth header using client_id and client_secret -const clientId = "your_client_id"; -const clientSecret = "your_client_secret"; -const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); - -// Prepare request data -const payload = { - grant_type: "client_credentials", - app_installation_id: appInstallationId -}; - -// Make a POST request to fetch bot token -const response = await axios.post( - "https://api.plane.so/auth/o/token/", - payload, - { - headers: { - Authorization: `Basic ${basicAuth}`, - "Content-Type": "application/x-www-form-urlencoded" + // Prepare basic auth header using client_id and client_secret + const clientId = "your_client_id"; + const clientSecret = "your_client_secret"; + const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); + + // Prepare request data + const payload = { + grant_type: "client_credentials", + app_installation_id: appInstallationId + }; + + // Make a POST request to fetch bot token + const response = await axios.post( + "https://api.plane.so/auth/o/token/", + payload, + { + headers: { + Authorization: `Basic ${basicAuth}`, + "Content-Type": "application/x-www-form-urlencoded" + } } - } -); + ); -// Parse the response -const responseData = response.data; -const botToken = responseData.access_token; -const expiresIn = responseData.expires_in; // Token expiry in seconds -``` + // Parse the response + const responseData = response.data; + const botToken = responseData.access_token; + const expiresIn = responseData.expires_in; // Token expiry in seconds + ``` - + ### User-Authorized Actions (Authorization Code Flow) @@ -222,62 +222,62 @@ Plane will make a GET request to the Redirect URI with below parameters: #### Examples - - + + -```python -from plane.oauth.api import OAuthApi -from plane.oauth.models import OAuthConfig + ```python + from plane.oauth.api import OAuthApi + from plane.oauth.models import OAuthConfig -# Initialize OAuth API -oauth_api = get_oauth_api() # Using the helper function from above + # Initialize OAuth API + oauth_api = get_oauth_api() # Using the helper function from above -# Exchange authorization code for access and refresh tokens -code = "authorization_code_from_callback" -token_response = oauth_api.exchange_code_for_token( - code, - "authorization_code", -) + # Exchange authorization code for access and refresh tokens + code = "authorization_code_from_callback" + token_response = oauth_api.exchange_code_for_token( + code, + "authorization_code", + ) -# Parse the response -access_token = token_response.access_token -refresh_token = token_response.refresh_token -expires_in = token_response.expires_in -``` + # Parse the response + access_token = token_response.access_token + refresh_token = token_response.refresh_token + expires_in = token_response.expires_in + ``` - - - -```typescript -import axios from 'axios'; - -// Exchange authorization code for access and refresh tokens -const code = "authorization_code_from_callback"; -const clientId = "your_client_id"; -const clientSecret = "your_client_secret"; -const redirectUri = "your_redirect_uri"; -const payload = { - grant_type: "authorization_code", - code: code, - client_id: clientId, - client_secret: clientSecret, - redirect_uri: redirectUri -}; -const response = await axios.post( - "https://api.plane.so/auth/o/token/", - payload, - { - headers: { - "Content-Type": "application/x-www-form-urlencoded" + + + + ```typescript + import axios from 'axios'; + + // Exchange authorization code for access and refresh tokens + const code = "authorization_code_from_callback"; + const clientId = "your_client_id"; + const clientSecret = "your_client_secret"; + const redirectUri = "your_redirect_uri"; + const payload = { + grant_type: "authorization_code", + code: code, + client_id: clientId, + client_secret: clientSecret, + redirect_uri: redirectUri + }; + const response = await axios.post( + "https://api.plane.so/auth/o/token/", + payload, + { + headers: { + "Content-Type": "application/x-www-form-urlencoded" + } } - } -); -const responseData = response.data; -const accessToken = responseData.access_token; -const refreshToken = responseData.refresh_token; -const expiresIn = responseData.expires_in; -``` - + ); + const responseData = response.data; + const accessToken = responseData.access_token; + const refreshToken = responseData.refresh_token; + const expiresIn = responseData.expires_in; + ``` + ### Fetching App Installation Details @@ -286,45 +286,45 @@ In both user-authorized and app-authorized flows, the `app_installation_id` iden #### Examples - - - -```python -# Using the OAuth API to fetch app installation details -oauth_api = get_oauth_api() -app_installations = oauth_api.get_app_installations( - token, # Either access token or bot token - app_installation_id, -) - -if app_installations: - workspace_details = app_installations[0] - print(f"Workspace: {workspace_details.workspace_detail.name}") - print(f"Workspace Slug: {workspace_details.workspace_detail.slug}") - print(f"Bot User ID: {workspace_details.app_bot}") -``` + + - - + ```python + # Using the OAuth API to fetch app installation details + oauth_api = get_oauth_api() + app_installations = oauth_api.get_app_installations( + token, # Either access token or bot token + app_installation_id, + ) -```typescript -import axios from 'axios'; + if app_installations: + workspace_details = app_installations[0] + print(f"Workspace: {workspace_details.workspace_detail.name}") + print(f"Workspace Slug: {workspace_details.workspace_detail.slug}") + print(f"Bot User ID: {workspace_details.app_bot}") + ``` -// Set authorization header with either access token or bot token -const headers = { - Authorization: `Bearer ${token}`, -}; + + -// Make GET request to fetch installation/workspace details -const response = await axios.get( - `https://api.plane.so/auth/o/app-installation/?id=${app_installation_id}`, - { headers } -); + ```typescript + import axios from 'axios'; -const workspaceDetails = response.data[0]; -``` + // Set authorization header with either access token or bot token + const headers = { + Authorization: `Bearer ${token}`, + }; - + // Make GET request to fetch installation/workspace details + const response = await axios.get( + `https://api.plane.so/auth/o/app-installation/?id=${app_installation_id}`, + { headers } + ); + + const workspaceDetails = response.data[0]; + ``` + + #### Sample Response @@ -469,103 +469,104 @@ When an issue is created, updated, or deleted: Here's how to process webhooks in your application: - - - -```typescript -interface WebhookPayload { - event: string; - action: string; - webhook_id: string; - workspace_id: string; - data: any; - activity: { - actor: { - id: string; - display_name: string; - email?: string; - }; - field?: string; - new_value?: any; - old_value?: any; - }; -} + + -// Process incoming webhook -async function handleWebhook(payload: WebhookPayload) { - console.log(`Received ${payload.event} ${payload.action} event`); - - // Get workspace credentials - const credentials = await getCredentialsForWorkspace(payload.workspace_id); - if (!credentials) { - throw new Error(`No credentials found for workspace ${payload.workspace_id}`); + ```typescript + interface WebhookPayload { + event: string; + action: string; + webhook_id: string; + workspace_id: string; + data: any; + activity: { + actor: { + id: string; + display_name: string; + email?: string; + }; + field?: string; + new_value?: any; + old_value?: any; + }; } - - // Process specific event types - if (payload.event === 'issue_comment' && payload.action === 'created') { - const comment = payload.data.comment_stripped; - if (comment.includes('/your-command')) { - // Handle your custom command - await processCommand(payload.data, credentials); + + // Process incoming webhook + async function handleWebhook(payload: WebhookPayload) { + console.log(`Received ${payload.event} ${payload.action} event`); + + // Get workspace credentials + const credentials = await getCredentialsForWorkspace(payload.workspace_id); + if (!credentials) { + throw new Error(`No credentials found for workspace ${payload.workspace_id}`); + } + + // Process specific event types + if (payload.event === 'issue_comment' && payload.action === 'created') { + const comment = payload.data.comment_stripped; + if (comment.includes('/your-command')) { + // Handle your custom command + await processCommand(payload.data, credentials); + } } } -} -``` + ``` - - - -```python -from typing import Dict, Any -from pydantic import ValidationError - -def handle_webhook(payload_data: Dict[str, Any]): - """Process incoming webhook from Plane with Pydantic validation""" - try: - # Validate webhook payload using Pydantic models - webhook = WebhookEvent(**payload_data) - print(f"Received {webhook.event} {webhook.action} event") - - # Get workspace credentials (implement your own storage) - credentials = get_credentials_for_workspace(webhook.workspace_id) - if not credentials: - raise Exception(f"No credentials found for workspace {webhook.workspace_id}") - - # Process specific event types with validated data - if webhook.event == 'issue_comment' and webhook.action == 'created': - comment_data = CommentEventData(**webhook.data) - comment_text = comment_data.comment_stripped or "" - - if '/your-command' in comment_text: - process_command(comment_data, credentials) - - elif webhook.event == 'issue' and webhook.action == 'updated': - issue_data = IssueEventData(**webhook.data) - - if webhook.activity.field == 'assignees': - handle_assignment_change(issue_data, credentials) - - except ValidationError as e: - print(f"Invalid webhook payload: {e}") - except Exception as e: - print(f"Error processing webhook: {e}") - -def process_command(comment_data: CommentEventData, credentials): - """Process custom commands from issue comments""" - from plane.api import WorkItemsApi - from plane.models import PatchedIssueRequest - - # Use the Plane API to respond to commands - # Implementation depends on your specific command logic - pass - -def handle_assignment_change(issue_data: IssueEventData, credentials): - """Handle issue assignment changes""" - # Your custom logic for handling assignments - pass -``` + + + - + ```python + from typing import Dict, Any + from pydantic import ValidationError + + def handle_webhook(payload_data: Dict[str, Any]): + """Process incoming webhook from Plane with Pydantic validation""" + try: + # Validate webhook payload using Pydantic models + webhook = WebhookEvent(**payload_data) + print(f"Received {webhook.event} {webhook.action} event") + + # Get workspace credentials (implement your own storage) + credentials = get_credentials_for_workspace(webhook.workspace_id) + if not credentials: + raise Exception(f"No credentials found for workspace {webhook.workspace_id}") + + # Process specific event types with validated data + if webhook.event == 'issue_comment' and webhook.action == 'created': + comment_data = CommentEventData(**webhook.data) + comment_text = comment_data.comment_stripped or "" + + if '/your-command' in comment_text: + process_command(comment_data, credentials) + + elif webhook.event == 'issue' and webhook.action == 'updated': + issue_data = IssueEventData(**webhook.data) + + if webhook.activity.field == 'assignees': + handle_assignment_change(issue_data, credentials) + + except ValidationError as e: + print(f"Invalid webhook payload: {e}") + except Exception as e: + print(f"Error processing webhook: {e}") + + def process_command(comment_data: CommentEventData, credentials): + """Process custom commands from issue comments""" + from plane.api import WorkItemsApi + from plane.models import PatchedIssueRequest + + # Use the Plane API to respond to commands + # Implementation depends on your specific command logic + pass + + def handle_assignment_change(issue_data: IssueEventData, credentials): + """Handle issue assignment changes""" + # Your custom logic for handling assignments + pass + ``` + + ## Obtain and store access tokens securely @@ -595,64 +596,64 @@ Token refresh works differently depending on the type of token you're using: Bot tokens obtained through the client credentials flow don't use refresh tokens. Instead, when a bot token expires, you simply request a new one using the same `app_installation_id`: - - + + + + ```python + # When bot token expires, request a new one using the same app_installation_id + from plane.oauth.api import OAuthApi + + def refresh_bot_token(app_installation_id: str): + """Refresh an expired bot token""" + oauth_api = get_oauth_api() # Using helper function from earlier examples + + # Get new bot token using the same app_installation_id + token_response = oauth_api.get_bot_token(app_installation_id) + + # Store the new token securely in your database + new_bot_token = token_response.access_token + expires_in = token_response.expires_in + + return new_bot_token, expires_in + + # Usage example + new_token, expires_in = refresh_bot_token(app_installation_id) + ``` -```python -# When bot token expires, request a new one using the same app_installation_id -from plane.oauth.api import OAuthApi + + -def refresh_bot_token(app_installation_id: str): - """Refresh an expired bot token""" - oauth_api = get_oauth_api() # Using helper function from earlier examples - - # Get new bot token using the same app_installation_id - token_response = oauth_api.get_bot_token(app_installation_id) - - # Store the new token securely in your database - new_bot_token = token_response.access_token - expires_in = token_response.expires_in - - return new_bot_token, expires_in + ```typescript + // When bot token expires, request a new one using the same app_installation_id + import axios from 'axios'; -# Usage example -new_token, expires_in = refresh_bot_token(app_installation_id) -``` + const clientId = "your_client_id"; + const clientSecret = "your_client_secret"; + const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); - - - -```typescript -// When bot token expires, request a new one using the same app_installation_id -import axios from 'axios'; - -const clientId = "your_client_id"; -const clientSecret = "your_client_secret"; -const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString('base64'); - -const payload = { - grant_type: "client_credentials", - app_installation_id: appInstallationId // Same ID used during initial setup -}; - -const response = await axios.post( - "https://api.plane.so/auth/o/token/", - payload, - { - headers: { - Authorization: `Basic ${basicAuth}`, - "Content-Type": "application/x-www-form-urlencoded" + const payload = { + grant_type: "client_credentials", + app_installation_id: appInstallationId // Same ID used during initial setup + }; + + const response = await axios.post( + "https://api.plane.so/auth/o/token/", + payload, + { + headers: { + Authorization: `Basic ${basicAuth}`, + "Content-Type": "application/x-www-form-urlencoded" + } } - } -); + ); -// Parse the response -const responseData = response.data; -const newBotToken = responseData.access_token; -const expiresIn = responseData.expires_in; -``` + // Parse the response + const responseData = response.data; + const newBotToken = responseData.access_token; + const expiresIn = responseData.expires_in; + ``` - + ### User Token Refresh (Authorization Code Flow) @@ -661,71 +662,46 @@ When user access tokens expire, you can use the refresh token to get a new acces #### Examples - - - -```python -# When access token expires, use refresh token to get a new access token -from plane.oauth.api import OAuthApi - -def refresh_user_token(refresh_token: str): - """Refresh an expired user access token""" - oauth_api = get_oauth_api() # Using helper function from earlier examples - - # Use refresh token to get new access token - token_response = oauth_api.exchange_code_for_token( - refresh_token, - "refresh_token", - ) - - # Store the new tokens securely - new_access_token = token_response.access_token - new_refresh_token = token_response.refresh_token # May be the same or new - expires_in = token_response.expires_in - - return new_access_token, new_refresh_token, expires_in - -# Usage example -new_access_token, new_refresh_token, expires_in = refresh_user_token(stored_refresh_token) -``` + + - - - -```typescript -// When access token expires, use refresh token to get a new access token -const refreshPayload = { - grant_type: "refresh_token", - refresh_token: refreshToken, - client_id: clientId, - client_secret: clientSecret -}; - -const refreshResponse = await axios.post( - "https://api.plane.so/auth/o/token/", - refreshPayload, - { - headers: { - "Content-Type": "application/x-www-form-urlencoded" - } - } - refresh_response = requests.post( - url="https://api.plane.so/auth/o/token/", - headers={"Content-Type": "application/x-www-form-urlencoded"}, - data=refresh_payload - ) - refresh_response_data = refresh_response.json() - access_token = refresh_response_data["access_token"] + ```python + # When access token expires, use refresh token to get a new access token + from plane.oauth.api import OAuthApi + + def refresh_user_token(refresh_token: str): + """Refresh an expired user access token""" + oauth_api = get_oauth_api() # Using helper function from earlier examples + + # Use refresh token to get new access token + token_response = oauth_api.exchange_code_for_token( + refresh_token, + "refresh_token", + ) + + # Store the new tokens securely + new_access_token = token_response.access_token + new_refresh_token = token_response.refresh_token # May be the same or new + expires_in = token_response.expires_in + + return new_access_token, new_refresh_token, expires_in + + # Usage example + new_access_token, new_refresh_token, expires_in = refresh_user_token(stored_refresh_token) ``` + + ```typescript + // When access token expires, use refresh token to get a new access token const refreshPayload = { grant_type: "refresh_token", refresh_token: refreshToken, client_id: clientId, client_secret: clientSecret }; + const refreshResponse = await axios.post( "https://api.plane.so/auth/o/token/", refreshPayload, @@ -734,11 +710,15 @@ const refreshResponse = await axios.post( "Content-Type": "application/x-www-form-urlencoded" } } - ); - const refreshResponseData = refreshResponse.data; - const accessToken = refreshResponseData.access_token; - ``` - + refresh_response = requests.post( + url="https://api.plane.so/auth/o/token/", + headers={"Content-Type": "application/x-www-form-urlencoded"}, + data=refresh_payload + ) + refresh_response_data = refresh_response.json() + access_token = refresh_response_data["access_token"] + ``` + ## Listing Your App on Plane Marketplace diff --git a/docs/self-hosting/methods/airgapped-edition-kubernetes.mdx b/docs/self-hosting/methods/airgapped-edition-kubernetes.mdx index c39f716..60109a0 100644 --- a/docs/self-hosting/methods/airgapped-edition-kubernetes.mdx +++ b/docs/self-hosting/methods/airgapped-edition-kubernetes.mdx @@ -60,9 +60,9 @@ Before starting, ensure you have: - `rabbitmq-3.13.6-management-alpine.tar` - Plane-mq service image - `valkey-7.2.5-alpine.tar` - Plane-redis service image - + :::info For this installation, you can ignore the extra files in this folder (e.g., `docker-compose.yml`, `install.sh`, `plane.env`, etc.). - + ::: 5. Load the images into your local Docker registry or private registry: @@ -179,9 +179,9 @@ For more advanced Plane configuration options, refer to the [Kubernetes document ## Activate your license Once your air-gapped installation is running, you'll need to activate your workspace with the provided license file. - +:::info You should have received the `license_key.json` file as part of your air-gapped package. If you don't have this file, contact our support team. - +::: 1. Go to your [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#workspace-settings) in the Plane application. 2. Select **Billing and plans** on the right pane. @@ -191,7 +191,7 @@ You should have received the `license_key.json` file as part of your air-gapped You now have Plane running in your air-gapped environment. If you run into any issues, check the logs using the commands above, or reach out to our support team for assistance. - +:::tip *Optional* Once everything is working, you can safely delete the `airgapped` folder that contains the installation script and image files to free up space. - +:::

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 literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-lightItalic.otf b/static/fonts/nacelle/nacelle-lightItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..82d930d244488a9c20390cab672091ed0b58ebda GIT binary patch literal 63876 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%0D9hf-Fv3{*#41fb)q|BbLj_v0W=BA%Bm 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 literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-regular.otf b/static/fonts/nacelle/nacelle-regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..7a0a454a9504247b2ded41f8e58f52d2b69efa89 GIT binary patch literal 64084 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 literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-semibold.otf b/static/fonts/nacelle/nacelle-semibold.otf new file mode 100644 index 0000000000000000000000000000000000000000..ae73865951bf0779844528bdc850a7175920236b GIT binary patch literal 64952 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 Jlx9Z={{a8&1vUTx literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-thin.otf b/static/fonts/nacelle/nacelle-thin.otf new file mode 100644 index 0000000000000000000000000000000000000000..525f1f7e14acd2d5479cb165c6f7a881dce501b8 GIT binary patch literal 61740 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 F`M(B_M~wgg literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-thinitalic.otf b/static/fonts/nacelle/nacelle-thinitalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..9082b35696e71dfc2fd2745f7200a17015259826 GIT binary patch literal 62364 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 literal 0 HcmV?d00001 diff --git a/static/fonts/nacelle/nacelle-ultralight.otf b/static/fonts/nacelle/nacelle-ultralight.otf new file mode 100644 index 0000000000000000000000000000000000000000..26c8158d6010db6bd4bf8be7bf87928bba5949bd GIT binary patch literal 63112 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 KKzJ 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

T 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