diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
index 2587afd3..b10f119a 100644
--- a/docs/.vitepress/config.mts
+++ b/docs/.vitepress/config.mts
@@ -1,4 +1,5 @@
import { fileURLToPath, URL } from 'node:url'
+import yaml from 'vite-plugin-yaml'
import { defineConfig } from 'vitepress'
// https://vitepress.dev/reference/site-config
export default defineConfig({
@@ -344,6 +345,8 @@ export default defineConfig({
rewrites: {},
vite: {
+ plugins: [yaml as any],
+ assetsInclude: ['**/*.yml'],
resolve: {
alias: [
{
diff --git a/docs/.vitepress/theme/components/Landing/Globe.vue b/docs/.vitepress/theme/components/Landing/Globe.vue
index b23dc573..f9f553d4 100644
--- a/docs/.vitepress/theme/components/Landing/Globe.vue
+++ b/docs/.vitepress/theme/components/Landing/Globe.vue
@@ -1,5 +1,5 @@
-
+
+
+
+
+
diff --git a/docs/public/openapi.yml b/docs/public/openapi.yml
new file mode 100644
index 00000000..53964153
--- /dev/null
+++ b/docs/public/openapi.yml
@@ -0,0 +1,5342 @@
+openapi: 3.1.0
+info:
+ title: Coolify
+ version: '0.1'
+servers:
+ -
+ url: 'https://app.coolify.io/api/v1'
+ description: 'Coolify Cloud API. Change the host to your own instance if you are self-hosting.'
+paths:
+ /applications:
+ get:
+ tags:
+ - Applications
+ summary: List
+ description: 'List all applications.'
+ operationId: list-applications
+ responses:
+ '200':
+ description: 'Get all applications.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Application'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /applications/public:
+ post:
+ tags:
+ - Applications
+ summary: 'Create (Public)'
+ description: 'Create new application based on a public git repository.'
+ operationId: create-public-application
+ requestBody:
+ description: 'Application object that needs to be created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - project_uuid
+ - server_uuid
+ - environment_name
+ - environment_uuid
+ - git_repository
+ - git_branch
+ - build_pack
+ - ports_exposes
+ properties:
+ project_uuid:
+ type: string
+ description: 'The project UUID.'
+ server_uuid:
+ type: string
+ description: 'The server UUID.'
+ environment_name:
+ type: string
+ description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
+ git_repository:
+ type: string
+ description: 'The git repository URL.'
+ git_branch:
+ type: string
+ description: 'The git branch.'
+ build_pack:
+ type: string
+ enum: [nixpacks, static, dockerfile, dockercompose]
+ description: 'The build pack type.'
+ ports_exposes:
+ type: string
+ description: 'The ports to expose.'
+ destination_uuid:
+ type: string
+ description: 'The destination UUID.'
+ name:
+ type: string
+ description: 'The application name.'
+ description:
+ type: string
+ description: 'The application description.'
+ domains:
+ type: string
+ description: 'The application domains.'
+ git_commit_sha:
+ type: string
+ description: 'The git commit SHA.'
+ docker_registry_image_name:
+ type: string
+ description: 'The docker registry image name.'
+ docker_registry_image_tag:
+ type: string
+ description: 'The docker registry image tag.'
+ is_static:
+ type: boolean
+ description: 'The flag to indicate if the application is static.'
+ static_image:
+ type: string
+ enum: ['nginx:alpine']
+ description: 'The static image.'
+ install_command:
+ type: string
+ description: 'The install command.'
+ build_command:
+ type: string
+ description: 'The build command.'
+ start_command:
+ type: string
+ description: 'The start command.'
+ ports_mappings:
+ type: string
+ description: 'The ports mappings.'
+ base_directory:
+ type: string
+ description: 'The base directory for all commands.'
+ publish_directory:
+ type: string
+ description: 'The publish directory.'
+ health_check_enabled:
+ type: boolean
+ description: 'Health check enabled.'
+ health_check_path:
+ type: string
+ description: 'Health check path.'
+ health_check_port:
+ type: string
+ nullable: true
+ description: 'Health check port.'
+ health_check_host:
+ type: string
+ nullable: true
+ description: 'Health check host.'
+ health_check_method:
+ type: string
+ description: 'Health check method.'
+ health_check_return_code:
+ type: integer
+ description: 'Health check return code.'
+ health_check_scheme:
+ type: string
+ description: 'Health check scheme.'
+ health_check_response_text:
+ type: string
+ nullable: true
+ description: 'Health check response text.'
+ health_check_interval:
+ type: integer
+ description: 'Health check interval in seconds.'
+ health_check_timeout:
+ type: integer
+ description: 'Health check timeout in seconds.'
+ health_check_retries:
+ type: integer
+ description: 'Health check retries count.'
+ health_check_start_period:
+ type: integer
+ description: 'Health check start period in seconds.'
+ limits_memory:
+ type: string
+ description: 'Memory limit.'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit.'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness.'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation.'
+ limits_cpus:
+ type: string
+ description: 'CPU limit.'
+ limits_cpuset:
+ type: string
+ nullable: true
+ description: 'CPU set.'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares.'
+ custom_labels:
+ type: string
+ description: 'Custom labels.'
+ custom_docker_run_options:
+ type: string
+ description: 'Custom docker run options.'
+ post_deployment_command:
+ type: string
+ description: 'Post deployment command.'
+ post_deployment_command_container:
+ type: string
+ description: 'Post deployment command container.'
+ pre_deployment_command:
+ type: string
+ description: 'Pre deployment command.'
+ pre_deployment_command_container:
+ type: string
+ description: 'Pre deployment command container.'
+ manual_webhook_secret_github:
+ type: string
+ description: 'Manual webhook secret for Github.'
+ manual_webhook_secret_gitlab:
+ type: string
+ description: 'Manual webhook secret for Gitlab.'
+ manual_webhook_secret_bitbucket:
+ type: string
+ description: 'Manual webhook secret for Bitbucket.'
+ manual_webhook_secret_gitea:
+ type: string
+ description: 'Manual webhook secret for Gitea.'
+ redirect:
+ type: string
+ nullable: true
+ description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
+ enum: [www, non-www, both]
+ instant_deploy:
+ type: boolean
+ description: 'The flag to indicate if the application should be deployed instantly.'
+ dockerfile:
+ type: string
+ description: 'The Dockerfile content.'
+ docker_compose_location:
+ type: string
+ description: 'The Docker Compose location.'
+ docker_compose_raw:
+ type: string
+ description: 'The Docker Compose raw content.'
+ docker_compose_custom_start_command:
+ type: string
+ description: 'The Docker Compose custom start command.'
+ docker_compose_custom_build_command:
+ type: string
+ description: 'The Docker Compose custom build command.'
+ docker_compose_domains:
+ type: array
+ description: 'The Docker Compose domains.'
+ watch_paths:
+ type: string
+ description: 'The watch paths.'
+ use_build_server:
+ type: boolean
+ nullable: true
+ description: 'Use build server.'
+ type: object
+ responses:
+ '201':
+ description: 'Application created successfully.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /applications/private-github-app:
+ post:
+ tags:
+ - Applications
+ summary: 'Create (Private - GH App)'
+ description: 'Create new application based on a private repository through a Github App.'
+ operationId: create-private-github-app-application
+ requestBody:
+ description: 'Application object that needs to be created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - project_uuid
+ - server_uuid
+ - environment_name
+ - environment_uuid
+ - github_app_uuid
+ - git_repository
+ - git_branch
+ - build_pack
+ - ports_exposes
+ properties:
+ project_uuid:
+ type: string
+ description: 'The project UUID.'
+ server_uuid:
+ type: string
+ description: 'The server UUID.'
+ environment_name:
+ type: string
+ description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
+ github_app_uuid:
+ type: string
+ description: 'The Github App UUID.'
+ git_repository:
+ type: string
+ description: 'The git repository URL.'
+ git_branch:
+ type: string
+ description: 'The git branch.'
+ ports_exposes:
+ type: string
+ description: 'The ports to expose.'
+ destination_uuid:
+ type: string
+ description: 'The destination UUID.'
+ build_pack:
+ type: string
+ enum: [nixpacks, static, dockerfile, dockercompose]
+ description: 'The build pack type.'
+ name:
+ type: string
+ description: 'The application name.'
+ description:
+ type: string
+ description: 'The application description.'
+ domains:
+ type: string
+ description: 'The application domains.'
+ git_commit_sha:
+ type: string
+ description: 'The git commit SHA.'
+ docker_registry_image_name:
+ type: string
+ description: 'The docker registry image name.'
+ docker_registry_image_tag:
+ type: string
+ description: 'The docker registry image tag.'
+ is_static:
+ type: boolean
+ description: 'The flag to indicate if the application is static.'
+ static_image:
+ type: string
+ enum: ['nginx:alpine']
+ description: 'The static image.'
+ install_command:
+ type: string
+ description: 'The install command.'
+ build_command:
+ type: string
+ description: 'The build command.'
+ start_command:
+ type: string
+ description: 'The start command.'
+ ports_mappings:
+ type: string
+ description: 'The ports mappings.'
+ base_directory:
+ type: string
+ description: 'The base directory for all commands.'
+ publish_directory:
+ type: string
+ description: 'The publish directory.'
+ health_check_enabled:
+ type: boolean
+ description: 'Health check enabled.'
+ health_check_path:
+ type: string
+ description: 'Health check path.'
+ health_check_port:
+ type: string
+ nullable: true
+ description: 'Health check port.'
+ health_check_host:
+ type: string
+ nullable: true
+ description: 'Health check host.'
+ health_check_method:
+ type: string
+ description: 'Health check method.'
+ health_check_return_code:
+ type: integer
+ description: 'Health check return code.'
+ health_check_scheme:
+ type: string
+ description: 'Health check scheme.'
+ health_check_response_text:
+ type: string
+ nullable: true
+ description: 'Health check response text.'
+ health_check_interval:
+ type: integer
+ description: 'Health check interval in seconds.'
+ health_check_timeout:
+ type: integer
+ description: 'Health check timeout in seconds.'
+ health_check_retries:
+ type: integer
+ description: 'Health check retries count.'
+ health_check_start_period:
+ type: integer
+ description: 'Health check start period in seconds.'
+ limits_memory:
+ type: string
+ description: 'Memory limit.'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit.'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness.'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation.'
+ limits_cpus:
+ type: string
+ description: 'CPU limit.'
+ limits_cpuset:
+ type: string
+ nullable: true
+ description: 'CPU set.'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares.'
+ custom_labels:
+ type: string
+ description: 'Custom labels.'
+ custom_docker_run_options:
+ type: string
+ description: 'Custom docker run options.'
+ post_deployment_command:
+ type: string
+ description: 'Post deployment command.'
+ post_deployment_command_container:
+ type: string
+ description: 'Post deployment command container.'
+ pre_deployment_command:
+ type: string
+ description: 'Pre deployment command.'
+ pre_deployment_command_container:
+ type: string
+ description: 'Pre deployment command container.'
+ manual_webhook_secret_github:
+ type: string
+ description: 'Manual webhook secret for Github.'
+ manual_webhook_secret_gitlab:
+ type: string
+ description: 'Manual webhook secret for Gitlab.'
+ manual_webhook_secret_bitbucket:
+ type: string
+ description: 'Manual webhook secret for Bitbucket.'
+ manual_webhook_secret_gitea:
+ type: string
+ description: 'Manual webhook secret for Gitea.'
+ redirect:
+ type: string
+ nullable: true
+ description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
+ enum: [www, non-www, both]
+ instant_deploy:
+ type: boolean
+ description: 'The flag to indicate if the application should be deployed instantly.'
+ dockerfile:
+ type: string
+ description: 'The Dockerfile content.'
+ docker_compose_location:
+ type: string
+ description: 'The Docker Compose location.'
+ docker_compose_raw:
+ type: string
+ description: 'The Docker Compose raw content.'
+ docker_compose_custom_start_command:
+ type: string
+ description: 'The Docker Compose custom start command.'
+ docker_compose_custom_build_command:
+ type: string
+ description: 'The Docker Compose custom build command.'
+ docker_compose_domains:
+ type: array
+ description: 'The Docker Compose domains.'
+ watch_paths:
+ type: string
+ description: 'The watch paths.'
+ use_build_server:
+ type: boolean
+ nullable: true
+ description: 'Use build server.'
+ type: object
+ responses:
+ '201':
+ description: 'Application created successfully.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /applications/private-deploy-key:
+ post:
+ tags:
+ - Applications
+ summary: 'Create (Private - Deploy Key)'
+ description: 'Create new application based on a private repository through a Deploy Key.'
+ operationId: create-private-deploy-key-application
+ requestBody:
+ description: 'Application object that needs to be created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - project_uuid
+ - server_uuid
+ - environment_name
+ - environment_uuid
+ - private_key_uuid
+ - git_repository
+ - git_branch
+ - build_pack
+ - ports_exposes
+ properties:
+ project_uuid:
+ type: string
+ description: 'The project UUID.'
+ server_uuid:
+ type: string
+ description: 'The server UUID.'
+ environment_name:
+ type: string
+ description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
+ private_key_uuid:
+ type: string
+ description: 'The private key UUID.'
+ git_repository:
+ type: string
+ description: 'The git repository URL.'
+ git_branch:
+ type: string
+ description: 'The git branch.'
+ ports_exposes:
+ type: string
+ description: 'The ports to expose.'
+ destination_uuid:
+ type: string
+ description: 'The destination UUID.'
+ build_pack:
+ type: string
+ enum: [nixpacks, static, dockerfile, dockercompose]
+ description: 'The build pack type.'
+ name:
+ type: string
+ description: 'The application name.'
+ description:
+ type: string
+ description: 'The application description.'
+ domains:
+ type: string
+ description: 'The application domains.'
+ git_commit_sha:
+ type: string
+ description: 'The git commit SHA.'
+ docker_registry_image_name:
+ type: string
+ description: 'The docker registry image name.'
+ docker_registry_image_tag:
+ type: string
+ description: 'The docker registry image tag.'
+ is_static:
+ type: boolean
+ description: 'The flag to indicate if the application is static.'
+ static_image:
+ type: string
+ enum: ['nginx:alpine']
+ description: 'The static image.'
+ install_command:
+ type: string
+ description: 'The install command.'
+ build_command:
+ type: string
+ description: 'The build command.'
+ start_command:
+ type: string
+ description: 'The start command.'
+ ports_mappings:
+ type: string
+ description: 'The ports mappings.'
+ base_directory:
+ type: string
+ description: 'The base directory for all commands.'
+ publish_directory:
+ type: string
+ description: 'The publish directory.'
+ health_check_enabled:
+ type: boolean
+ description: 'Health check enabled.'
+ health_check_path:
+ type: string
+ description: 'Health check path.'
+ health_check_port:
+ type: string
+ nullable: true
+ description: 'Health check port.'
+ health_check_host:
+ type: string
+ nullable: true
+ description: 'Health check host.'
+ health_check_method:
+ type: string
+ description: 'Health check method.'
+ health_check_return_code:
+ type: integer
+ description: 'Health check return code.'
+ health_check_scheme:
+ type: string
+ description: 'Health check scheme.'
+ health_check_response_text:
+ type: string
+ nullable: true
+ description: 'Health check response text.'
+ health_check_interval:
+ type: integer
+ description: 'Health check interval in seconds.'
+ health_check_timeout:
+ type: integer
+ description: 'Health check timeout in seconds.'
+ health_check_retries:
+ type: integer
+ description: 'Health check retries count.'
+ health_check_start_period:
+ type: integer
+ description: 'Health check start period in seconds.'
+ limits_memory:
+ type: string
+ description: 'Memory limit.'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit.'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness.'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation.'
+ limits_cpus:
+ type: string
+ description: 'CPU limit.'
+ limits_cpuset:
+ type: string
+ nullable: true
+ description: 'CPU set.'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares.'
+ custom_labels:
+ type: string
+ description: 'Custom labels.'
+ custom_docker_run_options:
+ type: string
+ description: 'Custom docker run options.'
+ post_deployment_command:
+ type: string
+ description: 'Post deployment command.'
+ post_deployment_command_container:
+ type: string
+ description: 'Post deployment command container.'
+ pre_deployment_command:
+ type: string
+ description: 'Pre deployment command.'
+ pre_deployment_command_container:
+ type: string
+ description: 'Pre deployment command container.'
+ manual_webhook_secret_github:
+ type: string
+ description: 'Manual webhook secret for Github.'
+ manual_webhook_secret_gitlab:
+ type: string
+ description: 'Manual webhook secret for Gitlab.'
+ manual_webhook_secret_bitbucket:
+ type: string
+ description: 'Manual webhook secret for Bitbucket.'
+ manual_webhook_secret_gitea:
+ type: string
+ description: 'Manual webhook secret for Gitea.'
+ redirect:
+ type: string
+ nullable: true
+ description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
+ enum: [www, non-www, both]
+ instant_deploy:
+ type: boolean
+ description: 'The flag to indicate if the application should be deployed instantly.'
+ dockerfile:
+ type: string
+ description: 'The Dockerfile content.'
+ docker_compose_location:
+ type: string
+ description: 'The Docker Compose location.'
+ docker_compose_raw:
+ type: string
+ description: 'The Docker Compose raw content.'
+ docker_compose_custom_start_command:
+ type: string
+ description: 'The Docker Compose custom start command.'
+ docker_compose_custom_build_command:
+ type: string
+ description: 'The Docker Compose custom build command.'
+ docker_compose_domains:
+ type: array
+ description: 'The Docker Compose domains.'
+ watch_paths:
+ type: string
+ description: 'The watch paths.'
+ use_build_server:
+ type: boolean
+ nullable: true
+ description: 'Use build server.'
+ type: object
+ responses:
+ '201':
+ description: 'Application created successfully.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /applications/dockerfile:
+ post:
+ tags:
+ - Applications
+ summary: 'Create (Dockerfile)'
+ description: 'Create new application based on a simple Dockerfile.'
+ operationId: create-dockerfile-application
+ requestBody:
+ description: 'Application object that needs to be created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - project_uuid
+ - server_uuid
+ - environment_name
+ - environment_uuid
+ - dockerfile
+ properties:
+ project_uuid:
+ type: string
+ description: 'The project UUID.'
+ server_uuid:
+ type: string
+ description: 'The server UUID.'
+ environment_name:
+ type: string
+ description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
+ dockerfile:
+ type: string
+ description: 'The Dockerfile content.'
+ build_pack:
+ type: string
+ enum: [nixpacks, static, dockerfile, dockercompose]
+ description: 'The build pack type.'
+ ports_exposes:
+ type: string
+ description: 'The ports to expose.'
+ destination_uuid:
+ type: string
+ description: 'The destination UUID.'
+ name:
+ type: string
+ description: 'The application name.'
+ description:
+ type: string
+ description: 'The application description.'
+ domains:
+ type: string
+ description: 'The application domains.'
+ docker_registry_image_name:
+ type: string
+ description: 'The docker registry image name.'
+ docker_registry_image_tag:
+ type: string
+ description: 'The docker registry image tag.'
+ ports_mappings:
+ type: string
+ description: 'The ports mappings.'
+ base_directory:
+ type: string
+ description: 'The base directory for all commands.'
+ health_check_enabled:
+ type: boolean
+ description: 'Health check enabled.'
+ health_check_path:
+ type: string
+ description: 'Health check path.'
+ health_check_port:
+ type: string
+ nullable: true
+ description: 'Health check port.'
+ health_check_host:
+ type: string
+ nullable: true
+ description: 'Health check host.'
+ health_check_method:
+ type: string
+ description: 'Health check method.'
+ health_check_return_code:
+ type: integer
+ description: 'Health check return code.'
+ health_check_scheme:
+ type: string
+ description: 'Health check scheme.'
+ health_check_response_text:
+ type: string
+ nullable: true
+ description: 'Health check response text.'
+ health_check_interval:
+ type: integer
+ description: 'Health check interval in seconds.'
+ health_check_timeout:
+ type: integer
+ description: 'Health check timeout in seconds.'
+ health_check_retries:
+ type: integer
+ description: 'Health check retries count.'
+ health_check_start_period:
+ type: integer
+ description: 'Health check start period in seconds.'
+ limits_memory:
+ type: string
+ description: 'Memory limit.'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit.'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness.'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation.'
+ limits_cpus:
+ type: string
+ description: 'CPU limit.'
+ limits_cpuset:
+ type: string
+ nullable: true
+ description: 'CPU set.'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares.'
+ custom_labels:
+ type: string
+ description: 'Custom labels.'
+ custom_docker_run_options:
+ type: string
+ description: 'Custom docker run options.'
+ post_deployment_command:
+ type: string
+ description: 'Post deployment command.'
+ post_deployment_command_container:
+ type: string
+ description: 'Post deployment command container.'
+ pre_deployment_command:
+ type: string
+ description: 'Pre deployment command.'
+ pre_deployment_command_container:
+ type: string
+ description: 'Pre deployment command container.'
+ manual_webhook_secret_github:
+ type: string
+ description: 'Manual webhook secret for Github.'
+ manual_webhook_secret_gitlab:
+ type: string
+ description: 'Manual webhook secret for Gitlab.'
+ manual_webhook_secret_bitbucket:
+ type: string
+ description: 'Manual webhook secret for Bitbucket.'
+ manual_webhook_secret_gitea:
+ type: string
+ description: 'Manual webhook secret for Gitea.'
+ redirect:
+ type: string
+ nullable: true
+ description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
+ enum: [www, non-www, both]
+ instant_deploy:
+ type: boolean
+ description: 'The flag to indicate if the application should be deployed instantly.'
+ use_build_server:
+ type: boolean
+ nullable: true
+ description: 'Use build server.'
+ type: object
+ responses:
+ '201':
+ description: 'Application created successfully.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /applications/dockerimage:
+ post:
+ tags:
+ - Applications
+ summary: 'Create (Docker Image)'
+ description: 'Create new application based on a prebuilt docker image'
+ operationId: create-dockerimage-application
+ requestBody:
+ description: 'Application object that needs to be created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - project_uuid
+ - server_uuid
+ - environment_name
+ - environment_uuid
+ - docker_registry_image_name
+ - ports_exposes
+ properties:
+ project_uuid:
+ type: string
+ description: 'The project UUID.'
+ server_uuid:
+ type: string
+ description: 'The server UUID.'
+ environment_name:
+ type: string
+ description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
+ docker_registry_image_name:
+ type: string
+ description: 'The docker registry image name.'
+ docker_registry_image_tag:
+ type: string
+ description: 'The docker registry image tag.'
+ ports_exposes:
+ type: string
+ description: 'The ports to expose.'
+ destination_uuid:
+ type: string
+ description: 'The destination UUID.'
+ name:
+ type: string
+ description: 'The application name.'
+ description:
+ type: string
+ description: 'The application description.'
+ domains:
+ type: string
+ description: 'The application domains.'
+ ports_mappings:
+ type: string
+ description: 'The ports mappings.'
+ health_check_enabled:
+ type: boolean
+ description: 'Health check enabled.'
+ health_check_path:
+ type: string
+ description: 'Health check path.'
+ health_check_port:
+ type: string
+ nullable: true
+ description: 'Health check port.'
+ health_check_host:
+ type: string
+ nullable: true
+ description: 'Health check host.'
+ health_check_method:
+ type: string
+ description: 'Health check method.'
+ health_check_return_code:
+ type: integer
+ description: 'Health check return code.'
+ health_check_scheme:
+ type: string
+ description: 'Health check scheme.'
+ health_check_response_text:
+ type: string
+ nullable: true
+ description: 'Health check response text.'
+ health_check_interval:
+ type: integer
+ description: 'Health check interval in seconds.'
+ health_check_timeout:
+ type: integer
+ description: 'Health check timeout in seconds.'
+ health_check_retries:
+ type: integer
+ description: 'Health check retries count.'
+ health_check_start_period:
+ type: integer
+ description: 'Health check start period in seconds.'
+ limits_memory:
+ type: string
+ description: 'Memory limit.'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit.'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness.'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation.'
+ limits_cpus:
+ type: string
+ description: 'CPU limit.'
+ limits_cpuset:
+ type: string
+ nullable: true
+ description: 'CPU set.'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares.'
+ custom_labels:
+ type: string
+ description: 'Custom labels.'
+ custom_docker_run_options:
+ type: string
+ description: 'Custom docker run options.'
+ post_deployment_command:
+ type: string
+ description: 'Post deployment command.'
+ post_deployment_command_container:
+ type: string
+ description: 'Post deployment command container.'
+ pre_deployment_command:
+ type: string
+ description: 'Pre deployment command.'
+ pre_deployment_command_container:
+ type: string
+ description: 'Pre deployment command container.'
+ manual_webhook_secret_github:
+ type: string
+ description: 'Manual webhook secret for Github.'
+ manual_webhook_secret_gitlab:
+ type: string
+ description: 'Manual webhook secret for Gitlab.'
+ manual_webhook_secret_bitbucket:
+ type: string
+ description: 'Manual webhook secret for Bitbucket.'
+ manual_webhook_secret_gitea:
+ type: string
+ description: 'Manual webhook secret for Gitea.'
+ redirect:
+ type: string
+ nullable: true
+ description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
+ enum: [www, non-www, both]
+ instant_deploy:
+ type: boolean
+ description: 'The flag to indicate if the application should be deployed instantly.'
+ use_build_server:
+ type: boolean
+ nullable: true
+ description: 'Use build server.'
+ type: object
+ responses:
+ '201':
+ description: 'Application created successfully.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /applications/dockercompose:
+ post:
+ tags:
+ - Applications
+ summary: 'Create (Docker Compose)'
+ description: 'Create new application based on a docker-compose file.'
+ operationId: create-dockercompose-application
+ requestBody:
+ description: 'Application object that needs to be created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - project_uuid
+ - server_uuid
+ - environment_name
+ - environment_uuid
+ - docker_compose_raw
+ properties:
+ project_uuid:
+ type: string
+ description: 'The project UUID.'
+ server_uuid:
+ type: string
+ description: 'The server UUID.'
+ environment_name:
+ type: string
+ description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
+ docker_compose_raw:
+ type: string
+ description: 'The Docker Compose raw content.'
+ destination_uuid:
+ type: string
+ description: 'The destination UUID if the server has more than one destinations.'
+ name:
+ type: string
+ description: 'The application name.'
+ description:
+ type: string
+ description: 'The application description.'
+ instant_deploy:
+ type: boolean
+ description: 'The flag to indicate if the application should be deployed instantly.'
+ use_build_server:
+ type: boolean
+ nullable: true
+ description: 'Use build server.'
+ type: object
+ responses:
+ '201':
+ description: 'Application created successfully.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}':
+ get:
+ tags:
+ - Applications
+ summary: Get
+ description: 'Get application by UUID.'
+ operationId: get-application-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Get application by UUID.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Application'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ delete:
+ tags:
+ - Applications
+ summary: Delete
+ description: 'Delete application by UUID.'
+ operationId: delete-application-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ -
+ name: delete_configurations
+ in: query
+ description: 'Delete configurations.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: delete_volumes
+ in: query
+ description: 'Delete volumes.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: docker_cleanup
+ in: query
+ description: 'Run docker cleanup.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: delete_connected_networks
+ in: query
+ description: 'Delete connected networks.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ responses:
+ '200':
+ description: 'Application deleted.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Application deleted.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ patch:
+ tags:
+ - Applications
+ summary: Update
+ description: 'Update application by UUID.'
+ operationId: update-application-by-uuid
+ requestBody:
+ description: 'Application updated.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ project_uuid:
+ type: string
+ description: 'The project UUID.'
+ server_uuid:
+ type: string
+ description: 'The server UUID.'
+ environment_name:
+ type: string
+ description: 'The environment name.'
+ github_app_uuid:
+ type: string
+ description: 'The Github App UUID.'
+ git_repository:
+ type: string
+ description: 'The git repository URL.'
+ git_branch:
+ type: string
+ description: 'The git branch.'
+ ports_exposes:
+ type: string
+ description: 'The ports to expose.'
+ destination_uuid:
+ type: string
+ description: 'The destination UUID.'
+ build_pack:
+ type: string
+ enum: [nixpacks, static, dockerfile, dockercompose]
+ description: 'The build pack type.'
+ name:
+ type: string
+ description: 'The application name.'
+ description:
+ type: string
+ description: 'The application description.'
+ domains:
+ type: string
+ description: 'The application domains.'
+ git_commit_sha:
+ type: string
+ description: 'The git commit SHA.'
+ docker_registry_image_name:
+ type: string
+ description: 'The docker registry image name.'
+ docker_registry_image_tag:
+ type: string
+ description: 'The docker registry image tag.'
+ is_static:
+ type: boolean
+ description: 'The flag to indicate if the application is static.'
+ install_command:
+ type: string
+ description: 'The install command.'
+ build_command:
+ type: string
+ description: 'The build command.'
+ start_command:
+ type: string
+ description: 'The start command.'
+ ports_mappings:
+ type: string
+ description: 'The ports mappings.'
+ base_directory:
+ type: string
+ description: 'The base directory for all commands.'
+ publish_directory:
+ type: string
+ description: 'The publish directory.'
+ health_check_enabled:
+ type: boolean
+ description: 'Health check enabled.'
+ health_check_path:
+ type: string
+ description: 'Health check path.'
+ health_check_port:
+ type: string
+ nullable: true
+ description: 'Health check port.'
+ health_check_host:
+ type: string
+ nullable: true
+ description: 'Health check host.'
+ health_check_method:
+ type: string
+ description: 'Health check method.'
+ health_check_return_code:
+ type: integer
+ description: 'Health check return code.'
+ health_check_scheme:
+ type: string
+ description: 'Health check scheme.'
+ health_check_response_text:
+ type: string
+ nullable: true
+ description: 'Health check response text.'
+ health_check_interval:
+ type: integer
+ description: 'Health check interval in seconds.'
+ health_check_timeout:
+ type: integer
+ description: 'Health check timeout in seconds.'
+ health_check_retries:
+ type: integer
+ description: 'Health check retries count.'
+ health_check_start_period:
+ type: integer
+ description: 'Health check start period in seconds.'
+ limits_memory:
+ type: string
+ description: 'Memory limit.'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit.'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness.'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation.'
+ limits_cpus:
+ type: string
+ description: 'CPU limit.'
+ limits_cpuset:
+ type: string
+ nullable: true
+ description: 'CPU set.'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares.'
+ custom_labels:
+ type: string
+ description: 'Custom labels.'
+ custom_docker_run_options:
+ type: string
+ description: 'Custom docker run options.'
+ post_deployment_command:
+ type: string
+ description: 'Post deployment command.'
+ post_deployment_command_container:
+ type: string
+ description: 'Post deployment command container.'
+ pre_deployment_command:
+ type: string
+ description: 'Pre deployment command.'
+ pre_deployment_command_container:
+ type: string
+ description: 'Pre deployment command container.'
+ manual_webhook_secret_github:
+ type: string
+ description: 'Manual webhook secret for Github.'
+ manual_webhook_secret_gitlab:
+ type: string
+ description: 'Manual webhook secret for Gitlab.'
+ manual_webhook_secret_bitbucket:
+ type: string
+ description: 'Manual webhook secret for Bitbucket.'
+ manual_webhook_secret_gitea:
+ type: string
+ description: 'Manual webhook secret for Gitea.'
+ redirect:
+ type: string
+ nullable: true
+ description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
+ enum: [www, non-www, both]
+ instant_deploy:
+ type: boolean
+ description: 'The flag to indicate if the application should be deployed instantly.'
+ dockerfile:
+ type: string
+ description: 'The Dockerfile content.'
+ docker_compose_location:
+ type: string
+ description: 'The Docker Compose location.'
+ docker_compose_raw:
+ type: string
+ description: 'The Docker Compose raw content.'
+ docker_compose_custom_start_command:
+ type: string
+ description: 'The Docker Compose custom start command.'
+ docker_compose_custom_build_command:
+ type: string
+ description: 'The Docker Compose custom build command.'
+ docker_compose_domains:
+ type: array
+ description: 'The Docker Compose domains.'
+ watch_paths:
+ type: string
+ description: 'The watch paths.'
+ use_build_server:
+ type: boolean
+ nullable: true
+ description: 'Use build server.'
+ type: object
+ responses:
+ '200':
+ description: 'Application updated.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}/envs':
+ get:
+ tags:
+ - Applications
+ summary: 'List Envs'
+ description: 'List all envs by application UUID.'
+ operationId: list-envs-by-application-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'All environment variables by application UUID.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/EnvironmentVariable'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ post:
+ tags:
+ - Applications
+ summary: 'Create Env'
+ description: 'Create env by application UUID.'
+ operationId: create-env-by-application-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Env created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ key:
+ type: string
+ description: 'The key of the environment variable.'
+ value:
+ type: string
+ description: 'The value of the environment variable.'
+ is_preview:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in preview deployments.'
+ is_build_time:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in build time.'
+ is_literal:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
+ is_multiline:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is multiline.'
+ is_shown_once:
+ type: boolean
+ description: "The flag to indicate if the environment variable's value is shown on the UI."
+ type: object
+ responses:
+ '201':
+ description: 'Environment variable created.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string, example: nc0k04gk8g0cgsk440g0koko }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ patch:
+ tags:
+ - Applications
+ summary: 'Update Env'
+ description: 'Update env by application UUID.'
+ operationId: update-env-by-application-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Env updated.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - key
+ - value
+ properties:
+ key:
+ type: string
+ description: 'The key of the environment variable.'
+ value:
+ type: string
+ description: 'The value of the environment variable.'
+ is_preview:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in preview deployments.'
+ is_build_time:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in build time.'
+ is_literal:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
+ is_multiline:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is multiline.'
+ is_shown_once:
+ type: boolean
+ description: "The flag to indicate if the environment variable's value is shown on the UI."
+ type: object
+ responses:
+ '201':
+ description: 'Environment variable updated.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Environment variable updated.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}/envs/bulk':
+ patch:
+ tags:
+ - Applications
+ summary: 'Update Envs (Bulk)'
+ description: 'Update multiple envs by application UUID.'
+ operationId: update-envs-by-application-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Bulk envs updated.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ properties:
+ data:
+ type: array
+ items: { properties: { key: { type: string, description: 'The key of the environment variable.' }, value: { type: string, description: 'The value of the environment variable.' }, is_preview: { type: boolean, description: 'The flag to indicate if the environment variable is used in preview deployments.' }, is_build_time: { type: boolean, description: 'The flag to indicate if the environment variable is used in build time.' }, is_literal: { type: boolean, description: 'The flag to indicate if the environment variable is a literal, nothing espaced.' }, is_multiline: { type: boolean, description: 'The flag to indicate if the environment variable is multiline.' }, is_shown_once: { type: boolean, description: "The flag to indicate if the environment variable's value is shown on the UI." } }, type: object }
+ type: object
+ responses:
+ '201':
+ description: 'Environment variables updated.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Environment variables updated.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}/envs/{env_uuid}':
+ delete:
+ tags:
+ - Applications
+ summary: 'Delete Env'
+ description: 'Delete env by UUID.'
+ operationId: delete-env-by-application-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ -
+ name: env_uuid
+ in: path
+ description: 'UUID of the environment variable.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Environment variable deleted.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Environment variable deleted.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}/start':
+ get:
+ tags:
+ - Applications
+ summary: Start
+ description: 'Start application. `Post` request is also accepted.'
+ operationId: start-application-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ -
+ name: force
+ in: query
+ description: 'Force rebuild.'
+ schema:
+ type: boolean
+ default: false
+ -
+ name: instant_deploy
+ in: query
+ description: 'Instant deploy (skip queuing).'
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: 'Start application.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Deployment request queued.', description: Message. }
+ deployment_uuid: { type: string, example: doogksw, description: 'UUID of the deployment.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}/stop':
+ get:
+ tags:
+ - Applications
+ summary: Stop
+ description: 'Stop application. `Post` request is also accepted.'
+ operationId: stop-application-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Stop application.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Application stopping request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}/restart':
+ get:
+ tags:
+ - Applications
+ summary: Restart
+ description: 'Restart application. `Post` request is also accepted.'
+ operationId: restart-application-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Restart application.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Restart request queued.' }
+ deployment_uuid: { type: string, example: doogksw, description: 'UUID of the deployment.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/applications/{uuid}/execute':
+ post:
+ tags:
+ - Applications
+ summary: 'Execute Command'
+ description: "Execute a command on the application's current container."
+ operationId: execute-command-application
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Command to execute.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ command:
+ type: string
+ description: 'Command to execute.'
+ type: object
+ responses:
+ '200':
+ description: "Execute a command on the application's current container."
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Command executed.' }
+ response: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /databases:
+ get:
+ tags:
+ - Databases
+ summary: List
+ description: 'List all databases.'
+ operationId: list-databases
+ responses:
+ '200':
+ description: 'Get all databases'
+ content:
+ application/json:
+ schema:
+ type: string
+ example: 'Content is very complex. Will be implemented later.'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/databases/{uuid}':
+ get:
+ tags:
+ - Databases
+ summary: Get
+ description: 'Get database by UUID.'
+ operationId: get-database-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the database.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Get all databases'
+ content:
+ application/json:
+ schema:
+ type: string
+ example: 'Content is very complex. Will be implemented later.'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ delete:
+ tags:
+ - Databases
+ summary: Delete
+ description: 'Delete database by UUID.'
+ operationId: delete-database-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the database.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ -
+ name: delete_configurations
+ in: query
+ description: 'Delete configurations.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: delete_volumes
+ in: query
+ description: 'Delete volumes.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: docker_cleanup
+ in: query
+ description: 'Run docker cleanup.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: delete_connected_networks
+ in: query
+ description: 'Delete connected networks.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ responses:
+ '200':
+ description: 'Database deleted.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Database deleted.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ patch:
+ tags:
+ - Databases
+ summary: Update
+ description: 'Update database by UUID.'
+ operationId: update-database-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the database.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ postgres_user:
+ type: string
+ description: 'PostgreSQL user'
+ postgres_password:
+ type: string
+ description: 'PostgreSQL password'
+ postgres_db:
+ type: string
+ description: 'PostgreSQL database'
+ postgres_initdb_args:
+ type: string
+ description: 'PostgreSQL initdb args'
+ postgres_host_auth_method:
+ type: string
+ description: 'PostgreSQL host auth method'
+ postgres_conf:
+ type: string
+ description: 'PostgreSQL conf'
+ clickhouse_admin_user:
+ type: string
+ description: 'Clickhouse admin user'
+ clickhouse_admin_password:
+ type: string
+ description: 'Clickhouse admin password'
+ dragonfly_password:
+ type: string
+ description: 'DragonFly password'
+ redis_password:
+ type: string
+ description: 'Redis password'
+ redis_conf:
+ type: string
+ description: 'Redis conf'
+ keydb_password:
+ type: string
+ description: 'KeyDB password'
+ keydb_conf:
+ type: string
+ description: 'KeyDB conf'
+ mariadb_conf:
+ type: string
+ description: 'MariaDB conf'
+ mariadb_root_password:
+ type: string
+ description: 'MariaDB root password'
+ mariadb_user:
+ type: string
+ description: 'MariaDB user'
+ mariadb_password:
+ type: string
+ description: 'MariaDB password'
+ mariadb_database:
+ type: string
+ description: 'MariaDB database'
+ mongo_conf:
+ type: string
+ description: 'Mongo conf'
+ mongo_initdb_root_username:
+ type: string
+ description: 'Mongo initdb root username'
+ mongo_initdb_root_password:
+ type: string
+ description: 'Mongo initdb root password'
+ mongo_initdb_database:
+ type: string
+ description: 'Mongo initdb init database'
+ mysql_root_password:
+ type: string
+ description: 'MySQL root password'
+ mysql_password:
+ type: string
+ description: 'MySQL password'
+ mysql_user:
+ type: string
+ description: 'MySQL user'
+ mysql_database:
+ type: string
+ description: 'MySQL database'
+ mysql_conf:
+ type: string
+ description: 'MySQL conf'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /databases/postgresql:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (PostgreSQL)'
+ description: 'Create a new PostgreSQL database.'
+ operationId: create-database-postgresql
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ postgres_user:
+ type: string
+ description: 'PostgreSQL user'
+ postgres_password:
+ type: string
+ description: 'PostgreSQL password'
+ postgres_db:
+ type: string
+ description: 'PostgreSQL database'
+ postgres_initdb_args:
+ type: string
+ description: 'PostgreSQL initdb args'
+ postgres_host_auth_method:
+ type: string
+ description: 'PostgreSQL host auth method'
+ postgres_conf:
+ type: string
+ description: 'PostgreSQL conf'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /databases/clickhouse:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (Clickhouse)'
+ description: 'Create a new Clickhouse database.'
+ operationId: create-database-clickhouse
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ clickhouse_admin_user:
+ type: string
+ description: 'Clickhouse admin user'
+ clickhouse_admin_password:
+ type: string
+ description: 'Clickhouse admin password'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /databases/dragonfly:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (DragonFly)'
+ description: 'Create a new DragonFly database.'
+ operationId: create-database-dragonfly
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ dragonfly_password:
+ type: string
+ description: 'DragonFly password'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /databases/redis:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (Redis)'
+ description: 'Create a new Redis database.'
+ operationId: create-database-redis
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ redis_password:
+ type: string
+ description: 'Redis password'
+ redis_conf:
+ type: string
+ description: 'Redis conf'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /databases/keydb:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (KeyDB)'
+ description: 'Create a new KeyDB database.'
+ operationId: create-database-keydb
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ keydb_password:
+ type: string
+ description: 'KeyDB password'
+ keydb_conf:
+ type: string
+ description: 'KeyDB conf'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /databases/mariadb:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (MariaDB)'
+ description: 'Create a new MariaDB database.'
+ operationId: create-database-mariadb
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ mariadb_conf:
+ type: string
+ description: 'MariaDB conf'
+ mariadb_root_password:
+ type: string
+ description: 'MariaDB root password'
+ mariadb_user:
+ type: string
+ description: 'MariaDB user'
+ mariadb_password:
+ type: string
+ description: 'MariaDB password'
+ mariadb_database:
+ type: string
+ description: 'MariaDB database'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /databases/mysql:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (MySQL)'
+ description: 'Create a new MySQL database.'
+ operationId: create-database-mysql
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ mysql_root_password:
+ type: string
+ description: 'MySQL root password'
+ mysql_password:
+ type: string
+ description: 'MySQL password'
+ mysql_user:
+ type: string
+ description: 'MySQL user'
+ mysql_database:
+ type: string
+ description: 'MySQL database'
+ mysql_conf:
+ type: string
+ description: 'MySQL conf'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /databases/mongodb:
+ post:
+ tags:
+ - Databases
+ summary: 'Create (MongoDB)'
+ description: 'Create a new MongoDB database.'
+ operationId: create-database-mongodb
+ requestBody:
+ description: 'Database data'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ properties:
+ server_uuid:
+ type: string
+ description: 'UUID of the server'
+ project_uuid:
+ type: string
+ description: 'UUID of the project'
+ environment_name:
+ type: string
+ description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
+ destination_uuid:
+ type: string
+ description: 'UUID of the destination if the server has multiple destinations'
+ mongo_conf:
+ type: string
+ description: 'MongoDB conf'
+ mongo_initdb_root_username:
+ type: string
+ description: 'MongoDB initdb root username'
+ name:
+ type: string
+ description: 'Name of the database'
+ description:
+ type: string
+ description: 'Description of the database'
+ image:
+ type: string
+ description: 'Docker Image of the database'
+ is_public:
+ type: boolean
+ description: 'Is the database public?'
+ public_port:
+ type: integer
+ description: 'Public port of the database'
+ limits_memory:
+ type: string
+ description: 'Memory limit of the database'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit of the database'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness of the database'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation of the database'
+ limits_cpus:
+ type: string
+ description: 'CPU limit of the database'
+ limits_cpuset:
+ type: string
+ description: 'CPU set of the database'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares of the database'
+ instant_deploy:
+ type: boolean
+ description: 'Instant deploy the database'
+ type: object
+ responses:
+ '200':
+ description: 'Database updated'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/databases/{uuid}/start':
+ get:
+ tags:
+ - Databases
+ summary: Start
+ description: 'Start database. `Post` request is also accepted.'
+ operationId: start-database-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the database.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Start database.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Database starting request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/databases/{uuid}/stop':
+ get:
+ tags:
+ - Databases
+ summary: Stop
+ description: 'Stop database. `Post` request is also accepted.'
+ operationId: stop-database-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the database.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Stop database.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Database stopping request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/databases/{uuid}/restart':
+ get:
+ tags:
+ - Databases
+ summary: Restart
+ description: 'Restart database. `Post` request is also accepted.'
+ operationId: restart-database-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the database.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Restart database.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Database restaring request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /deployments:
+ get:
+ tags:
+ - Deployments
+ summary: List
+ description: 'List currently running deployments'
+ operationId: list-deployments
+ responses:
+ '200':
+ description: 'Get all currently running deployments.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/ApplicationDeploymentQueue'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/deployments/{uuid}':
+ get:
+ tags:
+ - Deployments
+ summary: Get
+ description: 'Get deployment by UUID.'
+ operationId: get-deployment-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Deployment UUID'
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Get deployment by UUID.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ApplicationDeploymentQueue'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /deploy:
+ get:
+ tags:
+ - Deployments
+ summary: Deploy
+ description: 'Deploy by tag or uuid. `Post` request also accepted.'
+ operationId: deploy-by-tag-or-uuid
+ parameters:
+ -
+ name: tag
+ in: query
+ description: 'Tag name(s). Comma separated list is also accepted.'
+ schema:
+ type: string
+ -
+ name: uuid
+ in: query
+ description: 'Resource UUID(s). Comma separated list is also accepted.'
+ schema:
+ type: string
+ -
+ name: force
+ in: query
+ description: 'Force rebuild (without cache)'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: "Get deployment(s) UUID's"
+ content:
+ application/json:
+ schema:
+ properties:
+ deployments: { type: array, items: { properties: { message: { type: string }, resource_uuid: { type: string }, deployment_uuid: { type: string } }, type: object } }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /version:
+ get:
+ summary: Version
+ description: 'Get Coolify version.'
+ operationId: version
+ responses:
+ '200':
+ description: 'Returns the version of the application'
+ content:
+ application/json:
+ schema:
+ type: string
+ example: v4.0.0
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /enable:
+ get:
+ summary: 'Enable API'
+ description: 'Enable API (only with root permissions).'
+ operationId: enable-api
+ responses:
+ '200':
+ description: 'Enable API.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'API enabled.' }
+ type: object
+ '403':
+ description: 'You are not allowed to enable the API.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'You are not allowed to enable the API.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /disable:
+ get:
+ summary: 'Disable API'
+ description: 'Disable API (only with root permissions).'
+ operationId: disable-api
+ responses:
+ '200':
+ description: 'Disable API.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'API disabled.' }
+ type: object
+ '403':
+ description: 'You are not allowed to disable the API.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'You are not allowed to disable the API.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /health:
+ get:
+ summary: Healthcheck
+ description: 'Healthcheck endpoint.'
+ operationId: healthcheck
+ responses:
+ '200':
+ description: 'Healthcheck endpoint.'
+ content:
+ application/json:
+ schema:
+ type: string
+ example: OK
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ /projects:
+ get:
+ tags:
+ - Projects
+ summary: List
+ description: 'List projects.'
+ operationId: list-projects
+ responses:
+ '200':
+ description: 'Get all projects.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Project'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ post:
+ tags:
+ - Projects
+ summary: Create
+ description: 'Create Project.'
+ operationId: create-project
+ requestBody:
+ description: 'Project created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ type: string
+ description: 'The name of the project.'
+ description:
+ type: string
+ description: 'The description of the project.'
+ type: object
+ responses:
+ '201':
+ description: 'Project created.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string, example: og888os, description: 'The UUID of the project.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/projects/{uuid}':
+ get:
+ tags:
+ - Projects
+ summary: Get
+ description: 'Get project by UUID.'
+ operationId: get-project-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Project UUID'
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Project details'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ description: 'Project not found.'
+ security:
+ -
+ bearerAuth: []
+ delete:
+ tags:
+ - Projects
+ summary: Delete
+ description: 'Delete project by UUID.'
+ operationId: delete-project-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the application.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Project deleted.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Project deleted.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ patch:
+ tags:
+ - Projects
+ summary: Update
+ description: 'Update Project.'
+ operationId: update-project-by-uuid
+ requestBody:
+ description: 'Project updated.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ type: string
+ description: 'The name of the project.'
+ description:
+ type: string
+ description: 'The description of the project.'
+ type: object
+ responses:
+ '201':
+ description: 'Project updated.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string, example: og888os }
+ name: { type: string, example: 'Project Name' }
+ description: { type: string, example: 'Project Description' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/projects/{uuid}/{environment_name_or_uuid}':
+ get:
+ tags:
+ - Projects
+ summary: Environment
+ description: 'Get environment by name or UUID.'
+ operationId: get-environment-by-name-or-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Project UUID'
+ required: true
+ schema:
+ type: string
+ -
+ name: environment_name_or_uuid
+ in: path
+ description: 'Environment name or UUID'
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Environment details'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Environment'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /resources:
+ get:
+ tags:
+ - Resources
+ summary: List
+ description: 'Get all resources.'
+ operationId: list-resources
+ responses:
+ '200':
+ description: 'Get all resources'
+ content:
+ application/json:
+ schema:
+ type: string
+ example: 'Content is very complex. Will be implemented later.'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /security/keys:
+ get:
+ tags:
+ - 'Private Keys'
+ summary: List
+ description: 'List all private keys.'
+ operationId: list-private-keys
+ responses:
+ '200':
+ description: 'Get all private keys.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/PrivateKey'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ post:
+ tags:
+ - 'Private Keys'
+ summary: Create
+ description: 'Create a new private key.'
+ operationId: create-private-key
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - private_key
+ properties:
+ name:
+ type: string
+ description:
+ type: string
+ private_key:
+ type: string
+ type: object
+ additionalProperties: false
+ responses:
+ '201':
+ description: "The created private key's UUID."
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ patch:
+ tags:
+ - 'Private Keys'
+ summary: Update
+ description: 'Update a private key.'
+ operationId: update-private-key
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - private_key
+ properties:
+ name:
+ type: string
+ description:
+ type: string
+ private_key:
+ type: string
+ type: object
+ additionalProperties: false
+ responses:
+ '201':
+ description: "The updated private key's UUID."
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/security/keys/{uuid}':
+ get:
+ tags:
+ - 'Private Keys'
+ summary: Get
+ description: 'Get key by UUID.'
+ operationId: get-private-key-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Private Key UUID'
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Get all private keys.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PrivateKey'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ description: 'Private Key not found.'
+ security:
+ -
+ bearerAuth: []
+ delete:
+ tags:
+ - 'Private Keys'
+ summary: Delete
+ description: 'Delete a private key.'
+ operationId: delete-private-key-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Private Key UUID'
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Private Key deleted.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Private Key deleted.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ description: 'Private Key not found.'
+ security:
+ -
+ bearerAuth: []
+ /servers:
+ get:
+ tags:
+ - Servers
+ summary: List
+ description: 'List all servers.'
+ operationId: list-servers
+ responses:
+ '200':
+ description: 'Get all servers.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Server'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ post:
+ tags:
+ - Servers
+ summary: Create
+ description: 'Create Server.'
+ operationId: create-server
+ requestBody:
+ description: 'Server created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ type: string
+ example: 'My Server'
+ description: 'The name of the server.'
+ description:
+ type: string
+ example: 'My Server Description'
+ description: 'The description of the server.'
+ ip:
+ type: string
+ example: 127.0.0.1
+ description: 'The IP of the server.'
+ port:
+ type: integer
+ example: 22
+ description: 'The port of the server.'
+ user:
+ type: string
+ example: root
+ description: 'The user of the server.'
+ private_key_uuid:
+ type: string
+ example: og888os
+ description: 'The UUID of the private key.'
+ is_build_server:
+ type: boolean
+ example: false
+ description: 'Is build server.'
+ instant_validate:
+ type: boolean
+ example: false
+ description: 'Instant validate.'
+ proxy_type:
+ type: string
+ enum: [traefik, caddy, none]
+ example: traefik
+ description: 'The proxy type.'
+ type: object
+ responses:
+ '201':
+ description: 'Server created.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string, example: og888os, description: 'The UUID of the server.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/servers/{uuid}':
+ get:
+ tags:
+ - Servers
+ summary: Get
+ description: 'Get server by UUID.'
+ operationId: get-server-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: "Server's UUID"
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Get server by UUID'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Server'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ delete:
+ tags:
+ - Servers
+ summary: Delete
+ description: 'Delete server by UUID.'
+ operationId: delete-server-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the server.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Server deleted.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Server deleted.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ patch:
+ tags:
+ - Servers
+ summary: Update
+ description: 'Update Server.'
+ operationId: update-server-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Server UUID'
+ required: true
+ schema:
+ type: string
+ requestBody:
+ description: 'Server updated.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ type: string
+ description: 'The name of the server.'
+ description:
+ type: string
+ description: 'The description of the server.'
+ ip:
+ type: string
+ description: 'The IP of the server.'
+ port:
+ type: integer
+ description: 'The port of the server.'
+ user:
+ type: string
+ description: 'The user of the server.'
+ private_key_uuid:
+ type: string
+ description: 'The UUID of the private key.'
+ is_build_server:
+ type: boolean
+ description: 'Is build server.'
+ instant_validate:
+ type: boolean
+ description: 'Instant validate.'
+ proxy_type:
+ type: string
+ enum: [traefik, caddy, none]
+ description: 'The proxy type.'
+ type: object
+ responses:
+ '201':
+ description: 'Server updated.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Server'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/servers/{uuid}/resources':
+ get:
+ tags:
+ - Servers
+ summary: Resources
+ description: 'Get resources by server.'
+ operationId: get-resources-by-server-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: "Server's UUID"
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Get resources by server'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ properties: { id: { type: integer }, uuid: { type: string }, name: { type: string }, type: { type: string }, created_at: { type: string }, updated_at: { type: string }, status: { type: string } }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/servers/{uuid}/domains':
+ get:
+ tags:
+ - Servers
+ summary: Domains
+ description: 'Get domains by server.'
+ operationId: get-domains-by-server-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: "Server's UUID"
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Get domains by server'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ properties: { ip: { type: string }, domains: { type: array, items: { type: string } } }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/servers/{uuid}/validate':
+ get:
+ tags:
+ - Servers
+ summary: Validate
+ description: 'Validate server by UUID.'
+ operationId: validate-server-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Server UUID'
+ required: true
+ schema:
+ type: string
+ responses:
+ '201':
+ description: 'Server validation started.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Validation started.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /services:
+ get:
+ tags:
+ - Services
+ summary: List
+ description: 'List all services.'
+ operationId: list-services
+ responses:
+ '200':
+ description: 'Get all services'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Service'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ post:
+ tags:
+ - Services
+ summary: Create
+ description: 'Create a one-click service'
+ operationId: create-service
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - server_uuid
+ - project_uuid
+ - environment_name
+ - environment_uuid
+ - type
+ properties:
+ type:
+ description: 'The one-click service type'
+ type: string
+ enum: [activepieces, appsmith, appwrite, authentik, babybuddy, budge, changedetection, chatwoot, classicpress-with-mariadb, classicpress-with-mysql, classicpress-without-database, cloudflared, code-server, dashboard, directus, directus-with-postgresql, docker-registry, docuseal, docuseal-with-postgres, dokuwiki, duplicati, emby, embystat, fider, filebrowser, firefly, formbricks, ghost, gitea, gitea-with-mariadb, gitea-with-mysql, gitea-with-postgresql, glance, glances, glitchtip, grafana, grafana-with-postgresql, grocy, heimdall, homepage, jellyfin, kuzzle, listmonk, logto, mediawiki, meilisearch, metabase, metube, minio, moodle, n8n, n8n-with-postgresql, next-image-transformation, nextcloud, nocodb, odoo, openblocks, pairdrop, penpot, phpmyadmin, pocketbase, posthog, reactive-resume, rocketchat, shlink, slash, snapdrop, statusnook, stirling-pdf, supabase, syncthing, tolgee, trigger, trigger-with-external-database, twenty, umami, unleash-with-postgresql, unleash-without-database, uptime-kuma, vaultwarden, vikunja, weblate, whoogle, wordpress-with-mariadb, wordpress-with-mysql, wordpress-without-database]
+ name:
+ type: string
+ maxLength: 255
+ description: 'Name of the service.'
+ description:
+ type: string
+ nullable: true
+ description: 'Description of the service.'
+ project_uuid:
+ type: string
+ description: 'Project UUID.'
+ environment_name:
+ type: string
+ description: 'Environment name. You need to provide at least one of environment_name or environment_uuid.'
+ environment_uuid:
+ type: string
+ description: 'Environment UUID. You need to provide at least one of environment_name or environment_uuid.'
+ server_uuid:
+ type: string
+ description: 'Server UUID.'
+ destination_uuid:
+ type: string
+ description: 'Destination UUID. Required if server has multiple destinations.'
+ instant_deploy:
+ type: boolean
+ default: false
+ description: 'Start the service immediately after creation.'
+ type: object
+ responses:
+ '201':
+ description: 'Create a service.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string, description: 'Service UUID.' }
+ domains: { type: array, items: { type: string }, description: 'Service domains.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/services/{uuid}':
+ get:
+ tags:
+ - Services
+ summary: Get
+ description: 'Get service by UUID.'
+ operationId: get-service-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Service UUID'
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: 'Get a service by UUID.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Service'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ delete:
+ tags:
+ - Services
+ summary: Delete
+ description: 'Delete service by UUID.'
+ operationId: delete-service-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'Service UUID'
+ required: true
+ schema:
+ type: string
+ -
+ name: delete_configurations
+ in: query
+ description: 'Delete configurations.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: delete_volumes
+ in: query
+ description: 'Delete volumes.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: docker_cleanup
+ in: query
+ description: 'Run docker cleanup.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ -
+ name: delete_connected_networks
+ in: query
+ description: 'Delete connected networks.'
+ required: false
+ schema:
+ type: boolean
+ default: true
+ responses:
+ '200':
+ description: 'Delete a service by UUID'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Service deletion request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/services/{uuid}/envs':
+ get:
+ tags:
+ - Services
+ summary: 'List Envs'
+ description: 'List all envs by service UUID.'
+ operationId: list-envs-by-service-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'All environment variables by service UUID.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/EnvironmentVariable'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ post:
+ tags:
+ - Services
+ summary: 'Create Env'
+ description: 'Create env by service UUID.'
+ operationId: create-env-by-service-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Env created.'
+ required: true
+ content:
+ application/json:
+ schema:
+ properties:
+ key:
+ type: string
+ description: 'The key of the environment variable.'
+ value:
+ type: string
+ description: 'The value of the environment variable.'
+ is_preview:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in preview deployments.'
+ is_build_time:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in build time.'
+ is_literal:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
+ is_multiline:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is multiline.'
+ is_shown_once:
+ type: boolean
+ description: "The flag to indicate if the environment variable's value is shown on the UI."
+ type: object
+ responses:
+ '201':
+ description: 'Environment variable created.'
+ content:
+ application/json:
+ schema:
+ properties:
+ uuid: { type: string, example: nc0k04gk8g0cgsk440g0koko }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ patch:
+ tags:
+ - Services
+ summary: 'Update Env'
+ description: 'Update env by service UUID.'
+ operationId: update-env-by-service-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Env updated.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - key
+ - value
+ properties:
+ key:
+ type: string
+ description: 'The key of the environment variable.'
+ value:
+ type: string
+ description: 'The value of the environment variable.'
+ is_preview:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in preview deployments.'
+ is_build_time:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is used in build time.'
+ is_literal:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
+ is_multiline:
+ type: boolean
+ description: 'The flag to indicate if the environment variable is multiline.'
+ is_shown_once:
+ type: boolean
+ description: "The flag to indicate if the environment variable's value is shown on the UI."
+ type: object
+ responses:
+ '201':
+ description: 'Environment variable updated.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Environment variable updated.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/services/{uuid}/envs/bulk':
+ patch:
+ tags:
+ - Services
+ summary: 'Update Envs (Bulk)'
+ description: 'Update multiple envs by service UUID.'
+ operationId: update-envs-by-service-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ description: 'Bulk envs updated.'
+ required: true
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ properties:
+ data:
+ type: array
+ items: { properties: { key: { type: string, description: 'The key of the environment variable.' }, value: { type: string, description: 'The value of the environment variable.' }, is_preview: { type: boolean, description: 'The flag to indicate if the environment variable is used in preview deployments.' }, is_build_time: { type: boolean, description: 'The flag to indicate if the environment variable is used in build time.' }, is_literal: { type: boolean, description: 'The flag to indicate if the environment variable is a literal, nothing espaced.' }, is_multiline: { type: boolean, description: 'The flag to indicate if the environment variable is multiline.' }, is_shown_once: { type: boolean, description: "The flag to indicate if the environment variable's value is shown on the UI." } }, type: object }
+ type: object
+ responses:
+ '201':
+ description: 'Environment variables updated.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Environment variables updated.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/services/{uuid}/envs/{env_uuid}':
+ delete:
+ tags:
+ - Services
+ summary: 'Delete Env'
+ description: 'Delete env by UUID.'
+ operationId: delete-env-by-service-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ -
+ name: env_uuid
+ in: path
+ description: 'UUID of the environment variable.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Environment variable deleted.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Environment variable deleted.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/services/{uuid}/start':
+ get:
+ tags:
+ - Services
+ summary: Start
+ description: 'Start service. `Post` request is also accepted.'
+ operationId: start-service-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Start service.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Service starting request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/services/{uuid}/stop':
+ get:
+ tags:
+ - Services
+ summary: Stop
+ description: 'Stop service. `Post` request is also accepted.'
+ operationId: stop-service-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Stop service.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Service stopping request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/services/{uuid}/restart':
+ get:
+ tags:
+ - Services
+ summary: Restart
+ description: 'Restart service. `Post` request is also accepted.'
+ operationId: restart-service-by-uuid
+ parameters:
+ -
+ name: uuid
+ in: path
+ description: 'UUID of the service.'
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: 'Restart service.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message: { type: string, example: 'Service restaring request queued.' }
+ type: object
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /teams:
+ get:
+ tags:
+ - Teams
+ summary: List
+ description: 'Get all teams.'
+ operationId: list-teams
+ responses:
+ '200':
+ description: 'List of teams.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Team'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ '/teams/{id}':
+ get:
+ tags:
+ - Teams
+ summary: Get
+ description: 'Get team by TeamId.'
+ operationId: get-team-by-id
+ parameters:
+ -
+ name: id
+ in: path
+ description: 'Team ID'
+ required: true
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: 'List of teams.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Team'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ '/teams/{id}/members':
+ get:
+ tags:
+ - Teams
+ summary: Members
+ description: 'Get members by TeamId.'
+ operationId: get-members-by-team-id
+ parameters:
+ -
+ name: id
+ in: path
+ description: 'Team ID'
+ required: true
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: 'List of members.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/User'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ '404':
+ $ref: '#/components/responses/404'
+ security:
+ -
+ bearerAuth: []
+ /teams/current:
+ get:
+ tags:
+ - Teams
+ summary: 'Authenticated Team'
+ description: 'Get currently authenticated team.'
+ operationId: get-current-team
+ responses:
+ '200':
+ description: 'Current Team.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Team'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+ /teams/current/members:
+ get:
+ tags:
+ - Teams
+ summary: 'Authenticated Team Members'
+ description: 'Get currently authenticated team members.'
+ operationId: get-current-team-members
+ responses:
+ '200':
+ description: 'Currently authenticated team members.'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/User'
+ '401':
+ $ref: '#/components/responses/401'
+ '400':
+ $ref: '#/components/responses/400'
+ security:
+ -
+ bearerAuth: []
+components:
+ schemas:
+ Application:
+ description: 'Application model'
+ properties:
+ id:
+ type: integer
+ description: 'The application identifier in the database.'
+ description:
+ type: string
+ nullable: true
+ description: 'The application description.'
+ repository_project_id:
+ type: integer
+ nullable: true
+ description: 'The repository project identifier.'
+ uuid:
+ type: string
+ description: 'The application UUID.'
+ name:
+ type: string
+ description: 'The application name.'
+ fqdn:
+ type: string
+ nullable: true
+ description: 'The application domains.'
+ config_hash:
+ type: string
+ description: 'Configuration hash.'
+ git_repository:
+ type: string
+ description: 'Git repository URL.'
+ git_branch:
+ type: string
+ description: 'Git branch.'
+ git_commit_sha:
+ type: string
+ description: 'Git commit SHA.'
+ git_full_url:
+ type: string
+ nullable: true
+ description: 'Git full URL.'
+ docker_registry_image_name:
+ type: string
+ nullable: true
+ description: 'Docker registry image name.'
+ docker_registry_image_tag:
+ type: string
+ nullable: true
+ description: 'Docker registry image tag.'
+ build_pack:
+ type: string
+ description: 'Build pack.'
+ enum:
+ - nixpacks
+ - static
+ - dockerfile
+ - dockercompose
+ static_image:
+ type: string
+ description: 'Static image used when static site is deployed.'
+ install_command:
+ type: string
+ description: 'Install command.'
+ build_command:
+ type: string
+ description: 'Build command.'
+ start_command:
+ type: string
+ description: 'Start command.'
+ ports_exposes:
+ type: string
+ description: 'Ports exposes.'
+ ports_mappings:
+ type: string
+ nullable: true
+ description: 'Ports mappings.'
+ base_directory:
+ type: string
+ description: 'Base directory for all commands.'
+ publish_directory:
+ type: string
+ description: 'Publish directory.'
+ health_check_enabled:
+ type: boolean
+ description: 'Health check enabled.'
+ health_check_path:
+ type: string
+ description: 'Health check path.'
+ health_check_port:
+ type: string
+ nullable: true
+ description: 'Health check port.'
+ health_check_host:
+ type: string
+ nullable: true
+ description: 'Health check host.'
+ health_check_method:
+ type: string
+ description: 'Health check method.'
+ health_check_return_code:
+ type: integer
+ description: 'Health check return code.'
+ health_check_scheme:
+ type: string
+ description: 'Health check scheme.'
+ health_check_response_text:
+ type: string
+ nullable: true
+ description: 'Health check response text.'
+ health_check_interval:
+ type: integer
+ description: 'Health check interval in seconds.'
+ health_check_timeout:
+ type: integer
+ description: 'Health check timeout in seconds.'
+ health_check_retries:
+ type: integer
+ description: 'Health check retries count.'
+ health_check_start_period:
+ type: integer
+ description: 'Health check start period in seconds.'
+ limits_memory:
+ type: string
+ description: 'Memory limit.'
+ limits_memory_swap:
+ type: string
+ description: 'Memory swap limit.'
+ limits_memory_swappiness:
+ type: integer
+ description: 'Memory swappiness.'
+ limits_memory_reservation:
+ type: string
+ description: 'Memory reservation.'
+ limits_cpus:
+ type: string
+ description: 'CPU limit.'
+ limits_cpuset:
+ type: string
+ nullable: true
+ description: 'CPU set.'
+ limits_cpu_shares:
+ type: integer
+ description: 'CPU shares.'
+ status:
+ type: string
+ description: 'Application status.'
+ preview_url_template:
+ type: string
+ description: 'Preview URL template.'
+ destination_type:
+ type: string
+ description: 'Destination type.'
+ destination_id:
+ type: integer
+ description: 'Destination identifier.'
+ source_id:
+ type: integer
+ nullable: true
+ description: 'Source identifier.'
+ private_key_id:
+ type: integer
+ nullable: true
+ description: 'Private key identifier.'
+ environment_id:
+ type: integer
+ description: 'Environment identifier.'
+ dockerfile:
+ type: string
+ nullable: true
+ description: 'Dockerfile content. Used for dockerfile build pack.'
+ dockerfile_location:
+ type: string
+ description: 'Dockerfile location.'
+ custom_labels:
+ type: string
+ nullable: true
+ description: 'Custom labels.'
+ dockerfile_target_build:
+ type: string
+ nullable: true
+ description: 'Dockerfile target build.'
+ manual_webhook_secret_github:
+ type: string
+ nullable: true
+ description: 'Manual webhook secret for GitHub.'
+ manual_webhook_secret_gitlab:
+ type: string
+ nullable: true
+ description: 'Manual webhook secret for GitLab.'
+ manual_webhook_secret_bitbucket:
+ type: string
+ nullable: true
+ description: 'Manual webhook secret for Bitbucket.'
+ manual_webhook_secret_gitea:
+ type: string
+ nullable: true
+ description: 'Manual webhook secret for Gitea.'
+ docker_compose_location:
+ type: string
+ description: 'Docker compose location.'
+ docker_compose:
+ type: string
+ nullable: true
+ description: 'Docker compose content. Used for docker compose build pack.'
+ docker_compose_raw:
+ type: string
+ nullable: true
+ description: 'Docker compose raw content.'
+ docker_compose_domains:
+ type: string
+ nullable: true
+ description: 'Docker compose domains.'
+ docker_compose_custom_start_command:
+ type: string
+ nullable: true
+ description: 'Docker compose custom start command.'
+ docker_compose_custom_build_command:
+ type: string
+ nullable: true
+ description: 'Docker compose custom build command.'
+ swarm_replicas:
+ type: integer
+ nullable: true
+ description: 'Swarm replicas. Only used for swarm deployments.'
+ swarm_placement_constraints:
+ type: string
+ nullable: true
+ description: 'Swarm placement constraints. Only used for swarm deployments.'
+ custom_docker_run_options:
+ type: string
+ nullable: true
+ description: 'Custom docker run options.'
+ post_deployment_command:
+ type: string
+ nullable: true
+ description: 'Post deployment command.'
+ post_deployment_command_container:
+ type: string
+ nullable: true
+ description: 'Post deployment command container.'
+ pre_deployment_command:
+ type: string
+ nullable: true
+ description: 'Pre deployment command.'
+ pre_deployment_command_container:
+ type: string
+ nullable: true
+ description: 'Pre deployment command container.'
+ watch_paths:
+ type: string
+ nullable: true
+ description: 'Watch paths.'
+ custom_healthcheck_found:
+ type: boolean
+ description: 'Custom healthcheck found.'
+ redirect:
+ type: string
+ nullable: true
+ description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
+ enum:
+ - www
+ - non-www
+ - both
+ created_at:
+ type: string
+ format: date-time
+ description: 'The date and time when the application was created.'
+ updated_at:
+ type: string
+ format: date-time
+ description: 'The date and time when the application was last updated.'
+ deleted_at:
+ type: string
+ format: date-time
+ nullable: true
+ description: 'The date and time when the application was deleted.'
+ compose_parsing_version:
+ type: string
+ description: 'How Coolify parse the compose file.'
+ custom_nginx_configuration:
+ type: string
+ nullable: true
+ description: 'Custom Nginx configuration base64 encoded.'
+ type: object
+ ApplicationDeploymentQueue:
+ description: 'Project model'
+ properties:
+ id:
+ type: integer
+ application_id:
+ type: string
+ deployment_uuid:
+ type: string
+ pull_request_id:
+ type: integer
+ force_rebuild:
+ type: boolean
+ commit:
+ type: string
+ status:
+ type: string
+ is_webhook:
+ type: boolean
+ is_api:
+ type: boolean
+ created_at:
+ type: string
+ updated_at:
+ type: string
+ logs:
+ type: string
+ current_process_id:
+ type: string
+ restart_only:
+ type: boolean
+ git_type:
+ type: string
+ server_id:
+ type: integer
+ application_name:
+ type: string
+ server_name:
+ type: string
+ deployment_url:
+ type: string
+ destination_id:
+ type: string
+ only_this_server:
+ type: boolean
+ rollback:
+ type: boolean
+ commit_message:
+ type: string
+ type: object
+ Environment:
+ description: 'Environment model'
+ properties:
+ id:
+ type: integer
+ name:
+ type: string
+ project_id:
+ type: integer
+ created_at:
+ type: string
+ updated_at:
+ type: string
+ description:
+ type: string
+ type: object
+ EnvironmentVariable:
+ description: 'Environment Variable model'
+ properties:
+ id:
+ type: integer
+ uuid:
+ type: string
+ resourceable_type:
+ type: string
+ resourceable_id:
+ type: integer
+ is_build_time:
+ type: boolean
+ is_literal:
+ type: boolean
+ is_multiline:
+ type: boolean
+ is_preview:
+ type: boolean
+ is_shared:
+ type: boolean
+ is_shown_once:
+ type: boolean
+ key:
+ type: string
+ value:
+ type: string
+ real_value:
+ type: string
+ version:
+ type: string
+ created_at:
+ type: string
+ updated_at:
+ type: string
+ type: object
+ PrivateKey:
+ description: 'Private Key model'
+ properties:
+ id:
+ type: integer
+ uuid:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ private_key:
+ type: string
+ format: private-key
+ is_git_related:
+ type: boolean
+ team_id:
+ type: integer
+ created_at:
+ type: string
+ updated_at:
+ type: string
+ type: object
+ Project:
+ description: 'Project model'
+ properties:
+ id:
+ type: integer
+ uuid:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ environments:
+ description: 'The environments of the project.'
+ type: array
+ items:
+ $ref: '#/components/schemas/Environment'
+ type: object
+ Server:
+ description: 'Server model'
+ properties:
+ id:
+ type: integer
+ description: 'The server ID.'
+ uuid:
+ type: string
+ description: 'The server UUID.'
+ name:
+ type: string
+ description: 'The server name.'
+ description:
+ type: string
+ description: 'The server description.'
+ ip:
+ type: string
+ description: 'The IP address.'
+ user:
+ type: string
+ description: 'The user.'
+ port:
+ type: integer
+ description: 'The port number.'
+ proxy:
+ type: object
+ description: 'The proxy configuration.'
+ proxy_type:
+ type: string
+ enum:
+ - traefik
+ - caddy
+ - none
+ description: 'The proxy type.'
+ high_disk_usage_notification_sent:
+ type: boolean
+ description: 'The flag to indicate if the high disk usage notification has been sent.'
+ unreachable_notification_sent:
+ type: boolean
+ description: 'The flag to indicate if the unreachable notification has been sent.'
+ unreachable_count:
+ type: integer
+ description: 'The unreachable count for your server.'
+ validation_logs:
+ type: string
+ description: 'The validation logs.'
+ log_drain_notification_sent:
+ type: boolean
+ description: 'The flag to indicate if the log drain notification has been sent.'
+ swarm_cluster:
+ type: string
+ description: 'The swarm cluster configuration.'
+ settings:
+ $ref: '#/components/schemas/ServerSetting'
+ type: object
+ ServerSetting:
+ description: 'Server Settings model'
+ properties:
+ id:
+ type: integer
+ concurrent_builds:
+ type: integer
+ dynamic_timeout:
+ type: integer
+ force_disabled:
+ type: boolean
+ force_server_cleanup:
+ type: boolean
+ is_build_server:
+ type: boolean
+ is_cloudflare_tunnel:
+ type: boolean
+ is_jump_server:
+ type: boolean
+ is_logdrain_axiom_enabled:
+ type: boolean
+ is_logdrain_custom_enabled:
+ type: boolean
+ is_logdrain_highlight_enabled:
+ type: boolean
+ is_logdrain_newrelic_enabled:
+ type: boolean
+ is_metrics_enabled:
+ type: boolean
+ is_reachable:
+ type: boolean
+ is_sentinel_enabled:
+ type: boolean
+ is_swarm_manager:
+ type: boolean
+ is_swarm_worker:
+ type: boolean
+ is_usable:
+ type: boolean
+ logdrain_axiom_api_key:
+ type: string
+ logdrain_axiom_dataset_name:
+ type: string
+ logdrain_custom_config:
+ type: string
+ logdrain_custom_config_parser:
+ type: string
+ logdrain_highlight_project_id:
+ type: string
+ logdrain_newrelic_base_uri:
+ type: string
+ logdrain_newrelic_license_key:
+ type: string
+ sentinel_metrics_history_days:
+ type: integer
+ sentinel_metrics_refresh_rate_seconds:
+ type: integer
+ sentinel_token:
+ type: string
+ docker_cleanup_frequency:
+ type: string
+ docker_cleanup_threshold:
+ type: integer
+ server_id:
+ type: integer
+ wildcard_domain:
+ type: string
+ created_at:
+ type: string
+ updated_at:
+ type: string
+ delete_unused_volumes:
+ type: boolean
+ description: 'The flag to indicate if the unused volumes should be deleted.'
+ delete_unused_networks:
+ type: boolean
+ description: 'The flag to indicate if the unused networks should be deleted.'
+ type: object
+ Service:
+ description: 'Service model'
+ properties:
+ id:
+ type: integer
+ description: 'The unique identifier of the service. Only used for database identification.'
+ uuid:
+ type: string
+ description: 'The unique identifier of the service.'
+ name:
+ type: string
+ description: 'The name of the service.'
+ environment_id:
+ type: integer
+ description: 'The unique identifier of the environment where the service is attached to.'
+ server_id:
+ type: integer
+ description: 'The unique identifier of the server where the service is running.'
+ description:
+ type: string
+ description: 'The description of the service.'
+ docker_compose_raw:
+ type: string
+ description: 'The raw docker-compose.yml file of the service.'
+ docker_compose:
+ type: string
+ description: 'The docker-compose.yml file that is parsed and modified by Coolify.'
+ destination_type:
+ type: string
+ description: 'Destination type.'
+ destination_id:
+ type: integer
+ description: 'The unique identifier of the destination where the service is running.'
+ connect_to_docker_network:
+ type: boolean
+ description: 'The flag to connect the service to the predefined Docker network.'
+ is_container_label_escape_enabled:
+ type: boolean
+ description: 'The flag to enable the container label escape.'
+ is_container_label_readonly_enabled:
+ type: boolean
+ description: 'The flag to enable the container label readonly.'
+ config_hash:
+ type: string
+ description: 'The hash of the service configuration.'
+ service_type:
+ type: string
+ description: 'The type of the service.'
+ created_at:
+ type: string
+ description: 'The date and time when the service was created.'
+ updated_at:
+ type: string
+ description: 'The date and time when the service was last updated.'
+ deleted_at:
+ type: string
+ description: 'The date and time when the service was deleted.'
+ type: object
+ Team:
+ description: 'Team model'
+ properties:
+ id:
+ type: integer
+ description: 'The unique identifier of the team.'
+ name:
+ type: string
+ description: 'The name of the team.'
+ description:
+ type: string
+ description: 'The description of the team.'
+ personal_team:
+ type: boolean
+ description: 'Whether the team is personal or not.'
+ created_at:
+ type: string
+ description: 'The date and time the team was created.'
+ updated_at:
+ type: string
+ description: 'The date and time the team was last updated.'
+ show_boarding:
+ type: boolean
+ description: 'Whether to show the boarding screen or not.'
+ custom_server_limit:
+ type: string
+ description: 'The custom server limit.'
+ members:
+ description: 'The members of the team.'
+ type: array
+ items:
+ $ref: '#/components/schemas/User'
+ type: object
+ User:
+ description: 'User model'
+ properties:
+ id:
+ type: integer
+ description: 'The user identifier in the database.'
+ name:
+ type: string
+ description: 'The user name.'
+ email:
+ type: string
+ description: 'The user email.'
+ email_verified_at:
+ type: string
+ description: 'The date when the user email was verified.'
+ created_at:
+ type: string
+ description: 'The date when the user was created.'
+ updated_at:
+ type: string
+ description: 'The date when the user was updated.'
+ two_factor_confirmed_at:
+ type: string
+ description: 'The date when the user two factor was confirmed.'
+ force_password_reset:
+ type: boolean
+ description: 'The flag to force the user to reset the password.'
+ marketing_emails:
+ type: boolean
+ description: 'The flag to receive marketing emails.'
+ type: object
+ responses:
+ '400':
+ description: 'Invalid token.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message:
+ type: string
+ example: 'Invalid token.'
+ type: object
+ '401':
+ description: Unauthenticated.
+ content:
+ application/json:
+ schema:
+ properties:
+ message:
+ type: string
+ example: Unauthenticated.
+ type: object
+ '404':
+ description: 'Resource not found.'
+ content:
+ application/json:
+ schema:
+ properties:
+ message:
+ type: string
+ example: 'Resource not found.'
+ type: object
+ securitySchemes:
+ bearerAuth:
+ type: http
+ description: 'Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.'
+ scheme: bearer
+tags:
+ -
+ name: Applications
+ description: Applications
+ -
+ name: Databases
+ description: Databases
+ -
+ name: Deployments
+ description: Deployments
+ -
+ name: Projects
+ description: Projects
+ -
+ name: Resources
+ description: Resources
+ -
+ name: 'Private Keys'
+ description: 'Private Keys'
+ -
+ name: Servers
+ description: Servers
+ -
+ name: Services
+ description: Services
+ -
+ name: Teams
+ description: Teams
\ No newline at end of file
diff --git a/env.d.ts b/env.d.ts
new file mode 100644
index 00000000..3d99296a
--- /dev/null
+++ b/env.d.ts
@@ -0,0 +1,14 @@
+declare module "*.yml" {
+ const content: any;
+ export default content;
+}
+
+declare module "*?url" {
+ const content: string;
+ export default content;
+}
+
+declare module '*?raw' {
+ const content: string
+ export default content
+}
diff --git a/package.json b/package.json
index 9e3c6058..ed05f0ed 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
"postcss": "^8.4.20",
"tailwindcss": "^3.2.4",
"tsx": "^4.19.2",
+ "vite-plugin-yaml": "^1.0.5",
"vitepress": "^1.5.0",
"vue": "^3.5.13"
},
@@ -28,6 +29,7 @@
},
"dependencies": {
"@vueuse/core": "^12.2.0",
- "globe.gl": "^2.34.6"
+ "globe.gl": "^2.34.6",
+ "vitepress-openapi": "0.0.3-alpha.55"
}
}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7e7f1df8..3375117f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,9 @@ dependencies:
globe.gl:
specifier: ^2.34.6
version: 2.34.6
+ vitepress-openapi:
+ specifier: 0.0.3-alpha.55
+ version: 0.0.3-alpha.55(tailwindcss@3.4.17)(vitepress@1.5.0)(vue@3.5.13)
devDependencies:
'@types/js-yaml':
@@ -37,6 +40,9 @@ devDependencies:
tsx:
specifier: ^4.19.2
version: 4.19.2
+ vite-plugin-yaml:
+ specifier: ^1.0.5
+ version: 1.0.5(vite@1.0.0-rc.13)
vitepress:
specifier: ^1.5.0
version: 1.5.0(@algolia/client-search@5.18.0)(@types/node@22.10.2)(postcss@8.4.49)(search-insights@2.17.3)
@@ -55,7 +61,6 @@ packages:
- '@algolia/client-search'
- algoliasearch
- search-insights
- dev: true
/@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.18.0)(algoliasearch@5.18.0)(search-insights@2.17.3):
resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==}
@@ -67,7 +72,6 @@ packages:
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- dev: true
/@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.18.0)(algoliasearch@5.18.0):
resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==}
@@ -78,7 +82,6 @@ packages:
'@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.18.0)(algoliasearch@5.18.0)
'@algolia/client-search': 5.18.0
algoliasearch: 5.18.0
- dev: true
/@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.18.0)(algoliasearch@5.18.0):
resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==}
@@ -88,7 +91,6 @@ packages:
dependencies:
'@algolia/client-search': 5.18.0
algoliasearch: 5.18.0
- dev: true
/@algolia/client-abtesting@5.18.0:
resolution: {integrity: sha512-DLIrAukjsSrdMNNDx1ZTks72o4RH/1kOn8Wx5zZm8nnqFexG+JzY4SANnCNEjnFQPJTTvC+KpgiNW/CP2lumng==}
@@ -98,7 +100,6 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/client-analytics@5.18.0:
resolution: {integrity: sha512-0VpGG2uQW+h2aejxbG8VbnMCQ9ary9/ot7OASXi6OjE0SRkYQ/+pkW+q09+IScif3pmsVVYggmlMPtAsmYWHng==}
@@ -108,12 +109,10 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/client-common@5.18.0:
resolution: {integrity: sha512-X1WMSC+1ve2qlMsemyTF5bIjwipOT+m99Ng1Tyl36ZjQKTa54oajBKE0BrmM8LD8jGdtukAgkUhFoYOaRbMcmQ==}
engines: {node: '>= 14.0.0'}
- dev: true
/@algolia/client-insights@5.18.0:
resolution: {integrity: sha512-FAJRNANUOSs/FgYOJ/Njqp+YTe4TMz2GkeZtfsw1TMiA5mVNRS/nnMpxas9771aJz7KTEWvK9GwqPs0K6RMYWg==}
@@ -123,7 +122,6 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/client-personalization@5.18.0:
resolution: {integrity: sha512-I2dc94Oiwic3SEbrRp8kvTZtYpJjGtg5y5XnqubgnA15AgX59YIY8frKsFG8SOH1n2rIhUClcuDkxYQNXJLg+w==}
@@ -133,7 +131,6 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/client-query-suggestions@5.18.0:
resolution: {integrity: sha512-x6XKIQgKFTgK/bMasXhghoEjHhmgoP61pFPb9+TaUJ32aKOGc65b12usiGJ9A84yS73UDkXS452NjyP50Knh/g==}
@@ -143,7 +140,6 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/client-search@5.18.0:
resolution: {integrity: sha512-qI3LcFsVgtvpsBGR7aNSJYxhsR+Zl46+958ODzg8aCxIcdxiK7QEVLMJMZAR57jGqW0Lg/vrjtuLFDMfSE53qA==}
@@ -153,7 +149,6 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/ingestion@1.18.0:
resolution: {integrity: sha512-bGvJg7HnGGm+XWYMDruZXWgMDPVt4yCbBqq8DM6EoaMBK71SYC4WMfIdJaw+ABqttjBhe6aKNRkWf/bbvYOGyw==}
@@ -163,7 +158,6 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/monitoring@1.18.0:
resolution: {integrity: sha512-lBssglINIeGIR+8KyzH05NAgAmn1BCrm5D2T6pMtr/8kbTHvvrm1Zvcltc5dKUQEFyyx3J5+MhNc7kfi8LdjVw==}
@@ -173,7 +167,6 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/recommend@5.18.0:
resolution: {integrity: sha512-uSnkm0cdAuFwdMp4pGT5vHVQ84T6AYpTZ3I0b3k/M3wg4zXDhl3aCiY8NzokEyRLezz/kHLEEcgb/tTTobOYVw==}
@@ -183,32 +176,36 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/@algolia/requester-browser-xhr@5.18.0:
resolution: {integrity: sha512-1XFjW0C3pV0dS/9zXbV44cKI+QM4ZIz9cpatXpsjRlq6SUCpLID3DZHsXyE6sTb8IhyPaUjk78GEJT8/3hviqg==}
engines: {node: '>= 14.0.0'}
dependencies:
'@algolia/client-common': 5.18.0
- dev: true
/@algolia/requester-fetch@5.18.0:
resolution: {integrity: sha512-0uodeNdAHz1YbzJh6C5xeQ4T6x5WGiUxUq3GOaT/R4njh5t78dq+Rb187elr7KtnjUmETVVuCvmEYaThfTHzNg==}
engines: {node: '>= 14.0.0'}
dependencies:
'@algolia/client-common': 5.18.0
- dev: true
/@algolia/requester-node-http@5.18.0:
resolution: {integrity: sha512-tZCqDrqJ2YE2I5ukCQrYN8oiF6u3JIdCxrtKq+eniuLkjkO78TKRnXrVcKZTmfFJyyDK8q47SfDcHzAA3nHi6w==}
engines: {node: '>= 14.0.0'}
dependencies:
'@algolia/client-common': 5.18.0
- dev: true
/@alloc/quick-lru@5.2.0:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
+
+ /@babel/code-frame@7.26.2:
+ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.25.9
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
dev: true
/@babel/helper-string-parser@7.25.9:
@@ -242,7 +239,6 @@ packages:
/@docsearch/css@3.8.2:
resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==}
- dev: true
/@docsearch/js@3.8.2(@algolia/client-search@5.18.0)(search-insights@2.17.3):
resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==}
@@ -255,7 +251,6 @@ packages:
- react
- react-dom
- search-insights
- dev: true
/@docsearch/react@3.8.2(@algolia/client-search@5.18.0)(search-insights@2.17.3):
resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==}
@@ -281,7 +276,6 @@ packages:
search-insights: 2.17.3
transitivePeerDependencies:
- '@algolia/client-search'
- dev: true
/@esbuild/aix-ppc64@0.21.5:
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
@@ -289,7 +283,6 @@ packages:
cpu: [ppc64]
os: [aix]
requiresBuild: true
- dev: true
optional: true
/@esbuild/aix-ppc64@0.23.1:
@@ -307,7 +300,6 @@ packages:
cpu: [arm64]
os: [android]
requiresBuild: true
- dev: true
optional: true
/@esbuild/android-arm64@0.23.1:
@@ -325,7 +317,6 @@ packages:
cpu: [arm]
os: [android]
requiresBuild: true
- dev: true
optional: true
/@esbuild/android-arm@0.23.1:
@@ -343,7 +334,6 @@ packages:
cpu: [x64]
os: [android]
requiresBuild: true
- dev: true
optional: true
/@esbuild/android-x64@0.23.1:
@@ -361,7 +351,6 @@ packages:
cpu: [arm64]
os: [darwin]
requiresBuild: true
- dev: true
optional: true
/@esbuild/darwin-arm64@0.23.1:
@@ -379,7 +368,6 @@ packages:
cpu: [x64]
os: [darwin]
requiresBuild: true
- dev: true
optional: true
/@esbuild/darwin-x64@0.23.1:
@@ -397,7 +385,6 @@ packages:
cpu: [arm64]
os: [freebsd]
requiresBuild: true
- dev: true
optional: true
/@esbuild/freebsd-arm64@0.23.1:
@@ -415,7 +402,6 @@ packages:
cpu: [x64]
os: [freebsd]
requiresBuild: true
- dev: true
optional: true
/@esbuild/freebsd-x64@0.23.1:
@@ -433,7 +419,6 @@ packages:
cpu: [arm64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-arm64@0.23.1:
@@ -451,7 +436,6 @@ packages:
cpu: [arm]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-arm@0.23.1:
@@ -469,7 +453,6 @@ packages:
cpu: [ia32]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-ia32@0.23.1:
@@ -487,7 +470,6 @@ packages:
cpu: [loong64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-loong64@0.23.1:
@@ -505,7 +487,6 @@ packages:
cpu: [mips64el]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-mips64el@0.23.1:
@@ -523,7 +504,6 @@ packages:
cpu: [ppc64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-ppc64@0.23.1:
@@ -541,7 +521,6 @@ packages:
cpu: [riscv64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-riscv64@0.23.1:
@@ -559,7 +538,6 @@ packages:
cpu: [s390x]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-s390x@0.23.1:
@@ -577,7 +555,6 @@ packages:
cpu: [x64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@esbuild/linux-x64@0.23.1:
@@ -595,7 +572,6 @@ packages:
cpu: [x64]
os: [netbsd]
requiresBuild: true
- dev: true
optional: true
/@esbuild/netbsd-x64@0.23.1:
@@ -622,7 +598,6 @@ packages:
cpu: [x64]
os: [openbsd]
requiresBuild: true
- dev: true
optional: true
/@esbuild/openbsd-x64@0.23.1:
@@ -640,7 +615,6 @@ packages:
cpu: [x64]
os: [sunos]
requiresBuild: true
- dev: true
optional: true
/@esbuild/sunos-x64@0.23.1:
@@ -658,7 +632,6 @@ packages:
cpu: [arm64]
os: [win32]
requiresBuild: true
- dev: true
optional: true
/@esbuild/win32-arm64@0.23.1:
@@ -676,7 +649,6 @@ packages:
cpu: [ia32]
os: [win32]
requiresBuild: true
- dev: true
optional: true
/@esbuild/win32-ia32@0.23.1:
@@ -694,7 +666,6 @@ packages:
cpu: [x64]
os: [win32]
requiresBuild: true
- dev: true
optional: true
/@esbuild/win32-x64@0.23.1:
@@ -706,15 +677,53 @@ packages:
dev: true
optional: true
+ /@floating-ui/core@1.6.8:
+ resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+ dependencies:
+ '@floating-ui/utils': 0.2.8
+ dev: false
+
+ /@floating-ui/dom@1.6.12:
+ resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==}
+ dependencies:
+ '@floating-ui/core': 1.6.8
+ '@floating-ui/utils': 0.2.8
+ dev: false
+
+ /@floating-ui/utils@0.2.8:
+ resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+ dev: false
+
+ /@floating-ui/vue@1.1.5(vue@3.5.13):
+ resolution: {integrity: sha512-ynL1p5Z+woPVSwgMGqeDrx6HrJfGIDzFyESFkyqJKilGW1+h/8yVY29Khn0LaU6wHBRwZ13ntG6reiHWK6jyzw==}
+ dependencies:
+ '@floating-ui/dom': 1.6.12
+ '@floating-ui/utils': 0.2.8
+ vue-demi: 0.14.10(vue@3.5.13)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ dev: false
+
/@iconify-json/simple-icons@1.2.17:
resolution: {integrity: sha512-1vXbM6a6HV2rwXxu8ptD2OYhqrqX0ZZRepOg7nIjkvKlKq90Iici4X++A8h36bEVlV2wGjqx8uVYB0pwnPZVSw==}
dependencies:
'@iconify/types': 2.0.0
- dev: true
/@iconify/types@2.0.0:
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
- dev: true
+
+ /@internationalized/date@3.6.0:
+ resolution: {integrity: sha512-+z6ti+CcJnRlLHok/emGEsWQhe7kfSmEW+/6qCzvKY67YPh7YOBfvc7+/+NXq+zJlbArg30tYpqLjNgcAYv2YQ==}
+ dependencies:
+ '@swc/helpers': 0.5.15
+ dev: false
+
+ /@internationalized/number@3.6.0:
+ resolution: {integrity: sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw==}
+ dependencies:
+ '@swc/helpers': 0.5.15
+ dev: false
/@isaacs/cliui@8.0.2:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
@@ -726,7 +735,6 @@ packages:
strip-ansi-cjs: /strip-ansi@6.0.1
wrap-ansi: 8.1.0
wrap-ansi-cjs: /wrap-ansi@7.0.0
- dev: true
/@jridgewell/gen-mapping@0.3.8:
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
@@ -735,16 +743,20 @@ packages:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
- dev: true
/@jridgewell/resolve-uri@3.1.2:
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- dev: true
/@jridgewell/set-array@1.2.1:
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
+
+ /@jridgewell/source-map@0.3.6:
+ resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.8
+ '@jridgewell/trace-mapping': 0.3.25
dev: true
/@jridgewell/sourcemap-codec@1.5.0:
@@ -755,6 +767,12 @@ packages:
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
+
+ /@koa/cors@3.4.3:
+ resolution: {integrity: sha512-WPXQUaAeAMVaLTEFpoq3T2O1C+FstkjJnDQqy95Ck1UdILajsRhu6mhJ8H2f4NFPRBoCNN+qywTJfq/gGki5mw==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ vary: 1.1.2
dev: true
/@nodelib/fs.scandir@2.1.5:
@@ -763,12 +781,10 @@ packages:
dependencies:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
- dev: true
/@nodelib/fs.stat@2.0.5:
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
- dev: true
/@nodelib/fs.walk@1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
@@ -776,21 +792,78 @@ packages:
dependencies:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.18.0
- dev: true
/@pkgjs/parseargs@0.11.0:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
requiresBuild: true
- dev: true
optional: true
+ /@rollup/plugin-commonjs@16.0.0(rollup@2.79.2):
+ resolution: {integrity: sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^2.30.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ is-reference: 1.2.1
+ magic-string: 0.25.9
+ resolve: 1.22.10
+ rollup: 2.79.2
+ dev: true
+
+ /@rollup/plugin-json@4.1.0(rollup@2.79.2):
+ resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==}
+ peerDependencies:
+ rollup: ^1.20.0 || ^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ rollup: 2.79.2
+ dev: true
+
+ /@rollup/plugin-node-resolve@10.0.0(rollup@2.79.2):
+ resolution: {integrity: sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ '@types/resolve': 1.17.1
+ builtin-modules: 3.3.0
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+ resolve: 1.22.10
+ rollup: 2.79.2
+ dev: true
+
+ /@rollup/pluginutils@3.1.0(rollup@2.79.2):
+ resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ '@types/estree': 0.0.39
+ estree-walker: 1.0.1
+ picomatch: 2.3.1
+ rollup: 2.79.2
+ dev: true
+
+ /@rollup/pluginutils@4.2.1:
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
/@rollup/rollup-android-arm-eabi@4.29.1:
resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==}
cpu: [arm]
os: [android]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-android-arm64@4.29.1:
@@ -798,7 +871,6 @@ packages:
cpu: [arm64]
os: [android]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-darwin-arm64@4.29.1:
@@ -806,7 +878,6 @@ packages:
cpu: [arm64]
os: [darwin]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-darwin-x64@4.29.1:
@@ -814,7 +885,6 @@ packages:
cpu: [x64]
os: [darwin]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-freebsd-arm64@4.29.1:
@@ -822,7 +892,6 @@ packages:
cpu: [arm64]
os: [freebsd]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-freebsd-x64@4.29.1:
@@ -830,7 +899,6 @@ packages:
cpu: [x64]
os: [freebsd]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.29.1:
@@ -838,7 +906,6 @@ packages:
cpu: [arm]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-arm-musleabihf@4.29.1:
@@ -846,7 +913,6 @@ packages:
cpu: [arm]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.29.1:
@@ -854,7 +920,6 @@ packages:
cpu: [arm64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.29.1:
@@ -862,7 +927,6 @@ packages:
cpu: [arm64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-loongarch64-gnu@4.29.1:
@@ -870,7 +934,6 @@ packages:
cpu: [loong64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-powerpc64le-gnu@4.29.1:
@@ -878,7 +941,6 @@ packages:
cpu: [ppc64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.29.1:
@@ -886,7 +948,6 @@ packages:
cpu: [riscv64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-s390x-gnu@4.29.1:
@@ -894,7 +955,6 @@ packages:
cpu: [s390x]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.29.1:
@@ -902,7 +962,6 @@ packages:
cpu: [x64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-linux-x64-musl@4.29.1:
@@ -910,7 +969,6 @@ packages:
cpu: [x64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.29.1:
@@ -918,7 +976,6 @@ packages:
cpu: [arm64]
os: [win32]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.29.1:
@@ -926,7 +983,6 @@ packages:
cpu: [ia32]
os: [win32]
requiresBuild: true
- dev: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.29.1:
@@ -934,7 +990,6 @@ packages:
cpu: [x64]
os: [win32]
requiresBuild: true
- dev: true
optional: true
/@shikijs/core@1.24.4:
@@ -946,7 +1001,6 @@ packages:
'@shikijs/vscode-textmate': 9.3.1
'@types/hast': 3.0.4
hast-util-to-html: 9.0.4
- dev: true
/@shikijs/engine-javascript@1.24.4:
resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==}
@@ -954,31 +1008,45 @@ packages:
'@shikijs/types': 1.24.4
'@shikijs/vscode-textmate': 9.3.1
oniguruma-to-es: 0.8.1
- dev: true
/@shikijs/engine-oniguruma@1.24.4:
resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==}
dependencies:
'@shikijs/types': 1.24.4
'@shikijs/vscode-textmate': 9.3.1
- dev: true
/@shikijs/transformers@1.24.4:
resolution: {integrity: sha512-0jq5p9WLB7ToM/O7RWfxuIwirTJbIQsUR06jxdG3h3CEuO5m7ik8GnDsxwHhyIEfgJSZczSnVUZWFrNKy5It6g==}
dependencies:
shiki: 1.24.4
- dev: true
/@shikijs/types@1.24.4:
resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==}
dependencies:
'@shikijs/vscode-textmate': 9.3.1
'@types/hast': 3.0.4
- dev: true
/@shikijs/vscode-textmate@9.3.1:
resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==}
- dev: true
+
+ /@swc/helpers@0.5.15:
+ resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
+ dependencies:
+ tslib: 2.8.1
+ dev: false
+
+ /@tanstack/virtual-core@3.11.2:
+ resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==}
+ dev: false
+
+ /@tanstack/vue-virtual@3.11.2(vue@3.5.13):
+ resolution: {integrity: sha512-y0b1p1FTlzxcSt/ZdGWY1AZ52ddwSU69pvFRYAELUSdLLxV8QOPe9dyT/KATO43UCb3DAwiyzi96h2IoYstBOQ==}
+ peerDependencies:
+ vue: ^2.7.0 || ^3.0.0
+ dependencies:
+ '@tanstack/virtual-core': 3.11.2
+ vue: 3.5.13
+ dev: false
/@turf/boolean-point-in-polygon@7.2.0:
resolution: {integrity: sha512-lvEOjxeXIp+wPXgl9kJA97dqzMfNexjqHou+XHVcfxQgolctoJiRYmcVCWGpiZ9CBf/CJha1KmD1qQoRIsjLaA==}
@@ -1009,8 +1077,61 @@ packages:
resolution: {integrity: sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==}
dev: false
+ /@types/accepts@1.3.7:
+ resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==}
+ dependencies:
+ '@types/node': 22.10.2
+ dev: true
+
+ /@types/body-parser@1.19.5:
+ resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
+ dependencies:
+ '@types/connect': 3.4.38
+ '@types/node': 22.10.2
+ dev: true
+
+ /@types/connect@3.4.38:
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+ dependencies:
+ '@types/node': 22.10.2
+ dev: true
+
+ /@types/content-disposition@0.5.8:
+ resolution: {integrity: sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==}
+ dev: true
+
+ /@types/cookies@0.9.0:
+ resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==}
+ dependencies:
+ '@types/connect': 3.4.38
+ '@types/express': 5.0.0
+ '@types/keygrip': 1.0.6
+ '@types/node': 22.10.2
+ dev: true
+
+ /@types/estree@0.0.39:
+ resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+ dev: true
+
/@types/estree@1.0.6:
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+
+ /@types/express-serve-static-core@5.0.3:
+ resolution: {integrity: sha512-JEhMNwUJt7bw728CydvYzntD0XJeTmDnvwLlbfbAhE7Tbslm/ax6bdIiUwTgeVlZTsJQPwZwKpAkyDtIjsvx3g==}
+ dependencies:
+ '@types/node': 22.10.2
+ '@types/qs': 6.9.17
+ '@types/range-parser': 1.2.7
+ '@types/send': 0.17.4
+ dev: true
+
+ /@types/express@5.0.0:
+ resolution: {integrity: sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==}
+ dependencies:
+ '@types/body-parser': 1.19.5
+ '@types/express-serve-static-core': 5.0.3
+ '@types/qs': 6.9.17
+ '@types/serve-static': 1.15.7
dev: true
/@types/geojson@7946.0.15:
@@ -1021,14 +1142,53 @@ packages:
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
dependencies:
'@types/unist': 3.0.3
+
+ /@types/http-assert@1.5.6:
+ resolution: {integrity: sha512-TTEwmtjgVbYAzZYWyeHPrrtWnfVkm8tQkP8P21uQifPgMRgjrow3XDEYqucuC8SKZJT7pUnhU/JymvjggxO9vw==}
+ dev: true
+
+ /@types/http-errors@2.0.4:
+ resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
+ dev: true
+
+ /@types/http-proxy@1.17.15:
+ resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==}
+ dependencies:
+ '@types/node': 22.10.2
dev: true
/@types/js-yaml@4.0.9:
resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
dev: true
+ /@types/keygrip@1.0.6:
+ resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==}
+ dev: true
+
+ /@types/koa-compose@3.2.8:
+ resolution: {integrity: sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==}
+ dependencies:
+ '@types/koa': 2.15.0
+ dev: true
+
+ /@types/koa@2.15.0:
+ resolution: {integrity: sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==}
+ dependencies:
+ '@types/accepts': 1.3.7
+ '@types/content-disposition': 0.5.8
+ '@types/cookies': 0.9.0
+ '@types/http-assert': 1.5.6
+ '@types/http-errors': 2.0.4
+ '@types/keygrip': 1.0.6
+ '@types/koa-compose': 3.2.8
+ '@types/node': 22.10.2
+ dev: true
+
/@types/linkify-it@5.0.0:
resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+
+ /@types/lru-cache@5.1.1:
+ resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==}
dev: true
/@types/markdown-it@14.1.2:
@@ -1036,34 +1196,61 @@ packages:
dependencies:
'@types/linkify-it': 5.0.0
'@types/mdurl': 2.0.0
- dev: true
/@types/mdast@4.0.4:
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
dependencies:
'@types/unist': 3.0.3
- dev: true
/@types/mdurl@2.0.0:
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+
+ /@types/mime@1.3.5:
+ resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
dev: true
/@types/node@22.10.2:
resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==}
dependencies:
undici-types: 6.20.0
+
+ /@types/qs@6.9.17:
+ resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==}
+ dev: true
+
+ /@types/range-parser@1.2.7:
+ resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
+ dev: true
+
+ /@types/resolve@1.17.1:
+ resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
+ dependencies:
+ '@types/node': 22.10.2
+ dev: true
+
+ /@types/send@0.17.4:
+ resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
+ dependencies:
+ '@types/mime': 1.3.5
+ '@types/node': 22.10.2
+ dev: true
+
+ /@types/serve-static@1.15.7:
+ resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==}
+ dependencies:
+ '@types/http-errors': 2.0.4
+ '@types/node': 22.10.2
+ '@types/send': 0.17.4
dev: true
/@types/unist@3.0.3:
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- dev: true
/@types/web-bluetooth@0.0.20:
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
/@ungap/structured-clone@1.2.1:
resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==}
- dev: true
/@vitejs/plugin-vue@5.2.1(vite@5.4.11)(vue@3.5.13):
resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
@@ -1074,7 +1261,6 @@ packages:
dependencies:
vite: 5.4.11(@types/node@22.10.2)
vue: 3.5.13
- dev: true
/@vue/compiler-core@3.5.13:
resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
@@ -1114,7 +1300,6 @@ packages:
resolution: {integrity: sha512-ma6dY/sZR36zALVsV1W7eC57c6IJPXsy8SNgZn1PLVWU4z4dPn5TIBmnF4stmdJ4sQcixqKaQ8pwjbMPzEZwiA==}
dependencies:
'@vue/devtools-kit': 7.6.8
- dev: true
/@vue/devtools-kit@7.6.8:
resolution: {integrity: sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==}
@@ -1126,13 +1311,11 @@ packages:
perfect-debounce: 1.0.0
speakingurl: 14.0.1
superjson: 2.2.2
- dev: true
/@vue/devtools-shared@7.6.8:
resolution: {integrity: sha512-9MBPO5Z3X1nYGFqTJyohl6Gmf/J7UNN1oicHdyzBVZP4jnhZ4c20MgtaHDIzWmHDHCMYVS5bwKxT3jxh7gOOKA==}
dependencies:
rfdc: 1.4.1
- dev: true
/@vue/reactivity@3.5.13:
resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
@@ -1165,6 +1348,18 @@ packages:
/@vue/shared@3.5.13:
resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
+ /@vueuse/core@10.11.1(vue@3.5.13):
+ resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==}
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 10.11.1
+ '@vueuse/shared': 10.11.1(vue@3.5.13)
+ vue-demi: 0.14.10(vue@3.5.13)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ dev: false
+
/@vueuse/core@11.3.0(vue@3.5.13):
resolution: {integrity: sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==}
dependencies:
@@ -1175,7 +1370,6 @@ packages:
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: true
/@vueuse/core@12.2.0:
resolution: {integrity: sha512-jksyNu+5EGwggNkRWd6xX+8qBkYbmrwdFQMgCABsz+wq8bKF6w3soPFLB8vocFp3wFIzn0OYkSPM9JP+AFKwsg==}
@@ -1236,16 +1430,27 @@ packages:
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: true
+
+ /@vueuse/metadata@10.11.1:
+ resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==}
+ dev: false
/@vueuse/metadata@11.3.0:
resolution: {integrity: sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==}
- dev: true
/@vueuse/metadata@12.2.0:
resolution: {integrity: sha512-x6zynZtTh1l52m0y8d/EgzpshnMjg8cNZ2KWoncJ62Z5qPSGoc4FUunmMVrrRM/I/5542rTEY89CGftngZvrkQ==}
dev: false
+ /@vueuse/shared@10.11.1(vue@3.5.13):
+ resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==}
+ dependencies:
+ vue-demi: 0.14.10(vue@3.5.13)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ dev: false
+
/@vueuse/shared@11.3.0(vue@3.5.13):
resolution: {integrity: sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==}
dependencies:
@@ -1253,7 +1458,6 @@ packages:
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: true
/@vueuse/shared@12.2.0:
resolution: {integrity: sha512-SRr4AZwv/giS+EmyA1ZIzn3/iALjjnWAGaBNmoDTMEob9JwQaevAocuaMDnPAvU7Z35Y5g3CFRusCWgp1gVJ3Q==}
@@ -1263,11 +1467,25 @@ packages:
- typescript
dev: false
+ /accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ dev: true
+
/accessor-fn@1.5.1:
resolution: {integrity: sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==}
engines: {node: '>=12'}
dev: false
+ /acorn@8.14.0:
+ resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
/algoliasearch@5.18.0:
resolution: {integrity: sha512-/tfpK2A4FpS0o+S78o3YSdlqXr0MavJIDlFK3XZrlXLy7vaRXJvW5jYg3v5e/wCaF8y0IpMjkYLhoV6QqfpOgw==}
engines: {node: '>= 14.0.0'}
@@ -1285,33 +1503,27 @@ packages:
'@algolia/requester-browser-xhr': 5.18.0
'@algolia/requester-fetch': 5.18.0
'@algolia/requester-node-http': 5.18.0
- dev: true
/ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
- dev: true
/ansi-regex@6.1.0:
resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
engines: {node: '>=12'}
- dev: true
/ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
dependencies:
color-convert: 2.0.1
- dev: true
/ansi-styles@6.2.1:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
- dev: true
/any-promise@1.3.0:
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
- dev: true
/anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
@@ -1319,16 +1531,37 @@ packages:
dependencies:
normalize-path: 3.0.0
picomatch: 2.3.1
- dev: true
/arg@5.0.2:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ /argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ dependencies:
+ sprintf-js: 1.0.3
dev: true
/argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
+ /aria-hidden@1.2.4:
+ resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
+ engines: {node: '>=10'}
+ dependencies:
+ tslib: 2.8.1
+ dev: false
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
/autoprefixer@10.4.20(postcss@8.4.49):
resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
engines: {node: ^10 || ^12 || >=14}
@@ -1347,28 +1580,49 @@ packages:
/balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
dev: true
/binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
- dev: true
/birpc@0.2.19:
resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
+
+ /bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: true
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
dev: true
/brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
dependencies:
balanced-match: 1.0.2
- dev: true
/braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
dependencies:
fill-range: 7.1.1
+
+ /brotli-size@4.0.0:
+ resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==}
+ engines: {node: '>= 10.16.0'}
+ dependencies:
+ duplexer: 0.1.1
dev: true
/browserslist@4.24.3:
@@ -1382,10 +1636,59 @@ packages:
update-browserslist-db: 1.1.1(browserslist@4.24.3)
dev: true
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ dev: true
+
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: true
+
+ /builtin-modules@1.1.1:
+ resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /cache-content-type@1.0.1:
+ resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==}
+ engines: {node: '>= 6.0.0'}
+ dependencies:
+ mime-types: 2.1.35
+ ylru: 1.4.0
+ dev: true
+
+ /call-bind-apply-helpers@1.0.1:
+ resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ dev: true
+
+ /call-bound@1.0.3:
+ resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind-apply-helpers: 1.0.1
+ get-intrinsic: 1.2.7
+ dev: true
+
/camelcase-css@2.0.1:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
- dev: true
/caniuse-lite@1.0.30001690:
resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==}
@@ -1393,15 +1696,20 @@ packages:
/ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
dev: true
/character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
- dev: true
/character-entities-legacy@3.0.0:
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
- dev: true
/chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
@@ -1416,6 +1724,45 @@ packages:
readdirp: 3.6.0
optionalDependencies:
fsevents: 2.3.3
+
+ /class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+ dependencies:
+ clsx: 2.1.1
+ dev: false
+
+ /clean-css@4.2.4:
+ resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
+ engines: {node: '>= 4.0'}
+ dependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+ dependencies:
+ restore-cursor: 3.1.0
+ dev: true
+
+ /cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+ dev: true
+
+ /clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
dev: true
/color-convert@2.0.1:
@@ -1423,19 +1770,47 @@ packages:
engines: {node: '>=7.0.0'}
dependencies:
color-name: 1.1.4
- dev: true
/color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
/comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
dev: true
/commander@4.1.1:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
+
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ dev: true
+
+ /content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /cookies@0.9.1:
+ resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ depd: 2.0.0
+ keygrip: 1.1.0
dev: true
/copy-anything@3.0.5:
@@ -1443,7 +1818,6 @@ packages:
engines: {node: '>=12.13'}
dependencies:
is-what: 4.1.16
- dev: true
/cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
@@ -1452,13 +1826,11 @@ packages:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- dev: true
/cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
- dev: true
/csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
@@ -1559,29 +1931,115 @@ packages:
accessor-fn: 1.5.1
dev: false
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: true
+
+ /debug@4.4.0:
+ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: true
+
+ /deep-equal@1.0.1:
+ resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==}
+ dev: true
+
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ dependencies:
+ clone: 1.0.4
+ dev: true
+
+ /defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ dev: false
+
/delaunator@5.0.1:
resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
dependencies:
robust-predicates: 3.0.2
dev: false
+ /delegates@1.0.0:
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
+ dev: true
+
+ /depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
/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}
dev: true
/devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
dependencies:
dequal: 2.0.3
- dev: true
/didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
dev: true
/dlv@1.1.3:
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
+ /dotenv-expand@5.1.0:
+ resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
+ dev: true
+
+ /dotenv@8.6.0:
+ resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind-apply-helpers: 1.0.1
+ es-errors: 1.3.0
+ gopd: 1.2.0
+ dev: true
+
+ /duplexer@0.1.1:
+ resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==}
dev: true
/earcut@3.0.1:
@@ -1590,6 +2048,9 @@ packages:
/eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ /ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
dev: true
/electron-to-chromium@1.5.76:
@@ -1598,20 +2059,49 @@ packages:
/emoji-regex-xs@1.0.0:
resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
- dev: true
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: true
/emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ /encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ dependencies:
+ once: 1.4.0
dev: true
/entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ /es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /es-module-lexer@0.3.26:
+ resolution: {integrity: sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==}
+ dev: true
+
+ /es-object-atoms@1.0.0:
+ resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ dev: true
+
/esbuild@0.21.5:
resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
engines: {node: '>=12'}
@@ -1641,7 +2131,6 @@ packages:
'@esbuild/win32-arm64': 0.21.5
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
- dev: true
/esbuild@0.23.1:
resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
@@ -1675,14 +2164,66 @@ packages:
'@esbuild/win32-x64': 0.23.1
dev: true
+ /esbuild@0.8.57:
+ resolution: {integrity: sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+
/escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
dev: true
+ /escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ dev: true
+
+ /esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /estree-walker@0.6.1:
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+ dev: true
+
+ /estree-walker@1.0.1:
+ resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+ dev: true
+
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ /etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ dev: true
+
+ /execa@4.1.0:
+ resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.6
+ get-stream: 5.2.0
+ human-signals: 1.1.1
+ 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
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: false
+
/fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@@ -1692,25 +2233,33 @@ packages:
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.8
- dev: true
/fastq@1.18.0:
resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
dependencies:
reusify: 1.0.4
- dev: true
/fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
dependencies:
to-regex-range: 5.0.1
- dev: true
/focus-trap@7.6.2:
resolution: {integrity: sha512-9FhUxK1hVju2+AiQIDJ5Dd//9R2n2RAfJ0qfhF4IHGHgcoEUTMpbTeG/zbEuwaiYXfuAH6XE0/aCyxDdRM+W5w==}
dependencies:
tabbable: 6.2.0
+
+ /follow-redirects@1.15.9(debug@4.4.0):
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dependencies:
+ debug: 4.4.0
dev: true
/foreground-child@3.3.0:
@@ -1719,7 +2268,6 @@ packages:
dependencies:
cross-spawn: 7.0.6
signal-exit: 4.1.0
- dev: true
/fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
@@ -1731,16 +2279,64 @@ packages:
simplesignal: 2.1.7
dev: false
+ /fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+ dev: true
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ dev: true
+
/fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
- dev: true
optional: true
/function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ /get-intrinsic@1.2.7:
+ resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind-apply-helpers: 1.0.1
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ 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
+ dev: true
+
+ /get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+ dependencies:
+ pump: 3.0.2
dev: true
/get-tsconfig@4.8.1:
@@ -1754,14 +2350,12 @@ packages:
engines: {node: '>= 6'}
dependencies:
is-glob: 4.0.3
- dev: true
/glob-parent@6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
dependencies:
is-glob: 4.0.3
- dev: true
/glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
@@ -1773,6 +2367,29 @@ packages:
minipass: 7.1.2
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+ 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
+ dev: true
+
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
dev: true
/globe.gl@2.34.6:
@@ -1787,17 +2404,46 @@ packages:
three-render-objects: 1.32.1(three@0.172.0)
dev: false
+ /gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ dev: true
+
/h3-js@4.1.0:
resolution: {integrity: sha512-LQhmMl1dRQQjMXPzJc7MpZ/CqPOWWuAvVEoVJM9n/s7vHypj+c3Pd5rLQCkAsOgAoAYKbNCsYFE++LF7MvSfCQ==}
engines: {node: '>=4', npm: '>=3', yarn: '>=1.3.0'}
dev: false
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.1.0
+ dev: true
+
+ /hash-sum@2.0.0:
+ resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
+ dev: true
+
/hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
dependencies:
function-bind: 1.1.2
- dev: true
/hast-util-to-html@9.0.4:
resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==}
@@ -1813,20 +2459,78 @@ packages:
space-separated-tokens: 2.0.2
stringify-entities: 4.0.4
zwitch: 2.0.4
- dev: true
/hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
dependencies:
'@types/hast': 3.0.4
- dev: true
/hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
- dev: true
/html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+ /http-assert@1.5.0:
+ resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ deep-equal: 1.0.1
+ http-errors: 1.8.1
+ dev: true
+
+ /http-errors@1.4.0:
+ resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ inherits: 2.0.1
+ statuses: 1.5.0
+ dev: true
+
+ /http-errors@1.6.3:
+ resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.3
+ setprototypeof: 1.1.0
+ statuses: 1.5.0
+ dev: true
+
+ /http-errors@1.8.1:
+ resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 1.5.0
+ toidentifier: 1.0.1
+ dev: true
+
+ /http-proxy@1.18.1(debug@4.4.0):
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ eventemitter3: 4.0.7
+ follow-redirects: 1.15.9(debug@4.4.0)
+ requires-port: 1.0.0
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /human-signals@1.1.1:
+ resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
+ engines: {node: '>=8.12.0'}
+ dev: true
+
+ /ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ dev: true
+
+ /ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
dev: true
/index-array-by@1.4.2:
@@ -1834,6 +2538,26 @@ packages:
engines: {node: '>=12'}
dev: false
+ /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.
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits@2.0.1:
+ resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==}
+ dev: true
+
+ /inherits@2.0.3:
+ resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+ dev: true
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
/internmap@2.0.3:
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
engines: {node: '>=12'}
@@ -1844,23 +2568,35 @@ packages:
engines: {node: '>=8'}
dependencies:
binary-extensions: 2.3.0
- dev: true
/is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
dependencies:
hasown: 2.0.2
+
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
dev: true
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
- dev: true
/is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
+
+ /is-generator-function@1.1.0:
+ resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bound: 1.0.3
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
dev: true
/is-glob@4.0.3:
@@ -1868,21 +2604,69 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: 2.1.1
+
+ /is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
dev: true
/is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
+
+ /is-reference@1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 1.0.6
+ dev: true
+
+ /is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bound: 1.0.3
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
dev: true
/is-what@4.1.16:
resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
engines: {node: '>=12.13'}
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
+ /isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+ dev: true
+
+ /isbuiltin@1.0.0:
+ resolution: {integrity: sha512-5D5GIRCjYK/KtHQ2vIPIwKcma05iHYJag0syBtpo8/V1LuPt+a6Zowyrgpn0Bxw2pV9m2lxmX/0Z8OMQvWLXfw==}
+ dependencies:
+ builtin-modules: 1.1.1
dev: true
/isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
/jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
@@ -1890,11 +2674,30 @@ packages:
'@isaacs/cliui': 8.0.2
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
+
+ /jest-worker@26.6.2:
+ resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/node': 22.10.2
+ merge-stream: 2.0.0
+ supports-color: 7.2.0
dev: true
/jiti@1.21.7:
resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
hasBin: true
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ dev: true
+
+ /js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
dev: true
/js-yaml@4.1.0:
@@ -1904,6 +2707,14 @@ packages:
argparse: 2.0.1
dev: true
+ /jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
/kapsule@1.16.0:
resolution: {integrity: sha512-4f/z/Luu0cEXmagCwaFyzvfZai2HKgB4CQLwmsMUA+jlUbW94HfFSX+TWZxzWoMSO6b6aR+FD2Xd5z88VYZJTw==}
engines: {node: '>=12'}
@@ -1911,21 +2722,150 @@ packages:
lodash-es: 4.17.21
dev: false
+ /keygrip@1.1.0:
+ resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ tsscmp: 1.0.6
+ dev: true
+
+ /klona@2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /koa-compose@4.1.0:
+ resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==}
+ dev: true
+
+ /koa-conditional-get@3.0.0:
+ resolution: {integrity: sha512-VKyPS7SuNH26TjTV2IRz+oh0HV/jc2lYAo51PTQTkj0XFn8ebNZW9riczmrW7ZVBFSnls1Z88DPUYKnvVymruA==}
+ dev: true
+
+ /koa-convert@2.0.0:
+ resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==}
+ engines: {node: '>= 10'}
+ dependencies:
+ co: 4.6.0
+ koa-compose: 4.1.0
+ dev: true
+
+ /koa-etag@4.0.0:
+ resolution: {integrity: sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==}
+ dependencies:
+ etag: 1.8.1
+ dev: true
+
+ /koa-proxies@0.11.0(debug@4.4.0)(koa@2.15.3):
+ resolution: {integrity: sha512-iXGRADBE0fM7g7AttNOlLZ/cCFKXeVMHbFJKIRb0dUCrSYXi02loyVSdBlKlBQ5ZfVKJLo9Q9FyqwVTp1poVVA==}
+ peerDependencies:
+ koa: '>=2'
+ dependencies:
+ http-proxy: 1.18.1(debug@4.4.0)
+ koa: 2.15.3
+ path-match: 1.2.4
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /koa-send@5.0.1:
+ resolution: {integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==}
+ engines: {node: '>= 8'}
+ dependencies:
+ debug: 4.4.0
+ http-errors: 1.8.1
+ resolve-path: 1.4.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /koa-static@5.0.0:
+ resolution: {integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==}
+ engines: {node: '>= 7.6.0'}
+ dependencies:
+ debug: 3.2.7
+ koa-send: 5.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /koa@2.15.3:
+ resolution: {integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==}
+ engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4}
+ dependencies:
+ accepts: 1.3.8
+ cache-content-type: 1.0.1
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookies: 0.9.1
+ debug: 4.4.0
+ delegates: 1.0.0
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ fresh: 0.5.2
+ http-assert: 1.5.0
+ http-errors: 1.8.1
+ is-generator-function: 1.1.0
+ koa-compose: 4.1.0
+ koa-convert: 2.0.0
+ on-finished: 2.4.1
+ only: 0.0.2
+ parseurl: 1.3.3
+ statuses: 1.5.0
+ type-is: 1.6.18
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+ dev: true
+
/lilconfig@3.1.3:
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
- dev: true
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- dev: true
/lodash-es@4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
dev: false
+ /log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+ dev: true
+
/lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /lucide-vue-next@0.411.0(vue@3.5.13):
+ resolution: {integrity: sha512-fqShZsIt3HT9eHrvb4uGMpmxD7gtMXs9C4aVDy3A2RsDFShIJ+VJhEhKL4PdWW2+HLaH2ivn4Vo7wbTmfYbEWg==}
+ peerDependencies:
+ vue: '>=3.0.1'
+ dependencies:
+ vue: 3.5.13
+ dev: false
+
+ /magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ dependencies:
+ sourcemap-codec: 1.4.8
dev: true
/magic-string@0.30.17:
@@ -1935,6 +2875,10 @@ packages:
/mark.js@8.11.1:
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
+
+ /math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
dev: true
/mdast-util-to-hast@13.2.0:
@@ -1949,23 +2893,34 @@ packages:
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
vfile: 6.0.3
+
+ /media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /merge-source-map@1.1.0:
+ resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==}
+ dependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
dev: true
/merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- dev: true
/micromark-util-character@2.1.1:
resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
dependencies:
micromark-util-symbol: 2.0.1
micromark-util-types: 2.0.1
- dev: true
/micromark-util-encode@2.0.1:
resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
- dev: true
/micromark-util-sanitize-uri@2.0.1:
resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
@@ -1973,15 +2928,12 @@ packages:
micromark-util-character: 2.1.1
micromark-util-encode: 2.0.1
micromark-util-symbol: 2.0.1
- dev: true
/micromark-util-symbol@2.0.1:
resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
- dev: true
/micromark-util-types@2.0.1:
resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==}
- dev: true
/micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
@@ -1989,6 +2941,28 @@ packages:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
+
+ /mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
dev: true
/minimatch@9.0.5:
@@ -1996,19 +2970,23 @@ packages:
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
brace-expansion: 2.0.1
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
/minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
- dev: true
/minisearch@7.1.1:
resolution: {integrity: sha512-b3YZEYCEH4EdCAtYP7OlDyx7FdPwNzuNwLQ34SfJpM9dlbBZzeXndGavTrC+VCiRWomL21SWfMc6SCKO/U2ZNw==}
- dev: true
/mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
dev: true
/mz@2.7.0:
@@ -2017,13 +2995,28 @@ packages:
any-promise: 1.3.0
object-assign: 4.1.1
thenify-all: 1.6.0
- dev: true
/nanoid@3.3.8:
resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ /nanoid@5.0.9:
+ resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ dev: false
+
+ /negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /node-forge@0.10.0:
+ resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==}
+ engines: {node: '>= 6.0.0'}
+ dev: true
+
/node-releases@2.0.19:
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
dev: true
@@ -2031,21 +3024,45 @@ packages:
/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
- dev: true
/normalize-range@0.1.2:
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
engines: {node: '>=0.10.0'}
dev: true
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
- dev: true
/object-hash@3.0.0:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
+
+ /on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: true
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
dev: true
/oniguruma-to-es@0.8.1:
@@ -2054,20 +3071,65 @@ packages:
emoji-regex-xs: 1.0.0
regex: 5.1.1
regex-recursion: 5.1.1
+
+ /only@0.0.2:
+ resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==}
+ dev: true
+
+ /open@7.4.2:
+ resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+
+ /ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ dev: true
+
+ /p-map-series@2.1.0:
+ resolution: {integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==}
+ engines: {node: '>=8'}
dev: true
/package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ /parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
dev: true
/path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+
+ /path-match@1.2.4:
+ resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==}
+ dependencies:
+ http-errors: 1.4.0
+ path-to-regexp: 1.9.0
dev: true
/path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: true
/path-scurry@1.11.1:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
@@ -2075,10 +3137,23 @@ packages:
dependencies:
lru-cache: 10.4.3
minipass: 7.1.2
+
+ /path-to-regexp@1.9.0:
+ resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==}
+ dependencies:
+ isarray: 0.0.1
+ dev: true
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
dev: true
/perfect-debounce@1.0.0:
resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
+ /picocolors@0.2.1:
+ resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
dev: true
/picocolors@1.1.1:
@@ -2087,17 +3162,14 @@ packages:
/picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- dev: true
/pify@2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
- dev: true
/pirates@4.0.6:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
- dev: true
/point-in-polygon-hao@1.2.4:
resolution: {integrity: sha512-x2pcvXeqhRHlNRdhLs/tgFapAbSSe86wa/eqmj1G6pWftbEs5aVRJhRGM6FYSUERKu0PjekJzMq0gsI2XyiclQ==}
@@ -2112,6 +3184,23 @@ packages:
'@babel/runtime': 7.26.0
dev: false
+ /postcss-discard-comments@4.0.2:
+ resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ postcss: 7.0.39
+ dev: true
+
+ /postcss-import@12.0.1:
+ resolution: {integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ postcss: 7.0.39
+ postcss-value-parser: 3.3.1
+ read-cache: 1.0.0
+ resolve: 1.22.10
+ dev: true
+
/postcss-import@15.1.0(postcss@8.4.49):
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'}
@@ -2122,7 +3211,6 @@ packages:
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.10
- dev: true
/postcss-js@4.0.1(postcss@8.4.49):
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
@@ -2132,6 +3220,22 @@ packages:
dependencies:
camelcase-css: 2.0.1
postcss: 8.4.49
+
+ /postcss-load-config@3.1.4(postcss@8.4.49):
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.1.0
+ postcss: 8.4.49
+ yaml: 1.10.2
dev: true
/postcss-load-config@4.0.2(postcss@8.4.49):
@@ -2149,7 +3253,6 @@ packages:
lilconfig: 3.1.3
postcss: 8.4.49
yaml: 2.6.1
- dev: true
/postcss-nested@6.2.0(postcss@8.4.49):
resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
@@ -2159,7 +3262,6 @@ packages:
dependencies:
postcss: 8.4.49
postcss-selector-parser: 6.1.2
- dev: true
/postcss-selector-parser@6.1.2:
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
@@ -2167,10 +3269,20 @@ packages:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
+
+ /postcss-value-parser@3.3.1:
+ resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==}
dev: true
/postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ /postcss@7.0.39:
+ resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ picocolors: 0.2.1
+ source-map: 0.6.1
dev: true
/postcss@8.4.49:
@@ -2183,24 +3295,63 @@ packages:
/preact@10.25.3:
resolution: {integrity: sha512-dzQmIFtM970z+fP9ziQ3yG4e3ULIbwZzJ734vaMVUTaKQ2+Ru1Ou/gjshOYVHCcd1rpAelC6ngjvjDXph98unQ==}
- dev: true
/property-information@6.5.0:
resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+
+ /pump@3.0.2:
+ resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
dev: true
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
+
+ /radix-vue@1.9.12(vue@3.5.13):
+ resolution: {integrity: sha512-zkr66Jqxbej4+oR6O/pZRzyM/VZi66ndbyIBZQjJKAXa1lIoYReZJse6W1EEDZKXknD7rXhpS+jM9Sr23lIqfg==}
+ peerDependencies:
+ vue: '>= 3.2.0'
+ dependencies:
+ '@floating-ui/dom': 1.6.12
+ '@floating-ui/vue': 1.1.5(vue@3.5.13)
+ '@internationalized/date': 3.6.0
+ '@internationalized/number': 3.6.0
+ '@tanstack/vue-virtual': 3.11.2(vue@3.5.13)
+ '@vueuse/core': 10.11.1(vue@3.5.13)
+ '@vueuse/shared': 10.11.1(vue@3.5.13)
+ aria-hidden: 1.2.4
+ defu: 6.1.4
+ fast-deep-equal: 3.1.3
+ nanoid: 5.0.9
+ vue: 3.5.13
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ dev: false
/rafor@1.0.2:
resolution: {integrity: sha512-b8e8/srbSbC0FZTxivEz9pj5z1mQM8CpCEv1aAxuaK26ljSOHJk8AjimcTaHpHIZlwH/VPbli12LuKKrJyyGmA==}
dev: false
+ /randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
/read-cache@1.0.0:
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
dependencies:
pify: 2.3.0
+
+ /readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
dev: true
/readdirp@3.6.0:
@@ -2208,7 +3359,6 @@ packages:
engines: {node: '>=8.10.0'}
dependencies:
picomatch: 2.3.1
- dev: true
/regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
@@ -2219,16 +3369,25 @@ packages:
dependencies:
regex: 5.1.1
regex-utilities: 2.3.0
- dev: true
/regex-utilities@2.3.0:
resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
- dev: true
/regex@5.1.1:
resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==}
dependencies:
regex-utilities: 2.3.0
+
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: true
+
+ /resolve-path@1.4.0:
+ resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ http-errors: 1.6.3
+ path-is-absolute: 1.0.1
dev: true
/resolve-pkg-maps@1.0.0:
@@ -2243,21 +3402,85 @@ packages:
is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
+
+ /restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
dev: true
/reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
/rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
- dev: true
/robust-predicates@3.0.2:
resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
dev: false
+ /rollup-plugin-dynamic-import-variables@1.1.0(rollup@2.79.2):
+ resolution: {integrity: sha512-C1avEmnXC8cC4aAQ5dB63O9oQf7IrhEHc98bQw9Qd6H36FxtZooLCvVfcO4SNYrqaNrzH3ErucQt/zdFSLPHNw==}
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ estree-walker: 2.0.2
+ globby: 11.1.0
+ magic-string: 0.25.9
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /rollup-plugin-terser@7.0.2(rollup@2.79.2):
+ resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
+ peerDependencies:
+ rollup: ^2.0.0
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ jest-worker: 26.6.2
+ rollup: 2.79.2
+ serialize-javascript: 4.0.0
+ terser: 5.37.0
+ dev: true
+
+ /rollup-plugin-vue@6.0.0(@vue/compiler-sfc@3.5.13):
+ resolution: {integrity: sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q==}
+ peerDependencies:
+ '@vue/compiler-sfc': '*'
+ dependencies:
+ '@vue/compiler-sfc': 3.5.13
+ debug: 4.4.0
+ hash-sum: 2.0.0
+ rollup-pluginutils: 2.8.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /rollup-plugin-web-worker-loader@1.6.1(rollup@2.79.2):
+ resolution: {integrity: sha512-4QywQSz1NXFHKdyiou16mH3ijpcfLtLGOrAqvAqu1Gx+P8+zj+3gwC2BSL/VW1d+LW4nIHC8F7d7OXhs9UdR2A==}
+ peerDependencies:
+ rollup: ^1.9.2 || ^2.0.0
+ dependencies:
+ rollup: 2.79.2
+ dev: true
+
+ /rollup-pluginutils@2.8.2:
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+ dependencies:
+ estree-walker: 0.6.1
+ dev: true
+
+ /rollup@2.79.2:
+ resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
/rollup@4.29.1:
resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -2285,16 +3508,46 @@ packages:
'@rollup/rollup-win32-ia32-msvc': 4.29.1
'@rollup/rollup-win32-x64-msvc': 4.29.1
fsevents: 2.3.3
- dev: true
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
queue-microtask: 1.2.3
+
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: true
+
+ /safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bound: 1.0.3
+ es-errors: 1.3.0
+ is-regex: 1.2.1
dev: true
/search-insights@2.17.3:
resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
+
+ /selfsigned@1.10.14:
+ resolution: {integrity: sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==}
+ dependencies:
+ node-forge: 0.10.0
+ dev: true
+
+ /serialize-javascript@4.0.0:
+ resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
+ dependencies:
+ randombytes: 2.1.0
+ dev: true
+
+ /setprototypeof@1.1.0:
+ resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
+ dev: true
+
+ /setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
dev: true
/shebang-command@2.0.0:
@@ -2302,12 +3555,10 @@ packages:
engines: {node: '>=8'}
dependencies:
shebang-regex: 3.0.0
- dev: true
/shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- dev: true
/shiki@1.24.4:
resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==}
@@ -2318,28 +3569,64 @@ packages:
'@shikijs/types': 1.24.4
'@shikijs/vscode-textmate': 9.3.1
'@types/hast': 3.0.4
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
dev: true
/signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
- dev: true
/simplesignal@2.1.7:
resolution: {integrity: sha512-PEo2qWpUke7IMhlqiBxrulIFvhJRLkl1ih52Rwa+bPjzhJepcd4GIjn2RiQmFSx3dQvsEAgF0/lXMwMN7vODaA==}
dev: false
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+ dev: true
+
/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==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+ dev: true
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+ dev: true
+
/space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
- dev: true
/speakingurl@14.0.1:
resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
engines: {node: '>=0.10.0'}
+
+ /sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ dev: true
+
+ /statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
dev: true
/string-width@4.2.3:
@@ -2349,7 +3636,6 @@ packages:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- dev: true
/string-width@5.1.2:
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
@@ -2358,6 +3644,11 @@ packages:
eastasianwidth: 0.2.0
emoji-regex: 9.2.2
strip-ansi: 7.1.0
+
+ /string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
dev: true
/stringify-entities@4.0.4:
@@ -2365,20 +3656,22 @@ packages:
dependencies:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
- dev: true
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
dependencies:
ansi-regex: 5.0.1
- dev: true
/strip-ansi@7.1.0:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
dependencies:
ansi-regex: 6.1.0
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
dev: true
/sucrase@3.35.0:
@@ -2393,23 +3686,38 @@ packages:
mz: 2.7.0
pirates: 4.0.6
ts-interface-checker: 0.1.13
- dev: true
/superjson@2.2.2:
resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
engines: {node: '>=16'}
dependencies:
copy-anything: 3.0.5
+
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
dev: true
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- dev: true
/tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
- dev: true
+
+ /tailwind-merge@2.6.0:
+ resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
+ dev: false
+
+ /tailwindcss-animate@1.0.7(tailwindcss@3.4.17):
+ resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+ dependencies:
+ tailwindcss: 3.4.17
+ dev: false
/tailwindcss@3.4.17:
resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
@@ -2440,6 +3748,16 @@ packages:
sucrase: 3.35.0
transitivePeerDependencies:
- ts-node
+
+ /terser@5.37.0:
+ resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.6
+ acorn: 8.14.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
dev: true
/thenify-all@1.6.0:
@@ -2447,13 +3765,11 @@ packages:
engines: {node: '>=0.8'}
dependencies:
thenify: 3.3.1
- dev: true
/thenify@3.3.1:
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
dependencies:
any-promise: 1.3.0
- dev: true
/three-conic-polygon-geometry@2.0.1(three@0.172.0):
resolution: {integrity: sha512-SIOfABS2uFY+ciOda8a4KbSYdBa8tn+dus90nuFI9LOAd3c1AYZ9G2+u+by68dlmFmIjPw2n7Bfdw1dY2fKfVw==}
@@ -2534,20 +3850,32 @@ packages:
engines: {node: '>=8.0'}
dependencies:
is-number: 7.0.0
+
+ /toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /tosource@2.0.0-alpha.3:
+ resolution: {integrity: sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug==}
+ engines: {node: '>=10'}
dev: true
/trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
- dev: true
/ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- dev: true
/tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
dev: false
+ /tsscmp@1.0.6:
+ resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}
+ engines: {node: '>=0.6.x'}
+ dev: true
+
/tsx@4.19.2:
resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==}
engines: {node: '>=18.0.0'}
@@ -2559,34 +3887,37 @@ packages:
fsevents: 2.3.3
dev: true
+ /type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+ dev: true
+
/undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
- dev: true
/unist-util-is@6.0.0:
resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
dependencies:
'@types/unist': 3.0.3
- dev: true
/unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
dependencies:
'@types/unist': 3.0.3
- dev: true
/unist-util-stringify-position@4.0.0:
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
dependencies:
'@types/unist': 3.0.3
- dev: true
/unist-util-visit-parents@6.0.1:
resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
dependencies:
'@types/unist': 3.0.3
unist-util-is: 6.0.0
- dev: true
/unist-util-visit@5.0.0:
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
@@ -2594,6 +3925,10 @@ packages:
'@types/unist': 3.0.3
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
+
+ /universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
dev: true
/update-browserslist-db@1.1.1(browserslist@4.24.3):
@@ -2609,6 +3944,10 @@ packages:
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ /vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
dev: true
/vfile-message@4.0.2:
@@ -2616,13 +3955,91 @@ packages:
dependencies:
'@types/unist': 3.0.3
unist-util-stringify-position: 4.0.0
- dev: true
/vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
dependencies:
'@types/unist': 3.0.3
vfile-message: 4.0.2
+
+ /vite-plugin-yaml@1.0.5(vite@1.0.0-rc.13):
+ resolution: {integrity: sha512-LeA1EalMmGnblEqbSvU0PZea38O7FPn0BnTab6vyBovZcJppzGnzK5sAocMknayu98Uxu9id6m4fC9//B9ZReQ==}
+ deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
+ peerDependencies:
+ vite: ^1.0.0-rc.13
+ dependencies:
+ js-yaml: 3.14.1
+ tosource: 2.0.0-alpha.3
+ vite: 1.0.0-rc.13(postcss@8.4.49)
+ dev: true
+
+ /vite@1.0.0-rc.13(postcss@8.4.49):
+ resolution: {integrity: sha512-hLfTbhNPDhwXMCAWR6s6C79G/O8Is0MbslglgoHSQsRby+KnqHgtHChCVBHFeV2oZBV/3xhHhnfm94BDPFe8Ww==}
+ engines: {node: '>=10.16.0'}
+ hasBin: true
+ dependencies:
+ '@babel/parser': 7.26.3
+ '@koa/cors': 3.4.3
+ '@rollup/plugin-commonjs': 16.0.0(rollup@2.79.2)
+ '@rollup/plugin-json': 4.1.0(rollup@2.79.2)
+ '@rollup/plugin-node-resolve': 10.0.0(rollup@2.79.2)
+ '@rollup/pluginutils': 4.2.1
+ '@types/http-proxy': 1.17.15
+ '@types/koa': 2.15.0
+ '@types/lru-cache': 5.1.1
+ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-sfc': 3.5.13
+ brotli-size: 4.0.0
+ cac: 6.7.14
+ chalk: 4.1.2
+ chokidar: 3.6.0
+ clean-css: 4.2.4
+ debug: 4.4.0
+ dotenv: 8.6.0
+ dotenv-expand: 5.1.0
+ es-module-lexer: 0.3.26
+ esbuild: 0.8.57
+ etag: 1.8.1
+ execa: 4.1.0
+ fs-extra: 9.1.0
+ hash-sum: 2.0.0
+ isbuiltin: 1.0.0
+ klona: 2.0.6
+ koa: 2.15.3
+ koa-conditional-get: 3.0.0
+ koa-etag: 4.0.0
+ koa-proxies: 0.11.0(debug@4.4.0)(koa@2.15.3)
+ koa-send: 5.0.1
+ koa-static: 5.0.0
+ lru-cache: 6.0.0
+ magic-string: 0.25.9
+ merge-source-map: 1.1.0
+ mime-types: 2.1.35
+ minimist: 1.2.8
+ open: 7.4.2
+ ora: 5.4.1
+ p-map-series: 2.1.0
+ postcss-discard-comments: 4.0.2
+ postcss-import: 12.0.1
+ postcss-load-config: 3.1.4(postcss@8.4.49)
+ resolve: 1.22.10
+ rollup: 2.79.2
+ rollup-plugin-dynamic-import-variables: 1.1.0(rollup@2.79.2)
+ rollup-plugin-terser: 7.0.2(rollup@2.79.2)
+ rollup-plugin-vue: 6.0.0(@vue/compiler-sfc@3.5.13)
+ rollup-plugin-web-worker-loader: 1.6.1(rollup@2.79.2)
+ selfsigned: 1.10.14
+ slash: 3.0.0
+ source-map: 0.7.4
+ vue: 3.5.13
+ ws: 7.5.10
+ transitivePeerDependencies:
+ - bufferutil
+ - postcss
+ - supports-color
+ - ts-node
+ - typescript
+ - utf-8-validate
dev: true
/vite@5.4.11(@types/node@22.10.2):
@@ -2662,7 +4079,26 @@ packages:
rollup: 4.29.1
optionalDependencies:
fsevents: 2.3.3
- dev: true
+
+ /vitepress-openapi@0.0.3-alpha.55(tailwindcss@3.4.17)(vitepress@1.5.0)(vue@3.5.13):
+ resolution: {integrity: sha512-4rvLEX9g/7JyQMLDGlW0EP/11Z5ZA6P7kLw7A2RTKy1rYINO/OvRBEBMhBmHb9r9+himdGiGfgi/LB5lr7GBLw==}
+ peerDependencies:
+ vitepress: '>=1.0.0'
+ vue: ^3.0.0
+ dependencies:
+ '@vueuse/core': 10.11.1(vue@3.5.13)
+ class-variance-authority: 0.7.1
+ clsx: 2.1.1
+ lucide-vue-next: 0.411.0(vue@3.5.13)
+ radix-vue: 1.9.12(vue@3.5.13)
+ tailwind-merge: 2.6.0
+ tailwindcss-animate: 1.0.7(tailwindcss@3.4.17)
+ vitepress: 1.5.0(@algolia/client-search@5.18.0)(@types/node@22.10.2)(postcss@8.4.49)(search-insights@2.17.3)
+ vue: 3.5.13
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - tailwindcss
+ dev: false
/vitepress@1.5.0(@algolia/client-search@5.18.0)(@types/node@22.10.2)(postcss@8.4.49)(search-insights@2.17.3):
resolution: {integrity: sha512-q4Q/G2zjvynvizdB3/bupdYkCJe2umSAMv9Ju4d92E6/NXJ59z70xB0q5p/4lpRyAwflDsbwy1mLV9Q5+nlB+g==}
@@ -2722,7 +4158,6 @@ packages:
- terser
- typescript
- universal-cookie
- dev: true
/vue-demi@0.14.10(vue@3.5.13):
resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
@@ -2737,7 +4172,6 @@ packages:
optional: true
dependencies:
vue: 3.5.13
- dev: true
/vue@3.5.13:
resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
@@ -2753,13 +4187,18 @@ packages:
'@vue/server-renderer': 3.5.13(vue@3.5.13)
'@vue/shared': 3.5.13
+ /wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ dependencies:
+ defaults: 1.0.4
+ dev: true
+
/which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
dependencies:
isexe: 2.0.0
- dev: true
/wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
@@ -2768,7 +4207,6 @@ packages:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- dev: true
/wrap-ansi@8.1.0:
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
@@ -2777,13 +4215,37 @@ packages:
ansi-styles: 6.2.1
string-width: 5.1.2
strip-ansi: 7.1.0
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: true
+
+ /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
+ dev: true
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ dev: true
+
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
dev: true
/yaml@2.6.1:
resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==}
engines: {node: '>= 14'}
hasBin: true
- dev: true
/yaot@1.1.3:
resolution: {integrity: sha512-AE8LInj21hTuA01RUK+9pSsl0ltQXO+rxn4Q+CJT4+NI/X7dhGGblF7vvzGj6ro0qXRCGAE/7ccEfu6S4DJayw==}
@@ -2791,6 +4253,10 @@ packages:
rafor: 1.0.2
dev: false
+ /ylru@1.4.0:
+ resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
/zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
- dev: true