diff --git a/.wundergraph/operations/Cloudron.graphql b/.wundergraph/operations/Cloudron.graphql new file mode 100644 index 0000000..dc03801 --- /dev/null +++ b/.wundergraph/operations/Cloudron.graphql @@ -0,0 +1,5 @@ +query { + cloudron_getProfile { + email + } +} diff --git a/.wundergraph/operations/Dragons.graphql b/.wundergraph/operations/Dragons.graphql deleted file mode 100644 index f4747a4..0000000 --- a/.wundergraph/operations/Dragons.graphql +++ /dev/null @@ -1,6 +0,0 @@ -query Dragons { - spacex_dragons { - name - active - } -} diff --git a/.wundergraph/operations/Me.graphql b/.wundergraph/operations/Me.graphql new file mode 100644 index 0000000..cb0d8f2 --- /dev/null +++ b/.wundergraph/operations/Me.graphql @@ -0,0 +1,11 @@ +query { + system_db_users_me { + id + first_name + last_name + avatar { + id + } + external_identifier + } +} diff --git a/.wundergraph/schemas/cloudron.json b/.wundergraph/schemas/cloudron.json new file mode 100644 index 0000000..807ad59 --- /dev/null +++ b/.wundergraph/schemas/cloudron.json @@ -0,0 +1,5195 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Cloudron API", + "version": "1.0.0", + "contact": { + "url": "https://forum.cloudron.io" + }, + "x-logo": { + "url": "/img/cloudron-banner.png" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "description": "# Introduction\n\nCloudron provides a RESTful API to manage apps, users, groups, domains and other resources.\n\nAll of the functionality in the Cloudron Dashboard is available through the API, allowing you to script complex actions.\n\nIf you are an app developer, the [Cloudron CLI tool](https://www.npmjs.com/package/cloudron) implements a workflow that allows\nyou to develop apps on your Cloudron. The CLI tool uses the REST API documented here.\n\n## Requests\n\nThe API follows standard HTTP REST API conventions.\n\n|Method|Usage|\n|--- |--- |\n|GET| Retrieveal operations |\n|DELETE| Destroys a resource |\n|POST| Create new objects or start a new task. Also used to update parts of a resource |\n|PUT| Idempotent operation that replaces a resource |\n|PATCH| API does not support PATCH |\n|HEAD| Read response headers and get no response |\n\n## HTTP Statuses\n\nThe API follows standard HTTP REST API response conventions.\n\n2xx responses indicate success. 4xx responses indicate request errors. 5xx responses indicate server errors.\n\n|Name|Description|\n|--- |--- |\n|200 | Success. Operation succeeded, response body contains more information |\n|204 | Success. Operation succeeded, empty response body |\n|401 | Access Denied. Unauthorized API call|\n|403 | Forbidden. Authorized but operation not permitted |\n|5xx | Internal Server error |\n\n## Pagination\n\nWhen listing objects, query parameters `page` and `per_page` can be passed in. Note that these parameters have index\nstarting from 1.\n\n## API Token\n\nTo use the REST API, you must first create an [API token](https://docs.cloudron.io/profile/#api-tokens). This token can be provided\nin two ways:\n * Via the request query parameter `?access_token=`\n * Via the Authorization header `Bearer `\n\nAPI Tokens can be create as `Readonly` or `Read and Write`. With `Readonly` token only GET operations can be performed.\n\n## cURL Examples\n\nWe use `curl` to demonstrate how to use the API. The Cloudron Dashboard Domain and the API Token are variable fields.\nYou can export them in your shell as follows:\n\n```\nexport CLOUDRON_DOMAIN=my.domain.com\nexport CLOUDRON_TOKEN=your_token_here\n```\n\nTo list the domains using cURL and the `Authorization` header:\n\n```\n curl -H 'ContentType: application/json' -H 'Authorization: Bearer $CLOUDRON_TOKEN' https://$CLOUDRON_DOMAIN/api/v1/domains\n```\n\nAlternately, to use the query parameter:\n\n```\n curl -H 'ContentType: application/json' 'https://$CLOUDRON_DOMAIN/api/v1/domains?access_token=$CLOUDRON_TOKEN'\n```\n\n# Authorization\n\n\n" + }, + "servers": [ + { + "url": "https://my.andert.me/api/v1", + "description": "Cloudron API", + "variables": { + "cloudron_domain": { + "default": "my.andert.me", + "description": "The Cloudron Dashboard Domain" + } + } + } + ], + "components": { + "securitySchemes": { + "bearer_auth": { + "type": "http", + "scheme": "bearer", + "description": "To use the Bearer Authentication, you must first create an [API token](https://docs.cloudron.io/profile/#api-tokens).\nThe API Token can be passed via the Authorization header `Bearer `:\n```\n curl -H 'ContentType: application/json' -H 'Authorization: Bearer $CLOUDRON_TOKEN' https://$CLOUDRON_DOMAIN/api/v1/domains\n```\n" + }, + "query_auth": { + "type": "apiKey", + "name": "access_token", + "in": "query", + "description": "To use the Query Parameter Authentication, you must first create an [API token](https://docs.cloudron.io/profile/#api-tokens).\nThe API Token can be passed via the `access_token` query parameter:\n```\n curl -H 'ContentType: application/json' 'https://$CLOUDRON_DOMAIN/api/v1/domains?access_token=$CLOUDRON_TOKEN'\n```\n" + } + }, + "parameters": { + "PaginationPage": { + "name": "page", + "in": "query", + "description": "Page number", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "PaginationPerPage": { + "name": "per_page", + "in": "query", + "description": "Items per page", + "schema": { + "type": "integer", + "minimum": 1, + "default": 25 + } + }, + "passwordId": { + "name": "passwordId", + "in": "path", + "description": "App Password Id", + "required": true, + "schema": { + "type": "string" + } + }, + "eventId": { + "name": "eventId", + "in": "path", + "description": "Event Id", + "required": true, + "schema": { + "type": "string" + } + }, + "notificationId": { + "name": "notificationId", + "in": "path", + "description": "Notification Id", + "required": true, + "schema": { + "type": "string" + } + }, + "userId": { + "name": "userId", + "in": "path", + "description": "User Id", + "required": true, + "schema": { + "type": "string" + } + }, + "taskId": { + "name": "taskId", + "in": "path", + "description": "Task Id", + "required": true, + "schema": { + "type": "string" + } + }, + "logsLines": { + "name": "lines", + "in": "query", + "description": "Number of lines in the log", + "required": false, + "schema": { + "type": "integer", + "default": 10 + } + }, + "logsFormat": { + "name": "format", + "in": "query", + "description": "Format of the lines in the log file", + "required": false, + "schema": { + "type": "string", + "default": "json", + "enum": [ + "json", + "short" + ] + } + }, + "tokenId": { + "name": "tokenId", + "in": "path", + "description": "Token Id", + "required": true, + "schema": { + "type": "string" + } + } + }, + "schemas": { + "AppPassword": { + "description": "App Password", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "App Password Id", + "example": "uid-1bf6f7a0-c909-41f5-96a1-68183a6edd8b" + }, + "name": { + "type": "string", + "description": "A label/display name for the the password", + "example": "Password For Nextcloud mobile app" + }, + "userId": { + "type": "string", + "description": "The userId that this password will authenticate", + "example": "uid-743e4cee-448e-4f82-b880-8a530265b1e5" + }, + "identifier": { + "type": "string", + "description": "The application that this password will authenticate. This can be an app id or `mail`", + "example": "743e4cee-448e-4f82-b880-8a530265b1e5" + }, + "creationTime": { + "type": "string", + "description": "Time when notification was created", + "example": "2022-03-05T02:30:00.000Z" + } + } + }, + "error": { + "type": "object", + "properties": { + "status": { + "description": "A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 401 status code would be \"Unauthorized\".", + "type": "string", + "example": "HTTP Status Message" + }, + "message": { + "description": "A message providing additional information about the error, including details to help resolve it when possible.", + "type": "string", + "example": "Something bad happenned" + } + }, + "required": [ + "status", + "message" + ] + }, + "name": { + "type": "string", + "description": "A label/display name for the the password", + "example": "Password For Nextcloud mobile app" + }, + "identifier": { + "type": "string", + "description": "The application that this password will authenticate. This can be an app id or `mail`", + "example": "743e4cee-448e-4f82-b880-8a530265b1e5" + }, + "id": { + "type": "string", + "description": "App Password Id", + "example": "uid-1bf6f7a0-c909-41f5-96a1-68183a6edd8b" + }, + "no_content": { + "type": "object" + }, + "Footer": { + "type": "string", + "description": "The footer is a markdown string. It can be templated with the following variables:\n * `%YEAR%` - the current year\n * `%VERSION%` - current Cloudron version\n", + "example": "All Rights Reserved (c) 2010-%YEAR%" + }, + "IpEntries": { + "description": "Newline separated list of IP entries. Each entry is an IP address or an IP address range in CIDR notation. Lines starting with `#` are treated as comments.\n", + "type": "string", + "example": "# This is a IPv4 range\n5.75.0.0/16\n# This is an IPv6 address\n2604:a880:1:4a::2:7000" + }, + "DirectoryServerConfig": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "If Directory Server is enabled", + "example": true + }, + "secret": { + "type": "string", + "description": "Password for authenticating with the Directory Server", + "example": true + }, + "allowlist": { + "$ref": "#/components/schemas/IpEntries" + } + }, + "required": [ + "enabled" + ] + }, + "RegistryConfig": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Docker Registry Provider", + "enum": [ + "aws", + "digitalocean", + "dockerhub", + "google-cloud", + "linode", + "quay", + "treescale", + "other", + "noop" + ], + "example": "digitalocean" + }, + "serverAddress": { + "type": "string", + "description": "Address of the Docker Registry", + "example": "docker.io" + }, + "username": { + "type": "string", + "description": "Username for authenticating with the Docker Registry" + }, + "email": { + "type": "string", + "description": "Email for authenticating with the Docker Registry" + }, + "password": { + "type": "string", + "description": "Password for authenticating with the Docker Registry" + } + }, + "required": [ + "provider" + ] + }, + "action": { + "type": "string", + "description": "Name of an action", + "enum": [ + "app.clone", + "app.configure", + "app.repair", + "app.install", + "app.restore", + "app.import", + "app.uninstall", + "app.update", + "app.update.finish", + "app.backup", + "app.backup.finish", + "app.login", + "app.oom", + "app.up", + "app.down", + "app.start", + "app.stop", + "app.restart", + "backup.finish", + "backup.start", + "backup.cleanup.finish", + "certificate.new", + "certificate.cleanup", + "cloudron.activate", + "cloudron.provision", + "cloudron.install.finish", + "cloudron.start", + "dashboard.domain.update", + "domain.add", + "domain.update", + "domain.remove", + "dyndns.update", + "mail.location", + "mail.enabled", + "mail.disabled", + "mail.box.add", + "mail.box.remove", + "mail.box.update", + "mail.list.add", + "mail.list.remove", + "mail.list.update", + "service.configure", + "service.rebuild", + "service.restart", + "cloudron.update", + "cloudron.update.finish", + "user.add", + "user.login", + "user.login.ghost", + "user.logout", + "user.remove", + "user.update", + "volume.add", + "volume.update", + "volume.remount", + "volume.remove", + "support.ticket", + "support.ssh" + ], + "example": "volume.add" + }, + "Event": { + "description": "Event", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Event Id", + "example": "7f32f714-ad40-4bea-b5e5-e71562679f0c" + }, + "action": { + "type": "string", + "description": "Name of an action", + "enum": [ + "app.clone", + "app.configure", + "app.repair", + "app.install", + "app.restore", + "app.import", + "app.uninstall", + "app.update", + "app.update.finish", + "app.backup", + "app.backup.finish", + "app.login", + "app.oom", + "app.up", + "app.down", + "app.start", + "app.stop", + "app.restart", + "backup.finish", + "backup.start", + "backup.cleanup.finish", + "certificate.new", + "certificate.cleanup", + "cloudron.activate", + "cloudron.provision", + "cloudron.install.finish", + "cloudron.start", + "dashboard.domain.update", + "domain.add", + "domain.update", + "domain.remove", + "dyndns.update", + "mail.location", + "mail.enabled", + "mail.disabled", + "mail.box.add", + "mail.box.remove", + "mail.box.update", + "mail.list.add", + "mail.list.remove", + "mail.list.update", + "service.configure", + "service.rebuild", + "service.restart", + "cloudron.update", + "cloudron.update.finish", + "user.add", + "user.login", + "user.login.ghost", + "user.logout", + "user.remove", + "user.update", + "volume.add", + "volume.update", + "volume.remount", + "volume.remove", + "support.ticket", + "support.ssh" + ], + "example": "volume.add" + }, + "creationTime": { + "type": "string", + "description": "Time when event happenned", + "example": "2022-03-05T02:30:00.000Z" + }, + "source": { + "type": "object", + "description": "Source of the event" + }, + "data": { + "type": "object", + "description": "Additional data about the event" + } + } + }, + "ExternalLdapConfig": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "External LDAP Provider", + "enum": [ + "ad", + "cloudron", + "jumpcloud", + "okta", + "univention", + "other", + "noop" + ], + "example": "jumpcloud" + }, + "url": { + "type": "string", + "description": "Address of the Docker Registry", + "example": "docker.io" + }, + "baseDn": { + "type": "string", + "description": "Base DN for users" + }, + "usernameField": { + "type": "string", + "description": "LDAP Field to use as the username" + }, + "filter": { + "type": "string", + "description": "LDAP Filter to use for filtering users" + }, + "groupBaseDn": { + "type": "string", + "description": "Base DN for groups" + }, + "bindDn": { + "type": "string", + "description": "LDAP authentication username" + }, + "bindPassword": { + "type": "string", + "description": "LDAP authentication password" + } + }, + "required": [ + "provider" + ] + }, + "task_info": { + "type": "object", + "properties": { + "taskId": { + "type": "integer", + "description": "Use the task id to track the status of the task using the Task API", + "example": 295 + } + } + }, + "IPConfigProviderOnly": { + "required": [ + "provider" + ], + "type": "object", + "description": "Specifies the IPConfig provider", + "properties": { + "provider": { + "type": "string", + "description": "The provider type determines how IP address is determined for use in IPv4 (A) or IPv6 (AAAA) records Sort order:\n * `noop` - Disable setting DNS record\n * `fixed` - Use static IP for DNS records\n * `interface` - Use the IP address attached to the interface for DNS records\n * `generic` - Automatically detect public IP by calling `cloudron.io`\n", + "enum": [ + "noop", + "fixed", + "interface", + "generic" + ], + "example": "generic" + } + } + }, + "FixedProvider": { + "allOf": [ + { + "$ref": "#/components/schemas/IPConfigProviderOnly" + }, + { + "type": "object", + "properties": { + "ip": { + "type": "string", + "description": "A fixed IPv4 or IPv6 Address", + "example": "3.4.6.7" + } + } + } + ] + }, + "NetworkInterfaceProvider": { + "allOf": [ + { + "$ref": "#/components/schemas/IPConfigProviderOnly" + }, + { + "type": "object", + "description": "Disables setting of IPv4 or IPv6 DNS records", + "properties": { + "iface": { + "type": "string", + "description": "Interface name", + "example": "eth1" + } + } + } + ] + }, + "IPConfig": { + "type": "object", + "discriminator": { + "propertyName": "provider", + "mapping": { + "noop": "#/components/schemas/IPConfigProviderOnly", + "fixed": "#/components/schemas/FixedProvider", + "network-interface": "#/components/schemas/NetworkInterfaceProvider", + "generic": "#/components/schemas/IPConfigProviderOnly" + } + }, + "oneOf": [ + { + "$ref": "#/components/schemas/IPConfigProviderOnly" + }, + { + "$ref": "#/components/schemas/FixedProvider" + }, + { + "$ref": "#/components/schemas/NetworkInterfaceProvider" + } + ] + }, + "Notification": { + "description": "Notification", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Notification Id", + "example": "50" + }, + "eventId": { + "type": "string", + "description": "EventId from Eventlog", + "example": "051ceb23-5003-4b03-b46e-521611b02a1c" + }, + "title": { + "type": "string", + "description": "Subject of the notification", + "example": "Reboot Required" + }, + "message": { + "type": "string", + "description": "Notification message in markdown format", + "example": "To finish ubuntu security updates, a reboot is necessary." + }, + "creationTime": { + "type": "string", + "description": "Time when notification was created", + "example": "2022-03-05T02:30:00.000Z" + }, + "acknowledged": { + "type": "boolean", + "description": "Whether notification was acknowledged by user or not", + "example": false + } + } + }, + "Profile": { + "type": "object", + "description": "The user's profile", + "properties": { + "id": { + "type": "string", + "description": "Unique user id", + "readOnly": true + }, + "username": { + "type": "string", + "description": "Unique username", + "readOnly": true, + "example": "messi" + }, + "email": { + "type": "string", + "description": "Unique email address", + "example": "goat@football.com" + }, + "fallbackEmail": { + "type": "string", + "description": "Unique fallback email address. This is the address password reset is sent to. This requires the `password` field to be set to the user's current password.\n", + "example": "goat@soccer.com" + }, + "password": { + "type": "string", + "description": "When trying to change the `fallbackEmail`, set this field to the user's current password", + "writeOnly": true + }, + "displayName": { + "type": "string", + "description": "Full name of the user", + "example": "Lionel Messi" + }, + "twoFactorAuthenticationEnabled": { + "type": "boolean", + "description": "Whether user has enabled 2FA", + "readOnly": true + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "usermanager", + "mailmanager", + "user" + ], + "description": "User's role determines the resources they have access to", + "readOnly": true + }, + "hasBackgroundImage": { + "type": "boolean", + "description": "Whether user has a custom dashboard background image", + "readOnly": true + }, + "avatarUrl": { + "type": "string", + "description": "URL to user's avatar (icon) . This can be:\n * Empty string - if user has no icon set\n * Gravatar URL - external URL if user chose Gravatar\n * Custom Avatar URL - a link to the [custom avatar](#operation/getCustomAvatar) endpoint\n", + "readOnly": true + }, + "source": { + "type": "string", + "description": "Authentication source", + "example": "ldap", + "readOnly": true + } + } + }, + "type": { + "type": "string", + "description": "Type of task", + "enum": [ + "app", + "backup", + "update", + "checkCerts", + "syncDyndns", + "prepareDashboardLocation", + "cleanBackups", + "syncExternalLdap", + "changeMailLocation", + "syncDnsRecords", + "updateDiskUsage" + ], + "example": "cleanBackups" + }, + "Task": { + "description": "Task", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Task Id", + "example": "364" + }, + "type": { + "type": "string", + "description": "Type of task", + "enum": [ + "app", + "backup", + "update", + "checkCerts", + "syncDyndns", + "prepareDashboardLocation", + "cleanBackups", + "syncExternalLdap", + "changeMailLocation", + "syncDnsRecords", + "updateDiskUsage" + ], + "example": "cleanBackups" + }, + "percent": { + "type": "integer", + "description": "Task progress", + "minimum": 1, + "maximum": 100 + }, + "message": { + "type": "string", + "description": "Progress message", + "example": "Checking expired certs for removal" + }, + "error": { + "type": "object", + "description": "If the task errored, this contains the error", + "properties": { + "message": { + "type": "string", + "description": "Error message" + }, + "code": { + "type": "integer", + "description": "Error code. Possible codes are `stopped`, `crashed` & `timeout`" + } + } + }, + "active": { + "type": "boolean", + "description": "If the task is currently running" + }, + "pending": { + "type": "boolean", + "description": "If the task is scheduled to run" + }, + "creationTime": { + "type": "string", + "description": "Time when task was created", + "example": "2023-09-07T13:18:35.000Z" + }, + "result": { + "type": "object", + "description": "Result of the task. The fields depends on the type type" + }, + "ts": { + "type": "string", + "description": "Time when task was last updated", + "example": "2023-09-07T13:18:35.000Z" + }, + "success": { + "type": "boolean", + "description": "If the task succeeded. If it succeeded, the `result` contains the result. Otherwise, `error` contains the error message" + } + } + }, + "LogStreamSSE": { + "description": "[Server Side Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) compatible event stream\n", + "type": "array", + "format": "event-stream", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "realtimeTimestamp": { + "type": "number" + }, + "message": { + "type": "string" + } + } + } + } + } + ] + } + }, + "Token": { + "description": "Token", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Token Id", + "example": "tid-f3694710-ec08-4352-b8bc-b094ae40a0f4" + }, + "name": { + "type": "string", + "description": "A label/display name for the the token", + "example": "Token For Automation" + }, + "accessToken": { + "type": "string", + "description": "The access token that can be used for authentication", + "example": "yeRpaRKtJwYJMglFAouYmpoRuN8syAmWXW75ca57AdO" + }, + "identifier": { + "type": "string", + "description": "Owner of the token. Typically the user id", + "example": "uid-743e4cee-448e-4f82-b880-8a530265b1e5" + }, + "clientId": { + "type": "string", + "description": "Client ID for whom the token has been issued", + "example": "cid-sdk" + }, + "expires": { + "type": "integer", + "description": "Time (epoch) when the token expires", + "example": 1725615073184 + }, + "lastUsedAt": { + "type": "string", + "description": "Time when token was last used", + "example": "2023-09-07T13:18:35.000Z" + }, + "scope": { + "type": "object", + "description": "Token permissions. This is a map of routes with r (read) or rw (read write) permission", + "example": { + "*": "rw" + } + } + } + }, + "properties-name": { + "type": "string", + "description": "A label/display name for the the token", + "example": "Token For Automation" + }, + "expires": { + "type": "integer", + "description": "Time (epoch) when the token expires", + "example": 1725615073184 + }, + "scope": { + "type": "object", + "description": "Token permissions. This is a map of routes with r (read) or rw (read write) permission", + "example": { + "*": "rw" + } + }, + "BoxUpdateInfo": { + "type": "object", + "description": "Cloudron Update Information", + "properties": { + "version": { + "type": "string", + "description": "The SemVer Version of the next Cloudron release" + }, + "changelog": { + "type": "array", + "description": "Array of change log lines", + "items": { + "type": "string" + } + }, + "sourceTarballUrl": { + "type": "string", + "description": "URL to download release tarball" + }, + "sourceTarballSigUrl": { + "type": "string", + "description": "URL to download release tarball signature. The GPG public key is stored in `src/releases.gpg` of Cloudron git repo." + }, + "boxVersionsUrl": { + "type": "string", + "description": "URL to download release versions file" + }, + "boxVersionsSigUrl": { + "type": "string", + "description": "URL to download release versions file signature. The GPG public key is stored in `src/releases.gpg` of Cloudron git repo." + }, + "unstable": { + "type": "boolean", + "description": "Whether this release is considered stable or not" + } + } + }, + "AppUpdateInfo": { + "type": "object", + "description": "App Update Information", + "properties": { + "id": { + "type": "string", + "description": "The App Store Id", + "example": "org.wordpress.cloudronapp" + }, + "creationDate": { + "type": "string", + "description": "Date when this app version was created", + "example": "2023-08-30T11:33:42.000Z" + }, + "publishState": { + "type": "string", + "description": "Approval status of the app. Usually `approved`." + }, + "ownerId": { + "type": "string", + "description": "Cloudron.io account owner id" + }, + "manifest": { + "type": "object", + "description": "Cloudron [App Manifest](https://docs.cloudron.io/packaging/manifest/)" + }, + "iconUrl": { + "type": "string", + "description": "URL to download the app icon for this version" + }, + "unstable": { + "type": "boolean", + "description": "Whether this release is considered stable or not" + } + } + }, + "UpdateInfo": { + "type": "object", + "description": "Update Information", + "properties": { + "box": { + "$ref": "#/components/schemas/BoxUpdateInfo" + } + }, + "additionalProperties": { + "x-additionalPropertiesName": "appId", + "$ref": "#/components/schemas/AppUpdateInfo" + } + }, + "CronPattern": { + "type": "string", + "description": "Automatic update pattern in [cron](https://crontab.guru/) format.\n", + "example": "00 00 1,3,5,23 * * *" + }, + "ProfileConfig": { + "type": "object", + "properties": { + "lockUserProfiles": { + "type": "boolean", + "description": "If profile changes by users is disabled", + "example": true + }, + "mandatory2FA": { + "type": "boolean", + "description": "If two factor authentication for all users is enforced", + "example": true + } + }, + "required": [ + "lockUserProfiles", + "mandatory2FA" + ] + } + }, + "responses": { + "unauthorized": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "forbidden": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "server_error": { + "description": "Server error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "not_found": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "no_content": { + "description": "No Content", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/no_content" + } + } + } + }, + "bad_field": { + "description": "Bad Field", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "task_started": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/task_info" + } + } + } + }, + "conflict": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "precondition_failed": { + "description": "Precondition Failed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "failed_dependency": { + "description": "Failed Dependency", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "unprocessable_entity": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + } + } + } + }, + "security": [ + { + "bearer_auth": [] + }, + { + "query_auth": [] + } + ], + "tags": [ + { + "name": "App Passwords", + "description": "App passwords can be used as a security measure in desktop, email & mobile clients. For example, if you are trying out a new mobile app from an untrusted vendor, you can generate a temporary password that provides access to a specific app. This way your main password does not get compromised (and thus providing access to other apps as well).\n" + }, + { + "name": "Branding", + "description": "The Branding configuration can be used to customize various aspects of the Cloudron like it's name, logo and footer." + }, + { + "name": "Cloudron", + "description": "Cloudron Healthcheck route and various global configuration like language & timezone can be found here." + }, + { + "name": "Docker", + "description": "Docker related configuration." + }, + { + "name": "Directory Server", + "description": "Directory Server Configuration" + }, + { + "name": "Eventlog", + "description": "Cloudron server activity can be monitored using the Eventlog API." + }, + { + "name": "External LDAP", + "description": "The External Directory connector allows users from your existing LDAP or active directory to authenticate with Cloudron." + }, + { + "name": "Network", + "description": "Networking and Firewall related configuration." + }, + { + "name": "Notifications", + "description": "Cloudron displays notifications in the dashboard for various events like: app down, app out of memory, low disk space, updates available, app update etc. The notifications can be read by clicking on the bell icon in the navigation bar.\n" + }, + { + "name": "Profile", + "description": "User's profile information" + }, + { + "name": "Reverse Proxy", + "description": "The Reverse Proxy manages the nginx config and TLS certificates." + }, + { + "name": "System", + "description": "Server related information." + }, + { + "name": "Tasks", + "description": "Tasks are asynchronous operations performed in the background. Each task can be monitored separately using the task id." + }, + { + "name": "Tokens", + "description": "Tokens are used for API authentication." + }, + { + "name": "Updater", + "description": "Updater checks and manages updates of the apps and the platform." + }, + { + "name": "User Directory", + "description": "Users & Groups Configuration" + } + ], + "paths": { + "/app_passwords": { + "get": { + "operationId": "getAppPasswords", + "summary": "List App Passwords", + "description": "List the App Passwords. App Passwords are personal for a user.", + "tags": [ + "App Passwords" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/PaginationPage" + }, + { + "$ref": "#/components/parameters/PaginationPerPage" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "appPasswords": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppPassword" + } + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/app_passwords\"" + } + ] + }, + "post": { + "operationId": "createAppPassword", + "summary": "Create App Password", + "description": "Create an App Password", + "tags": [ + "App Passwords" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "$ref": "#/components/schemas/name" + }, + "identifier": { + "$ref": "#/components/schemas/identifier" + } + }, + "required": [ + "name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/id" + }, + "password": { + "type": "string", + "description": "The app password will not be returned in API responses again", + "example": "01e536bbd289619f" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/app_passwords\" --data '{\"name\":\"NC Mobile App\", \"identifier\": \"114c0b44-6cdd-494d-88a0-0d961006e724\"}'" + } + ] + } + }, + "/app_passwords/{passwordId}": { + "get": { + "operationId": "getAppPassword", + "summary": "Get App Password", + "description": "Get App Password by ID", + "tags": [ + "App Passwords" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/passwordId" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppPassword" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/app_passwords/$PASSWORD_ID\"" + } + ] + }, + "delete": { + "operationId": "deleteAppPassword", + "summary": "Delete App Password", + "description": "Deletes the App Password. All future requests using this password will instantly fail.", + "tags": [ + "App Passwords" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/passwordId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X DELETE -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/app_passwords/$PASSWORD_ID\"" + } + ] + } + }, + "/branding/cloudron_avatar": { + "get": { + "operationId": "getCloudronAvatar", + "summary": "Get Cloudron Avatar (icon)", + "description": "Get the Cloudron Avatar. The Cloudron avatar (icon) is used in Email templates, Dashboard header and the Login pages.", + "tags": [ + "Branding" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/branding/cloudron_avatar\"" + } + ] + }, + "post": { + "operationId": "setCloudronAvatar", + "summary": "Set Cloudron Avatar (icon)", + "description": "Set the Cloudron Avatar. The Cloudron avatar (icon) is used in Email templates, Dashboard header and the Login pages.", + "tags": [ + "Branding" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "avatar": { + "type": "string", + "format": "binary" + } + }, + "required": [ + "avatar" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/branding/cloudron_name\" --form avatar=@localfilename.png" + } + ] + } + }, + "/branding/cloudron_name": { + "get": { + "operationId": "getCloudronName", + "summary": "Get Cloudron Name", + "description": "Get the Cloudron Name. The Cloudron name is used in Email templates, Dashboard header and the Login pages.", + "tags": [ + "Branding" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/branding/cloudron_name\"" + } + ] + }, + "post": { + "operationId": "setCloudronName", + "summary": "Set Cloudron Name", + "description": "Set the Cloudron Name. The Cloudron name is used in Email templates, Dashboard header and the Login pages.", + "tags": [ + "Branding" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "type": "string", + "minimum": 1, + "maximum": 64 + } + }, + "required": [ + "name" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/branding/cloudron_name\" --data '{\"name\":\"My Home Cloud\"}'" + } + ] + } + }, + "/branding/footer": { + "get": { + "operationId": "getCloudronFooter", + "summary": "Get Cloudron Footer", + "description": "Get the Cloudron Footer. The Cloudron Footer is used in the Dashboard and Login pages.", + "tags": [ + "Branding" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "footer": { + "$ref": "#/components/schemas/Footer" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/branding/footer\"" + } + ] + }, + "post": { + "operationId": "setCloudronFooter", + "summary": "Set Cloudron Footer", + "description": "Set the Cloudron Footer. The Cloudron Footer is used in the Dashboard and Login pages.", + "tags": [ + "Branding" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "footer": { + "$ref": "#/components/schemas/Footer" + } + }, + "required": [ + "footer" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/branding/footer\" --data '{\"footer\":\"All Rights Reserved\"}'" + } + ] + } + }, + "/cloudron/status": { + "get": { + "operationId": "getStatus", + "summary": "Get Status", + "description": "Simple healthcheck route to check if Cloudron is running or not. This route does not require any authentication.", + "tags": [ + "Cloudron" + ], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The current Cloudron Version", + "example": "7.6.0" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" \"https://$CLOUDRON_DOMAIN/api/v1/cloudron/status\"" + } + ] + } + }, + "/cloudron/avatar": { + "get": { + "operationId": "getAvatar", + "summary": "Get Avatar (icon)", + "description": "Get the Cloudron Avatar. The Cloudron avatar (icon) is used in Email templates, Dashboard header and the Login pages.\nThis route does not require any authentication.\n", + "tags": [ + "Cloudron" + ], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" \"https://$CLOUDRON_DOMAIN/api/v1/cloudron/avatar\"" + } + ] + } + }, + "/cloudron/languages": { + "get": { + "operationId": "getLanguages", + "summary": "Get Languages", + "description": "List the available languages (translations). This route does not require any authentication.", + "tags": [ + "Cloudron" + ], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "languages": { + "type": "array", + "description": "An array containing the Language IDs", + "items": { + "type": "string", + "description": "Translation name" + }, + "example": [ + "en", + "de", + "fr", + "nl" + ] + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" \"https://$CLOUDRON_DOMAIN/api/v1/cloudron/languages\"" + } + ] + } + }, + "/cloudron/language": { + "get": { + "operationId": "getCloudronLanguage", + "summary": "Get Cloudron Language", + "description": "The Cloudron Language is the language used for the Dashboard, Login Page, Invitation and Reset emails. Note that users can always set a different language for their Dashboard in their profile. The default language is `en` (English).", + "tags": [ + "Cloudron" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "The Language ID", + "default": "en", + "example": "de" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/cloudron/language\"" + } + ] + }, + "post": { + "operationId": "setCloudronLanguage", + "summary": "Set Cloudron Language", + "description": "The Cloudron Language is the language used for the Dashboard, Login Page, Invitation and Reset emails. Note that users can always set a different language for their Dashboard in their profile. The default language is `en` (English).\n", + "tags": [ + "Cloudron" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "language": { + "type": "string", + "description": "The Language ID", + "default": "en", + "example": "de" + } + }, + "required": [ + "language" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/cloudron/language\" --data '{\"language\":\"de\"}'" + } + ] + } + }, + "/cloudron/time_zone": { + "get": { + "operationId": "getCloudronTimeZone", + "summary": "Get Cloudron Time Zone", + "description": "TimeZone used for various cron jobs like backup, updates, date display in emails etc. Note that server time zone and database is always UTC.", + "tags": [ + "Cloudron" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "timeZone": { + "type": "string", + "description": "The [Time Zone Identifier](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)", + "default": "UTC", + "example": "de" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/cloudron/time_zone\"" + } + ] + }, + "post": { + "operationId": "setCloudronTimeZone", + "summary": "Set Cloudron Time Zone", + "description": "TimeZone used for various cron jobs like backup, updates, date display in emails etc. Note that server time zone and database is always UTC.\n", + "tags": [ + "Cloudron" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "timeZone": { + "type": "string", + "description": "The [Time Zone Identifier](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)", + "default": "UTC", + "example": "Europe/Zurich" + } + }, + "required": [ + "language" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/cloudron/time_zone\" --data '{\"timeZone\":\"Africa/Lome\"}'" + } + ] + } + }, + "/directory_server/config": { + "get": { + "operationId": "getDirectoryServerConfig", + "summary": "Get Directory Server Config", + "description": "Get the Directory Server configuration", + "tags": [ + "Directory Server" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DirectoryServerConfig" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/directory_server/config\"" + } + ] + }, + "post": { + "operationId": "setDirectoryServerConfig", + "summary": "Set Directory Server Config", + "description": "Set the Directory Server configuration", + "tags": [ + "Directory Server" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DirectoryServerConfig" + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/directory_server/config\" --data '{ \"enabled\": true, \"secret\": \"SecretS@uc3\", \"allowlist\": \"# Our network\\n34.3.0.0/16\" }'" + } + ] + } + }, + "/docker/registry_config": { + "get": { + "operationId": "getDockerRegistryConfig", + "summary": "Get Private Container Registry Config", + "description": "A private docker registry can be setup to pull the docker images of custom apps.", + "tags": [ + "Docker" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegistryConfig" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/docker/registry_config\"" + } + ] + }, + "post": { + "operationId": "setDockerRegistryConfig", + "summary": "Set Private Container Registry Config", + "description": "A private docker registry can be setup to pull the docker images of custom apps.", + "tags": [ + "Docker" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegistryConfig" + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/docker/registry_config\" --data '{\"provider\":\"digitalocean\",\"serverAddress\":\"registry.digitalocean.com/cloudron\",\"username\":\"username\",\"password\":\"password\"}'" + } + ] + } + }, + "/eventlog": { + "get": { + "operationId": "getEventlog", + "summary": "List Events", + "description": "List events", + "tags": [ + "Eventlog" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/PaginationPage" + }, + { + "$ref": "#/components/parameters/PaginationPerPage" + }, + { + "name": "search", + "in": "query", + "description": "Search string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "actions", + "in": "query", + "description": "Comma separated list of actions", + "explode": false, + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/action" + }, + "example": "volume.add,volume.remove" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "eventlogs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Event" + } + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/eventlog\"" + } + ] + } + }, + "/eventlog/{eventId}": { + "get": { + "operationId": "getEvent", + "summary": "Get Event", + "description": "Get event by ID", + "tags": [ + "Eventlog" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/eventId" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/eventlog/$EVENT_ID\"" + } + ] + } + }, + "/external_ldap/config": { + "get": { + "operationId": "getExternalLdapConfig", + "summary": "Get External Directory Config", + "description": "Cloudron will synchronize users and groups from this external LDAP or ActiveDirectory server", + "tags": [ + "External LDAP" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExternalLdapConfig" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/external_ldap/config\"" + } + ] + }, + "post": { + "operationId": "setExternalLdapConfig", + "summary": "Set External LDAP Config", + "description": "Cloudron will synchronize users and groups from this external LDAP or ActiveDirectory server", + "tags": [ + "External LDAP" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExternalLdapConfig" + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/docker/registry_config\" --data '{\"provider\":\"digitalocean\",\"serverAddress\":\"registry.digitalocean.com/cloudron\",\"username\":\"username\",\"password\":\"password\"}'" + } + ] + } + }, + "/external_ldap/sync": { + "post": { + "operationId": "syncExternalLdap", + "summary": "Synchronize", + "description": "Trigger synchronization with external LDAP server", + "tags": [ + "External LDAP" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "responses": { + "202": { + "$ref": "#/components/responses/task_started" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/external_ldap/sync\"" + } + ] + } + }, + "/network/blocklist": { + "get": { + "operationId": "getBlocklist", + "summary": "Get Block List", + "description": "Gets the IP address Block List. Requests originating from these addresses are blocked by the firewall (iptables).", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "blocklist": { + "$ref": "#/components/schemas/IpEntries" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/blocklist\"" + } + ] + }, + "post": { + "operationId": "setBlockList", + "summary": "Set Block List", + "description": "Sets the IP address Block List. Requests originating from these addresses are blocked by the firewall (iptables).\n", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "blocklist": { + "$ref": "#/components/schemas/IpEntries" + } + }, + "required": [ + "blocklist" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/blocklist\" --data '{\"blocklist\":\"# Spammy network\\n10.244.0.0/16\"}'" + } + ] + } + }, + "/network/dynamic_dns'": { + "get": { + "operationId": "getDynamicDns", + "summary": "Get Dynamic DNS", + "description": "Gets the Dynamic DNS configuration. The Dynamic DNS option keeps all the DNS records in sync when the IP address changes dynamically (like in home networks).", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/dynamic_dns\"" + } + ] + }, + "post": { + "operationId": "setDynamicDns", + "summary": "Set Dynamic DNS", + "description": "Sets the Dynamic DNS configuration. The Dynamic DNS option keeps all the DNS records in sync when the IP address changes dynamically (like in home networks).\n", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "enabled": { + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/dynamic_dns\" --data '{\"enabled\":true}'" + } + ] + } + }, + "/network/ipv4_config": { + "get": { + "operationId": "getIPv4Config", + "summary": "Get IPv4 Config", + "description": "Get the IPv4 configuration settings that Cloudron uses to configure to the DNS A records.", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IPConfig" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/ipv4_config\"" + } + ] + }, + "post": { + "operationId": "setIPv4Config", + "summary": "Set IPv4 Config", + "description": "Set the IPv4 configuration settings that Cloudron uses to configure to the DNS A records.\n", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IPConfig" + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/dynamic_dns\" --data '{\"enabled\":true}'" + } + ] + } + }, + "/network/ipv6_config": { + "get": { + "operationId": "getIPv6Config", + "summary": "Get IPv6 Config", + "description": "Get the IPv6 configuration settings that Cloudron uses to configure to the DNS AAAA records.", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IPConfig" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/ipv6_config\"" + } + ] + }, + "post": { + "operationId": "setIPv6Config", + "summary": "Set IPv6 Config", + "description": "Set the IPv6 configuration settings that Cloudron uses to configure to the DNS AAAA records.\n", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IPConfig" + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/dynamic_dns\" --data '{\"enabled\":true}'" + } + ] + } + }, + "/network/ipv4": { + "get": { + "operationId": "getIPv4", + "summary": "Get IPv4 Address", + "description": "Gets the configured IPv4 address of the server", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "ip": { + "type": "string", + "description": "An IPv4 address", + "example": "5.75.134.144" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/ipv4\"" + } + ] + } + }, + "/network/ipv6": { + "get": { + "operationId": "getIPv6", + "summary": "Get IPv6 Address", + "description": "Gets the configured IPv6 address of the server", + "tags": [ + "Network" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "ip": { + "type": "string", + "description": "An IPv6 address. Can be `null` when IPv6 is disabled.", + "example": "2402:3a80:423:eb84:d72e:b50:7c58:83eb" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/network/ipv6\"" + } + ] + } + }, + "/notifications": { + "get": { + "operationId": "getNotifications", + "summary": "List Notifications", + "description": "List notifications", + "tags": [ + "Notifications" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/PaginationPage" + }, + { + "$ref": "#/components/parameters/PaginationPerPage" + }, + { + "name": "acknowledged", + "in": "query", + "description": "Filter by acknowledged status", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/x-logs": { + "schema": { + "type": "object", + "properties": { + "notifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/notifications\"" + } + ] + } + }, + "/notifications/{notificationId}": { + "get": { + "operationId": "getNotification", + "summary": "Get Notification", + "description": "Get notification by ID", + "tags": [ + "Notifications" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/notificationId" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Notification" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/notifications/$NOTIFICATION_ID\"" + } + ] + }, + "post": { + "operationId": "updateNotification", + "summary": "Update Notification", + "description": "Set notification acknowledged state. Unacknowledged notifications count appears in the navbar of the Dashboard.\n", + "tags": [ + "Notifications" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/notificationId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "acknowledged": { + "type": "boolean", + "example": true, + "description": "Set notification to acknowledged or not" + } + }, + "required": [ + "acknowledged" + ] + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/notifications/$NOTIFICATION_ID\" --data '{\"acknowledged\":true}'" + } + ] + } + }, + "/profile": { + "get": { + "operationId": "getProfile", + "summary": "Get Profile", + "description": "Get the authenticated user's profile", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Profile" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile\"" + } + ] + }, + "post": { + "operationId": "updateProfile", + "summary": "Update Profile", + "description": "Update user's profile information", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Profile" + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "409": { + "$ref": "#/components/responses/conflict" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile\" --data '{\"displayName\": \"Diego Maradona\"}'" + } + ] + } + }, + "/profile/avatar": { + "post": { + "operationId": "updateAvatar", + "summary": "Update Avatar (icon)", + "description": "Update user's avatar (icon)", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "avatar": { + "type": "string", + "format": "binary" + } + }, + "required": [ + "avatar" + ] + } + }, + "application/json": { + "schema": { + "type": "object", + "properties": { + "avatar": { + "type": "string", + "enum": [ + "", + "gravatar" + ], + "example": "gravatar" + } + }, + "required": [ + "avatar" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL (gravatar)", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/avatar\" --data '{\"avatar\": \"gravatar\"}'" + }, + { + "lang": "cURL (custom)", + "source": "curl -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/avatar\" --form avatar=@localfilename.png" + } + ] + } + }, + "/profile/avatar/{userId}": { + "get": { + "operationId": "getCustomAvatar", + "summary": "Get Custom Avatar (icon)", + "description": "Get the User's custom avatar (icon). This route is public. As a simple security measure, this requires the user id.\nTo display the user's avatar , use the `avatarUrl` property of the [profile](#operation/getProfile) endpoint. The `avatarUrl` will link to this endpoint when the user has a custom icon.\n", + "tags": [ + "Profile" + ], + "parameters": [ + { + "$ref": "#/components/parameters/userId" + } + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl \"https://$CLOUDRON_DOMAIN/api/v1/profile/avatar/$USER_ID\"" + } + ] + } + }, + "/profile/background_image": { + "get": { + "operationId": "getBackgroundImage", + "summary": "Get Background Image", + "description": "Get the user's custom background image for the dashboard.\nUse the `hasBackgroundImage` property of the [profile](#operation/getProfile) endpoint to determine if the user has a custom background image.\n", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/backgroundImage\"" + } + ] + }, + "post": { + "operationId": "setBackgroundImage", + "summary": "Set Background Image (icon)", + "description": "Set the user's background image for the dashboard", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "backgroundImage": { + "type": "string", + "format": "binary" + } + }, + "required": [ + "backgroundImage" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL (set)", + "source": "curl -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/background_image\" --form backgroundImage=@localfilename.png" + }, + { + "lang": "cURL (clear)", + "source": "curl -X POST -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/background_image\" --form backgroundImage=" + } + ] + } + }, + "/profile/password": { + "post": { + "operationId": "updatePassword", + "summary": "Update Password", + "description": "Update user's password", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Current password", + "example": "current_password" + }, + "newPassword": { + "type": "string", + "description": "New password", + "example": "new_password" + } + }, + "required": [ + "password", + "newPassword" + ] + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "412": { + "$ref": "#/components/responses/precondition_failed" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/password\" --data '{\"password\": \"old_password\", \"newPassword\": \"new_password\"}'" + } + ] + } + }, + "/profile/twofactorauthentication_secret": { + "post": { + "operationId": "setTwoFactorAuthenticationSecret", + "summary": "Set 2FA Secret", + "description": "Sets 2FA Secret. Enabling 2FA is a two step process:\n * Call this endpoint to generate a secret. The response contains the secret and a qrcode\n * Call the [Enable 2FA](#operation/enableTwoFactorAuthentication) endpoint with a TOTP Token (generated off the above secret)\n", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "secret": { + "type": "string" + }, + "qrcode": { + "type": "string", + "description": "This is a `image/png` in `base64` format" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "409": { + "$ref": "#/components/responses/conflict" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/twofactorauthentication_secret\"" + } + ] + } + }, + "/profile/twofactorauthentication_enable": { + "post": { + "operationId": "enableTwoFactorAuthentication", + "summary": "Enable 2FA", + "description": "Enables Two Factor Authentication. Enabling 2FA is a two step process:\n * Call the [Set 2FA Secret](#operation/setTwoFactorAuthenticationSecret) endpoint to generate a secret. The response contains the secret and a qrcode\n * Call this endpoint with a TOTP Token (generated off the above secret) to enable 2FA\n", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "totpToken": { + "type": "string", + "description": "Current TOTP Token based off the [generate secret](#operation/setTwoFactorAuthenticationSecret)" + } + }, + "required": [ + "totpToken" + ] + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "412": { + "$ref": "#/components/responses/precondition_failed" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/twofactorauthentication_enable\" --data '{\"totpToken\": \"576428\"}'" + } + ] + } + }, + "/profile/twofactorauthentication_disable": { + "post": { + "operationId": "disableTwoFactorAuthentication", + "summary": "Disable 2FA", + "description": "Disable 2FA", + "tags": [ + "Profile" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Current password", + "example": "current_password" + } + }, + "required": [ + "password" + ] + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "412": { + "$ref": "#/components/responses/precondition_failed" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/profile/twofactorauthentication_disable\" --data '{\"password\": \"current_password\"}'" + } + ] + } + }, + "/reverseproxy/renew_certs": { + "post": { + "operationId": "renewCerts", + "summary": "Renew Certs", + "description": "Trigger manual renewal of Let's encrypt certificates. Note that certs are automatically renewed by Cloudron, 1 month before their expiry.", + "tags": [ + "Reverse Proxy" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "rebuild": { + "type": "boolean", + "description": "When set all the nginx configurations are regenerated.", + "default": false + } + } + } + } + } + }, + "responses": { + "202": { + "$ref": "#/components/responses/task_started" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/reverseproxy/renew_certs\"" + } + ] + } + }, + "/reverseproxy/trusted_ips": { + "get": { + "operationId": "getTrustedIps", + "summary": "Get Trusted IPs", + "description": "Gets the list of proxies in front of Cloudron. Cloudron will trust the various reverse proxy headers like `X-Forwarded-For` when requests originate from these proxy addresses.\n", + "tags": [ + "Reverse Proxy" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "trustedIps": { + "$ref": "#/components/schemas/IpEntries" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/reverseproxy/trusted_ips\"" + } + ] + }, + "post": { + "operationId": "setTrustedIps", + "summary": "Set Trusted IPs", + "description": "Sets the list of proxies in front of Cloudron. Cloudron will trust the various reverse proxy headers like `X-Forwarded-For` when requests originate from these proxy addresses.\n", + "tags": [ + "Reverse Proxy" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "trustedIps": { + "$ref": "#/components/schemas/IpEntries" + } + }, + "required": [ + "trustedIps" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/reverseproxy/trusted_ips\" --data '{\"trustedIps\":\"# My IPv4 Proxy\\n10.244.0.0/16\"}'" + } + ] + } + }, + "/system/reboot": { + "get": { + "operationId": "isRebootRequired", + "summary": "Is Reboot Required", + "description": "Checks whether a server reboot is required. Automatic Ubuntu updates often requires a reboot to apply changes to system libraries.\n", + "tags": [ + "System" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "rebootRequired": { + "type": "boolean" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/system/reboot\"" + } + ] + }, + "post": { + "operationId": "rebootServer", + "summary": "Reboot", + "description": "Reboots the server immediately.", + "tags": [ + "System" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "responses": { + "202": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/system/reboot\"" + } + ] + } + }, + "/tasks": { + "get": { + "operationId": "getTasks", + "summary": "List Tasks", + "description": "List tasks", + "tags": [ + "Tasks" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/PaginationPage" + }, + { + "$ref": "#/components/parameters/PaginationPerPage" + }, + { + "name": "type", + "in": "query", + "description": "Filter by Task Type", + "required": false, + "schema": { + "$ref": "#/components/schemas/type" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tasks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Task" + } + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tasks\"" + } + ] + } + }, + "/tasks/{taskId}": { + "get": { + "operationId": "getTask", + "summary": "Get Task", + "description": "Get task by ID", + "tags": [ + "Tasks" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/taskId" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tasks/$TASKS_ID\"" + } + ] + } + }, + "/tasks/{taskId}/logs": { + "get": { + "operationId": "getTaskLogs", + "summary": "Get Task Logs", + "description": "Get task logs. Use this end point to download logs. If you want to follow logs `tail -f` style, use the [logstream](#operation/getTaskLogstream) endpoint instead.", + "tags": [ + "Tasks" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/taskId" + }, + { + "$ref": "#/components/parameters/logsLines" + }, + { + "$ref": "#/components/parameters/logsFormat" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/x-logs": { + "schema": { + "type": "string", + "format": "binary", + "description": "Each line in the returned logs is of the desired format. When the format is `json`, each line is a [NDJSON](https://en.wikipedia.org/wiki/JSON_streaming#Newline-Delimited_JSON) containing the fields `realtimeTimestamp` and `message`. The `Content-Disposition` header is set to `attachment; filename=\"task-43.log\"`.\n" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "424": { + "$ref": "#/components/responses/failed_dependency" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tasks/$TASKS_ID/logs?lines=100\"" + } + ] + } + }, + "/tasks/{taskId}/logstream": { + "get": { + "operationId": "getTaskLogstream", + "summary": "Get Task Logs Stream", + "description": "Get task logs. Use this endpoint to stream logs (`tail -f` style). If you want to download logs, use the [logs](#operation/getTaskLogs) endpoint instead. This endpoint implements [Server Side Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events). Use the [EventSource](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) interface to parse the returned stream.\n", + "tags": [ + "Tasks" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/taskId" + }, + { + "$ref": "#/components/parameters/logsLines" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/event-stream": { + "schema": { + "$ref": "#/components/schemas/LogStreamSSE" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Accept: text/event-stream\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tasks/$TASKS_ID/logstream?lines=100\"" + } + ] + } + }, + "/tasks/{taskId}/stop": { + "post": { + "operationId": "stopTask", + "summary": "Stop Task", + "description": "Stops a task", + "tags": [ + "Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/taskId" + } + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "409": { + "$ref": "#/components/responses/conflict" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tasks/$TASK_ID/stop\"" + } + ] + } + }, + "/tokens": { + "get": { + "operationId": "getTokens", + "summary": "List Tokens", + "description": "List the API tokens created by the user. Note that tokens are personal (per user) and not global.", + "tags": [ + "Tokens" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/PaginationPage" + }, + { + "$ref": "#/components/parameters/PaginationPerPage" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tokens": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Token" + } + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tokens\"" + } + ] + }, + "post": { + "operationId": "createToken", + "summary": "Create Token", + "description": "Create an API token", + "tags": [ + "Tokens" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "$ref": "#/components/schemas/properties-name" + }, + "expiresAt": { + "$ref": "#/components/schemas/expires" + }, + "scope": { + "$ref": "#/components/schemas/scope" + } + }, + "required": [ + "name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Token" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tokens\" --data '{\"name\":\"Token For Automation\"}'" + } + ] + } + }, + "/tokens/{tokenId}": { + "get": { + "operationId": "getToken", + "summary": "Get Token", + "description": "Get token by ID", + "tags": [ + "Tokens" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/tokenId" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Token" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tokens/$TOKEN_ID\"" + } + ] + }, + "delete": { + "operationId": "deleteToken", + "summary": "Delete Token", + "description": "Deletes the Token. All future requests using this token will instantly fail.", + "tags": [ + "Tokens" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/tokenId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/no_content" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X DELETE -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/tokens/$TOKEN_ID\"" + } + ] + } + }, + "/updater/updates": { + "get": { + "operationId": "getUpdates", + "summary": "Get Pending Updates", + "description": "Gets information of any pending update to apps and the platform. This endpoint returns the cached update information and does not contact cloudron.io App Store. The update information could be stale and if you want the latest information use the [checkForUpdates](#operation/checkForUpdates) endpoint.\n", + "tags": [ + "Updater" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "updates": { + "$ref": "#/components/schemas/UpdateInfo" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/updater/updates\"" + } + ] + } + }, + "/updater/check_for_updates": { + "post": { + "operationId": "checkForUpdates", + "summary": "Check for updates", + "description": "Gets information of any pending update to apps and the platform by contacting cloudron.io App Store. This call can take a while since it has to get the update information of each installed app. Use the [getUpdates](#operation/getUpdates) endpoint to get the update information since the last check.\n", + "tags": [ + "Updater" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "updates": { + "$ref": "#/components/schemas/UpdateInfo" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/updater/check_for_updates\"" + } + ] + } + }, + "/updater/update": { + "post": { + "operationId": "updateCloudron", + "summary": "Update Cloudron", + "description": "Updates Cloudron to the next available release. The update is started asynchronously and can be monitored using the [tasks API](#tag/Tasks).\n", + "tags": [ + "Updater" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "skipBackup": { + "type": "boolean", + "description": "Whether backup should be skipped before performing the update.", + "default": false + } + } + } + } + } + }, + "responses": { + "202": { + "$ref": "#/components/responses/task_started" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "409": { + "$ref": "#/components/responses/conflict" + }, + "422": { + "$ref": "#/components/responses/unprocessable_entity" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/updater/update\"" + } + ] + } + }, + "/updater/autoupdate_pattern": { + "get": { + "operationId": "getAutoupdatePattern", + "summary": "Get Update Schedule", + "description": "Get the automatic update schedule", + "tags": [ + "Updater" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "pattern": { + "$ref": "#/components/schemas/CronPattern" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/updater/autoupdate_pattern\"" + } + ] + }, + "post": { + "operationId": "setAutoupdatePattern", + "summary": "Set Update Schedule", + "description": "Sets the automatic update schedule", + "tags": [ + "Updater" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "pattern": { + "$ref": "#/components/schemas/CronPattern" + } + }, + "required": [ + "pattern" + ] + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/updater/autoupdate_pattern\" --data '{\"pattern\":\"00 00 1,5 * * *\"}'" + } + ] + } + }, + "/api/v1/user_directory": { + "get": { + "operationId": "getUserDirectoryProfileConfig", + "summary": "Get profile config", + "description": "Get the current profile configuration for all users in the user directory.", + "tags": [ + "User Directory" + ], + "security": [ + { + "bearer_auth": [ + "read" + ] + }, + { + "query_auth": [ + "read" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileConfig" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/user_directory/profile_config\"" + } + ] + }, + "post": { + "operationId": "setUserDirectoryProfileConfig", + "summary": "Set profile config", + "description": "Set the current profile configuration for all users in the user directory.", + "tags": [ + "User Directory" + ], + "security": [ + { + "bearer_auth": [ + "write" + ] + }, + { + "query_auth": [ + "write" + ] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileConfig" + } + } + } + }, + "responses": { + "200": { + "$ref": "#/components/responses/no_content" + }, + "400": { + "$ref": "#/components/responses/bad_field" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "500": { + "$ref": "#/components/responses/server_error" + } + }, + "x-codeSamples": [ + { + "lang": "cURL", + "source": "curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CLOUDRON_TOKEN\" \"https://$CLOUDRON_DOMAIN/api/v1/user_directory/profile_config\" --data '{ \"lockUserProfiles\": false, \"mandatory2FA\": false }'" + } + ] + } + } + } +} \ No newline at end of file diff --git a/.wundergraph/schemas/placeholder.json b/.wundergraph/schemas/placeholder.json new file mode 100644 index 0000000..0c79d34 --- /dev/null +++ b/.wundergraph/schemas/placeholder.json @@ -0,0 +1,181 @@ +{ + "openapi": "3.0.0", + "info": { + "version": "1.0.0", + "title": "JSON Placeholder API", + "description": "See https://jsonplaceholder.typicode.com/" + }, + "servers": [ + { + "url": "https://jsonplaceholder.typicode.com" + } + ], + "paths": { + "/posts": { + "get": { + "description": "Returns all posts", + "tags": [ + "Posts" + ], + "operationId": "getPosts", + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PostsList" + } + } + } + } + } + } + }, + "/users": { + "get": { + "description": "Returns all users", + "tags": [ + "Users" + ], + "operationId": "getUsers", + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserList" + } + } + } + } + } + } + }, + "/users/{id}": { + "get": { + "description": "Returns a user by id", + "tags": [ + "Users" + ], + "operationId": "getUser", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "description": "The user id.", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "404": { + "description": "User not found" + } + } + } + }, + "/posts/{id}": { + "get": { + "description": "Returns a post by id", + "tags": [ + "Posts" + ], + "operationId": "getPost", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "description": "The user id.", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Post" + } + } + } + }, + "404": { + "description": "Post not found" + } + } + } + } + }, + "components": { + "schemas": { + "PostsList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Post" + } + }, + "UserList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/User" + } + }, + "Post": { + "type": "object", + "required": [ + "id", + "userId", + "title" + ], + "properties": { + "id": { + "type": "integer" + }, + "userId": { + "type": "integer" + }, + "title": { + "type": "string" + } + } + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + } + } + } + } + } +} \ No newline at end of file diff --git a/.wundergraph/wundergraph.config.ts b/.wundergraph/wundergraph.config.ts index 51f5373..1918ded 100644 --- a/.wundergraph/wundergraph.config.ts +++ b/.wundergraph/wundergraph.config.ts @@ -9,11 +9,6 @@ dotenv.config(); const directusSchema = fs.readFileSync(path.join(path.resolve(), './schemas/directus.graphql'), 'utf8'); const directusSystemSchema = fs.readFileSync(path.join(path.resolve(), './schemas/directus_system.graphql'), 'utf8'); -const spaceX = introspect.graphql({ - apiNamespace: 'spacex', - url: 'https://spacex-api.fly.dev/graphql/', -}); - const db = introspect.graphql({ apiNamespace: 'db', loadSchemaFromString: directusSchema, @@ -22,6 +17,25 @@ const db = introspect.graphql({ .addStaticHeader('Authorization', new EnvironmentVariable('DIRECTUS', process.env.DIRECTUS)) }); +const placeholder = introspect.openApiV2({ + apiNamespace: 'placeholder', + source: { + kind: "file", + filePath: "./schemas/placeholder.json" + }, + baseURL: 'https://jsonplaceholder.typicode.com', +}); + +const cloudron = introspect.openApiV2({ + apiNamespace: 'cloudron', + source: { + kind: "file", + filePath: "./schemas/cloudron.json" + }, + headers: (builder) => builder + .addStaticHeader('Authorization', new EnvironmentVariable('CLOUDRON_API', process.env.CLOUDRON_API)) +}); + const system_db = introspect.graphql({ apiNamespace: 'system_db', loadSchemaFromString: directusSystemSchema, @@ -32,7 +46,7 @@ const system_db = introspect.graphql({ // configureWunderGraph emits the configuration configureWunderGraphApplication({ - apis: [spaceX, db, system_db], + apis: [db, system_db, placeholder, cloudron], server, operations, generate: { diff --git a/package.json b/package.json index ddffa71..c97c897 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@sveltejs/adapter-static": "^2.0.3", "@sveltejs/kit": "^1.5.0", "@tailwindcss/forms": "^0.5.6", - "@tauri-apps/cli": "^1.4.0", + "@tauri-apps/cli": "2.0.0-alpha.14", "@types/cookie": "^0.5.1", "@types/js-cookie": "^3.0.3", "@types/jsonwebtoken": "^9.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 103d632..56ebd9b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,7 +42,7 @@ dependencies: version: 4.29.1(svelte@3.54.0) '@wagmi/core': specifier: ^1.3.9 - version: 1.3.9(react@18.2.0)(typescript@5.0.2)(viem@1.9.0)(zod@3.22.2) + version: 1.3.9(react@18.2.0)(typescript@5.0.2)(viem@1.10.12)(zod@3.22.2) '@wundergraph/sdk': specifier: ^0.174.5 version: 0.174.5(react-native@0.72.4) @@ -121,8 +121,8 @@ devDependencies: specifier: ^0.5.6 version: 0.5.6(tailwindcss@3.3.3) '@tauri-apps/cli': - specifier: ^1.4.0 - version: 1.4.0 + specifier: 2.0.0-alpha.14 + version: 2.0.0-alpha.14 '@types/cookie': specifier: ^0.5.1 version: 0.5.1 @@ -152,7 +152,7 @@ devDependencies: version: 3.54.0 svelte-check: specifier: ^3.0.1 - version: 3.0.1(@babel/core@7.22.11)(postcss@8.4.29)(svelte@3.54.0) + version: 3.0.1(@babel/core@7.22.17)(postcss@8.4.29)(svelte@3.54.0) svelte-time: specifier: ^0.8.0 version: 0.8.0 @@ -182,6 +182,10 @@ packages: resolution: {integrity: sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==} dev: false + /@adraffy/ens-normalize@1.9.4: + resolution: {integrity: sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw==} + dev: false + /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -198,31 +202,31 @@ packages: resolution: {integrity: sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==} dev: false - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.10 + '@babel/highlight': 7.22.13 chalk: 2.4.2 /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.11: - resolution: {integrity: sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==} + /@babel/core@7.22.17: + resolution: {integrity: sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) - '@babel/helpers': 7.22.11 - '@babel/parser': 7.22.11 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) + '@babel/helpers': 7.22.15 + '@babel/parser': 7.22.16 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.17 + '@babel/types': 7.22.17 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -231,11 +235,11 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + /@babel/generator@7.22.15: + resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -244,63 +248,63 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 dev: false - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: - resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 dev: false - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 + '@babel/helper-validator-option': 7.22.15 browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==} + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.17) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.11): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.11): + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.17): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.17 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 @@ -317,46 +321,46 @@ packages: resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/types': 7.22.17 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-member-expression-to-functions@7.22.15: + resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 dev: false - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.11): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.22.17(@babel/core@7.22.17): + resolution: {integrity: sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -364,27 +368,27 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.11): - resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + /@babel/helper-remap-async-to-generator@7.22.17(@babel/core@7.22.17): + resolution: {integrity: sha512-bxH77R5gjH3Nkde6/LuncQoLaP16THYPscurp1S8z7S9ZgezCyV3G8Hc+TZiCmY8pz4fp8CvKSgtJMW0FkLAxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.10 + '@babel/helper-wrap-function': 7.22.17 dev: false - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.11): + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.17): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 dev: false @@ -392,151 +396,151 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.22.15: + resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.10: - resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} + /@babel/helper-wrap-function@7.22.17: + resolution: {integrity: sha512-nAhoheCMlrqU41tAojw9GpVEKDlTS8r3lzFmF0lP52LwblCPbuFSO7nGIZoIcoU5NIm1ABrna0cJExE4Ay6l2Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/types': 7.22.17 dev: false - /@babel/helpers@7.22.11: - resolution: {integrity: sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==} + /@babel/helpers@7.22.15: + resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.17 + '@babel/types': 7.22.17 transitivePeerDependencies: - supports-color - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + /@babel/highlight@7.22.13: + resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.11: - resolution: {integrity: sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==} + /@babel/parser@7.22.16: + resolution: {integrity: sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.11(@babel/core@7.22.11) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.11): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.17): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.11) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) + '@babel/helper-remap-async-to-generator': 7.22.17(@babel/core@7.22.17) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.11): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.17): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} + /@babel/plugin-proposal-export-default-from@7.22.17(@babel/core@7.22.17): + resolution: {integrity: sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.11): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.17): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.11): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.17): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.11): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.17): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. @@ -544,1008 +548,1008 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.17 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.11): + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.17): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.11): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.17): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.11): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.17): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.11): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.17): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.11): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.17): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.11): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.17): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.11): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.11): + /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.11): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11): + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.11): + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.11): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.11): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.17): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.11): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.11): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.11): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.17): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.11): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.11): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.17): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.11): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.11): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.11): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.11): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.17): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.11): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.17): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.11): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.11): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.17): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-async-generator-functions@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-0pAlmeRJn6wU84zzZsEOx1JV1Jf8fqO9ok7wofIJwUnplYo247dcd24P+cMJht7ts9xkzdtB0EPHmOb7F+KzXw==} + /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.11) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) + '@babel/helper-remap-async-to-generator': 7.22.17(@babel/core@7.22.17) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.17 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.11) + '@babel/helper-remap-async-to-generator': 7.22.17(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} + /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.11) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.11): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.17) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 + '@babel/template': 7.22.15 dev: false - /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} + /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 + '@babel/core': 7.22.17 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.17 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-o2+bg7GDS60cJMgz9jWqRUsWkMzLCxp+jFDeDUT5sjRlAxcJWZ2ylNdI7QQ2+CH5hWu7OnN+Cv3htt7AkSf96g==} + /@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 dev: false - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-object-rest-spread@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-nX8cPFa6+UmbepISvlf5jhQyaC7ASs/7UxHmMkuJ/k5xSHvDPPaibMo+v3TXwU/Pjqhep/nFNpd3zn4YR59pnw==} + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.17 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-optional-chaining@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-7X2vGqH2ZKu7Imx0C+o5OysRwtF/wzdCAqmcD1N1v2Ww8CtOSC+p+VoV76skm47DLvBZ8kBFic+egqxM9S/p4g==} + /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.11): + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.17): resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.11) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/types': 7.22.11 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.17) + '@babel/types': 7.22.17 dev: false - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.11): + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.17): resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-runtime@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==} + /@babel/plugin-transform-runtime@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.17 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.11) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.11) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.11) + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.17) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.17) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.17) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==} + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.17) dev: false - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.11): + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.17): resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/preset-env@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==} + /@babel/preset-env@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-tZFHr54GBkHk6hQuVA8w4Fmq+MSPsfvMG0vPnOYyTnJpyfMqybL8/MbNCPRT9zc2KBO2pe4tq15g6Uno4Jpoag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.17 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.11) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.11) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.11) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.11) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.11) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-async-generator-functions': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.11) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-object-rest-spread': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-optional-chaining': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.11) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.11) - '@babel/types': 7.22.11 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.11) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.11) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.11) - core-js-compat: 3.32.1 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.17) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.17) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.17) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.17) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.17) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.17) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.17) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.17) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.17) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.17) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.17) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.17) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.17) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.17) + '@babel/types': 7.22.17 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.17) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.17) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.17) + core-js-compat: 3.32.2 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-flow@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==} + /@babel/preset-flow@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.11) + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.17) dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.11): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.17): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.22.11 + '@babel/types': 7.22.17 esutils: 2.0.3 dev: false - /@babel/preset-typescript@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-tWY5wyCZYBGY7IlalfKI1rLiGlIfnwsRHZqlky0HVv8qviwQ1Uo/05M6+s+TcTCVa6Bmoo2uJW5TMFX6Wa4qVg==} + /@babel/preset-typescript@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-typescript': 7.22.11(@babel/core@7.22.11) + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.17) dev: false - /@babel/register@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==} + /@babel/register@7.22.15(@babel/core@7.22.17): + resolution: {integrity: sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -1563,37 +1567,44 @@ packages: dependencies: regenerator-runtime: 0.14.0 - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/runtime@7.22.15: + resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.11 - '@babel/types': 7.22.11 + regenerator-runtime: 0.14.0 + dev: false - /@babel/traverse@7.22.11: - resolution: {integrity: sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.22.16 + '@babel/types': 7.22.17 + + /@babel/traverse@7.22.17: + resolution: {integrity: sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.11 - '@babel/types': 7.22.11 + '@babel/parser': 7.22.16 + '@babel/types': 7.22.17 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.22.11: - resolution: {integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==} + /@babel/types@7.22.17: + resolution: {integrity: sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 to-fast-properties: 2.0.0 /@bcherny/json-schema-ref-parser@10.0.5-fork: @@ -2729,33 +2740,33 @@ packages: multiformats: 12.0.1 dev: false - /@jest/create-cache-key-function@29.6.3: - resolution: {integrity: sha512-kzSK9XAxtD1kRPJKxsmD0YKw2fyXveP+5ikeQkCYCHeacWW1EGYMTgjDIM/Di4Uhttx7lnHwrNpz2xn+0rTp8g==} + /@jest/create-cache-key-function@29.7.0: + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 dev: false - /@jest/environment@29.6.4: - resolution: {integrity: sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==} + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.4 + '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.5.8 - jest-mock: 29.6.3 + jest-mock: 29.7.0 dev: false - /@jest/fake-timers@29.6.4: - resolution: {integrity: sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==} + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 '@types/node': 20.5.8 - jest-message-util: 29.6.3 - jest-mock: 29.6.3 - jest-util: 29.6.3 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: false /@jest/schemas@29.6.3: @@ -4025,6 +4036,12 @@ packages: '@noble/hashes': 1.3.1 dev: false + /@noble/curves@1.2.0: + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + dependencies: + '@noble/hashes': 1.3.2 + dev: false + /@noble/hashes@1.1.2: resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==} dev: false @@ -4489,7 +4506,7 @@ packages: cosmiconfig: 5.2.1 deepmerge: 4.3.1 glob: 7.2.3 - joi: 17.9.2 + joi: 17.10.1 transitivePeerDependencies: - encoding dev: false @@ -4522,7 +4539,7 @@ packages: strip-ansi: 5.2.0 sudo-prompt: 9.2.1 wcwidth: 1.0.1 - yaml: 2.3.1 + yaml: 2.3.2 transitivePeerDependencies: - encoding dev: false @@ -4564,7 +4581,7 @@ packages: - encoding dev: false - /@react-native-community/cli-plugin-metro@11.3.6(@babel/core@7.22.11): + /@react-native-community/cli-plugin-metro@11.3.6(@babel/core@7.22.17): resolution: {integrity: sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==} dependencies: '@react-native-community/cli-server-api': 11.3.6 @@ -4574,7 +4591,7 @@ packages: metro: 0.76.7 metro-config: 0.76.7 metro-core: 0.76.7 - metro-react-native-babel-transformer: 0.76.7(@babel/core@7.22.11) + metro-react-native-babel-transformer: 0.76.7(@babel/core@7.22.17) metro-resolver: 0.76.7 metro-runtime: 0.76.7 readline: 1.3.0 @@ -4624,10 +4641,10 @@ packages: /@react-native-community/cli-types@11.3.6: resolution: {integrity: sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==} dependencies: - joi: 17.9.2 + joi: 17.10.1 dev: false - /@react-native-community/cli@11.3.6(@babel/core@7.22.11): + /@react-native-community/cli@11.3.6(@babel/core@7.22.17): resolution: {integrity: sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==} engines: {node: '>=16'} hasBin: true @@ -4637,7 +4654,7 @@ packages: '@react-native-community/cli-debugger-ui': 11.3.6 '@react-native-community/cli-doctor': 11.3.6 '@react-native-community/cli-hermes': 11.3.6 - '@react-native-community/cli-plugin-metro': 11.3.6(@babel/core@7.22.11) + '@react-native-community/cli-plugin-metro': 11.3.6(@babel/core@7.22.17) '@react-native-community/cli-server-api': 11.3.6 '@react-native-community/cli-tools': 11.3.6 '@react-native-community/cli-types': 11.3.6 @@ -4661,15 +4678,15 @@ packages: resolution: {integrity: sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==} dev: false - /@react-native/codegen@0.72.6(@babel/preset-env@7.22.10): - resolution: {integrity: sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==} + /@react-native/codegen@0.72.7(@babel/preset-env@7.22.15): + resolution: {integrity: sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==} peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/parser': 7.22.11 - '@babel/preset-env': 7.22.10(@babel/core@7.22.11) + '@babel/parser': 7.22.16 + '@babel/preset-env': 7.22.15(@babel/core@7.22.17) flow-parser: 0.206.0 - jscodeshift: 0.14.0(@babel/preset-env@7.22.10) + jscodeshift: 0.14.0(@babel/preset-env@7.22.15) nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -4694,7 +4711,7 @@ packages: dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react-native: 0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.10)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.22.17)(@babel/preset-env@7.22.15)(react@18.2.0) dev: false /@repeaterjs/repeater@3.0.4: @@ -4752,6 +4769,10 @@ packages: resolution: {integrity: sha512-sSCrnIdaUZQHhBxZThMuk7Wm1TWzMD3uJNdGgx3JS23xSqevu0tAOsg8k66nL3R2NwQe65AI9GgqpPOgZys/eA==} dev: false + /@scure/base@1.1.3: + resolution: {integrity: sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==} + dev: false + /@scure/bip32@1.1.5: resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} dependencies: @@ -4776,6 +4797,14 @@ packages: '@scure/base': 1.1.2 dev: false + /@scure/bip32@1.3.2: + resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + dependencies: + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@scure/base': 1.1.3 + dev: false + /@scure/bip39@1.1.1: resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} dependencies: @@ -5116,8 +5145,8 @@ packages: svelte: 3.54.0 dev: false - /@tauri-apps/cli-darwin-arm64@1.4.0: - resolution: {integrity: sha512-nA/ml0SfUt6/CYLVbHmT500Y+ijqsuv5+s9EBnVXYSLVg9kbPUZJJHluEYK+xKuOj6xzyuT/+rZFMRapmJD3jQ==} + /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.14: + resolution: {integrity: sha512-3K416rvSUt8el/fdPnSnHJOI2j5Os9Kyy17XZp+z3PKRRuo/iJPp9L3w0zFGYsh7C+ylzV4OBUSVTi+e+gO5qA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -5125,8 +5154,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-darwin-x64@1.4.0: - resolution: {integrity: sha512-ov/F6Zr+dg9B0PtRu65stFo2G0ow2TUlneqYYrkj+vA3n+moWDHfVty0raDjMLQbQt3rv3uayFMXGPMgble9OA==} + /@tauri-apps/cli-darwin-x64@2.0.0-alpha.14: + resolution: {integrity: sha512-aLEUGG8Z0UpTENe4/UG6DU8bnB2e1uxyxYvcmFKrHv+EAtR9nLH14alBxPl2K54YXy3JLR4bKROW15a/sFrX9g==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -5134,8 +5163,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm-gnueabihf@1.4.0: - resolution: {integrity: sha512-zwjbiMncycXDV7doovymyKD7sCg53ouAmfgpUqEBOTY3vgBi9TwijyPhJOqoG5vUVWhouNBC08akGmE4dja15g==} + /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.14: + resolution: {integrity: sha512-Lu7unNvurBccxfHIaUQ0gPgUioTkQBMtWGrqO/auZ/JbjPR1W2eBlRwVNXf+nBWX9HwomPR3YD5yZuZmzxRV2g==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -5143,8 +5172,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-gnu@1.4.0: - resolution: {integrity: sha512-5MCBcziqXC72mMXnkZU68mutXIR6zavDxopArE2gQtK841IlE06bIgtLi0kUUhlFJk2nhPRgiDgdLbrPlyt7fw==} + /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.14: + resolution: {integrity: sha512-g8HkwKvAsWLLMJzPup7B1BCilYmXKwXdee7sf8QFbaIUSccR8i5pXLK5N/quKw5lmldYgFveEyuW9Qs8RgTYnQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -5152,8 +5181,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-musl@1.4.0: - resolution: {integrity: sha512-7J3pRB6n6uNYgIfCeKt2Oz8J7oSaz2s8GGFRRH2HPxuTHrBNCinzVYm68UhVpJrL3bnGkU0ziVZLsW/iaOGfUg==} + /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.14: + resolution: {integrity: sha512-ag4UuX6zg7vmBFWmg9ChyiJI7GTMkc8tjr/qobd3Lg9ddmjnVWwLUHt6v1kYhXiU7iLPD5DYDIjU8x/POc3hSA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -5161,8 +5190,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-gnu@1.4.0: - resolution: {integrity: sha512-Zh5gfAJxOv5AVWxcwuueaQ2vIAhlg0d6nZui6nMyfIJ8dbf3aZQ5ZzP38sYow5h/fbvgL+3GSQxZRBIa3c2E1w==} + /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.14: + resolution: {integrity: sha512-+CviROc4fzrGqqyHQXh3uc2dGr/oYr19I8r2k+LJ2CDfmtj7CbNd/oC5oehHbHdw1oGFKuDPudrTGvzdRNygYA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -5170,8 +5199,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-musl@1.4.0: - resolution: {integrity: sha512-OLAYoICU3FaYiTdBsI+lQTKnDHeMmFMXIApN0M+xGiOkoIOQcV9CConMPjgmJQ867+NHRNgUGlvBEAh9CiJodQ==} + /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.14: + resolution: {integrity: sha512-aCP51HOAQXgVhyPHXKy627bYVRkNnpCvSU3L03pYV8YDoGo+veeuek5UiW7PlNdwx52B/yC3Jz7Dr3gEbFimfQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -5179,8 +5208,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-arm64-msvc@1.4.0: - resolution: {integrity: sha512-gZ05GENFbI6CB5MlOUsLlU0kZ9UtHn9riYtSXKT6MYs8HSPRffPHaHSL0WxsJweWh9nR5Hgh/TUU8uW3sYCzCg==} + /@tauri-apps/cli-win32-arm64-msvc@2.0.0-alpha.14: + resolution: {integrity: sha512-b6Ei5ERUF0KS1bttM7i6U62GmjIvlgK03XZqvL/KLNvUfqRMu8F7JA1ejSExgTxhEhKSWA768HiTXpXk2GjFFw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -5188,8 +5217,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-ia32-msvc@1.4.0: - resolution: {integrity: sha512-JsetT/lTx/Zq98eo8T5CiRyF1nKeX04RO8JlJrI3ZOYsZpp/A5RJvMd/szQ17iOzwiHdge+tx7k2jHysR6oBlQ==} + /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.14: + resolution: {integrity: sha512-TDkvu5pd37bKxZ6N+BqngCNGcefY7aHxyJ3BdBGxF+wRMjEMh70mgEXk8i0uM/aUi/Kl1GQoO6xJfUDlIMPXOA==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -5197,8 +5226,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-x64-msvc@1.4.0: - resolution: {integrity: sha512-z8Olcnwp5aYhzqUAarFjqF+oELCjuYWnB2HAJHlfsYNfDCAORY5kct3Fklz8PSsubC3U2EugWn8n42DwnThurg==} + /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.14: + resolution: {integrity: sha512-9yfoEe2RSykKr5hCifVAL5o0gHXgRCS+Wo+RJjQ9L2+QHY7XPLZYAhj/h8jdcAdRveyIQwat3k7wl+SW87v1eg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -5206,21 +5235,21 @@ packages: dev: true optional: true - /@tauri-apps/cli@1.4.0: - resolution: {integrity: sha512-VXYr2i2iVFl98etQSQsqLzXgX96bnWiNZd1YADgatqwy/qecbd6Kl5ZAPB5R4ynsgE8A1gU7Fbzh7dCEQYFfmA==} + /@tauri-apps/cli@2.0.0-alpha.14: + resolution: {integrity: sha512-4/IQwN5S94D6LTXQrDWbSea0pGb9TTC4BwxHUFmhep4NjFxms161v1zadAUIsq/N2x6WwCBGrsdq9SIkgKv49Q==} engines: {node: '>= 10'} hasBin: true optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 1.4.0 - '@tauri-apps/cli-darwin-x64': 1.4.0 - '@tauri-apps/cli-linux-arm-gnueabihf': 1.4.0 - '@tauri-apps/cli-linux-arm64-gnu': 1.4.0 - '@tauri-apps/cli-linux-arm64-musl': 1.4.0 - '@tauri-apps/cli-linux-x64-gnu': 1.4.0 - '@tauri-apps/cli-linux-x64-musl': 1.4.0 - '@tauri-apps/cli-win32-arm64-msvc': 1.4.0 - '@tauri-apps/cli-win32-ia32-msvc': 1.4.0 - '@tauri-apps/cli-win32-x64-msvc': 1.4.0 + '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.14 + '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.14 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.14 + '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.14 + '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.14 + '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.14 + '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.14 + '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-alpha.14 + '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.14 + '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.14 dev: true /@timkendall/tql@1.0.0-rc.8(graphql@16.8.0): @@ -5481,7 +5510,7 @@ packages: typescript: 5.0.2 dev: false - /@wagmi/connectors@2.7.0(@wagmi/chains@1.7.0)(react@18.2.0)(typescript@5.0.2)(viem@1.9.0)(zod@3.22.2): + /@wagmi/connectors@2.7.0(@wagmi/chains@1.7.0)(react@18.2.0)(typescript@5.0.2)(viem@1.10.12)(zod@3.22.2): resolution: {integrity: sha512-1KOL0HTJl5kzSC/YdKwFwiokr6poUQn1V/tcT0TpG3iH2x0lSM7FTkvCjVVY/6lKzTXrLlo9y2aE7AsOPnkvqg==} peerDependencies: '@wagmi/chains': '>=1.7.0' @@ -5505,7 +5534,7 @@ packages: abitype: 0.8.7(typescript@5.0.2)(zod@3.22.2) eventemitter3: 4.0.7 typescript: 5.0.2 - viem: 1.9.0(typescript@5.0.2)(zod@3.22.2) + viem: 1.10.12(typescript@5.0.2)(zod@3.22.2) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil @@ -5517,7 +5546,7 @@ packages: - zod dev: false - /@wagmi/core@1.3.9(react@18.2.0)(typescript@5.0.2)(viem@1.9.0)(zod@3.22.2): + /@wagmi/core@1.3.9(react@18.2.0)(typescript@5.0.2)(viem@1.10.12)(zod@3.22.2): resolution: {integrity: sha512-SrnABCrsDvhiMCLLLyzyHnZbEumsFT/XWlJJQZeyEDcixL95R7XQwOaaoRI4MpNilCtMtu3jzN57tA5Z2iA+kw==} peerDependencies: typescript: '>=5.0.4' @@ -5527,11 +5556,11 @@ packages: optional: true dependencies: '@wagmi/chains': 1.7.0(typescript@5.0.2) - '@wagmi/connectors': 2.7.0(@wagmi/chains@1.7.0)(react@18.2.0)(typescript@5.0.2)(viem@1.9.0)(zod@3.22.2) + '@wagmi/connectors': 2.7.0(@wagmi/chains@1.7.0)(react@18.2.0)(typescript@5.0.2)(viem@1.10.12)(zod@3.22.2) abitype: 0.8.7(typescript@5.0.2)(zod@3.22.2) eventemitter3: 4.0.7 typescript: 5.0.2 - viem: 1.9.0(typescript@5.0.2)(zod@3.22.2) + viem: 1.10.12(typescript@5.0.2)(zod@3.22.2) zustand: 4.4.1(react@18.2.0) transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -6133,6 +6162,21 @@ packages: zod: 3.22.2 dev: false + /abitype@0.9.8(typescript@5.0.2)(zod@3.22.2): + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + dependencies: + typescript: 5.0.2 + zod: 3.22.2 + dev: false + /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -6336,7 +6380,7 @@ packages: resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} engines: {node: '>=4'} dependencies: - tslib: 2.6.2 + tslib: 2.4.1 dev: false /astral-regex@1.0.0: @@ -6439,46 +6483,46 @@ packages: - debug dev: false - /babel-core@7.0.0-bridge.0(@babel/core@7.22.11): + /babel-core@7.0.0-bridge.0(@babel/core@7.22.17): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 dev: false - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.11): + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.17): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.17) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.11): + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.17): resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.11) - core-js-compat: 3.32.1 + '@babel/core': 7.22.17 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.17) + core-js-compat: 3.32.2 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.11): + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.17): resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.17) transitivePeerDependencies: - supports-color dev: false @@ -6487,46 +6531,46 @@ packages: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} dev: false - /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.11): + /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.17): resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} dependencies: - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.17) transitivePeerDependencies: - '@babel/core' dev: false - /babel-preset-fbjs@3.4.0(@babel/core@7.22.11): + /babel-preset-fbjs@3.4.0(@babel/core@7.22.17): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.11) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.11) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.17) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.17) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.17) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 dev: false @@ -6927,8 +6971,8 @@ packages: restore-cursor: 3.1.0 dev: false - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + /cli-spinners@2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} engines: {node: '>=6'} dev: false @@ -7112,8 +7156,8 @@ packages: toggle-selection: 1.0.6 dev: false - /core-js-compat@3.32.1: - resolution: {integrity: sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==} + /core-js-compat@3.32.2: + resolution: {integrity: sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==} dependencies: browserslist: 4.21.10 dev: false @@ -8967,16 +9011,16 @@ packages: - utf-8-validate dev: false - /jest-environment-node@29.6.4: - resolution: {integrity: sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==} + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.4 - '@jest/fake-timers': 29.6.4 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.5.8 - jest-mock: 29.6.3 - jest-util: 29.6.3 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: false /jest-get-type@29.6.3: @@ -8984,28 +9028,28 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: false - /jest-message-util@29.6.3: - resolution: {integrity: sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==} + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 29.6.3 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 dev: false - /jest-mock@29.6.3: - resolution: {integrity: sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==} + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 20.5.8 - jest-util: 29.6.3 + jest-util: 29.7.0 dev: false /jest-regex-util@27.5.1: @@ -9025,8 +9069,8 @@ packages: picomatch: 2.3.1 dev: false - /jest-util@29.6.3: - resolution: {integrity: sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==} + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 @@ -9037,8 +9081,8 @@ packages: picomatch: 2.3.1 dev: false - /jest-validate@29.6.3: - resolution: {integrity: sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==} + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 @@ -9046,7 +9090,7 @@ packages: chalk: 4.1.2 jest-get-type: 29.6.3 leven: 3.1.0 - pretty-format: 29.6.3 + pretty-format: 29.7.0 dev: false /jest-worker@27.5.1: @@ -9063,6 +9107,16 @@ packages: hasBin: true dev: true + /joi@17.10.1: + resolution: {integrity: sha512-vIiDxQKmRidUVp8KngT8MZSOcmRVm2zV7jbMjNYWuHcJWI0bUck3nRTGQjhpPlQenIQIBC5Vp9AhcnHbWQqafw==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.4 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + dev: false + /joi@17.9.2: resolution: {integrity: sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==} dependencies: @@ -9071,6 +9125,7 @@ packages: '@sideway/address': 4.1.4 '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 + dev: true /jose@4.14.4: resolution: {integrity: sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==} @@ -9111,23 +9166,23 @@ packages: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} dev: false - /jscodeshift@0.14.0(@babel/preset-env@7.22.10): + /jscodeshift@0.14.0(@babel/preset-env@7.22.15): resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/core': 7.22.11 - '@babel/parser': 7.22.11 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.22.11(@babel/core@7.22.11) - '@babel/preset-env': 7.22.10(@babel/core@7.22.11) - '@babel/preset-flow': 7.22.5(@babel/core@7.22.11) - '@babel/preset-typescript': 7.22.11(@babel/core@7.22.11) - '@babel/register': 7.22.5(@babel/core@7.22.11) - babel-core: 7.0.0-bridge.0(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/parser': 7.22.16 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.17) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.17) + '@babel/preset-env': 7.22.15(@babel/core@7.22.17) + '@babel/preset-flow': 7.22.15(@babel/core@7.22.17) + '@babel/preset-typescript': 7.22.15(@babel/core@7.22.17) + '@babel/register': 7.22.15(@babel/core@7.22.17) + babel-core: 7.0.0-bridge.0(@babel/core@7.22.17) chalk: 4.1.2 flow-parser: 0.206.0 graceful-fs: 4.2.11 @@ -9677,7 +9732,7 @@ packages: resolution: {integrity: sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 hermes-parser: 0.12.0 nullthrows: 1.1.1 transitivePeerDependencies: @@ -9703,7 +9758,7 @@ packages: dependencies: connect: 3.7.0 cosmiconfig: 5.2.1 - jest-validate: 29.6.3 + jest-validate: 29.7.0 metro: 0.76.7 metro-cache: 0.76.7 metro-core: 0.76.7 @@ -9766,7 +9821,7 @@ packages: resolution: {integrity: sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==} engines: {node: '>=16'} dependencies: - terser: 5.19.2 + terser: 5.19.4 dev: false /metro-minify-uglify@0.76.7: @@ -9776,65 +9831,65 @@ packages: uglify-es: 3.3.9 dev: false - /metro-react-native-babel-preset@0.76.7(@babel/core@7.22.11): + /metro-react-native-babel-preset@0.76.7(@babel/core@7.22.17): resolution: {integrity: sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.22.11 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.11) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.11) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-runtime': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-typescript': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.11) - '@babel/template': 7.22.5 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.17) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-proposal-export-default-from': 7.22.17(@babel/core@7.22.17) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.17) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.17) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.17) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-runtime': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.17) + '@babel/template': 7.22.15 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.17) react-refresh: 0.4.3 transitivePeerDependencies: - supports-color dev: false - /metro-react-native-babel-transformer@0.76.7(@babel/core@7.22.11): + /metro-react-native-babel-transformer@0.76.7(@babel/core@7.22.17): resolution: {integrity: sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.22.11 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.11) + '@babel/core': 7.22.17 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.17) hermes-parser: 0.12.0 - metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.11) + metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.17) nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -9849,7 +9904,7 @@ packages: resolution: {integrity: sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==} engines: {node: '>=16'} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 react-refresh: 0.4.3 dev: false @@ -9857,7 +9912,7 @@ packages: resolution: {integrity: sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==} engines: {node: '>=16'} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 react-refresh: 0.4.3 dev: false @@ -9865,8 +9920,8 @@ packages: resolution: {integrity: sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==} engines: {node: '>=16'} dependencies: - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/traverse': 7.22.17 + '@babel/types': 7.22.17 invariant: 2.2.4 metro-symbolicate: 0.76.7 nullthrows: 1.1.1 @@ -9881,8 +9936,8 @@ packages: resolution: {integrity: sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==} engines: {node: '>=16'} dependencies: - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/traverse': 7.22.17 + '@babel/types': 7.22.17 invariant: 2.2.4 metro-symbolicate: 0.76.8 nullthrows: 1.1.1 @@ -9927,10 +9982,10 @@ packages: resolution: {integrity: sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 + '@babel/core': 7.22.17 + '@babel/generator': 7.22.15 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.17 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -9940,11 +9995,11 @@ packages: resolution: {integrity: sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/parser': 7.22.11 - '@babel/types': 7.22.11 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.11) + '@babel/core': 7.22.17 + '@babel/generator': 7.22.15 + '@babel/parser': 7.22.16 + '@babel/types': 7.22.17 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.17) metro: 0.76.7 metro-babel-transformer: 0.76.7 metro-cache: 0.76.7 @@ -9964,13 +10019,13 @@ packages: engines: {node: '>=16'} hasBin: true dependencies: - '@babel/code-frame': 7.22.10 - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/parser': 7.22.11 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/code-frame': 7.22.13 + '@babel/core': 7.22.17 + '@babel/generator': 7.22.15 + '@babel/parser': 7.22.16 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.17 + '@babel/types': 7.22.17 accepts: 1.3.8 async: 3.2.4 chalk: 4.1.2 @@ -9995,7 +10050,7 @@ packages: metro-inspector-proxy: 0.76.7 metro-minify-terser: 0.76.7 metro-minify-uglify: 0.76.7 - metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.11) + metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.17) metro-resolver: 0.76.7 metro-runtime: 0.76.7 metro-source-map: 0.76.7 @@ -10600,7 +10655,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.0 + cli-spinners: 2.9.1 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -10986,8 +11041,8 @@ packages: react-is: 17.0.2 dev: false - /pretty-format@29.6.3: - resolution: {integrity: sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==} + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 @@ -11254,7 +11309,7 @@ packages: optional: true dependencies: base-64: 0.1.0 - react-native: 0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.10)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.22.17)(@babel/preset-env@7.22.15)(react@18.2.0) utf8: 3.0.0 dev: false @@ -11262,19 +11317,19 @@ packages: resolution: {integrity: sha512-WJr256xBquk7X2O83QYWKqgLg43Zg3SrgjPc/kr0gCD2LoXA+2L72BW4cmstH12GbGeutqs/eXk3jgDQ2iCSvQ==} dev: false - /react-native@0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.10)(react@18.2.0): + /react-native@0.72.4(@babel/core@7.22.17)(@babel/preset-env@7.22.15)(react@18.2.0): resolution: {integrity: sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==} engines: {node: '>=16'} hasBin: true peerDependencies: react: 18.2.0 dependencies: - '@jest/create-cache-key-function': 29.6.3 - '@react-native-community/cli': 11.3.6(@babel/core@7.22.11) + '@jest/create-cache-key-function': 29.7.0 + '@react-native-community/cli': 11.3.6(@babel/core@7.22.17) '@react-native-community/cli-platform-android': 11.3.6 '@react-native-community/cli-platform-ios': 11.3.6 '@react-native/assets-registry': 0.72.0 - '@react-native/codegen': 0.72.6(@babel/preset-env@7.22.10) + '@react-native/codegen': 0.72.7(@babel/preset-env@7.22.15) '@react-native/gradle-plugin': 0.72.11 '@react-native/js-polyfills': 0.72.1 '@react-native/normalize-colors': 0.72.0 @@ -11286,7 +11341,7 @@ packages: event-target-shim: 5.0.1 flow-enums-runtime: 0.0.5 invariant: 2.2.4 - jest-environment-node: 29.6.4 + jest-environment-node: 29.7.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 metro-runtime: 0.76.8 @@ -11303,7 +11358,7 @@ packages: scheduler: 0.24.0-canary-efb381bbf-20230505 stacktrace-parser: 0.1.10 use-sync-external-store: 1.2.0(react@18.2.0) - whatwg-fetch: 3.6.17 + whatwg-fetch: 3.6.19 ws: 6.2.2 yargs: 17.7.2 transitivePeerDependencies: @@ -11407,7 +11462,7 @@ packages: ast-types: 0.15.2 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.6.2 + tslib: 2.4.1 dev: false /receptacle@1.3.2: @@ -11441,7 +11496,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 dev: false /regexpu-core@5.3.2: @@ -12202,7 +12257,7 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check@3.0.1(@babel/core@7.22.11)(postcss@8.4.29)(svelte@3.54.0): + /svelte-check@3.0.1(@babel/core@7.22.17)(postcss@8.4.29)(svelte@3.54.0): resolution: {integrity: sha512-7YpHYWv6V2qhcvVeAlXixUPAlpLCXB1nZEQK0EItB3PtuYmENhKclbc5uKSJTodTwWR1y+4stKGcbH30k6A3Yw==} hasBin: true peerDependencies: @@ -12215,7 +12270,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.54.0 - svelte-preprocess: 5.0.4(@babel/core@7.22.11)(postcss@8.4.29)(svelte@3.54.0)(typescript@4.9.5) + svelte-preprocess: 5.0.4(@babel/core@7.22.17)(postcss@8.4.29)(svelte@3.54.0)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' @@ -12244,7 +12299,7 @@ packages: '@noble/ciphers': 0.2.0 dev: false - /svelte-preprocess@5.0.4(@babel/core@7.22.11)(postcss@8.4.29)(svelte@3.54.0)(typescript@4.9.5): + /svelte-preprocess@5.0.4(@babel/core@7.22.17)(postcss@8.4.29)(svelte@3.54.0)(typescript@4.9.5): resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -12282,7 +12337,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.17 '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 @@ -12384,8 +12439,8 @@ packages: ps-tree: 1.2.0 dev: false - /terser@5.19.2: - resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} + /terser@5.19.4: + resolution: {integrity: sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==} engines: {node: '>=10'} hasBin: true dependencies: @@ -12772,6 +12827,15 @@ packages: engines: {node: '>= 0.8'} dev: false + /unws@0.2.4(ws@8.13.0): + resolution: {integrity: sha512-/N1ajiqrSp0A/26/LBg7r10fOcPtGXCqJRJ61sijUFoGZMr6ESWGYn7i0cwr7fR7eEECY5HsitqtjGHDZLAu2w==} + engines: {node: '>=16.14.0'} + peerDependencies: + ws: '*' + dependencies: + ws: 8.13.0 + dev: false + /update-browserslist-db@1.0.11(browserslist@4.21.10): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true @@ -12910,6 +12974,30 @@ packages: engines: {node: '>= 0.8'} dev: false + /viem@1.10.12(typescript@5.0.2)(zod@3.22.2): + resolution: {integrity: sha512-Q6v6rKxRiswAcLbHMaqmpEUKtgANjzBNEeco04WVX/yxFihDafLcuRmz17AtgvgbN+ROclZcbY3lsKOiSABUJg==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@adraffy/ens-normalize': 1.9.4 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@scure/bip32': 1.3.2 + '@scure/bip39': 1.2.1 + '@types/ws': 8.5.5 + abitype: 0.9.8(typescript@5.0.2)(zod@3.22.2) + typescript: 5.0.2 + unws: 0.2.4(ws@8.13.0) + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + dev: false + /viem@1.9.0(typescript@5.0.2)(zod@3.22.2): resolution: {integrity: sha512-YSRmS6ck2pVQZLDTwpNb04c8dN74uxMgDlj2jAixbCokP1e1th2ly8j+EQVRdwq0mFAW4Pdmx8/KNIICtkQLuA==} peerDependencies: @@ -13017,8 +13105,8 @@ packages: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false - /whatwg-fetch@3.6.17: - resolution: {integrity: sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==} + /whatwg-fetch@3.6.19: + resolution: {integrity: sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==} dev: false /whatwg-url@5.0.0: @@ -13153,6 +13241,19 @@ packages: utf-8-validate: 5.0.10 dev: false + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + /ws@8.5.0: resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} engines: {node: '>=10.0.0'} @@ -13209,6 +13310,12 @@ packages: /yaml@2.3.1: resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} engines: {node: '>= 14'} + dev: true + + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} + engines: {node: '>= 14'} + dev: false /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} diff --git a/src/lib/mockApps.js b/src/lib/mockApps.js new file mode 100644 index 0000000..d90d66e --- /dev/null +++ b/src/lib/mockApps.js @@ -0,0 +1,7 @@ +export const mockApps = [ + { name: 'cloud' }, + { name: 'pass'}, + { name: 'directus' }, + { name: 'penpot'} + ]; + \ No newline at end of file diff --git a/src/routes/me/+layout.svelte b/src/routes/me/+layout.svelte index b75e404..bffc915 100644 --- a/src/routes/me/+layout.svelte +++ b/src/routes/me/+layout.svelte @@ -9,6 +9,8 @@
  • Banking
  • Bookmarks
  • Access Control
  • +
  • Apps
  • +
  • REST
  • diff --git a/src/routes/me/+page.svelte b/src/routes/me/+page.svelte index 03fb222..928ad55 100644 --- a/src/routes/me/+page.svelte +++ b/src/routes/me/+page.svelte @@ -1,11 +1,47 @@ -
    -

    Dashboard

    +

    Profile

    -
    Welcome back, Samuel this is your Dashboard
    +
    +
    + {#if $meQuery.isLoading} +

    Loading...

    + {:else if $meQuery.error} +
    Error: {JSON.stringify($meQuery.error, null, 2)}
    + {:else} +
    +
    + +
    +

    Welcome back

    +

    + {$meQuery.data.system_db_users_me?.first_name} + {$meQuery.data.system_db_users_me?.last_name} +

    + {$meQuery.data.system_db_users_me?.external_identifier} +

    +

    +
    +
    + {/if} +
    +
    diff --git a/src/routes/me/apps/+page.svelte b/src/routes/me/apps/+page.svelte new file mode 100644 index 0000000..fb2093e --- /dev/null +++ b/src/routes/me/apps/+page.svelte @@ -0,0 +1,13 @@ + + + +

    Apps List

    +
      + {#each mockApps as app} +
    • + {app.name} +
    • + {/each} +
    diff --git a/src/routes/me/apps/[name]/+page.js b/src/routes/me/apps/[name]/+page.js new file mode 100644 index 0000000..60fca02 --- /dev/null +++ b/src/routes/me/apps/[name]/+page.js @@ -0,0 +1,12 @@ +import { mockApps } from '$lib/mockApps'; + +export function load({ params }) { + const { name } = params; + const app = mockApps.find(a => a.name == name); + + if (app) { + return { props: { app } }; + } + + return { status: 404 }; +} diff --git a/src/routes/me/apps/[name]/+page.svelte b/src/routes/me/apps/[name]/+page.svelte new file mode 100644 index 0000000..ac99790 --- /dev/null +++ b/src/routes/me/apps/[name]/+page.svelte @@ -0,0 +1,11 @@ + + + diff --git a/src/routes/me/resttest/+page.svelte b/src/routes/me/resttest/+page.svelte new file mode 100644 index 0000000..74b7ed3 --- /dev/null +++ b/src/routes/me/resttest/+page.svelte @@ -0,0 +1,26 @@ + + + +
    +

    Cloudron Test

    +
    + +
    +
    + {#if $cloudronQuery.isLoading} +

    Loading...

    + {:else if $cloudronQuery.error} +
    Error: {JSON.stringify($cloudronQuery.error, null, 2)}
    + {:else} +
    {JSON.stringify($cloudronQuery.data, null, 2)}
    + {/if} +
    +
    +