diff --git a/.github/workflows/openapi.yml b/.github/workflows/openapi.yml index 348a6845de..0d37f76146 100644 --- a/.github/workflows/openapi.yml +++ b/.github/workflows/openapi.yml @@ -87,11 +87,10 @@ jobs: - name: Check openapi*.json and typescript changes run: | - bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please run \"composer run openapi\" and commit the openapi*.json files and (if applicable) src/types/openapi/openapi*.ts, see the section \"Show changes on failure\" for details' && exit 1)" + git diff --quiet -- openapi*.json src/types/openapi/openapi*.ts || (echo 'Please run "composer run openapi" and commit the openapi*.json files and (if applicable) src/types/openapi/openapi*.ts, see the section "Show changes on failure" for details' && exit 1) - name: Show changes on failure if: failure() run: | - git status - git --no-pager diff + git --no-pager diff -- openapi*.json src/types/openapi/openapi*.ts exit 1 # make it red to grab attention diff --git a/.patches/byjg-swagger-test-php84-implicit-nullable.diff b/.patches/byjg-swagger-test-php84-implicit-nullable.diff new file mode 100644 index 0000000000..235fd81940 --- /dev/null +++ b/.patches/byjg-swagger-test-php84-implicit-nullable.diff @@ -0,0 +1,132 @@ +--- a/src/AbstractRequester.php ++++ b/src/AbstractRequester.php +@@ -126,7 +126,7 @@ abstract class AbstractRequester + /** + * @param array|null $query + * @return $this + */ +- public function withQuery(array $query = null): self ++ public function withQuery(?array $query = null): self + { + $uri = $this->psr7Request->getUri(); + +--- a/src/ApiTestCase.php ++++ b/src/ApiTestCase.php +@@ -80,8 +80,8 @@ abstract class ApiTestCase extends TestCase + string $method, + string $path, + int $statusExpected = 200, + string|array|null $query = null, +- array|string $requestBody = null, ++ array|string|null $requestBody = null, + array $requestHeader = [] + ): ResponseInterface { + $this->checkSchema(); +@@ -137,8 +137,8 @@ abstract class ApiTestCase extends TestCase + + return $body; + } + +- public function assertRequestException(AbstractRequester $request, string $exceptionClass, string $exceptionMessage = null, bool $matchQueryParams = true): Throwable ++ public function assertRequestException(AbstractRequester $request, string $exceptionClass, ?string $exceptionMessage = null, bool $matchQueryParams = true): Throwable + { + try { + $this->assertRequest($request, $matchQueryParams); +--- a/src/Exception/BaseException.php ++++ b/src/Exception/BaseException.php +@@ -9,7 +9,7 @@ class BaseException extends Exception + { + protected mixed $body; + +- public function __construct($message = "", $body = [], $code = 0, Throwable $previous = null) ++ public function __construct($message = "", $body = [], $code = 0, ?Throwable $previous = null) + { + $this->body = $body; + if (!empty($body)) { + +--- a/src/Base/Body.php ++++ b/src/Base/Body.php +@@ -328,6 +328,50 @@ + return true; + } + ++ protected function mergeAllOfSchemas(array $schemas): array ++ { ++ $mergedSchema = []; ++ ++ foreach ($schemas as $schema) { ++ if (isset($schema['$ref'])) { ++ $schema = $this->schema->getDefinition($schema['$ref']); ++ } ++ ++ $mergedSchema = $this->mergeSchemaDefinitions($mergedSchema, $schema); ++ } ++ ++ return $mergedSchema; ++ } ++ ++ protected function mergeSchemaDefinitions(array $base, array $append): array ++ { ++ foreach ($append as $key => $value) { ++ if (!array_key_exists($key, $base)) { ++ $base[$key] = $value; ++ continue; ++ } ++ ++ if (($key === self::SWAGGER_REQUIRED || $key === 'enum') && is_array($base[$key]) && is_array($value)) { ++ $base[$key] = array_values(array_unique(array_merge($base[$key], $value), SORT_REGULAR)); ++ continue; ++ } ++ ++ if (is_array($base[$key]) && is_array($value) && $this->isAssociativeArray($base[$key]) && $this->isAssociativeArray($value)) { ++ $base[$key] = $this->mergeSchemaDefinitions($base[$key], $value); ++ continue; ++ } ++ ++ $base[$key] = $value; ++ } ++ ++ return $base; ++ } ++ ++ protected function isAssociativeArray(array $value): bool ++ { ++ return array_keys($value) !== range(0, count($value) - 1); ++ } ++ + /** + * @param string $name + * @param array $schemaArray +@@ -362,27 +406,21 @@ + } + + if (isset($schemaArray['allOf'])) { +- $allOfSchemas = $schemaArray['allOf']; +- foreach ($allOfSchemas as &$schema) { +- if (isset($schema['$ref'])) { +- $schema = $this->schema->getDefinition($schema['$ref']); +- } +- } +- unset($schema); +- $mergedSchema = array_merge_recursive(...$allOfSchemas); +- return $this->matchSchema($name, $mergedSchema, $body); ++ return $this->matchSchema($name, $this->mergeAllOfSchemas($schemaArray['allOf']), $body); + } + +- if (isset($schemaArray['oneOf'])) { ++ if (isset($schemaArray['oneOf']) || isset($schemaArray['anyOf'])) { ++ $schemas = $schemaArray['oneOf'] ?? $schemaArray['anyOf']; + $matched = false; + $catchException = null; +- foreach ($schemaArray['oneOf'] as $schema) { ++ foreach ($schemas as $schema) { + try { + $matched = $matched || $this->matchSchema($name, $schema, $body); + } catch (NotMatchedException $exception) { + $catchException = $exception; + } + } ++ + if ($catchException !== null && $matched === false) { + throw $catchException; + } diff --git a/REUSE.toml b/REUSE.toml index 0b6ae4a1eb..4119032aa0 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -58,6 +58,7 @@ path = [ "tests/integration/features/**/*.feature", "tests/psalm-baseline.xml", "tsconfig.json", + "vendor-bin/**/patches.json", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock" ] diff --git a/composer.lock b/composer.lock index 9c7da1fb93..4886f666f1 100644 --- a/composer.lock +++ b/composer.lock @@ -778,18 +778,18 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "da19d9c4572f2adae57b28b2111d7fa667cd6dcb" + "reference": "c425a7015ff365f556908950c3ae1cd2167f1fc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/da19d9c4572f2adae57b28b2111d7fa667cd6dcb", - "reference": "da19d9c4572f2adae57b28b2111d7fa667cd6dcb", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/c425a7015ff365f556908950c3ae1cd2167f1fc9", + "reference": "c425a7015ff365f556908950c3ae1cd2167f1fc9", "shasum": "" }, "conflict": { "3f/pygmentize": "<1.2", "adaptcms/adaptcms": "<=1.3", - "admidio/admidio": "<=4.3.16", + "admidio/admidio": "<5.0.6", "adodb/adodb-php": "<=5.22.9", "aheinze/cockpit": "<2.2", "aimeos/ai-admin-graphql": ">=2022.04.1,<2022.10.10|>=2023.04.1,<2023.10.6|>=2024.04.1,<2024.07.2", @@ -840,7 +840,7 @@ "automattic/jetpack": "<9.8", "awesome-support/awesome-support": "<=6.0.7", "aws/aws-sdk-php": "<3.368", - "azuracast/azuracast": "<=0.23.1", + "azuracast/azuracast": "<=0.23.3", "b13/seo_basics": "<0.8.2", "backdrop/backdrop": "<=1.32", "backpack/crud": "<3.4.9", @@ -926,8 +926,8 @@ "cosenary/instagram": "<=2.3", "couleurcitron/tarteaucitron-wp": "<0.3", "cpsit/typo3-mailqueue": "<0.4.3|>=0.5,<0.5.1", - "craftcms/cms": "<4.17.0.0-beta2|>=5,<5.9.0.0-beta2", - "craftcms/commerce": ">=4.0.0.0-RC1-dev,<=4.10|>=5,<=5.5.1", + "craftcms/cms": "<=4.17.3|>=5,<=5.9.8", + "craftcms/commerce": ">=4,<4.11|>=5,<5.6", "craftcms/composer": ">=4.0.0.0-RC1-dev,<=4.10|>=5.0.0.0-RC1-dev,<=5.5.1", "craftcms/craft": ">=3.5,<=4.16.17|>=5.0.0.0-RC1-dev,<=5.8.21", "croogo/croogo": "<=4.0.7", @@ -1005,7 +1005,7 @@ "drupal/umami_analytics": "<1.0.1", "duncanmcclean/guest-entries": "<3.1.2", "dweeves/magmi": "<=0.7.24", - "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2", + "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.3.1", "ecodev/newsletter": "<=4", "ectouch/ectouch": "<=2.7.2", "egroupware/egroupware": "<23.1.20260113|>=26.0.20251208,<26.0.20260113", @@ -1062,6 +1062,7 @@ "flarum/flarum": "<0.1.0.0-beta8", "flarum/framework": "<1.8.10", "flarum/mentions": "<1.6.3", + "flarum/nicknames": "<1.8.3", "flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15", "flarum/tags": "<=0.1.0.0-beta13", "floriangaerber/magnesium": "<0.3.1", @@ -1108,7 +1109,7 @@ "gp247/core": "<1.1.24", "gree/jose": "<2.2.1", "gregwar/rst": "<1.0.3", - "grumpydictator/firefly-iii": "<6.1.17", + "grumpydictator/firefly-iii": "<6.1.17|>=6.4.23,<=6.5", "gugoan/economizzer": "<=0.9.0.0-beta1", "guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5", "guzzlehttp/oauth-subscriber": "<0.8.1", @@ -1209,7 +1210,7 @@ "lavalite/cms": "<=10.1", "lavitto/typo3-form-to-database": "<2.2.5|>=3,<3.2.2|>=4,<4.2.3|>=5,<5.0.2", "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", - "league/commonmark": "<2.7", + "league/commonmark": "<=2.8", "league/flysystem": "<1.1.4|>=2,<2.1.1", "league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3", "leantime/leantime": "<3.3", @@ -1218,7 +1219,7 @@ "librenms/librenms": "<26.2", "liftkit/database": "<2.13.2", "lightsaml/lightsaml": "<1.3.5", - "limesurvey/limesurvey": "<6.5.12", + "limesurvey/limesurvey": "<6.15.4", "livehelperchat/livehelperchat": "<=3.91", "livewire-filemanager/filemanager": "<=1.0.4", "livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.6.4", @@ -1447,7 +1448,7 @@ "reportico-web/reportico": "<=8.1", "rhukster/dom-sanitizer": "<1.0.7", "rmccue/requests": ">=1.6,<1.8", - "robrichards/xmlseclibs": "<=3.1.3", + "robrichards/xmlseclibs": "<3.1.5", "roots/soil": "<4.1", "roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11", "rudloff/alltube": "<3.0.3", @@ -1463,8 +1464,8 @@ "setasign/fpdi": "<2.6.4", "sfroemken/url_redirect": "<=1.2.1", "sheng/yiicms": "<1.2.1", - "shopware/core": "<6.6.10.9-dev|>=6.7,<6.7.6.1-dev", - "shopware/platform": "<6.6.10.7-dev|>=6.7,<6.7.3.1-dev", + "shopware/core": "<6.6.10.15-dev|>=6.7,<6.7.8.1-dev", + "shopware/platform": "<6.6.10.15-dev|>=6.7,<6.7.8.1-dev", "shopware/production": "<=6.3.5.2", "shopware/shopware": "<=5.7.17|>=6.4.6,<6.6.10.10-dev|>=6.7,<6.7.6.1-dev", "shopware/storefront": "<6.6.10.10-dev|>=6.7,<6.7.5.1-dev", @@ -1498,7 +1499,7 @@ "simplesamlphp/simplesamlphp-module-openid": "<1", "simplesamlphp/simplesamlphp-module-openidprovider": "<0.9", "simplesamlphp/xml-common": "<1.20", - "simplesamlphp/xml-security": "==1.6.11", + "simplesamlphp/xml-security": "<1.13.9|>=2,<2.3.1", "simplito/elliptic-php": "<1.0.6", "sitegeist/fluid-components": "<3.5", "sjbr/sr-feuser-register": "<2.6.2|>=5.1,<12.5", @@ -1508,7 +1509,7 @@ "slim/slim": "<2.6", "slub/slub-events": "<3.0.3", "smarty/smarty": "<4.5.3|>=5,<5.1.1", - "snipe/snipe-it": "<=8.3.4", + "snipe/snipe-it": "<8.3.7", "socalnick/scn-social-auth": "<1.15.2", "socialiteproviders/steam": "<1.1", "solspace/craft-freeform": "<4.1.29|>=5,<=5.14.6", @@ -1526,7 +1527,7 @@ "starcitizentools/short-description": ">=4,<4.0.1", "starcitizentools/tabber-neue": ">=1.9.1,<2.7.2|>=3,<3.1.1", "starcitizenwiki/embedvideo": "<=4", - "statamic/cms": "<5.73.11|>=6,<6.4", + "statamic/cms": "<5.73.11|>=6,<6.6.2", "stormpath/sdk": "<9.9.99", "studio-42/elfinder": "<=2.1.64", "studiomitte/friendlycaptcha": "<0.1.4", @@ -1545,7 +1546,7 @@ "sylius/grid-bundle": "<1.10.1", "sylius/paypal-plugin": "<1.6.2|>=1.7,<1.7.2|>=2,<2.0.2", "sylius/resource-bundle": ">=1,<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.12.19|>=1.13.0.0-alpha1,<1.13.4", + "sylius/sylius": "<1.9.12|>=1.10,<1.10.16|>=1.11,<1.11.17|>=1.12,<=1.12.22|>=1.13,<=1.13.14|>=1.14,<=1.14.17|>=2,<=2.0.15|>=2.1,<=2.1.11|>=2.2,<=2.2.2", "symbiote/silverstripe-multivaluefield": ">=3,<3.1", "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", "symbiote/silverstripe-seed": "<6.0.3", @@ -1673,8 +1674,9 @@ "wallabag/wallabag": "<2.6.11", "wanglelecc/laracms": "<=1.0.3", "wapplersystems/a21glossary": "<=0.4.10", - "web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9", - "web-auth/webauthn-lib": ">=4.5,<4.9", + "web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9|>=5.2,<5.2.4", + "web-auth/webauthn-lib": ">=4.5,<4.9|>=5.2,<5.2.4", + "web-auth/webauthn-symfony-bundle": ">=5.2,<5.2.4", "web-feet/coastercms": "==5.5", "web-tp3/wec_map": "<3.0.3", "webbuilders-group/silverstripe-kapost-bridge": "<0.4", @@ -1686,7 +1688,7 @@ "wikibase/wikibase": "<=1.39.3", "wikimedia/parsoid": "<0.12.2", "willdurand/js-translation-bundle": "<2.1.1", - "winter/wn-backend-module": "<1.2.4", + "winter/wn-backend-module": "<1.2.12", "winter/wn-cms-module": "<=1.2.9", "winter/wn-dusk-plugin": "<2.1", "winter/wn-system-module": "<1.2.4", @@ -1699,7 +1701,8 @@ "wpanel/wpanel4-cms": "<=4.3.1", "wpcloud/wp-stateless": "<3.2", "wpglobus/wpglobus": "<=1.9.6", - "wwbn/avideo": "<=21", + "wpmetabox/meta-box": "<5.11.2", + "wwbn/avideo": "<25", "xataface/xataface": "<3", "xpressengine/xpressengine": "<3.0.15", "yab/quarx": "<2.4.5", @@ -1797,7 +1800,7 @@ "type": "tidelift" } ], - "time": "2026-03-04T22:09:37+00:00" + "time": "2026-03-16T13:34:57+00:00" } ], "aliases": [], diff --git a/jsconfig.json b/jsconfig.json deleted file mode 100644 index 653d50dbdf..0000000000 --- a/jsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptionns": { - "target": "es6" - }, - "include": [ - "./src/**/*" - ], - "exclude": ["node_modules", "./js/", "./src/assets"] -} diff --git a/lib/Controller/AccountController.php b/lib/Controller/AccountController.php index ca3b39c57e..e645a39e86 100644 --- a/lib/Controller/AccountController.php +++ b/lib/Controller/AccountController.php @@ -16,7 +16,6 @@ use OCA\Libresign\Handler\SignEngine\Pkcs12Handler; use OCA\Libresign\Helper\JSActions; use OCA\Libresign\Helper\ValidateHelper; -use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\AccountService; use OCA\Libresign\Service\SessionService; use OCA\Libresign\Service\SignerElementsService; @@ -38,9 +37,15 @@ use Psr\Log\LoggerInterface; /** - * @psalm-import-type LibresignCertificatePfxData from ResponseDefinitions - * @psalm-import-type LibresignFile from ResponseDefinitions - * @psalm-import-type LibresignPagination from ResponseDefinitions + * @psalm-import-type LibresignCertificatePfxData from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignAccountMeResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignAccountSettingsUpdateResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignActionMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignConfigValueResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignCreateToSignResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignPagination from \OCA\Libresign\ResponseDefinitions */ class AccountController extends AEnvironmentAwareController implements ISignatureUuid { use LibresignTrait; @@ -70,7 +75,7 @@ public function __construct( * @param string $email email to the new account * @param string $password the password to then new account * @param string|null $signPassword The password to create certificate - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Validation page not accessible if unauthenticated @@ -135,7 +140,7 @@ public function createToSign(string $uuid, string $email, string $password, ?str * * @param string $signPassword The password that will be used to encrypt the certificate file * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: Settings saved * 401: Failure to create PFX file @@ -187,7 +192,7 @@ public function signatureGenerate( * * Validates API access data and returns the authenticated user's data. * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 404: Invalid user or password @@ -226,7 +231,7 @@ public function me(): DataResponse { * * @param string|null $phone the phone number to be defined. If null will remove the phone number * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: Settings saved * 404: Invalid data to update phone number @@ -272,7 +277,7 @@ public function updateSettings(?string $phone = null): DataResponse { /** * Delete PFX file * - * @return DataResponse + * @return DataResponse * * 202: Certificate deleted with success */ @@ -293,7 +298,7 @@ public function deletePfx(): DataResponse { /** * Upload PFX file * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 202: Certificate saved with success * 400: No file provided or other problem with provided file @@ -333,7 +338,7 @@ public function uploadPfx(): DataResponse { * @param string $current Current password * @param string $new New password * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 202: Certificate saved with success * 400: No file provided or other problem with provided file @@ -366,7 +371,7 @@ public function updatePfxPassword($current, $new): DataResponse { * * @param string $password password of PFX file to decrypt the file and return his content * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 202: Certificate saved with success * 400: No file provided or other problem with provided file @@ -396,7 +401,7 @@ public function readPfxData(string $password): DataResponse { * * @param string $key Config key * @param mixed $value Config value - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: Config updated * 400: Error updating config diff --git a/lib/Controller/AdminController.php b/lib/Controller/AdminController.php index c593aa22ef..1eb1f22bb3 100644 --- a/lib/Controller/AdminController.php +++ b/lib/Controller/AdminController.php @@ -17,7 +17,6 @@ use OCA\Libresign\Handler\CertificateEngine\CertificateEngineFactory; use OCA\Libresign\Handler\CertificateEngine\IEngineHandler; use OCA\Libresign\Helper\ConfigureCheckHelper; -use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\Certificate\ValidateService; use OCA\Libresign\Service\CertificatePolicyService; use OCA\Libresign\Service\DocMdp\ConfigService as DocMdpConfigService; @@ -46,11 +45,25 @@ use UnexpectedValueException; /** - * @psalm-import-type LibresignEngineHandler from ResponseDefinitions - * @psalm-import-type LibresignCetificateDataGenerated from ResponseDefinitions - * @psalm-import-type LibresignConfigureCheck from ResponseDefinitions - * @psalm-import-type LibresignRootCertificate from ResponseDefinitions - * @psalm-import-type LibresignReminderSettings from ResponseDefinitions + * @psalm-import-type LibresignCetificateDataGenerated from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignCertificateEngineConfigResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignCertificatePolicyResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignConfigureCheck from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignConfigureChecksResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignEngineHandlerResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignErrorResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignErrorStatusResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignEngineHandler from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignIdentifyMethodSetting from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignSignatureTextSettingsResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignSignatureTemplateSettingsResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignSuccessStatusResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignFailureStatusResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignActiveSigningsResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignReminderSettings from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignRootCertificate from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignFooterTemplateResponse from \OCA\Libresign\ResponseDefinitions */ class AdminController extends AEnvironmentAwareController { private IEventSource $eventSource; @@ -83,7 +96,7 @@ public function __construct( * @param array{commonName: string, names: array}>} $rootCert fields of root certificate * @param string $cfsslUri URI of CFSSL API * @param string $configPath Path of config files of CFSSL - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 401: Account not found @@ -119,7 +132,7 @@ public function generateCertificateCfssl( * * @param array{commonName: string, names: array}>} $rootCert fields of root certificate * @param string $configPath Path of config files of CFSSL - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 401: Account not found @@ -154,7 +167,7 @@ public function generateCertificateOpenSsl( * Sets the certificate engine (openssl, cfssl, or none) and automatically configures identify_methods when needed * * @param string $engine The certificate engine to use (openssl, cfssl, or none) - * @return DataResponse>}, array{}>|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 400: Invalid engine @@ -237,15 +250,15 @@ public function loadCertificate(): DataResponse { * * Return the status of necessary configuration and tips to fix the problems. * - * @return DataResponse + * @return DataResponse * * 200: OK */ #[NoCSRFRequired] #[ApiRoute(verb: 'GET', url: '/api/{apiVersion}/admin/configure-check', requirements: ['apiVersion' => '(v1)'])] public function configureCheck(): DataResponse { - /** @var LibresignConfigureCheck[] */ - $configureCheckList = $this->configureCheckService->checkAll(); + /** @var LibresignConfigureChecksResponse $configureCheckList */ + $configureCheckList = array_values($this->configureCheckService->checkAll()); return new DataResponse( $configureCheckList ); @@ -323,7 +336,7 @@ public function installAndValidate(): void { /** * Add custom background image * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Error @@ -401,7 +414,7 @@ public function signatureBackgroundGet(): FileDisplayResponse { /** * Reset the background image to be the default of LibreSign * - * @return DataResponse + * @return DataResponse * * 200: Image reseted to default */ @@ -418,7 +431,7 @@ public function signatureBackgroundReset(): DataResponse { /** * Delete background image * - * @return DataResponse + * @return DataResponse * * 200: Deleted with success */ @@ -441,7 +454,7 @@ public function signatureBackgroundDelete(): DataResponse { * @param float $signatureWidth Signature width * @param float $signatureHeight Signature height * @param string $renderMode Signature render mode - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 400: Bad request @@ -487,7 +500,7 @@ public function signatureTextSave( * * @param string $template Template to signature text * @param string $context Context for parsing the template - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 400: Bad request @@ -514,7 +527,7 @@ public function signatureTextGet(string $template = '', string $context = ''): D /** * Get signature settings * - * @return DataResponse}, array{}> + * @return DataResponse * * 200: OK */ @@ -536,7 +549,7 @@ public function getSignatureSettings(): DataResponse { * @param float $fontSize Font size of text * @param bool $isDarkTheme Color of text, white if is tark theme and black if not * @param string $align Align of text: left, center or right - * @return FileDisplayResponse|DataResponse + * @return FileDisplayResponse|DataResponse * * 200: OK * 400: Bad request @@ -578,7 +591,7 @@ public function signerName( /** * Update certificate policy of this instance * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Not found @@ -647,7 +660,7 @@ public function deleteCertificatePolicy(): DataResponse { * Update OID * * @param string $oid OID is a unique numeric identifier for certificate policies in digital certificates. - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Validation error @@ -724,7 +737,7 @@ public function reminderSave( * @param string|null $tsa_auth_type Authentication type (none|basic), defaults to 'none' * @param string|null $tsa_username Username for basic authentication * @param string|null $tsa_password Password for basic authentication (stored as sensitive data) - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 400: Validation error @@ -810,7 +823,7 @@ public function setTsaConfig( * * Delete all TSA configuration fields from the application settings. * - * @return DataResponse + * @return DataResponse * * 200: OK */ @@ -831,7 +844,7 @@ public function deleteTsaConfig(): DataResponse { * * Returns the current footer template if set, otherwise returns the default template. * - * @return DataResponse + * @return DataResponse * * 200: OK */ @@ -853,7 +866,7 @@ public function getFooterTemplate(): DataResponse { * @param string $template The Twig template to save (empty to reset to default) * @param int $width Width of preview in points (default: 595 - A4 width) * @param int $height Height of preview in points (default: 50) - * @return DataDownloadResponse|DataResponse + * @return DataDownloadResponse|DataResponse * * 200: OK * 400: Bad request @@ -881,7 +894,7 @@ public function saveFooterTemplate(string $template = '', int $width = 595, int * @param string $template Template to preview * @param int $width Width of preview in points (default: 595 - A4 width) * @param int $height Height of preview in points (default: 50) - * @return DataDownloadResponse|DataResponse + * @return DataDownloadResponse|DataResponse * * 200: OK * 400: Bad request @@ -905,7 +918,7 @@ public function footerTemplatePreviewPdf(string $template = '', int $width = 595 * * @param string $mode Signing mode: "sync" or "async" * @param string|null $workerType Worker type when async: "local" or "external" (optional) - * @return DataResponse|DataResponse|DataResponse + * @return DataResponse|DataResponse|DataResponse * * 200: Settings saved * 400: Invalid parameters @@ -952,7 +965,7 @@ private function saveOrDeleteConfig(string $key, ?string $value, string $default * * @param bool $enabled Whether to force a signature flow for all documents * @param string|null $mode Signature flow mode: 'parallel' or 'ordered_numeric' (only used when enabled is true) - * @return DataResponse|DataResponse|DataResponse + * @return DataResponse|DataResponse|DataResponse * * 200: Configuration saved successfully * 400: Invalid signature flow mode provided @@ -1003,7 +1016,7 @@ public function setSignatureFlowConfig(bool $enabled, ?string $mode = null): Dat * * @param bool $enabled Whether to enable DocMDP restrictions * @param int $defaultLevel DocMDP level: 1 (no changes), 2 (fill forms), 3 (add annotations) - * @return DataResponse|DataResponse|DataResponse + * @return DataResponse|DataResponse|DataResponse * * 200: Configuration saved successfully * 400: Invalid DocMDP level provided @@ -1038,7 +1051,7 @@ public function setDocMdpConfig(bool $enabled, int $defaultLevel = 2): DataRespo /** * Get list of files currently being signed (status = SIGNING_IN_PROGRESS) * - * @return DataResponse}, array{}>|DataResponse + * @return DataResponse|DataResponse * * 200: List of active signings */ diff --git a/lib/Controller/CrlApiController.php b/lib/Controller/CrlApiController.php index c560406e41..40e04d049e 100644 --- a/lib/Controller/CrlApiController.php +++ b/lib/Controller/CrlApiController.php @@ -18,6 +18,10 @@ use OCP\IRequest; use OCP\IUserSession; +/** + * @psalm-import-type LibresignCrlListResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignCrlRevokeResponse from \OCA\Libresign\ResponseDefinitions + */ class CrlApiController extends AEnvironmentAwareController { public function __construct( string $appName, @@ -42,7 +46,7 @@ public function __construct( * @param string|null $revokedBy Filter by who revoked the certificate * @param string|null $sortBy Sort field (e.g., 'revoked_at', 'issued_at', 'serial_number') * @param string|null $sortOrder Sort order (ASC or DESC) - * @return DataResponse, total: int, page: int, length: int}, array{}> + * @return DataResponse * * 200: CRL entries retrieved successfully */ @@ -87,7 +91,7 @@ public function list( * @param string $serialNumber Certificate serial number to revoke * @param int|null $reasonCode Revocation reason code (0-10, see RFC 5280) * @param string|null $reasonText Optional text describing the reason - * @return DataResponse|DataResponse|DataResponse + * @return DataResponse|DataResponse|DataResponse * * 200: Certificate revoked successfully * 400: Invalid parameters diff --git a/lib/Controller/CrlController.php b/lib/Controller/CrlController.php index 555ae79238..79f9027fdb 100644 --- a/lib/Controller/CrlController.php +++ b/lib/Controller/CrlController.php @@ -21,6 +21,10 @@ use OCP\IRequest; use Psr\Log\LoggerInterface; +/** + * @psalm-import-type LibresignCrlCertificateStatusResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignCrlErrorResponse from \OCA\Libresign\ResponseDefinitions + */ class CrlController extends Controller { public function __construct( string $appName, @@ -37,7 +41,7 @@ public function __construct( * @param string $instanceId Instance identifier * @param int $generation Generation identifier * @param string $engineType Engine type identifier - * @return DataDownloadResponse|DataResponse + * @return DataDownloadResponse|DataResponse * * 200: CRL retrieved successfully in DER format * 500: Failed to generate CRL @@ -69,7 +73,7 @@ public function getRevocationList(string $instanceId, int $generation, string $e * Check certificate revocation status * * @param string $serialNumber Certificate serial number to check - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: Certificate status retrieved successfully * 400: Invalid serial number format diff --git a/lib/Controller/FileController.php b/lib/Controller/FileController.php index 5917f7936f..37e98472d0 100644 --- a/lib/Controller/FileController.php +++ b/lib/Controller/FileController.php @@ -19,7 +19,6 @@ use OCA\Libresign\Helper\ValidateHelper; use OCA\Libresign\Middleware\Attribute\PrivateValidation; use OCA\Libresign\Middleware\Attribute\RequireManager; -use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\AccountService; use OCA\Libresign\Service\File\FileListService; use OCA\Libresign\Service\File\SettingsLoader; @@ -47,21 +46,20 @@ use Psr\Log\LoggerInterface; /** - * @psalm-import-type LibresignFile from ResponseDefinitions - * @psalm-import-type LibresignFileDetail from ResponseDefinitions - * @psalm-import-type LibresignFolderSettings from ResponseDefinitions - * @psalm-import-type LibresignNewFile from ResponseDefinitions - * @psalm-import-type LibresignNextcloudFile from ResponseDefinitions - * @psalm-import-type LibresignNextcloudFile from ResponseDefinitions - * @psalm-import-type LibresignPagination from ResponseDefinitions - * @psalm-import-type LibresignSettings from ResponseDefinitions - * @psalm-import-type LibresignSigner from ResponseDefinitions - * @psalm-import-type LibresignSigner from ResponseDefinitions - * @psalm-import-type LibresignValidateFile from ResponseDefinitions - * @psalm-import-type LibresignValidateMetadata from ResponseDefinitions - * @psalm-import-type LibresignValidateMetadata from ResponseDefinitions - * @psalm-import-type LibresignVisibleElement from ResponseDefinitions - * @psalm-import-type LibresignVisibleElement from ResponseDefinitions + * @psalm-import-type LibresignFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignDetailedFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignDetailedFileResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignActionErrorResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignFileListResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignFileSummary from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignFolderSettings from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignNewFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignPagination from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignSettings from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignValidatedFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignValidateMetadata from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignVisibleElement from \OCA\Libresign\ResponseDefinitions */ class FileController extends AEnvironmentAwareController { public function __construct( @@ -77,7 +75,7 @@ public function __construct( private IPreview $preview, private IMimeIconProvider $mimeIconProvider, private FileService $fileService, - private fileListService $fileListService, + private FileListService $fileListService, private ValidateHelper $validateHelper, private SettingsLoader $settingsLoader, private IURLGenerator $urlGenerator, @@ -93,7 +91,10 @@ public function __construct( * and `files` as a list of envelope child files. * * @param string $uuid The UUID of the LibreSign file - * @return DataResponse|DataResponse, messages?: array{type: string, message: string}[]}, array{}> + * @param bool $showVisibleElements Whether to include visible elements in the response + * @param bool $showMessages Whether to include validation messages in the response + * @param bool $showValidateFile Whether to include the file payload in the response + * @return DataResponse|DataResponse * * 200: OK * 404: Request failed @@ -104,8 +105,13 @@ public function __construct( #[NoCSRFRequired] #[PublicPage] #[ApiRoute(verb: 'GET', url: '/api/{apiVersion}/file/validate/uuid/{uuid}', requirements: ['apiVersion' => '(v1)'])] - public function validateUuid(string $uuid): DataResponse { - return $this->validate('Uuid', $uuid); + public function validateUuid( + string $uuid, + bool $showVisibleElements = true, + bool $showMessages = true, + bool $showValidateFile = true, + ): DataResponse { + return $this->validate('Uuid', $uuid, $showVisibleElements, $showMessages, $showValidateFile); } /** @@ -116,7 +122,10 @@ public function validateUuid(string $uuid): DataResponse { * and `files` as a list of envelope child files. * * @param int $fileId The identifier value of the LibreSign file - * @return DataResponse|DataResponse, messages?: array{type: string, message: string}[]}, array{}> + * @param bool $showVisibleElements Whether to include visible elements in the response + * @param bool $showMessages Whether to include validation messages in the response + * @param bool $showValidateFile Whether to include the file payload in the response + * @return DataResponse|DataResponse * * 200: OK * 404: Request failed @@ -127,8 +136,13 @@ public function validateUuid(string $uuid): DataResponse { #[NoCSRFRequired] #[PublicPage] #[ApiRoute(verb: 'GET', url: '/api/{apiVersion}/file/validate/file_id/{fileId}', requirements: ['apiVersion' => '(v1)'])] - public function validateFileId(int $fileId): DataResponse { - return $this->validate('FileId', $fileId); + public function validateFileId( + int $fileId, + bool $showVisibleElements = true, + bool $showMessages = true, + bool $showValidateFile = true, + ): DataResponse { + return $this->validate('FileId', $fileId, $showVisibleElements, $showMessages, $showValidateFile); } /** @@ -139,7 +153,7 @@ public function validateFileId(int $fileId): DataResponse { * When `nodeType` is `envelope`, the response includes `filesCount` * and `files` as a list of envelope child files. * - * @return DataResponse|DataResponse, messages?: array{type: string, message: string}[], message?: string}, array{}> + * @return DataResponse|DataResponse * * 200: OK * 404: Request failed @@ -187,9 +201,15 @@ public function validateBinary(): DataResponse { * * @param string|null $type The type of identifier could be Uuid or FileId * @param string|int $identifier The identifier value, could be string or integer, if UUID will be a string, if FileId will be an integer - * @return DataResponse|DataResponse, messages?: array{type: string, message: string}[]}, array{}> + * @return DataResponse|DataResponse */ - private function validate(?string $type = null, $identifier = null): DataResponse { + private function validate( + ?string $type = null, + $identifier = null, + bool $showVisibleElements = true, + bool $showMessages = true, + bool $showValidateFile = true, + ): DataResponse { try { $signRequest = null; if ($type === 'Uuid' && !empty($identifier)) { @@ -223,11 +243,11 @@ private function validate(?string $type = null, $identifier = null): DataRespons ->setMe($this->userSession->getUser()) ->setIdentifyMethodId($this->sessionService->getIdentifyMethodId()) ->setHost($this->request->getServerHost()) - ->showVisibleElements() + ->showVisibleElements($showVisibleElements) ->showSigners() ->showSettings() - ->showMessages() - ->showValidateFile() + ->showMessages($showMessages) + ->showValidateFile($showValidateFile) ->toArray(); $statusCode = Http::STATUS_OK; } catch (LibresignException $e) { @@ -255,7 +275,7 @@ private function validate(?string $type = null, $identifier = null): DataRespons * * @param string|null $signer_uuid Signer UUID * @param list|null $fileIds The list of fileIds (database file IDs). It's the ids of LibreSign files - * @param list|null $nodeIds The list of nodeIds (also called fileIds). It's the ids of files at Nextcloud + * @param list|null $nodeIds The list of nodeIds. It's the ids of files at Nextcloud * @param list|null $status Status could be none or many of 0 = draft, 1 = able to sign, 2 = partial signed, 3 = signed, 4 = deleted. * @param int|null $page the number of page to return * @param int|null $length Total of elements to return @@ -264,7 +284,8 @@ private function validate(?string $type = null, $identifier = null): DataRespons * @param string|null $sortBy Name of the column to sort by * @param string|null $sortDirection Ascending or descending order * @param int|null $parentFileId Filter files by parent envelope file ID - * @return DataResponse, settings?: LibresignSettings}, array{}> + * @param bool $details Whether to return the detailed payload instead of the lightweight summary payload + * @return DataResponse * * 200: OK */ @@ -283,6 +304,7 @@ public function list( ?string $sortBy = null, ?string $sortDirection = null, ?int $parentFileId = null, + bool $details = false, ): DataResponse { $filter = array_filter([ 'signer_uuid' => $signer_uuid, @@ -299,7 +321,7 @@ public function list( ]; $user = $this->userSession->getUser(); - $return = $this->fileListService->listAssociatedFilesOfSignFlow($user, $page, $length, $filter, $sort); + $return = $this->fileListService->listAssociatedFilesOfSignFlow($user, $page, $length, $filter, $sort, $details); if ($user) { $return['settings'] = $this->settingsLoader->getUserIdentificationSettings($user); @@ -489,7 +511,7 @@ private function fetchPreview( * @param string $name The name of file to sign * @param LibresignFolderSettings $settings Settings to define how and where the file should be stored * @param list $files Multiple files to create an envelope (optional, use either file or files) - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Failed to save data @@ -527,7 +549,7 @@ public function save( * Files must be uploaded as multipart/form-data with field name 'files[]'. * * @param string $uuid The UUID of the envelope - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: Files added successfully * 400: Invalid request @@ -708,7 +730,7 @@ private function processUploadedFiles(array $uploadedFiles): array { } /** - * @return DataResponse + * @return DataResponse */ private function saveFiles(array $files, string $name, array $settings): DataResponse { if (empty($files)) { @@ -743,7 +765,7 @@ private function extractFileName(array $fileData): string { * * @param integer $fileId LibreSign file ID * @param boolean $deleteFile Whether to delete the physical file from Nextcloud (default: true) - * @return DataResponse|DataResponse|DataResponse}, array{}> + * @return DataResponse|DataResponse|DataResponse * * 200: OK * 401: Failed diff --git a/lib/Controller/FileElementController.php b/lib/Controller/FileElementController.php index 42e14d3b01..9fcf1a4c61 100644 --- a/lib/Controller/FileElementController.php +++ b/lib/Controller/FileElementController.php @@ -23,6 +23,8 @@ /** * @psalm-import-type LibresignCoordinate from ResponseDefinitions + * @psalm-import-type LibresignErrorsResponse from ResponseDefinitions + * @psalm-import-type LibresignFileElementIdResponse from ResponseDefinitions */ class FileElementController extends AEnvironmentAwareController { public function __construct( @@ -43,11 +45,11 @@ public function __construct( * @param string $uuid UUID of sign request. The signer UUID is what the person receives via email when asked to sign. This is not the file UUID. * @param integer $signRequestId Id of sign request * @param integer|null $elementId ID of visible element. Each element has an ID that is returned on validation endpoints. - * @param integer|null $fileId File ID when using node identifier instead of UUID + * @param integer|null $fileId LibreSign file ID that owns the visible element * @param string $type The type of element to create, sginature, sinitial, date, datetime, text * @param array{} $metadata Metadata of visible elements to associate with the document * @param LibresignCoordinate $coordinates Coortinates of a visible element on PDF - * @return DataResponse|DataResponse}, array{}> + * @return DataResponse|DataResponse * * 200: OK * 404: Failure when create visible element @@ -94,11 +96,11 @@ public function post(string $uuid, int $signRequestId, ?int $elementId = null, ? * @param string $uuid UUID of sign request. The signer UUID is what the person receives via email when asked to sign. This is not the file UUID. * @param integer $signRequestId Id of sign request * @param integer|null $elementId ID of visible element. Each element has an ID that is returned on validation endpoints. - * @param integer|null $fileId File ID when using node identifier instead of UUID + * @param integer|null $fileId LibreSign file ID that owns the visible element * @param string $type The type of element to create, sginature, sinitial, date, datetime, text * @param array{} $metadata Metadata of visible elements to associate with the document * @param LibresignCoordinate $coordinates Coortinates of a visible element on PDF - * @return DataResponse|DataResponse}, array{}> + * @return DataResponse|DataResponse * * 200: OK * 404: Failure when patch visible element @@ -117,7 +119,7 @@ public function patch(string $uuid, int $signRequestId, ?int $elementId = null, * * @param string $uuid UUID of sign request. The signer UUID is what the person receives via email when asked to sign. This is not the file UUID. * @param integer $elementId ID of visible element. Each element has an ID that is returned on validation endpoints. - * @return DataResponse, array{}>|DataResponse}, array{}> + * @return DataResponse, array{}>|DataResponse * * 200: OK * 404: Failure when delete visible element or file not found diff --git a/lib/Controller/FileProgressController.php b/lib/Controller/FileProgressController.php index e258dd10c0..0931290001 100644 --- a/lib/Controller/FileProgressController.php +++ b/lib/Controller/FileProgressController.php @@ -29,11 +29,13 @@ use OCP\IUserSession; /** - * @psalm-import-type LibresignValidateFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignValidatedFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from \OCA\Libresign\ResponseDefinitions * @psalm-import-type LibresignProgressPayload from \OCA\Libresign\ResponseDefinitions * @psalm-import-type LibresignProgressError from \OCA\Libresign\ResponseDefinitions * @psalm-import-type LibresignProgressResponse from \OCA\Libresign\ResponseDefinitions * @psalm-import-type LibresignProgressFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignStatusMessageResponse from \OCA\Libresign\ResponseDefinitions */ class FileProgressController extends AEnvironmentAwareController { public function __construct( @@ -57,7 +59,7 @@ public function __construct( * * @param string $uuid Sign request UUID * @param int $timeout Maximum seconds to wait (default 30) - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: Status and progress returned * 404: Sign request not found diff --git a/lib/Controller/IdDocsController.php b/lib/Controller/IdDocsController.php index 9366821c8c..d05f76e966 100644 --- a/lib/Controller/IdDocsController.php +++ b/lib/Controller/IdDocsController.php @@ -12,7 +12,6 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Helper\ValidateHelper; use OCA\Libresign\Middleware\Attribute\RequireSignRequestUuid; -use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\IdDocsService; use OCA\Libresign\Service\SignFileService; use OCP\AppFramework\Http; @@ -28,9 +27,13 @@ use Psr\Log\LoggerInterface; /** - * @psalm-import-type LibresignIdDocs from ResponseDefinitions - * @psalm-import-type LibresignPagination from ResponseDefinitions - * @psalm-import-type LibresignFile from ResponseDefinitions + * @psalm-import-type LibresignFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignIdDocs from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignIdDocsApprovalListResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignIdDocsListResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignIdDocsUploadErrorResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignMessagesResponse from \OCA\Libresign\ResponseDefinitions */ class IdDocsController extends AEnvironmentAwareController implements ISignatureUuid { use LibresignTrait; @@ -50,7 +53,7 @@ public function __construct( * Add identification documents to user profile * * @param LibresignIdDocs[] $files The list of files to add to profile - * @return DataResponse, array{}>|DataResponse + * @return DataResponse, array{}>|DataResponse * * 200: Certificate saved with success * 401: No file provided or other problem with provided file @@ -99,7 +102,7 @@ public function addFiles(array $files): DataResponse { * @param int $nodeId the nodeId of file to be delete * @param string|null $uuid Sign request UUID for unauthenticated access * - * @return DataResponse, array{}>|DataResponse + * @return DataResponse, array{}>|DataResponse * * 200: File deleted with success * 401: Failure to delete file from account @@ -139,7 +142,7 @@ public function delete(int $nodeId, ?string $uuid = null): DataResponse { * @param int|null $signRequestId Sign request ID to filter by * @param int|null $page the number of page to return * @param int|null $length Total of elements to return - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: Certificate saved with success * 404: No file provided or other problem with provided file @@ -190,7 +193,7 @@ public function listOfUnauthenticatedSigner( * @param int|null $length Total of elements to return * @param string|null $sortBy Sort field (e.g., 'owner', 'file_type', 'status') * @param string|null $sortOrder Sort order (ASC or DESC) - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 404: Account not found diff --git a/lib/Controller/IdentifyController.php b/lib/Controller/IdentifyController.php index 591aff32fb..ac1b4d2bcf 100644 --- a/lib/Controller/IdentifyController.php +++ b/lib/Controller/IdentifyController.php @@ -14,7 +14,6 @@ use OCA\Libresign\Collaboration\Collaborators\ManualPhonePlugin; use OCA\Libresign\Collaboration\Collaborators\SignerPlugin; use OCA\Libresign\Middleware\Attribute\RequireManager; -use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\Identify\ResultEnricher; use OCA\Libresign\Service\Identify\ResultFilter; use OCA\Libresign\Service\Identify\ResultFormatter; @@ -29,7 +28,8 @@ use OCP\IRequest; /** - * @psalm-import-type LibresignIdentifyAccount from ResponseDefinitions + * @psalm-import-type LibresignIdentifyAccount from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignIdentifyAccountsResponse from \OCA\Libresign\ResponseDefinitions */ class IdentifyController extends AEnvironmentAwareController { public function __construct( @@ -54,7 +54,7 @@ public function __construct( * @param string $method filter by method (email, account, sms, signal, telegram, whatsapp, xmpp) * @param int $page the number of page to return. Default: 1 * @param int $limit Total of elements to return. Default: 25 - * @return DataResponse + * @return DataResponse * * 200: Certificate saved with success * 400: No file provided or other problem with provided file @@ -89,6 +89,8 @@ public function search(string $search = '', string $method = '', int $page = 1, $return = $this->resultFormatter->replaceShareTypeWithMethod($return); $return = $this->resultEnricher->addEmailNotificationPreference($return); $return = $this->resultFilter->excludeNotAllowed($return); + /** @var LibresignIdentifyAccountsResponse $return */ + $return = array_values($return); return new DataResponse($return); } diff --git a/lib/Controller/NotifyController.php b/lib/Controller/NotifyController.php index b82dd64191..63ac3c125b 100644 --- a/lib/Controller/NotifyController.php +++ b/lib/Controller/NotifyController.php @@ -10,6 +10,7 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Exception\LibresignException; +use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\NotifyService; use OCP\AppFramework\Http; use OCP\AppFramework\Http\Attribute\ApiRoute; @@ -20,6 +21,11 @@ use OCP\IRequest; use OCP\IUserSession; +/** + * @psalm-import-type LibresignDangerMessagesResponse from ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from ResponseDefinitions + */ + class NotifyController extends AEnvironmentAwareController { public function __construct( IRequest $request, @@ -35,7 +41,7 @@ public function __construct( * * @param integer $fileId The identifier value of LibreSign file * @param array{email: string}[] $signers Signers data - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 401: Unauthorized @@ -69,7 +75,7 @@ public function signers(int $fileId, array $signers): DataResponse { * * @param integer $fileId The identifier value of LibreSign file * @param integer $signRequestId The sign request id - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 401: Unauthorized diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index eef2ab5d99..311979831f 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -340,9 +340,7 @@ public function signPPath(string $uuid): TemplateResponse { #[FrontpageRoute(verb: 'GET', url: '/p/sign/{uuid}')] public function sign(string $uuid): TemplateResponse { $this->initialState->provideInitialState('action', JSActions::ACTION_SIGN); - $this->initialState->provideInitialState('config', - $this->accountService->getConfig($this->userSession->getUser()) - ); + $config = $this->accountService->getConfig($this->userSession->getUser()); $this->initialState->provideInitialState('filename', $this->getFileEntity()->getName()); $file = $this->fileService ->setFile($this->getFileEntity()) @@ -355,9 +353,9 @@ public function sign(string $uuid): TemplateResponse { ->showSigners() ->showSettings() ->toArray(); - $this->initialState->provideInitialState('config', [ + $this->initialState->provideInitialState('config', array_merge($config, [ 'identificationDocumentsFlow' => $file['settings']['needIdentificationDocuments'] ?? false, - ]); + ])); $this->initialState->provideInitialState('id', $file['id']); $this->initialState->provideInitialState('nodeId', $file['nodeId']); $this->initialState->provideInitialState('needIdentificationDocuments', $file['settings']['needIdentificationDocuments'] ?? false); diff --git a/lib/Controller/RequestSignatureController.php b/lib/Controller/RequestSignatureController.php index 7ef493ecfb..a6201cb4dc 100644 --- a/lib/Controller/RequestSignatureController.php +++ b/lib/Controller/RequestSignatureController.php @@ -13,7 +13,6 @@ use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Helper\ValidateHelper; use OCA\Libresign\Middleware\Attribute\RequireManager; -use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\File\FileListService; use OCA\Libresign\Service\FileService; use OCA\Libresign\Service\RequestSignatureService; @@ -27,15 +26,15 @@ use OCP\IUserSession; /** - * @psalm-import-type LibresignNewFile from ResponseDefinitions - * @psalm-import-type LibresignNewSigner from ResponseDefinitions - * @psalm-import-type LibresignValidateFile from ResponseDefinitions - * @psalm-import-type LibresignFileDetail from ResponseDefinitions - * @psalm-import-type LibresignNextcloudFile from ResponseDefinitions - * @psalm-import-type LibresignFolderSettings from ResponseDefinitions - * @psalm-import-type LibresignSettings from ResponseDefinitions - * @psalm-import-type LibresignSigner from ResponseDefinitions - * @psalm-import-type LibresignVisibleElement from ResponseDefinitions + * @psalm-import-type LibresignNewFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignNewSigner from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignDetailedFile from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignDetailedFileResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignActionErrorResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignFolderSettings from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignSettings from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignVisibleElement from \OCA\Libresign\ResponseDefinitions */ class RequestSignatureController extends AEnvironmentAwareController { public function __construct( @@ -61,15 +60,15 @@ public function __construct( * the returned `data` includes `filesCount` and `files` as a list of * envelope child files. * - * @param LibresignNewSigner[] $signers Collection of signers who must sign the document. Each signer can have: identify, displayName, description, notify, signingOrder + * @param LibresignNewSigner[] $signers Collection of signers who must sign the document. Use identifyMethods as the canonical format. Other supported fields: displayName, description, notify, signingOrder, status * @param string $name The name of file to sign * @param LibresignFolderSettings $settings Settings to define how and where the file should be stored - * @param LibresignNewFile $file File object. - * @param list $files Multiple files to create an envelope (optional, use either file or files) + * @param LibresignNewFile $file File object. Supports nodeId, url, base64 or path. + * @param list $files Multiple files to create an envelope (optional, use either file or files). Each file supports nodeId, url, base64 or path. * @param string|null $callback URL that will receive a POST after the document is signed * @param integer|null $status Numeric code of status * 0 - no signers * 1 - signed * 2 - pending * @param string|null $signatureFlow Signature flow mode: 'parallel' or 'ordered_numeric'. If not provided, uses global configuration - * @return DataResponse|DataResponse}, array{}> + * @return DataResponse|DataResponse * * 200: OK * 422: Unauthorized @@ -129,16 +128,16 @@ public function request( * * It is necessary to inform the UUID of the file and a list of signers. * - * @param LibresignNewSigner[]|null $signers Collection of signers who must sign the document + * @param LibresignNewSigner[]|null $signers Collection of signers who must sign the document. Use identifyMethods as the canonical format. * @param string|null $uuid UUID of sign request. The signer UUID is what the person receives via email when asked to sign. This is not the file UUID. * @param LibresignVisibleElement[]|null $visibleElements Visible elements on document - * @param LibresignNewFile|array|null $file File object. + * @param LibresignNewFile|array|null $file File object. Supports nodeId, url, base64 or path when creating a new request. * @param integer|null $status Numeric code of status * 0 - no signers * 1 - signed * 2 - pending * @param string|null $signatureFlow Signature flow mode: 'parallel' or 'ordered_numeric'. If not provided, uses global configuration * @param string|null $name The name of file to sign * @param LibresignFolderSettings $settings Settings to define how and where the file should be stored - * @param list $files Multiple files to create an envelope (optional, use either file or files) - * @return DataResponse|DataResponse}, array{}> + * @param list $files Multiple files to create an envelope (optional, use either file or files). Each file supports nodeId, url, base64 or path. + * @return DataResponse|DataResponse * * 200: OK * 422: Unauthorized @@ -213,7 +212,7 @@ public function updateSign( * Internal method to handle signature request creation logic * Used by both request() and updateSign() when creating new requests * - * @return DataResponse + * @return DataResponse * @throws LibresignException */ private function createSignatureRequest( @@ -276,7 +275,7 @@ private function createSignatureRequest( * * @param integer $fileId LibreSign file ID * @param integer $signRequestId The sign request id - * @return DataResponse|DataResponse|DataResponse}, array{}> + * @return DataResponse|DataResponse|DataResponse * * 200: OK * 401: Failed @@ -318,8 +317,8 @@ public function deleteOneRequestSignatureUsingFileId(int $fileId, int $signReque * * You can only request exclusion as any sign * - * @param integer $fileId Node id of a Nextcloud file - * @return DataResponse|DataResponse|DataResponse}, array{}> + * @param integer $fileId LibreSign file ID + * @return DataResponse|DataResponse|DataResponse * * 200: OK * 401: Failed diff --git a/lib/Controller/SettingController.php b/lib/Controller/SettingController.php index 90f223c4f2..4e97849bd4 100644 --- a/lib/Controller/SettingController.php +++ b/lib/Controller/SettingController.php @@ -18,6 +18,9 @@ use OCP\AppFramework\Http\DataResponse; use OCP\IRequest; +/** + * @psalm-import-type LibresignHasRootCertResponse from \OCA\Libresign\ResponseDefinitions + */ class SettingController extends AEnvironmentAwareController { public function __construct( IRequest $request, @@ -31,7 +34,7 @@ public function __construct( * * Checks whether the root certificate has been configured by checking the Nextcloud configuration table to see if the root certificate settings have * - * @return DataResponse + * @return DataResponse * * 200: OK */ diff --git a/lib/Controller/SignFileController.php b/lib/Controller/SignFileController.php index 75b2a0fcae..d2952d1501 100644 --- a/lib/Controller/SignFileController.php +++ b/lib/Controller/SignFileController.php @@ -19,6 +19,7 @@ use OCA\Libresign\Middleware\Attribute\CanSignRequestUuid; use OCA\Libresign\Middleware\Attribute\RequireManager; use OCA\Libresign\Middleware\Attribute\RequireSigner; +use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\AsyncSigningService; use OCA\Libresign\Service\File\SettingsLoader; use OCA\Libresign\Service\FileService; @@ -37,6 +38,12 @@ use OCP\IUser; use OCP\IUserSession; +/** + * @psalm-import-type LibresignMessageResponse from ResponseDefinitions + * @psalm-import-type LibresignSignActionErrorResponse from ResponseDefinitions + * @psalm-import-type LibresignSignActionResponse from ResponseDefinitions + */ + class SignFileController extends AEnvironmentAwareController implements ISignatureUuid { use LibresignTrait; public function __construct( @@ -66,7 +73,7 @@ public function __construct( * @param string $identifyValue Identify value * @param string $token Token, commonly send by email * @param bool $async Execute signing asynchronously when possible - * @return DataResponse|DataResponse, redirect?: string}, array{}> + * @return DataResponse|DataResponse * * 200: OK * 404: Invalid data @@ -90,7 +97,7 @@ public function signUsingFileId(int $fileId, string $method, array $elements = [ * @param string $identifyValue Identify value * @param string $token Token, commonly send by email * @param bool $async Execute signing asynchronously when possible - * @return DataResponse|DataResponse, redirect?: string}, array{}> + * @return DataResponse|DataResponse * * 200: OK * 404: Invalid data @@ -106,7 +113,7 @@ public function signUsingUuid(string $uuid, string $method, array $elements = [] } /** - * @return DataResponse|DataResponse}, array{}> + * @return DataResponse|DataResponse */ public function sign( string $method, @@ -165,7 +172,7 @@ public function sign( /** * Execute asynchronous signing using background job * - * @return DataResponse + * @return DataResponse */ private function signAsync( File $libreSignFile, @@ -208,7 +215,7 @@ private function signAsync( /** * Execute synchronous signing immediately * - * @return DataResponse + * @return DataResponse */ private function signSync($libreSignFile, array $elements, array $metadata): DataResponse { $this->signFileService @@ -238,7 +245,7 @@ private function signSync($libreSignFile, array $elements, array $metadata): Dat * Renew the signature method * * @param string $method Signature method - * @return DataResponse + * @return DataResponse * * 200: OK */ @@ -267,7 +274,7 @@ public function signRenew(string $method): DataResponse { * @param 'account'|'email'|null $identifyMethod Identify signer method * @param string|null $signMethod Method used to sign the document, i.e. emailToken, account, clickToSign, smsToken, signalToken, telegramToken, whatsappToken, xmppToken * @param string|null $identify Identify value, i.e. the signer email, account or phone number - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Error @@ -293,7 +300,7 @@ public function getCodeUsingUuid(string $uuid, ?string $identifyMethod, ?string * @param 'account'|'email'|null $identifyMethod Identify signer method * @param string|null $signMethod Method used to sign the document, i.e. emailToken, account, clickToSign, smsToken, signalToken, telegramToken, whatsappToken, xmppToken * @param string|null $identify Identify value, i.e. the signer email, account or phone number - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Error @@ -314,7 +321,7 @@ public function getCodeUsingFileId(int $fileId, ?string $identifyMethod, ?string /** * @todo validate if can request code - * @return DataResponse + * @return DataResponse */ private function getCode(SignRequest $signRequest): DataResponse { try { diff --git a/lib/Controller/SignatureElementsController.php b/lib/Controller/SignatureElementsController.php index 18871b0584..b6d4211944 100644 --- a/lib/Controller/SignatureElementsController.php +++ b/lib/Controller/SignatureElementsController.php @@ -11,7 +11,6 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Helper\ValidateHelper; use OCA\Libresign\Middleware\Attribute\RequireSignRequestUuid; -use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\AccountService; use OCA\Libresign\Service\SessionService; use OCA\Libresign\Service\SignatureTextService; @@ -36,7 +35,10 @@ use OCP\Preview\IMimeIconProvider; /** - * @psalm-import-type LibresignUserElement from ResponseDefinitions + * @psalm-import-type LibresignMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignUserElement from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignUserElementsMessageResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignUserElementsResponse from \OCA\Libresign\ResponseDefinitions */ class SignatureElementsController extends AEnvironmentAwareController implements ISignatureUuid { use LibresignTrait; @@ -61,7 +63,7 @@ public function __construct( * Create signature element * * @param array $elements Element object - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Invalid data @@ -110,7 +112,7 @@ public function createSignatureElement(array $elements): DataResponse { /** * Get signature elements * - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 404: Invalid data @@ -196,7 +198,7 @@ public function getSignatureElementPreview(int $nodeId) { * Get signature element of signer * * @param int $nodeId Node id of a Nextcloud file - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 404: Invalid data @@ -227,7 +229,7 @@ public function getSignatureElement(int $nodeId): DataResponse { * @param int $nodeId Node id of a Nextcloud file * @param string $type The type of signature element * @param array $file Element object - * @return DataResponse|DataResponse + * @return DataResponse|DataResponse * * 200: OK * 422: Error @@ -283,7 +285,7 @@ public function patchSignatureElement(int $nodeId, string $type = '', array $fil * Delete signature element * * @param int $nodeId Node id of a Nextcloud file - * @return DataResponse + * @return DataResponse * * 200: OK * 404: Not found diff --git a/lib/Helper/ValidateHelper.php b/lib/Helper/ValidateHelper.php index b5d72e847e..c58327cd1d 100644 --- a/lib/Helper/ValidateHelper.php +++ b/lib/Helper/ValidateHelper.php @@ -79,8 +79,8 @@ public function __construct( public function validateNewFile(array $data, int $type = self::TYPE_TO_SIGN, ?IUser $user = null): void { $this->validateFile($data, $type, $user); - if (!empty($data['file']['fileId'])) { - $this->validateNotRequestedSign((int)$data['file']['fileId']); + if (!empty($data['file']['nodeId'])) { + $this->validateNotRequestedSign((int)$data['file']['nodeId']); } elseif (!empty($data['file']['path'])) { $userFolder = $this->root->getUserFolder($user?->getUID() ?? $data['userManager']->getUID()); try { @@ -122,17 +122,6 @@ public function validateFile(array $data, int $type = self::TYPE_TO_SIGN, ?IUser if (!filter_var($data['file']['url'], FILTER_VALIDATE_URL)) { throw new LibresignException($this->l10n->t('File type: %s. Specify a URL, a Base64 string or a fileID.', [$this->getTypeOfFile($type)])); } - } elseif (!empty($data['file']['fileId'])) { - if (!is_numeric($data['file']['fileId'])) { - throw new LibresignException($this->l10n->t('File type: %s. Invalid fileID.', [$this->getTypeOfFile($type)])); - } - if (!is_a($user, IUser::class)) { - if (!is_a($data['userManager'], IUser::class)) { - throw new LibresignException($this->l10n->t('User not found.')); - } - } - $this->validateIfNodeIdExists((int)$data['file']['fileId'], $data['userManager']->getUID(), $type); - $this->validateMimeTypeAcceptedByNodeId((int)$data['file']['fileId'], $data['userManager']->getUID(), $type); } elseif (!empty($data['file']['nodeId'])) { if (!is_numeric($data['file']['nodeId'])) { throw new LibresignException($this->l10n->t('File type: %s. Invalid fileID.', [$this->getTypeOfFile($type)])); @@ -144,6 +133,11 @@ public function validateFile(array $data, int $type = self::TYPE_TO_SIGN, ?IUser } $this->validateIfNodeIdExists((int)$data['file']['nodeId'], $data['userManager']->getUID(), $type); $this->validateMimeTypeAcceptedByNodeId((int)$data['file']['nodeId'], $data['userManager']->getUID(), $type); + } elseif (!empty($data['file']['fileId']) && $type === self::TYPE_VISIBLE_ELEMENT_PDF) { + if (!is_numeric($data['file']['fileId'])) { + throw new LibresignException($this->l10n->t('File type: %s. Invalid fileID.', [$this->getTypeOfFile($type)])); + } + $this->validateLibreSignFileId((int)$data['file']['fileId']); } elseif (!empty($data['file']['base64'])) { $this->validateBase64($data['file']['base64'], $type); } elseif (!empty($data['file']['path'])) { @@ -612,7 +606,7 @@ private function validateSignerDisplayName(array $signer): void { } private function validateSignerIdentifyMethods(array $signer): void { - $normalizedMethods = $this->normalizeIdentifyMethods($signer); + $normalizedMethods = $this->normalizeSignerIdentifyMethods($signer); foreach ($normalizedMethods as $method) { $this->validateIdentifyMethodForRequest($method['name'], $method['value']); @@ -620,32 +614,48 @@ private function validateSignerIdentifyMethods(array $signer): void { } /** - * @todo unify the key to be only 'identify' or only 'identifyMethods' + * @return list */ - private function normalizeIdentifyMethods(array $signer): array { - $key = array_key_exists('identifyMethods', $signer) ? 'identifyMethods' : 'identify'; - - if (empty($signer[$key]) || !is_array($signer[$key])) { + public function normalizeSignerIdentifyMethods(array $signer): array { + if (empty($signer['identifyMethods']) || !is_array($signer['identifyMethods'])) { throw new LibresignException('No identify methods for signer'); } $normalizedMethods = []; - foreach ($signer[$key] as $name => $data) { - $normalizedMethods[] = $this->normalizeIdentifyMethodEntry($key, $name, $data); + foreach ($signer['identifyMethods'] as $data) { + $normalizedMethods[] = $this->normalizeIdentifyMethodsStructure($data); } return $normalizedMethods; } /** - * Extracted from normalizeIdentifyMethods to reduce cyclomatic complexity. + * @param list> $signers + * @return list> */ - private function normalizeIdentifyMethodEntry(string $key, $name, $data): array { - if ($key === 'identifyMethods') { - return $this->normalizeIdentifyMethodsStructure($data); - } else { - return $this->normalizeIdentifyStructure($name, $data); + public function normalizeRequestSigners(array $signers): array { + $normalizedSigners = []; + + foreach ($signers as $signer) { + if (!is_array($signer)) { + throw new LibresignException($this->l10n->t('No signers')); + } + + $normalizedMethods = array_map( + fn (array $method): array => [ + 'method' => $method['name'], + 'value' => $method['value'], + ], + $this->normalizeSignerIdentifyMethods($signer), + ); + + $normalizedSigners[] = [ + ...$signer, + 'identifyMethods' => $normalizedMethods, + ]; } + + return $normalizedSigners; } private function normalizeIdentifyMethodsStructure(mixed $data): array { @@ -659,13 +669,6 @@ private function normalizeIdentifyMethodsStructure(mixed $data): array { ]; } - private function normalizeIdentifyStructure(string $name, mixed $value): array { - return [ - 'name' => $name, - 'value' => $value, - ]; - } - private function validateIdentifyMethodForRequest(string $name, string $identifyValue): void { $identifyMethod = $this->identifyMethodService->getInstanceOfIdentifyMethod($name, $identifyValue); $identifyMethod->validateToRequest(); diff --git a/lib/ResponseDefinitions.php b/lib/ResponseDefinitions.php index a99123e43f..57b7bc817d 100644 --- a/lib/ResponseDefinitions.php +++ b/lib/ResponseDefinitions.php @@ -9,12 +9,29 @@ namespace OCA\Libresign; /** - * @psalm-type LibresignConfigureCheck = array{ - * message: string, - * resource: string, - * status: "error"|"success", - * tip: string, + * Base contracts + * + * @psalm-type LibresignPagination = array{ + * total: non-negative-int, + * current: ?string, + * next: ?string, + * prev: ?string, + * last: ?string, + * first: ?string, * } + * @psalm-type LibresignSettings = array{ + * canSign: bool, + * canRequestSign: bool, + * signerFileUuid: ?string, + * phoneNumber: string, + * hasSignatureFile: bool, + * isApprover?: bool, + * needIdentificationDocuments: bool, + * identificationDocumentsWaitingApproval: bool, + * } + * + * Request input contracts + * * @psalm-type LibresignFolderSettings = array{ * folderName?: string, * separator?: string, @@ -25,18 +42,21 @@ * envelopeFolderId?: int, * } * @psalm-type LibresignNewSigner = array{ - * identify: array{ - * email?: string, - * account?: string, - * }, + * identifyMethods: list, * displayName?: string, * description?: string, * notify?: non-negative-int, * signingOrder?: non-negative-int, + * status?: int, * } * @psalm-type LibresignNewFile = array{ * base64?: string, - * fileId?: non-negative-int, + * nodeId?: non-negative-int, + * path?: string, * url?: string, * } * @psalm-type LibresignIdDocs = array{ @@ -44,66 +64,9 @@ * name?: string, * type?: string, * } - * @psalm-type LibresignIdentifyAccount = array{ - * id: non-negative-int, - * isNoUser: boolean, - * displayName: string, - * subname: string, - * shareType: 0|4, - * icon?: 'icon-mail'|'icon-user', - * acceptsEmailNotifications?: boolean, - * } - * @psalm-type LibresignPagination = array{ - * total: non-negative-int, - * current: ?string, - * next: ?string, - * prev: ?string, - * last: ?string, - * first: ?string, - * } - * @psalm-type LibresignCertificatePfxData = array{ - * name: string, - * subject: string, - * issuer: string, - * extensions: string, - * serialNumber: string, - * serialNumberHex: string, - * validate: array{ - * from: string, - * to: string, - * }, - * } - * @psalm-type LibresignRootCertificateName = array{ - * id: string, - * value: string, - * } - * @psalm-type LibresignRootCertificate = array{ - * commonName: string, - * names: LibresignRootCertificateName[], - * } - * @psalm-type LibresignPolicySection = array{ - * OID: string, - * CPS: string, - * } - * @psalm-type LibresignEngineHandler = array{ - * configPath: string, - * cfsslUri?: string, - * policySection: LibresignPolicySection[], - * rootCert: LibresignRootCertificate, - * } - * @psalm-type LibresignCetificateDataGenerated = LibresignEngineHandler&array{ - * generated: boolean, - * } - * @psalm-type LibresignSettings = array{ - * canSign: bool, - * canRequestSign: bool, - * signerFileUuid: ?string, - * phoneNumber: string, - * hasSignatureFile: bool, - * isApprover?: bool, - * needIdentificationDocuments: bool, - * identificationDocumentsWaitingApproval: bool, - * } + * + * Identity and signer contracts + * * @psalm-type LibresignIdentifyMethod = array{ * method: string, * value: string, @@ -150,54 +113,266 @@ * emailToken?: LibresignSignatureMethodEmailToken, * password?: LibresignSignatureMethodPassword, * } + * @psalm-type LibresignIdentifyMethodSetting = array{ + * name: string, + * friendly_name: string, + * enabled: bool, + * mandatory: bool, + * signatureMethods?: LibresignSignatureMethods, + * } + * @psalm-type LibresignIdentifyAccount = array{ + * identify: string, + * isNoUser: boolean, + * displayName: string, + * subname: string, + * shareType: 0|4, + * method?: 'account'|'email'|'signal'|'sms'|'telegram'|'whatsapp'|'xmpp', + * iconName?: 'account'|'email'|'signal'|'sms'|'telegram'|'whatsapp'|'xmpp', + * acceptsEmailNotifications?: boolean, + * } + * @psalm-type LibresignIdentifyAccountsResponse = list * @psalm-type LibresignNotify = array{ * date: string, * method: "activity"|"notify"|"mail", * } - * @psalm-type LibresignSigner = array{ - * description: ?string, + * @psalm-type LibresignRequestedBy = array{ + * userId: string, + * displayName: ?string, + * } + * @psalm-type LibresignSignerSummary = array{ + * signRequestId: int, * displayName: string, + * email: string, + * identifyMethods?: LibresignIdentifyMethod[], + * signed: ?string, + * status: int, + * statusText: string, + * } + * @psalm-type LibresignSignerDetail = LibresignSignerSummary&array{ + * description: ?string, * subject?: string, * request_sign_date: string, * valid_from?: non-negative-int, * valid_to?: non-negative-int, - * email?: string, * remote_address?: string, * user_agent?: string, * notify?: LibresignNotify[], * userId?: string, - * signed: ?string, * sign_date?: ?string, * sign_uuid?: string, * hash_algorithm?: string, * me: bool, - * signRequestId: non-negative-int, * status: 0|1|2, - * statusText: string, * signingOrder?: non-negative-int, - * identifyMethods?: LibresignIdentifyMethod[], * visibleElements: LibresignVisibleElement[], * signatureMethods?: LibresignSignatureMethods, * uid?: string, * metadata?: mixed, * } - * @psalm-type LibresignEnvelopeChildSignerSummary = array{ - * signRequestId: int, - * displayName: string, - * email: string, - * identifyMethods?: LibresignIdentifyMethod[], - * signed: ?string, - * status: int, - * statusText: string, + * + * Shared feedback and action contracts + * + * @psalm-type LibresignInfoMessage = array{ + * type: 'info', + * message: string, * } + * @psalm-type LibresignErrorItem = array{ + * message: string, + * title?: string, + * } + * @psalm-type LibresignErrorsResponse = array{ + * errors: list, + * } + * @psalm-type LibresignMessageResponse = array{ + * message: string, + * } + * @psalm-type LibresignMessagesResponse = array{ + * messages: list, + * } + * @psalm-type LibresignErrorResponse = array{ + * error: string, + * } + * @psalm-type LibresignDangerMessage = array{ + * type: 'danger', + * message: string, + * } + * @psalm-type LibresignDangerMessagesResponse = array{ + * messages: list, + * } + * @psalm-type LibresignActionErrorWithCode = LibresignErrorItem&array{ + * code?: int, + * } + * @psalm-type LibresignStatusMessageResponse = array{ + * message: string, + * status: string, + * } + * @psalm-type LibresignSuccessStatusResponse = array{ + * status: 'success', + * } + * @psalm-type LibresignFailureStatusResponse = array{ + * status: 'failure', + * message: string, + * } + * @psalm-type LibresignErrorStatusResponse = array{ + * status: 'error', + * message: string, + * } + * @psalm-type LibresignActionErrorResponse = array{ + * action: int, + * errors: list, + * messages?: list, + * message?: string, + * } + * @psalm-type LibresignActionMessageResponse = array{ + * action: int, + * message: string, + * } + * @psalm-type LibresignFileUuidReference = array{ + * uuid: string, + * } + * @psalm-type LibresignSigningJob = array{ + * status: 'SIGNING_IN_PROGRESS', + * file: LibresignFileUuidReference, + * } + * @psalm-type LibresignSignActionResponse = array{ + * action: int, + * message?: string, + * file?: LibresignFileUuidReference, + * job?: LibresignSigningJob, + * } + * @psalm-type LibresignSignActionErrorResponse = array{ + * action: int, + * errors: list, + * redirect?: string, + * } + * + * Certificate and admin contracts + * + * @psalm-type LibresignConfigureCheck = array{ + * message: string, + * resource: string, + * status: "error"|"success", + * tip: string, + * } + * @psalm-type LibresignConfigureChecksResponse = list + * @psalm-type LibresignCertificatePfxData = array{ + * name: string, + * subject: string, + * issuer: string, + * extensions: string, + * serialNumber: string, + * serialNumberHex: string, + * validate: array{ + * from: string, + * to: string, + * }, + * } + * @psalm-type LibresignRootCertificateName = array{ + * id: string, + * value: string, + * } + * @psalm-type LibresignRootCertificate = array{ + * commonName: string, + * names: LibresignRootCertificateName[], + * } + * @psalm-type LibresignPolicySection = array{ + * OID: string, + * CPS: string, + * } + * @psalm-type LibresignEngineHandler = array{ + * configPath: string, + * cfsslUri?: string, + * policySection: LibresignPolicySection[], + * rootCert: LibresignRootCertificate, + * } + * @psalm-type LibresignCetificateDataGenerated = LibresignEngineHandler&array{ + * generated: boolean, + * } + * @psalm-type LibresignEngineHandlerResponse = array{ + * data: LibresignEngineHandler, + * } + * @psalm-type LibresignCertificateEngineConfigResponse = array{ + * engine: string, + * identify_methods: list, + * } + * @psalm-type LibresignHasRootCertResponse = array{ + * hasRootCert: bool, + * } + * @psalm-type LibresignReminderSettings = array{ + * days_before: non-negative-int, + * days_between: non-negative-int, + * max: non-negative-int, + * send_timer: string, + * next_run?: string, + * } + * @psalm-type LibresignAdminSigningMode = 'sync'|'async' + * @psalm-type LibresignAdminWorkerType = 'local'|'external' + * @psalm-type LibresignAdminSignatureEngine = 'JSignPdf'|'PhpNative' + * @psalm-type LibresignDocMdpLevelOption = array{ + * value: int, + * label: string, + * description: string, + * } + * @psalm-type LibresignDocMdpConfig = array{ + * enabled: bool, + * defaultLevel: int, + * availableLevels: list, + * } + * @psalm-type LibresignSignatureTextSettingsResponse = array{ + * template: string, + * parsed: string, + * templateFontSize: float, + * signatureFontSize: float, + * signatureWidth: float, + * signatureHeight: float, + * renderMode: string, + * } + * @psalm-type LibresignSignatureTemplateSettingsResponse = array{ + * default_signature_text_template: string, + * signature_available_variables: array, + * } + * @psalm-type LibresignCertificatePolicyResponse = array{ + * status: 'success', + * CPS: string, + * } + * @psalm-type LibresignFooterTemplateResponse = array{ + * template: string, + * isDefault: bool, + * preview_width: int, + * preview_height: int, + * } + * @psalm-type LibresignActiveSigningItem = array{ + * id: int, + * uuid: string, + * name: string, + * signerEmail: string, + * signerDisplayName: string, + * updatedAt: int, + * } + * @psalm-type LibresignActiveSigningsResponse = array{ + * data: list, + * } + * + * Validation and progress contracts + * * @psalm-type LibresignValidateMetadata = array{ * extension: string, * p: int, * d?: list, + * original_file_deleted?: bool, * pdfVersion?: string, * status_changed_at?: string, * } - * @psalm-type LibresignEnvelopeChildFile = array{ + * @psalm-type LibresignValidationPageResolution = array{ + * w: float, + * h: float, + * } + * @psalm-type LibresignValidationPage = array{ + * number: int, + * url: string, + * resolution: LibresignValidationPageResolution, + * } + * @psalm-type LibresignValidatedChildFile = array{ * id: int, * uuid: string, * name: string, @@ -205,13 +380,13 @@ * statusText: string, * nodeId: int, * totalPages?: non-negative-int, - * size?: non-negative-int, + * size: non-negative-int, * pdfVersion?: string, - * signers: list, + * signers: list, * file: string, * metadata: LibresignValidateMetadata, * } - * @psalm-type LibresignValidateFile = array{ + * @psalm-type LibresignValidatedFile = array{ * id: int, * uuid: string, * name: string, @@ -222,28 +397,22 @@ * signatureFlow: int, * docmdpLevel: int, * filesCount?: int<0, max>, - * files?: list, + * files?: list, * totalPages: non-negative-int, * size: non-negative-int, * pdfVersion: string, * created_at: string, - * requested_by: array{ - * userId: string, - * displayName: string, - * }, + * requested_by: LibresignRequestedBy, * file?: string, * url?: string, * signUuid?: string|null, * mime?: string, - * pages?: list, + * pages?: list, * metadata?: LibresignValidateMetadata, - * signers?: LibresignSigner[], + * signers?: LibresignSignerDetail[], * signersCount?: int<0, max>, * settings?: LibresignSettings, - * messages?: array{ - * type: 'info', - * message: string, - * }[], + * messages?: list, * visibleElements?: LibresignVisibleElement[], * } * @psalm-type LibresignProgressError = array{ @@ -261,6 +430,12 @@ * statusText: string, * error?: LibresignProgressError, * } + * @psalm-type LibresignProgressSigner = array{ + * id: int, + * displayName: string, + * signed: ?string, + * status: int, + * } * @psalm-type LibresignProgressPayload = array{ * total: int, * signed: int, @@ -268,12 +443,7 @@ * pending: int, * errors?: int, * files?: list, - * signers?: list, + * signers?: list, * } * @psalm-type LibresignProgressResponse = array{ * status: string, @@ -281,69 +451,82 @@ * statusText: string, * fileId: int, * progress: LibresignProgressPayload, - * file?: LibresignValidateFile, + * file?: LibresignValidatedFile, * error?: LibresignProgressError, * } - * @psalm-type LibresignFileListItem = array{ - * fileId: int, + * + * File and listing contracts + * + * @psalm-type LibresignFileSummary = array{ * id: int, * nodeId: ?int, * uuid: string, * name: non-falsy-string, * status: int, * statusText: string, + * nodeType: 'file'|'envelope', + * created_at: string, + * signUuid?: ?string, + * metadata: LibresignValidateMetadata, * docmdpLevel: int, + * signatureFlow: 'none'|'parallel'|'ordered_numeric', * signersCount: int, - * file: string, - * metadata: LibresignValidateMetadata, - * signers: list, + * signers: list, + * requested_by: LibresignRequestedBy, + * filesCount: int<0, max>, + * canSign: bool, * } - * @psalm-type LibresignNextcloudFile = array{ - * message: string, - * name: non-falsy-string, + * @psalm-type LibresignFileListItem = array{ + * fileId: int, * id: int, - * nodeId: int, + * nodeId: ?int, * uuid: string, + * name: non-falsy-string, * status: int, * statusText: string, - * nodeType: 'file'|'envelope', - * created_at: string, - * signUuid?: string|null, - * metadata: LibresignValidateMetadata, * docmdpLevel: int, - * signatureFlow: 'none'|'parallel'|'ordered_numeric', - * visibleElements: LibresignVisibleElement[], - * signers: LibresignSigner[], * signersCount: int, - * requested_by: array{ - * userId: string, - * displayName: string, - * }, - * filesCount: int<0, max>, - * files: list, + * file: string, + * metadata: LibresignValidateMetadata, + * size: non-negative-int, + * signers: list, * } - * @psalm-type LibresignFileDetail = array{ + * @psalm-type LibresignDetailedFile = array{ * created_at: string, * files: list, - * filesCount: int, + * filesCount: int<0, max>, * id: int, - * metadata: array, - * name: string, * nodeId: int, - * nodeType: string, - * requested_by: array{ - * userId: string, - * displayName: ?string, - * }, - * docmdpLevel: int, - * signatureFlow: int|string, - * signers: list, + * uuid: string, + * name: string, * status: int, * statusText: string, - * signersCount: int, - * uuid: string, + * nodeType: string, + * metadata: array, + * size: non-negative-int, + * docmdpLevel: int, + * signatureFlow: 'none'|'parallel'|'ordered_numeric', * visibleElements: LibresignVisibleElement[], + * signers: LibresignSignerDetail[], + * signersCount: int, + * requested_by: LibresignRequestedBy, + * } + * @psalm-type LibresignDetailedFileResponse = LibresignDetailedFile&array{ + * message: string, + * name: non-falsy-string, + * nodeType: 'file'|'envelope', + * signUuid?: string|null, + * metadata: LibresignValidateMetadata, + * signatureFlow: 'none'|'parallel'|'ordered_numeric', * } + * @psalm-type LibresignFileListResponse = array{ + * pagination: LibresignPagination, + * data: list, + * settings?: LibresignSettings, + * } + * + * Account, elements, and ID document contracts + * * @psalm-type LibresignFile = array{ * account: array{ * userId: string, @@ -368,9 +551,12 @@ * }, * callback: ?string, * uuid: string, - * signers: LibresignSigner[], + * signers: LibresignSignerDetail[], * }, * } + * @psalm-type LibresignFileElementIdResponse = array{ + * fileElementId: int, + * } * @psalm-type LibresignUserElement = array{ * id: int, * type: string, @@ -382,13 +568,105 @@ * starred: 0|1, * createdAt: string, * } - * @psalm-type LibresignReminderSettings = array{ - * days_before: non-negative-int, - * days_between: non-negative-int, - * max: non-negative-int, - * send_timer: string, - * next_run?: string, + * @psalm-type LibresignUserElementsResponse = array{ + * elements: LibresignUserElement[], + * } + * @psalm-type LibresignUserElementsMessageResponse = array{ + * elements: LibresignUserElement[], + * message: string, + * } + * @psalm-type LibresignAccountMeResponse = array{ + * account: array{ + * uid: string, + * emailAddress: string, + * displayName: string, + * }, + * settings: array{ + * canRequestSign: bool, + * hasSignatureFile: bool, + * phoneNumber: string, + * }, + * } + * @psalm-type LibresignAccountSettingsUpdateResponse = array{ + * data: array{ + * userId: string, + * phone: string, + * message: string, + * }, + * } + * @psalm-type LibresignConfigValueResponse = array{ + * key: string, + * value: mixed, + * } + * @psalm-type LibresignIdDocsUploadErrorResponse = array{ + * file: ?int, + * type: 'info'|'warning'|'danger'|null, + * message: string, + * } + * @psalm-type LibresignIdDocsListResponse = array{ + * pagination: LibresignPagination, + * data: list, + * } + * @psalm-type LibresignIdDocsApprovalListResponse = array{ + * pagination: LibresignPagination, + * data: null|list, + * } + * @psalm-type LibresignCreateToSignPdfReference = array{ + * url: string, + * } + * @psalm-type LibresignCreateToSignResponse = array{ + * action: 2000|2500, + * message: string, + * description?: null|string, + * filename?: string, + * pdf?: LibresignCreateToSignPdfReference, + * } + * + * CRL contracts + * + * @psalm-type LibresignCrlErrorResponse = array{ + * error: string, + * message: string, + * } + * @psalm-type LibresignCrlCertificateStatusResponse = array{ + * serial_number: string, + * status: 'valid'|'revoked'|'expired'|'unknown', + * checked_at: string, + * reason_code?: null|int, + * revoked_at?: string, + * valid_to?: string, + * } + * @psalm-type LibresignCrlListItem = array{ + * id: int, + * serial_number: string, + * owner: string, + * status: string, + * certificate_type: string, + * engine: string, + * instance_id: ?string, + * generation: ?int, + * issued_at: ?string, + * valid_to: ?string, + * revoked_at: ?string, + * reason_code: ?int, + * comment: ?string, + * revoked_by: ?string, + * invalidity_date: ?string, + * crl_number: ?int, + * } + * @psalm-type LibresignCrlListResponse = array{ + * data: list, + * total: int, + * page: int, + * length: int, + * } + * @psalm-type LibresignCrlRevokeResponse = array{ + * success: bool, + * message: string, * } + * + * Capabilities contracts + * * @psalm-type LibresignCapabilities = array{ * features: list, * config: array{ diff --git a/lib/Service/AccountService.php b/lib/Service/AccountService.php index 9c822093f9..f721938150 100644 --- a/lib/Service/AccountService.php +++ b/lib/Service/AccountService.php @@ -371,6 +371,7 @@ public function canRequestSign(?IUser $user = null): bool { public function getSettings(?IUser $user = null): array { $return['canRequestSign'] = $this->canRequestSign($user); $return['hasSignatureFile'] = $this->hasSignatureFile($user); + $return['phoneNumber'] = $this->getPhoneNumber($user); return $return; } diff --git a/lib/Service/Crl/CrlService.php b/lib/Service/Crl/CrlService.php index 80f2072585..5f0dbfc7f6 100644 --- a/lib/Service/Crl/CrlService.php +++ b/lib/Service/Crl/CrlService.php @@ -19,6 +19,9 @@ /** * RFC 5280 compliant CRL management + * + * @psalm-import-type LibresignCrlCertificateStatusResponse from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignCrlListResponse from \OCA\Libresign\ResponseDefinitions */ class CrlService { @@ -180,6 +183,9 @@ public function getCertificateStatus(string $serialNumber, ?DateTime $checkDate } } + /** + * @return LibresignCrlCertificateStatusResponse + */ public function getCertificateStatusResponse(string $serialNumber): array { $statusInfo = $this->getCertificateStatus($serialNumber); @@ -277,7 +283,7 @@ public function generateCrlDer(string $instanceId, int $generation, string $engi * @param int|null $length Number of items per page, defaults to 100 * @param array $filter Filters to apply (status, engine, instance_id, owner, serial_number, revoked_by, generation) * @param array $sort Sort fields and directions ['field' => 'ASC|DESC'] - * @return array{data: array>, total: int, page: int, length: int} + * @return LibresignCrlListResponse */ public function listCrlEntries( ?int $page = null, @@ -290,7 +296,7 @@ public function listCrlEntries( $result = $this->crlMapper->listWithPagination($page, $length, $filter, $sort); - $formattedData = array_map(function ($entity) { + $formattedData = array_values(array_map(function ($entity) { return [ 'id' => $entity->getId(), 'serial_number' => $entity->getSerialNumber(), @@ -309,7 +315,7 @@ public function listCrlEntries( 'invalidity_date' => $entity->getInvalidityDate()?->format('Y-m-d H:i:s'), 'crl_number' => $entity->getCrlNumber(), ]; - }, $result['data']); + }, $result['data'])); return [ 'data' => $formattedData, diff --git a/lib/Service/DocMdp/ConfigService.php b/lib/Service/DocMdp/ConfigService.php index 93d85b644a..39e0689d99 100644 --- a/lib/Service/DocMdp/ConfigService.php +++ b/lib/Service/DocMdp/ConfigService.php @@ -14,6 +14,10 @@ use OCP\IAppConfig; use OCP\IL10N; +/** + * @psalm-import-type LibresignDocMdpConfig from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignDocMdpLevelOption from \OCA\Libresign\ResponseDefinitions + */ class ConfigService { private const CONFIG_KEY_LEVEL = 'docmdp_level'; @@ -47,6 +51,7 @@ public function setLevel(DocMdpLevel $level): void { $this->appConfig->setValueInt(Application::APP_ID, self::CONFIG_KEY_LEVEL, $level->value); } + /** @return LibresignDocMdpConfig */ public function getConfig(): array { return [ 'enabled' => $this->isEnabled(), @@ -55,6 +60,7 @@ public function getConfig(): array { ]; } + /** @return list */ private function getAvailableLevels(): array { return array_map( fn (DocMdpLevel $level) => [ diff --git a/lib/Service/File/EnvelopeAssembler.php b/lib/Service/File/EnvelopeAssembler.php index f0fe09ceac..7e8881cf8c 100644 --- a/lib/Service/File/EnvelopeAssembler.php +++ b/lib/Service/File/EnvelopeAssembler.php @@ -55,6 +55,7 @@ public function buildEnvelopeChildData(File $childFile, \OCA\Libresign\Service\F $fileData->mime = $fileNode->getMimeType(); } } + $fileData->size ??= 0; $fileData->signers = []; $fileData->visibleElements = []; diff --git a/lib/Service/File/FileListService.php b/lib/Service/File/FileListService.php index e839721417..19a92a28af 100644 --- a/lib/Service/File/FileListService.php +++ b/lib/Service/File/FileListService.php @@ -21,6 +21,8 @@ use OCA\Libresign\Service\FileElementService; use OCA\Libresign\Service\IdentifyMethodService; use OCP\AppFramework\Db\Entity; +use OCP\Files\File as NodeFile; +use OCP\Files\IRootFolder; use OCP\IAppConfig; use OCP\IL10N; use OCP\IURLGenerator; @@ -29,11 +31,13 @@ /** * @psalm-import-type LibresignVisibleElement from ResponseDefinitions - * @psalm-import-type LibresignFileDetail from ResponseDefinitions + * @psalm-import-type LibresignFileSummary from ResponseDefinitions + * @psalm-import-type LibresignDetailedFile from ResponseDefinitions + * @psalm-import-type LibresignDetailedFileResponse from ResponseDefinitions * @psalm-import-type LibresignFileListItem from ResponseDefinitions - * @psalm-import-type LibresignNextcloudFile from ResponseDefinitions * @psalm-import-type LibresignPagination from ResponseDefinitions - * @psalm-import-type LibresignSigner from ResponseDefinitions + * @psalm-import-type LibresignSignerDetail from ResponseDefinitions + * @psalm-import-type LibresignSignerSummary from ResponseDefinitions */ class FileListService { public function __construct( @@ -45,11 +49,12 @@ public function __construct( private IAppConfig $appConfig, private IL10N $l10n, private IUserManager $userManager, + private IRootFolder $root, ) { } /** - * @return array{data: list, pagination: LibresignPagination} + * @return array{data: list, pagination: LibresignPagination} */ public function listAssociatedFilesOfSignFlow( IUser $user, @@ -57,6 +62,7 @@ public function listAssociatedFilesOfSignFlow( $length = null, array $filter = [], array $sort = [], + bool $details = false, ): array { $page ??= 1; $length ??= (int)$this->appConfig->getValueInt(Application::APP_ID, 'length_of_page', 100); @@ -71,8 +77,12 @@ public function listAssociatedFilesOfSignFlow( $signers = $this->signRequestMapper->getByMultipleFileId(array_map(fn (File $file) => $file->getId(), $return['data'])); $identifyMethods = $this->signRequestMapper->getIdentifyMethodsFromSigners($signers); - $visibleElements = $this->signRequestMapper->getVisibleElementsFromSigners($signers); - $return['data'] = $this->associateAllAndFormat($user, $return['data'], $signers, $identifyMethods, $visibleElements); + if ($details) { + $visibleElements = $this->signRequestMapper->getVisibleElementsFromSigners($signers); + $return['data'] = $this->associateAllAndFormat($user, $return['data'], $signers, $identifyMethods, $visibleElements); + } else { + $return['data'] = $this->associateAllAndFormatSummary($user, $return['data'], $signers, $identifyMethods); + } $return['pagination']->setRouteName('ocs.libresign.File.list'); return [ @@ -81,6 +91,26 @@ public function listAssociatedFilesOfSignFlow( ]; } + /** + * @param File[] $files + * @param SignRequest[] $signers + * @param array> $identifyMethods + * @return list + */ + private function associateAllAndFormatSummary( + IUser $user, + array $files, + array $signers, + array $identifyMethods, + ): array { + $formattedFiles = []; + foreach ($files as $file) { + $fileSigners = array_filter($signers, fn ($signer) => $signer->getFileId() === $file->getId()); + $formattedFiles[] = $this->formatSingleFileSummary($file, $fileSigners, $identifyMethods, $user); + } + return $formattedFiles; + } + public function formatSingleFile(IUser $user, File $file): array { $signers = $this->signRequestMapper->getByMultipleFileId([$file->getId()]); $identifyMethods = $this->signRequestMapper->getIdentifyMethodsFromSigners($signers); @@ -165,7 +195,7 @@ public function formatEnvelopeChildFilesForSignRequest( * @param SignRequest[] $signers * @param array> $identifyMethods * @param array $visibleElements - * @return list + * @return list */ private function associateAllAndFormat( IUser $user, @@ -191,7 +221,7 @@ private function associateAllAndFormat( * @param array> $identifyMethods * @param array $visibleElements * @param IUser|null $user - * @return LibresignFileDetail + * @return LibresignDetailedFile */ private function formatSingleFileData( File $fileEntity, @@ -221,6 +251,7 @@ private function formatSingleFileData( 'displayName' => $this->userManager->get($file['userId'])?->getDisplayName(), ]; $file['created_at'] = $file['createdAt']->setTimezone(new \DateTimeZone('UTC'))->format(DateTimeInterface::ATOM); + $file['size'] = $this->getFileSize($fileEntity); if ($file['nodeType'] === 'envelope') { $file['filesCount'] = $file['metadata']['filesCount'] ?? 0; @@ -277,10 +308,75 @@ private function formatSingleFileData( } ksort($file); - /** @var LibresignFileDetail */ + /** @var LibresignDetailedFile */ return $file; } + /** + * @param SignRequest[] $signers + * @param array> $identifyMethods + * @return LibresignFileSummary + */ + private function formatSingleFileSummary( + File $fileEntity, + array $signers, + array $identifyMethods, + IUser $user, + ): array { + $metadata = $fileEntity->getMetadata() ?? []; + $nodeType = $fileEntity->getNodeType(); + $filesCount = $nodeType === 'envelope' + ? max(0, (int)($metadata['filesCount'] ?? 0)) + : 1; + + $mySigners = array_values(array_filter($signers, fn (SignRequest $signer) + => $this->isCurrentUserSigner($identifyMethods[$signer->getId()] ?? [], $user), + )); + $pendingSigners = array_values(array_filter($signers, fn (SignRequest $signer) => $signer->getSigned() === null)); + $isOrderedNumeric = SignatureFlow::fromNumeric($fileEntity->getSignatureFlow())->value === SignatureFlow::ORDERED_NUMERIC->value; + $minOrder = empty($pendingSigners) + ? null + : min(array_map(fn (SignRequest $signer) => $signer->getSigningOrder() ?: 1, $pendingSigners)); + + $canSign = $fileEntity->getStatus() > 0 + && !empty($mySigners) + && !empty($pendingSigners) + && !array_filter($mySigners, fn (SignRequest $signer) => $signer->getSigned() !== null) + && (!$isOrderedNumeric || array_filter($mySigners, fn (SignRequest $signer) => ($signer->getSigningOrder() ?: 1) === $minOrder)); + + $signUuid = null; + foreach ($mySigners as $signer) { + if ($signer->getUuid() !== '') { + $signUuid = $signer->getUuid(); + break; + } + } + + /** @var LibresignFileSummary */ + return [ + 'id' => $fileEntity->getId(), + 'nodeId' => $fileEntity->getNodeId(), + 'uuid' => $fileEntity->getUuid(), + 'name' => $fileEntity->getName(), + 'status' => $fileEntity->getStatus(), + 'statusText' => $this->fileMapper->getTextOfStatus($fileEntity->getStatus()), + 'nodeType' => $nodeType, + 'created_at' => $fileEntity->getCreatedAt()->setTimezone(new \DateTimeZone('UTC'))->format(DateTimeInterface::ATOM), + 'signUuid' => $signUuid, + 'metadata' => $metadata, + 'docmdpLevel' => $fileEntity->getDocmdpLevel(), + 'signatureFlow' => SignatureFlow::fromNumeric($fileEntity->getSignatureFlow())->value, + 'signersCount' => count($signers), + 'signers' => [], + 'requested_by' => [ + 'userId' => $fileEntity->getUserId(), + 'displayName' => $this->userManager->get($fileEntity->getUserId())?->getDisplayName(), + ], + 'filesCount' => $filesCount, + 'canSign' => $canSign, + ]; + } + /** * Format a single signer with its identify methods and visible elements * @@ -289,7 +385,7 @@ private function formatSingleFileData( * @param array $visibleElements * @param array $metadata * @param IUser $user - * @return LibresignSigner + * @return LibresignSignerDetail */ private function formatSignerData( SignRequest $signer, @@ -315,7 +411,7 @@ private function formatSignerData( return $carry; }, false); } - /** @var LibresignSigner */ + /** @var LibresignSignerDetail */ $data = [ 'email' => array_reduce($identifyMethodsOfSigner, function (string $carry, IdentifyMethod $identifyMethod): string { if ($identifyMethod->getIdentifierKey() === IdentifyMethodService::IDENTIFY_EMAIL) { @@ -397,7 +493,7 @@ private function formatSignerDataBasic( ): array { $identifyMethodsOfSigner = $identifyMethods[$signer->getId()] ?? []; $resolvedDisplayName = $this->resolveSignerDisplayName($signer, $identifyMethodsOfSigner); - /** @var LibresignSigner */ + /** @var LibresignSignerDetail */ $data = [ 'email' => array_reduce($identifyMethodsOfSigner, function (string $carry, IdentifyMethod $identifyMethod): string { if ($identifyMethod->getIdentifierKey() === IdentifyMethodService::IDENTIFY_EMAIL) { @@ -480,13 +576,28 @@ private function resolveSignerDisplayName(SignRequest $signer, array $identifyMe return ''; } + /** + * @param array $identifyMethodsOfSigner + */ + private function isCurrentUserSigner(array $identifyMethodsOfSigner, IUser $user): bool { + return array_reduce($identifyMethodsOfSigner, function (bool $carry, IdentifyMethod $identifyMethod) use ($user): bool { + if ($identifyMethod->getIdentifierKey() === IdentifyMethodService::IDENTIFY_ACCOUNT) { + return $user->getUID() === $identifyMethod->getIdentifierValue(); + } + if ($identifyMethod->getIdentifierKey() === IdentifyMethodService::IDENTIFY_EMAIL && $user->getEMailAddress()) { + return $user->getEMailAddress() === $identifyMethod->getIdentifierValue(); + } + return $carry; + }, false); + } + /** * Format file response with child files for envelopes. * Used by controllers to format main entity with its children. * * @param File $mainEntity * @param File[] $childFiles - * @return LibresignNextcloudFile Complete formatted response with metadata, signers, and child files + * @return LibresignDetailedFileResponse Complete formatted response with metadata, signers, and child files * @psalm-suppress MoreSpecificReturnType */ /** @@ -495,7 +606,7 @@ private function resolveSignerDisplayName(SignRequest $signer, array $identifyMe * @param File $mainEntity * @param File[] $childFiles * @param IUser|null $user Optional user for formatting signers - * @return LibresignNextcloudFile + * @return LibresignDetailedFileResponse * @psalm-suppress MoreSpecificReturnType */ public function formatFileWithChildren(File $mainEntity, array $childFiles, ?IUser $user = null): array { @@ -529,7 +640,7 @@ public function formatFileWithChildren(File $mainEntity, array $childFiles, ?IUs $filesCount = is_numeric($rawFilesCount) ? (int)$rawFilesCount : count($childFiles); $filesCount = max(0, $filesCount); - /** @var LibresignNextcloudFile */ + /** @var LibresignDetailedFileResponse */ $response = [ 'message' => $this->l10n->t('Success'), 'id' => $mainEntity->getId(), @@ -576,9 +687,14 @@ public function formatFileWithChildren(File $mainEntity, array $childFiles, ?IUs $childContext['signers'] ?? null, $childContext['identifyMethods'] ?? null, ); + $response['size'] = array_sum(array_map( + static fn (array $file): int => (int)$file['size'], + $response['files'], + )); } else { $response['filesCount'] = 1; $response['files'] = $this->formatChildFilesResponse([$mainEntity], $signRequestEntities, $identifyMethods); + $response['size'] = (int)$response['files'][0]['size']; } /** @psalm-suppress LessSpecificReturnStatement */ @@ -749,6 +865,7 @@ private function formatChildFilesResponse( return array_values(array_map(function (File $file) use ($signersByFileId, $identifyMethods) { $signers = $signersByFileId[$file->getId()] ?? []; $metadata = $file->getMetadata() ?? []; + $size = $this->getFileSize($file); $signersFormatted = array_map(function (SignRequest $signer) use ($identifyMethods) { $identifyMethodsOfSigner = $identifyMethods[$signer->getId()] ?? []; $email = array_reduce($identifyMethodsOfSigner, function (string $carry, IdentifyMethod $identifyMethod): string { @@ -767,6 +884,7 @@ private function formatChildFilesResponse( return $carry; }, $signer->getDisplayName()); + /** @var LibresignSignerSummary */ return [ 'signRequestId' => $signer->getId(), 'displayName' => $displayName, @@ -794,8 +912,27 @@ private function formatChildFilesResponse( 'signersCount' => count($signers), 'file' => $this->urlGenerator->linkToRoute('libresign.page.getPdf', ['uuid' => $file->getUuid()]), 'metadata' => $metadata, + 'size' => $size, 'signers' => $signersFormatted, ]; }, $files)); } + + private function getFileSize(File $file): int { + $nodeId = $file->getSignedNodeId() ?: $file->getNodeId(); + if ($nodeId === null || $file->getUserId() === '') { + return 0; + } + + try { + $fileNode = $this->root->getUserFolder($file->getUserId())->getFirstNodeById($nodeId); + if ($fileNode instanceof NodeFile && method_exists($fileNode, 'getSize')) { + return max(0, (int)$fileNode->getSize()); + } + } catch (\Throwable) { + return 0; + } + + return 0; + } } diff --git a/lib/Service/File/MetadataLoader.php b/lib/Service/File/MetadataLoader.php index f2675e4498..b28fe04b88 100644 --- a/lib/Service/File/MetadataLoader.php +++ b/lib/Service/File/MetadataLoader.php @@ -56,6 +56,7 @@ public function loadMetadata(?File $file, stdClass $fileData): void { $this->logger->warning('Failed to load file metadata: ' . $e->getMessage()); } + $fileData->size ??= 0; $fileData->totalPages ??= 0; $fileData->pdfVersion ??= ''; } diff --git a/lib/Service/FileService.php b/lib/Service/FileService.php index 62c7280863..8cad3ca835 100644 --- a/lib/Service/FileService.php +++ b/lib/Service/FileService.php @@ -49,9 +49,7 @@ use TypeError; /** - * @psalm-import-type LibresignEnvelopeChildFile from ResponseDefinitions - * @psalm-import-type LibresignValidateFile from ResponseDefinitions - * @psalm-import-type LibresignVisibleElement from ResponseDefinitions + * @psalm-import-type LibresignValidatedFile from ResponseDefinitions */ class FileService { @@ -139,9 +137,6 @@ public function getNodeFromData(array $data): Node { if (isset($data['file']['fileNode']) && $data['file']['fileNode'] instanceof Node) { return $data['file']['fileNode']; } - if (isset($data['file']['fileId'])) { - return $this->folderService->getFileByNodeId($data['file']['fileId']); - } if (isset($data['file']['path'])) { return $this->folderService->getFileByPath($data['file']['path']); } @@ -588,8 +583,8 @@ private function loadMessages(): void { } /** - * @return LibresignValidateFile - * @psalm-return LibresignValidateFile + * @return array + * @psalm-return LibresignValidatedFile */ public function toArray(): array { $this->loadLibreSignData(); diff --git a/lib/Service/Identify/ResultEnricher.php b/lib/Service/Identify/ResultEnricher.php index c4c43007d5..0b2fbfd1e0 100644 --- a/lib/Service/Identify/ResultEnricher.php +++ b/lib/Service/Identify/ResultEnricher.php @@ -40,17 +40,17 @@ public function addHerselfAccount(array $return, string $search, string $method return $return; } - $filtered = array_filter($return, fn ($i) => $i['id'] === $user->getUID()); + $filtered = array_filter($return, fn ($i) => $i['identify'] === $user->getUID()); if (count($filtered)) { return $return; } $return[] = [ - 'id' => $user->getUID(), + 'identify' => $user->getUID(), 'isNoUser' => false, 'displayName' => $user->getDisplayName(), 'subname' => $user->getEMailAddress(), - 'icon' => 'icon-user', + 'iconName' => 'account', 'method' => 'account', ]; @@ -78,17 +78,17 @@ public function addHerselfEmail(array $return, string $search, string $method = return $return; } - $filtered = array_filter($return, fn ($i) => $i['id'] === $user->getUID()); + $filtered = array_filter($return, fn ($i) => $i['identify'] === $user->getUID()); if (count($filtered)) { return $return; } $return[] = [ - 'id' => $user->getEMailAddress(), + 'identify' => $user->getEMailAddress(), 'isNoUser' => true, 'displayName' => $user->getDisplayName(), 'subname' => $user->getEMailAddress(), - 'icon' => 'icon-mail', + 'iconName' => 'email', 'method' => 'email', ]; @@ -101,7 +101,7 @@ public function addEmailNotificationPreference(array $list): array { continue; } - $user = $this->userManager->get($item['id']); + $user = $this->userManager->get($item['identify']); if ($user === null) { continue; } diff --git a/lib/Service/Identify/ResultFormatter.php b/lib/Service/Identify/ResultFormatter.php index 8a38f9bf17..7d9687738c 100644 --- a/lib/Service/Identify/ResultFormatter.php +++ b/lib/Service/Identify/ResultFormatter.php @@ -15,6 +15,19 @@ use OCP\Share\IShare; class ResultFormatter { + private function getIconName(string $method): ?string { + return match ($method) { + 'account', + 'email', + 'signal', + 'sms', + 'telegram', + 'whatsapp', + 'xmpp' => $method, + default => null, + }; + } + public function formatForNcSelect(array $list): array { $formattedList = []; foreach ($list as $key => $item) { @@ -28,7 +41,7 @@ public function formatForNcSelect(array $list): array { } $formattedList[$key] = [ - 'id' => $item['value']['shareWith'], + 'identify' => $item['value']['shareWith'], 'isNoUser' => $isNoUser, 'displayName' => $item['label'], 'subname' => $item['shareWithDisplayNameUnique'] ?? '', @@ -36,10 +49,10 @@ public function formatForNcSelect(array $list): array { if ($shareType === IShare::TYPE_EMAIL) { $formattedList[$key]['method'] = 'email'; - $formattedList[$key]['icon'] = 'icon-mail'; + $formattedList[$key]['iconName'] = $this->getIconName('email'); } elseif ($shareType === IShare::TYPE_USER) { $formattedList[$key]['method'] = 'account'; - $formattedList[$key]['icon'] = 'icon-user'; + $formattedList[$key]['iconName'] = $this->getIconName('account'); } elseif (in_array($shareType, [ SignerPlugin::TYPE_SIGNER, AccountPhonePlugin::TYPE_SIGNER_ACCOUNT_PHONE, @@ -48,14 +61,9 @@ public function formatForNcSelect(array $list): array { ], true)) { $method = $item['method'] ?? ''; $formattedList[$key]['method'] = $method; - - if ($method === 'email') { - $formattedList[$key]['icon'] = 'icon-mail'; - } elseif ($method === 'account') { - $formattedList[$key]['icon'] = 'icon-user'; - } else { - $formattedList[$key]['iconSvg'] = 'svg' . ucfirst($method); - $formattedList[$key]['iconName'] = $method; + $iconName = $this->getIconName($method); + if ($iconName !== null) { + $formattedList[$key]['iconName'] = $iconName; } } } diff --git a/lib/Service/IdentifyMethodService.php b/lib/Service/IdentifyMethodService.php index c761fe160b..8fa894766b 100644 --- a/lib/Service/IdentifyMethodService.php +++ b/lib/Service/IdentifyMethodService.php @@ -12,6 +12,7 @@ use OCA\Libresign\Db\IdentifyMethodMapper; use OCA\Libresign\Db\SignRequest; use OCA\Libresign\Exception\LibresignException; +use OCA\Libresign\ResponseDefinitions; use OCA\Libresign\Service\IdentifyMethod\Account; use OCA\Libresign\Service\IdentifyMethod\Email; use OCA\Libresign\Service\IdentifyMethod\IIdentifyMethod; @@ -23,6 +24,9 @@ use OCP\IL10N; use OCP\IUserManager; +/** + * @psalm-import-type LibresignIdentifyMethodSetting from ResponseDefinitions + */ class IdentifyMethodService { public const IDENTIFY_ACCOUNT = 'account'; public const IDENTIFY_EMAIL = 'email'; @@ -46,6 +50,7 @@ class IdentifyMethodService { ]; private bool $isRequest = true; private ?IdentifyMethod $currentIdentifyMethod = null; + /** @var list */ private array $identifyMethodsSettings = []; /** * @var array> @@ -152,8 +157,11 @@ private function setEntityData(string $method, string $identifyValue): void { } public function setAllEntityData(array $user): void { - foreach ($user['identify'] as $method => $identifyValue) { - $this->setEntityData($method, $identifyValue); + foreach (($user['identifyMethods'] ?? []) as $identifyMethod) { + if (!is_array($identifyMethod) || !isset($identifyMethod['method'], $identifyMethod['value'])) { + continue; + } + $this->setEntityData($identifyMethod['method'], $identifyMethod['value']); } } @@ -324,6 +332,7 @@ public function save(SignRequest $signRequest, bool $notify = true): void { } } + /** @return list */ public function getIdentifyMethodsSettings(): array { if ($this->identifyMethodsSettings) { return $this->identifyMethodsSettings; diff --git a/lib/Service/RequestSignatureService.php b/lib/Service/RequestSignatureService.php index ef3b45a5f4..f059a61514 100644 --- a/lib/Service/RequestSignatureService.php +++ b/lib/Service/RequestSignatureService.php @@ -326,8 +326,8 @@ public function saveFile(array $data): FileEntity { $fileId = null; if (isset($data['file']['fileNode']) && $data['file']['fileNode'] instanceof Node) { $fileId = $data['file']['fileNode']->getId(); - } elseif (!empty($data['file']['fileId'])) { - $fileId = $data['file']['fileId']; + } elseif (!empty($data['file']['nodeId'])) { + $fileId = $data['file']['nodeId']; } if (!is_null($fileId)) { try { @@ -449,6 +449,7 @@ private function removeExtensionFromName(string $name, array $metadata): string } private function deleteIdentifyMethodIfNotExits(array $signers, FileEntity $file): void { + $normalizedSigners = $this->validateHelper->normalizeRequestSigners($signers); $signRequests = $this->signRequestMapper->getByFileId($file->getId()); foreach ($signRequests as $key => $signRequest) { $identifyMethods = $this->identifyMethod->getIdentifyMethodsFromSignRequestId($signRequest->getId()); @@ -458,8 +459,7 @@ private function deleteIdentifyMethodIfNotExits(array $signers, FileEntity $file } foreach ($identifyMethods as $methodName => $list) { foreach ($list as $method) { - $exists[$key]['identify'][$methodName] = $method->getEntity()->getIdentifierValue(); - if (!$this->identifyMethodExists($signers, $method)) { + if (!$this->identifyMethodExists($normalizedSigners, $method)) { $this->unassociateToUser($file->getId(), $signRequest->getId()); continue 3; } @@ -470,23 +470,12 @@ private function deleteIdentifyMethodIfNotExits(array $signers, FileEntity $file private function identifyMethodExists(array $signers, IIdentifyMethod $identifyMethod): bool { foreach ($signers as $signer) { - if (!empty($signer['identifyMethods'])) { - foreach ($signer['identifyMethods'] as $data) { - if ($identifyMethod->getEntity()->getIdentifierKey() !== $data['method']) { - continue; - } - if ($identifyMethod->getEntity()->getIdentifierValue() === $data['value']) { - return true; - } + foreach (($signer['identifyMethods'] ?? []) as $data) { + if ($identifyMethod->getEntity()->getIdentifierKey() !== $data['method']) { + continue; } - } else { - foreach ($signer['identify'] as $method => $value) { - if ($identifyMethod->getEntity()->getIdentifierKey() !== $method) { - continue; - } - if ($identifyMethod->getEntity()->getIdentifierValue() === $value) { - return true; - } + if ($identifyMethod->getEntity()->getIdentifierValue() === $data['value']) { + return true; } } } @@ -501,36 +490,24 @@ private function identifyMethodExists(array $signers, IIdentifyMethod $identifyM private function associateToSigners(array $data, FileEntity $file): array { $return = []; if (!empty($data['signers'])) { - $this->deleteIdentifyMethodIfNotExits($data['signers'], $file); + $normalizedSigners = $this->validateHelper->normalizeRequestSigners($data['signers']); + $this->deleteIdentifyMethodIfNotExits($normalizedSigners, $file); $this->identifyMethod->clearCache(); $this->sequentialSigningService->resetOrderCounter(); $fileStatus = $data['status'] ?? null; - foreach ($data['signers'] as $signer) { + foreach ($normalizedSigners as $signer) { $userProvidedOrder = isset($signer['signingOrder']) ? (int)$signer['signingOrder'] : null; $signingOrder = $this->sequentialSigningService->determineSigningOrder($userProvidedOrder); $signerStatus = $signer['status'] ?? null; $shouldNotify = !isset($signer['notify']) || $signer['notify'] !== 0; - if (isset($signer['identifyMethods'])) { - foreach ($signer['identifyMethods'] as $identifyMethod) { - $return[] = $this->signRequestService->createOrUpdateSignRequest( - identifyMethods: [ - $identifyMethod['method'] => $identifyMethod['value'], - ], - displayName: $signer['displayName'] ?? '', - description: $signer['description'] ?? '', - notify: $shouldNotify, - fileId: $file->getId(), - signingOrder: $signingOrder, - fileStatus: $fileStatus, - signerStatus: $signerStatus, - ); - } - } else { + foreach ($signer['identifyMethods'] as $identifyMethod) { $return[] = $this->signRequestService->createOrUpdateSignRequest( - identifyMethods: $signer['identify'], + identifyMethods: [ + $identifyMethod['method'] => $identifyMethod['value'], + ], displayName: $signer['displayName'] ?? '', description: $signer['description'] ?? '', notify: $shouldNotify, @@ -598,11 +575,9 @@ public function validateSigners(array $data): void { } $this->validateHelper->validateIdentifySigners($data); + $normalizedSigners = $this->validateHelper->normalizeRequestSigners($data['signers']); - foreach ($data['signers'] as $signer) { - if (!array_key_exists('identify', $signer)) { - throw new \Exception('Identify key not found'); - } + foreach ($normalizedSigners as $signer) { $this->identifyMethod->setAllEntityData($signer); } } diff --git a/lib/Service/SignFileService.php b/lib/Service/SignFileService.php index 2a54fc39b6..40f8ed5c99 100644 --- a/lib/Service/SignFileService.php +++ b/lib/Service/SignFileService.php @@ -130,8 +130,8 @@ public function __construct( public function canDeleteRequestSignature(array $data): void { if (!empty($data['uuid'])) { $signatures = $this->signRequestMapper->getByFileUuid($data['uuid']); - } elseif (!empty($data['file']['fileId'])) { - $signatures = $this->signRequestMapper->getByNodeId($data['file']['fileId']); + } elseif (!empty($data['file']['nodeId'])) { + $signatures = $this->signRequestMapper->getByNodeId($data['file']['nodeId']); } else { throw new \Exception($this->l10n->t('Please provide either UUID or File object')); } diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index b14d932591..411b28d16a 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -23,6 +23,11 @@ use OCP\Settings\ISettings; use OCP\Util; +/** + * @psalm-import-type LibresignAdminSignatureEngine from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignAdminSigningMode from \OCA\Libresign\ResponseDefinitions + * @psalm-import-type LibresignAdminWorkerType from \OCA\Libresign\ResponseDefinitions + */ class Admin implements ISettings { public const PASSWORD_PLACEHOLDER = '••••••••'; @@ -71,7 +76,7 @@ public function getForm(): TemplateResponse { $this->initialState->provideInitialState('footer_template_variables', $this->footerService->getTemplateVariablesMetadata()); $this->initialState->provideInitialState('footer_template', $this->footerService->getTemplate()); $this->initialState->provideInitialState('footer_template_is_default', $this->footerService->isDefaultTemplate()); - $this->initialState->provideInitialState('signature_engine', $this->appConfig->getValueString(Application::APP_ID, 'signature_engine', 'JSignPdf')); + $this->initialState->provideInitialState('signature_engine', $this->getSignatureEngineInitialState()); $this->initialState->provideInitialState('signature_render_mode', $this->signatureTextService->getRenderMode()); $this->initialState->provideInitialState('signature_text_template', $this->signatureTextService->getTemplate()); $this->initialState->provideInitialState('signature_width', $this->signatureTextService->getFullSignatureWidth()); @@ -83,8 +88,8 @@ public function getForm(): TemplateResponse { $this->initialState->provideInitialState('tsa_password', $this->appConfig->getValueString(Application::APP_ID, 'tsa_password', self::PASSWORD_PLACEHOLDER)); $this->initialState->provideInitialState('docmdp_config', $this->docMdpConfigService->getConfig()); $this->initialState->provideInitialState('signature_flow', $this->appConfig->getValueString(Application::APP_ID, 'signature_flow', \OCA\Libresign\Enum\SignatureFlow::NONE->value)); - $this->initialState->provideInitialState('signing_mode', $this->appConfig->getValueString(Application::APP_ID, 'signing_mode', 'sync')); - $this->initialState->provideInitialState('worker_type', $this->appConfig->getValueString(Application::APP_ID, 'worker_type', 'local')); + $this->initialState->provideInitialState('signing_mode', $this->getSigningModeInitialState()); + $this->initialState->provideInitialState('worker_type', $this->getWorkerTypeInitialState()); $this->initialState->provideInitialState('identification_documents', $this->appConfig->getValueBool(Application::APP_ID, 'identification_documents', false)); $this->initialState->provideInitialState('approval_group', $this->appConfig->getValueArray(Application::APP_ID, 'approval_group', ['admin'])); $this->initialState->provideInitialState('envelope_enabled', $this->appConfig->getValueBool(Application::APP_ID, 'envelope_enabled', true)); @@ -110,4 +115,31 @@ public function getSection(): string { public function getPriority(): int { return 100; } + + /** @return LibresignAdminSignatureEngine */ + private function getSignatureEngineInitialState(): string { + $engine = $this->appConfig->getValueString(Application::APP_ID, 'signature_engine', 'JSignPdf'); + if ($engine === 'PhpNative') { + return $engine; + } + return 'JSignPdf'; + } + + /** @return LibresignAdminSigningMode */ + private function getSigningModeInitialState(): string { + $mode = $this->appConfig->getValueString(Application::APP_ID, 'signing_mode', 'sync'); + if ($mode === 'async') { + return $mode; + } + return 'sync'; + } + + /** @return LibresignAdminWorkerType */ + private function getWorkerTypeInitialState(): string { + $workerType = $this->appConfig->getValueString(Application::APP_ID, 'worker_type', 'local'); + if ($workerType === 'external') { + return $workerType; + } + return 'local'; + } } diff --git a/openapi-administration.json b/openapi-administration.json index 8e75f42a87..3fbc2066bb 100644 --- a/openapi-administration.json +++ b/openapi-administration.json @@ -20,6 +20,53 @@ } }, "schemas": { + "ActiveSigningItem": { + "type": "object", + "required": [ + "id", + "uuid", + "name", + "signerEmail", + "signerDisplayName", + "updatedAt" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "signerEmail": { + "type": "string" + }, + "signerDisplayName": { + "type": "string" + }, + "updatedAt": { + "type": "integer", + "format": "int64" + } + } + }, + "ActiveSigningsResponse": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ActiveSigningItem" + } + } + } + }, "Capabilities": { "type": "object", "required": [ @@ -111,6 +158,42 @@ } } }, + "CertificateEngineConfigResponse": { + "type": "object", + "required": [ + "engine", + "identify_methods" + ], + "properties": { + "engine": { + "type": "string" + }, + "identify_methods": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyMethodSetting" + } + } + } + }, + "CertificatePolicyResponse": { + "type": "object", + "required": [ + "status", + "CPS" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "success" + ] + }, + "CPS": { + "type": "string" + } + } + }, "CetificateDataGenerated": { "allOf": [ { @@ -156,6 +239,141 @@ } } }, + "ConfigureChecksResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigureCheck" + } + }, + "CrlListItem": { + "type": "object", + "required": [ + "id", + "serial_number", + "owner", + "status", + "certificate_type", + "engine", + "instance_id", + "generation", + "issued_at", + "valid_to", + "revoked_at", + "reason_code", + "comment", + "revoked_by", + "invalidity_date", + "crl_number" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "serial_number": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "status": { + "type": "string" + }, + "certificate_type": { + "type": "string" + }, + "engine": { + "type": "string" + }, + "instance_id": { + "type": "string", + "nullable": true + }, + "generation": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "issued_at": { + "type": "string", + "nullable": true + }, + "valid_to": { + "type": "string", + "nullable": true + }, + "revoked_at": { + "type": "string", + "nullable": true + }, + "reason_code": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "comment": { + "type": "string", + "nullable": true + }, + "revoked_by": { + "type": "string", + "nullable": true + }, + "invalidity_date": { + "type": "string", + "nullable": true + }, + "crl_number": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "CrlListResponse": { + "type": "object", + "required": [ + "data", + "total", + "page", + "length" + ], + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CrlListItem" + } + }, + "total": { + "type": "integer", + "format": "int64" + }, + "page": { + "type": "integer", + "format": "int64" + }, + "length": { + "type": "integer", + "format": "int64" + } + } + }, + "CrlRevokeResponse": { + "type": "object", + "required": [ + "success", + "message" + ], + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + } + }, "EngineHandler": { "type": "object", "required": [ @@ -181,6 +399,137 @@ } } }, + "EngineHandlerResponse": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "$ref": "#/components/schemas/EngineHandler" + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + }, + "ErrorStatusResponse": { + "type": "object", + "required": [ + "status", + "message" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "error" + ] + }, + "message": { + "type": "string" + } + } + }, + "FailureStatusResponse": { + "type": "object", + "required": [ + "status", + "message" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "failure" + ] + }, + "message": { + "type": "string" + } + } + }, + "FooterTemplateResponse": { + "type": "object", + "required": [ + "template", + "isDefault", + "preview_width", + "preview_height" + ], + "properties": { + "template": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "preview_width": { + "type": "integer", + "format": "int64" + }, + "preview_height": { + "type": "integer", + "format": "int64" + } + } + }, + "HasRootCertResponse": { + "type": "object", + "required": [ + "hasRootCert" + ], + "properties": { + "hasRootCert": { + "type": "boolean" + } + } + }, + "IdentifyMethodSetting": { + "type": "object", + "required": [ + "name", + "friendly_name", + "enabled", + "mandatory" + ], + "properties": { + "name": { + "type": "string" + }, + "friendly_name": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "mandatory": { + "type": "boolean" + }, + "signatureMethods": { + "$ref": "#/components/schemas/SignatureMethods" + } + } + }, + "MessageResponse": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + }, "OCSMeta": { "type": "object", "required": [ @@ -292,6 +641,164 @@ "type": "string" } } + }, + "SignatureMethod": { + "type": "object", + "required": [ + "enabled", + "label", + "name" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "SignatureMethodEmailToken": { + "type": "object", + "required": [ + "label", + "identifyMethod", + "needCode", + "hasConfirmCode", + "blurredEmail", + "hashOfEmail" + ], + "properties": { + "label": { + "type": "string" + }, + "identifyMethod": { + "type": "string", + "enum": [ + "email", + "account" + ] + }, + "needCode": { + "type": "boolean" + }, + "hasConfirmCode": { + "type": "boolean" + }, + "blurredEmail": { + "type": "string" + }, + "hashOfEmail": { + "type": "string" + } + } + }, + "SignatureMethodPassword": { + "type": "object", + "required": [ + "label", + "name", + "hasSignatureFile" + ], + "properties": { + "label": { + "type": "string" + }, + "name": { + "type": "string" + }, + "hasSignatureFile": { + "type": "boolean" + } + } + }, + "SignatureMethods": { + "type": "object", + "properties": { + "clickToSign": { + "$ref": "#/components/schemas/SignatureMethod" + }, + "emailToken": { + "$ref": "#/components/schemas/SignatureMethodEmailToken" + }, + "password": { + "$ref": "#/components/schemas/SignatureMethodPassword" + } + } + }, + "SignatureTemplateSettingsResponse": { + "type": "object", + "required": [ + "default_signature_text_template", + "signature_available_variables" + ], + "properties": { + "default_signature_text_template": { + "type": "string" + }, + "signature_available_variables": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SignatureTextSettingsResponse": { + "type": "object", + "required": [ + "template", + "parsed", + "templateFontSize", + "signatureFontSize", + "signatureWidth", + "signatureHeight", + "renderMode" + ], + "properties": { + "template": { + "type": "string" + }, + "parsed": { + "type": "string" + }, + "templateFontSize": { + "type": "number", + "format": "double" + }, + "signatureFontSize": { + "type": "number", + "format": "double" + }, + "signatureWidth": { + "type": "number", + "format": "double" + }, + "signatureHeight": { + "type": "number", + "format": "double" + }, + "renderMode": { + "type": "string" + } + } + }, + "SuccessStatusResponse": { + "type": "object", + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "success" + ] + } + } } } }, @@ -420,15 +927,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/EngineHandler" - } - } + "$ref": "#/components/schemas/EngineHandlerResponse" } } } @@ -455,18 +954,10 @@ ], "properties": { "meta": { - "$ref": "#/components/schemas/OCSMeta" - }, - "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/MessageResponse" } } } @@ -597,15 +1088,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/EngineHandler" - } - } + "$ref": "#/components/schemas/EngineHandlerResponse" } } } @@ -635,15 +1118,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -736,25 +1211,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "engine", - "identify_methods" - ], - "properties": { - "engine": { - "type": "string" - }, - "identify_methods": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - } + "$ref": "#/components/schemas/CertificateEngineConfigResponse" } } } @@ -784,15 +1241,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -940,10 +1389,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ConfigureCheck" - } + "$ref": "#/components/schemas/ConfigureChecksResponse" } } } @@ -1089,18 +1535,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -1130,22 +1565,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "failure" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/FailureStatusResponse" } } } @@ -1270,18 +1690,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -1353,18 +1762,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -1486,43 +1884,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "template", - "parsed", - "templateFontSize", - "signatureFontSize", - "signatureWidth", - "signatureHeight", - "renderMode" - ], - "properties": { - "template": { - "type": "string" - }, - "parsed": { - "type": "string" - }, - "templateFontSize": { - "type": "number", - "format": "double" - }, - "signatureFontSize": { - "type": "number", - "format": "double" - }, - "signatureWidth": { - "type": "number", - "format": "double" - }, - "signatureHeight": { - "type": "number", - "format": "double" - }, - "renderMode": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignatureTextSettingsResponse" } } } @@ -1552,15 +1914,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -1650,43 +2004,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "template", - "parsed", - "templateFontSize", - "signatureFontSize", - "signatureWidth", - "signatureHeight", - "renderMode" - ], - "properties": { - "template": { - "type": "string" - }, - "parsed": { - "type": "string" - }, - "templateFontSize": { - "type": "number", - "format": "double" - }, - "signatureFontSize": { - "type": "number", - "format": "double" - }, - "signatureWidth": { - "type": "number", - "format": "double" - }, - "signatureHeight": { - "type": "number", - "format": "double" - }, - "renderMode": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignatureTextSettingsResponse" } } } @@ -1716,15 +2034,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -1798,22 +2108,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "default_signature_text_template", - "signature_available_variables" - ], - "properties": { - "default_signature_text_template": { - "type": "string" - }, - "signature_available_variables": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } + "$ref": "#/components/schemas/SignatureTemplateSettingsResponse" } } } @@ -1969,15 +2264,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -2051,22 +2338,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "CPS" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - }, - "CPS": { - "type": "string" - } - } + "$ref": "#/components/schemas/CertificatePolicyResponse" } } } @@ -2096,22 +2368,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "failure" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/FailureStatusResponse" } } } @@ -2276,18 +2533,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -2317,22 +2563,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "failure" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/FailureStatusResponse" } } } @@ -2626,18 +2857,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -2667,22 +2887,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "error" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorStatusResponse" } } } @@ -2754,18 +2959,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -2839,29 +3033,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "template", - "isDefault", - "preview_width", - "preview_height" - ], - "properties": { - "template": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "preview_width": { - "type": "integer", - "format": "int64" - }, - "preview_height": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/FooterTemplateResponse" } } } @@ -2973,15 +3145,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3079,15 +3243,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3117,15 +3273,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3155,15 +3303,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3261,15 +3401,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3299,15 +3431,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3337,15 +3461,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3444,15 +3560,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3482,15 +3590,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3520,15 +3620,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3602,48 +3694,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "uuid", - "name", - "signerEmail", - "signerDisplayName", - "updatedAt" - ], - "properties": { - "id": { - "type": "integer", - "format": "int64" - }, - "uuid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "signerEmail": { - "type": "string" - }, - "signerDisplayName": { - "type": "string" - }, - "updatedAt": { - "type": "integer", - "format": "int64" - } - } - } - } - } + "$ref": "#/components/schemas/ActiveSigningsResponse" } } } @@ -3673,15 +3724,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3857,33 +3900,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data", - "total", - "page", - "length" - ], - "properties": { - "data": { - "type": "object", - "additionalProperties": { - "type": "object" - } - }, - "total": { - "type": "integer", - "format": "int64" - }, - "page": { - "type": "integer", - "format": "int64" - }, - "length": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/CrlListResponse" } } } @@ -3987,19 +4004,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "success", - "message" - ], - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlRevokeResponse" } } } @@ -4029,19 +4034,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "success", - "message" - ], - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlRevokeResponse" } } } @@ -4071,19 +4064,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "success", - "message" - ], - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlRevokeResponse" } } } @@ -4157,15 +4138,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "hasRootCert" - ], - "properties": { - "hasRootCert": { - "type": "boolean" - } - } + "$ref": "#/components/schemas/HasRootCertResponse" } } } diff --git a/openapi-full.json b/openapi-full.json index 200bae017c..dcf8234b2f 100644 --- a/openapi-full.json +++ b/openapi-full.json @@ -20,6 +20,208 @@ } }, "schemas": { + "AccountMeResponse": { + "type": "object", + "required": [ + "account", + "settings" + ], + "properties": { + "account": { + "type": "object", + "required": [ + "uid", + "emailAddress", + "displayName" + ], + "properties": { + "uid": { + "type": "string" + }, + "emailAddress": { + "type": "string" + }, + "displayName": { + "type": "string" + } + } + }, + "settings": { + "type": "object", + "required": [ + "canRequestSign", + "hasSignatureFile", + "phoneNumber" + ], + "properties": { + "canRequestSign": { + "type": "boolean" + }, + "hasSignatureFile": { + "type": "boolean" + }, + "phoneNumber": { + "type": "string" + } + } + } + } + }, + "AccountSettingsUpdateResponse": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "userId", + "phone", + "message" + ], + "properties": { + "userId": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "ActionErrorResponse": { + "type": "object", + "required": [ + "action", + "errors" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorItem" + } + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InfoMessage" + } + }, + "message": { + "type": "string" + } + } + }, + "ActionErrorWithCode": { + "allOf": [ + { + "$ref": "#/components/schemas/ErrorItem" + }, + { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int64" + } + } + } + ] + }, + "ActionMessageResponse": { + "type": "object", + "required": [ + "action", + "message" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + } + } + }, + "ActiveSigningItem": { + "type": "object", + "required": [ + "id", + "uuid", + "name", + "signerEmail", + "signerDisplayName", + "updatedAt" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "signerEmail": { + "type": "string" + }, + "signerDisplayName": { + "type": "string" + }, + "updatedAt": { + "type": "integer", + "format": "int64" + } + } + }, + "ActiveSigningsResponse": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ActiveSigningItem" + } + } + } + }, + "AdminSignatureEngine": { + "type": "string", + "enum": [ + "JSignPdf", + "PhpNative" + ] + }, + "AdminSigningMode": { + "type": "string", + "enum": [ + "sync", + "async" + ] + }, + "AdminWorkerType": { + "type": "string", + "enum": [ + "local", + "external" + ] + }, "Capabilities": { "type": "object", "required": [ @@ -111,6 +313,24 @@ } } }, + "CertificateEngineConfigResponse": { + "type": "object", + "required": [ + "engine", + "identify_methods" + ], + "properties": { + "engine": { + "type": "string" + }, + "identify_methods": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyMethodSetting" + } + } + } + }, "CertificatePfxData": { "type": "object", "required": [ @@ -158,6 +378,24 @@ } } }, + "CertificatePolicyResponse": { + "type": "object", + "required": [ + "status", + "CPS" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "success" + ] + }, + "CPS": { + "type": "string" + } + } + }, "CetificateDataGenerated": { "allOf": [ { @@ -176,6 +414,21 @@ } ] }, + "ConfigValueResponse": { + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "object" + } + } + }, "ConfigureCheck": { "type": "object", "required": [ @@ -203,6 +456,12 @@ } } }, + "ConfigureChecksResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigureCheck" + } + }, "Coordinate": { "type": "object", "properties": { @@ -244,129 +503,561 @@ } } }, - "EngineHandler": { + "CreateToSignPdfReference": { "type": "object", "required": [ - "configPath", - "policySection", - "rootCert" + "url" ], "properties": { - "configPath": { + "url": { "type": "string" + } + } + }, + "CreateToSignResponse": { + "type": "object", + "required": [ + "action", + "message" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64", + "enum": [ + 2000, + 2500 + ] }, - "cfsslUri": { + "message": { "type": "string" }, - "policySection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PolicySection" - } + "description": { + "type": "string", + "nullable": true }, - "rootCert": { - "$ref": "#/components/schemas/RootCertificate" + "filename": { + "type": "string" + }, + "pdf": { + "$ref": "#/components/schemas/CreateToSignPdfReference" } } }, - "EnvelopeChildFile": { + "CrlCertificateStatusResponse": { "type": "object", "required": [ - "id", - "uuid", - "name", + "serial_number", "status", - "statusText", - "nodeId", - "signers", - "file", - "metadata" + "checked_at" ], "properties": { - "id": { - "type": "integer", - "format": "int64" - }, - "uuid": { - "type": "string" - }, - "name": { + "serial_number": { "type": "string" }, "status": { - "type": "integer", - "format": "int64" + "type": "string", + "enum": [ + "valid", + "revoked", + "expired", + "unknown" + ] }, - "statusText": { + "checked_at": { "type": "string" }, - "nodeId": { - "type": "integer", - "format": "int64" - }, - "totalPages": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "size": { + "reason_code": { "type": "integer", "format": "int64", - "minimum": 0 + "nullable": true }, - "pdfVersion": { + "revoked_at": { "type": "string" }, - "signers": { + "valid_to": { + "type": "string" + } + } + }, + "CrlErrorResponse": { + "type": "object", + "required": [ + "error", + "message" + ], + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "CrlListItem": { + "type": "object", + "required": [ + "id", + "serial_number", + "owner", + "status", + "certificate_type", + "engine", + "instance_id", + "generation", + "issued_at", + "valid_to", + "revoked_at", + "reason_code", + "comment", + "revoked_by", + "invalidity_date", + "crl_number" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "serial_number": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "status": { + "type": "string" + }, + "certificate_type": { + "type": "string" + }, + "engine": { + "type": "string" + }, + "instance_id": { + "type": "string", + "nullable": true + }, + "generation": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "issued_at": { + "type": "string", + "nullable": true + }, + "valid_to": { + "type": "string", + "nullable": true + }, + "revoked_at": { + "type": "string", + "nullable": true + }, + "reason_code": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "comment": { + "type": "string", + "nullable": true + }, + "revoked_by": { + "type": "string", + "nullable": true + }, + "invalidity_date": { + "type": "string", + "nullable": true + }, + "crl_number": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "CrlListResponse": { + "type": "object", + "required": [ + "data", + "total", + "page", + "length" + ], + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CrlListItem" + } + }, + "total": { + "type": "integer", + "format": "int64" + }, + "page": { + "type": "integer", + "format": "int64" + }, + "length": { + "type": "integer", + "format": "int64" + } + } + }, + "CrlRevokeResponse": { + "type": "object", + "required": [ + "success", + "message" + ], + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + } + }, + "DangerMessage": { + "type": "object", + "required": [ + "type", + "message" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "danger" + ] + }, + "message": { + "type": "string" + } + } + }, + "DangerMessagesResponse": { + "type": "object", + "required": [ + "messages" + ], + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DangerMessage" + } + } + } + }, + "DetailedFile": { + "type": "object", + "required": [ + "created_at", + "files", + "filesCount", + "id", + "nodeId", + "uuid", + "name", + "status", + "statusText", + "nodeType", + "metadata", + "size", + "docmdpLevel", + "signatureFlow", + "visibleElements", + "signers", + "signersCount", + "requested_by" + ], + "properties": { + "created_at": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileListItem" + } + }, + "filesCount": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "id": { + "type": "integer", + "format": "int64" + }, + "nodeId": { + "type": "integer", + "format": "int64" + }, + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "statusText": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "size": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "docmdpLevel": { + "type": "integer", + "format": "int64" + }, + "signatureFlow": { + "type": "string", + "enum": [ + "none", + "parallel", + "ordered_numeric" + ] + }, + "visibleElements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VisibleElement" + } + }, + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignerDetail" + } + }, + "signersCount": { + "type": "integer", + "format": "int64" + }, + "requested_by": { + "$ref": "#/components/schemas/RequestedBy" + } + } + }, + "DetailedFileResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/DetailedFile" + }, + { + "type": "object", + "required": [ + "message", + "name", + "nodeType", + "metadata", + "signatureFlow" + ], + "properties": { + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "nodeType": { + "type": "string", + "enum": [ + "file", + "envelope" + ] + }, + "signUuid": { + "type": "string", + "nullable": true + }, + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + }, + "signatureFlow": { + "type": "string", + "enum": [ + "none", + "parallel", + "ordered_numeric" + ] + } + } + } + ] + }, + "DocMdpConfig": { + "type": "object", + "required": [ + "enabled", + "defaultLevel", + "availableLevels" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "defaultLevel": { + "type": "integer", + "format": "int64" + }, + "availableLevels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DocMdpLevelOption" + } + } + } + }, + "DocMdpLevelOption": { + "type": "object", + "required": [ + "value", + "label", + "description" + ], + "properties": { + "value": { + "type": "integer", + "format": "int64" + }, + "label": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "EngineHandler": { + "type": "object", + "required": [ + "configPath", + "policySection", + "rootCert" + ], + "properties": { + "configPath": { + "type": "string" + }, + "cfsslUri": { + "type": "string" + }, + "policySection": { "type": "array", "items": { - "$ref": "#/components/schemas/EnvelopeChildSignerSummary" + "$ref": "#/components/schemas/PolicySection" } }, - "file": { + "rootCert": { + "$ref": "#/components/schemas/RootCertificate" + } + } + }, + "EngineHandlerResponse": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "$ref": "#/components/schemas/EngineHandler" + } + } + }, + "ErrorItem": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { "type": "string" }, - "metadata": { - "$ref": "#/components/schemas/ValidateMetadata" + "title": { + "type": "string" } } }, - "EnvelopeChildSignerSummary": { + "ErrorResponse": { "type": "object", "required": [ - "signRequestId", - "displayName", - "email", - "signed", - "status", - "statusText" + "error" ], "properties": { - "signRequestId": { - "type": "integer", - "format": "int64" - }, - "displayName": { + "error": { "type": "string" + } + } + }, + "ErrorStatusResponse": { + "type": "object", + "required": [ + "status", + "message" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "error" + ] }, - "email": { + "message": { "type": "string" - }, - "identifyMethods": { + } + } + }, + "ErrorsResponse": { + "type": "object", + "required": [ + "errors" + ], + "properties": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/IdentifyMethod" + "$ref": "#/components/schemas/ErrorItem" } - }, - "signed": { - "type": "string", - "nullable": true - }, + } + } + }, + "FailureStatusResponse": { + "type": "object", + "required": [ + "status", + "message" + ], + "properties": { "status": { - "type": "integer", - "format": "int64" + "type": "string", + "enum": [ + "failure" + ] }, - "statusText": { + "message": { "type": "string" } } @@ -488,45 +1179,44 @@ "signers": { "type": "array", "items": { - "$ref": "#/components/schemas/Signer" + "$ref": "#/components/schemas/SignerDetail" } } } } } }, - "FileDetail": { + "FileElementIdResponse": { "type": "object", "required": [ - "created_at", - "files", - "filesCount", + "fileElementId" + ], + "properties": { + "fileElementId": { + "type": "integer", + "format": "int64" + } + } + }, + "FileListItem": { + "type": "object", + "required": [ + "fileId", "id", - "metadata", - "name", "nodeId", - "nodeType", - "requested_by", - "docmdpLevel", - "signatureFlow", - "signers", + "uuid", + "name", "status", "statusText", + "docmdpLevel", "signersCount", - "uuid", - "visibleElements" + "file", + "metadata", + "size", + "signers" ], "properties": { - "created_at": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileListItem" - } - }, - "filesCount": { + "fileId": { "type": "integer", "format": "int64" }, @@ -534,102 +1224,100 @@ "type": "integer", "format": "int64" }, - "metadata": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "nodeId": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "uuid": { + "type": "string" }, "name": { "type": "string" }, - "nodeId": { + "status": { "type": "integer", "format": "int64" }, - "nodeType": { + "statusText": { "type": "string" }, - "requested_by": { - "type": "object", - "required": [ - "userId", - "displayName" - ], - "properties": { - "userId": { - "type": "string" - }, - "displayName": { - "type": "string", - "nullable": true - } - } - }, "docmdpLevel": { "type": "integer", "format": "int64" }, - "signatureFlow": { - "oneOf": [ - { - "type": "integer", - "format": "int64" - }, - { - "type": "string" - } - ] - }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signer" - } - }, - "status": { + "signersCount": { "type": "integer", "format": "int64" }, - "statusText": { + "file": { "type": "string" }, - "signersCount": { + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + }, + "size": { "type": "integer", - "format": "int64" + "format": "int64", + "minimum": 0 }, - "uuid": { - "type": "string" + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignerSummary" + } + } + } + }, + "FileListResponse": { + "type": "object", + "required": [ + "pagination", + "data" + ], + "properties": { + "pagination": { + "$ref": "#/components/schemas/Pagination" }, - "visibleElements": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/VisibleElement" + "anyOf": [ + { + "$ref": "#/components/schemas/FileSummary" + }, + { + "$ref": "#/components/schemas/DetailedFile" + } + ] } + }, + "settings": { + "$ref": "#/components/schemas/Settings" } } }, - "FileListItem": { + "FileSummary": { "type": "object", "required": [ - "fileId", "id", "nodeId", "uuid", "name", "status", "statusText", + "nodeType", + "created_at", + "metadata", "docmdpLevel", + "signatureFlow", "signersCount", - "file", - "metadata", - "signers" + "signers", + "requested_by", + "filesCount", + "canSign" ], "properties": { - "fileId": { - "type": "integer", - "format": "int64" - }, "id": { "type": "integer", "format": "int64" @@ -652,25 +1340,64 @@ "statusText": { "type": "string" }, + "nodeType": { + "type": "string", + "enum": [ + "file", + "envelope" + ] + }, + "created_at": { + "type": "string" + }, + "signUuid": { + "type": "string", + "nullable": true + }, + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + }, "docmdpLevel": { "type": "integer", "format": "int64" }, + "signatureFlow": { + "type": "string", + "enum": [ + "none", + "parallel", + "ordered_numeric" + ] + }, "signersCount": { "type": "integer", "format": "int64" }, - "file": { + "signers": { + "type": "array", + "maxItems": 0 + }, + "requested_by": { + "$ref": "#/components/schemas/RequestedBy" + }, + "filesCount": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "canSign": { + "type": "boolean" + } + } + }, + "FileUuidReference": { + "type": "object", + "required": [ + "uuid" + ], + "properties": { + "uuid": { "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/ValidateMetadata" - }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EnvelopeChildSignerSummary" - } } } }, @@ -703,6 +1430,42 @@ } } }, + "FooterTemplateResponse": { + "type": "object", + "required": [ + "template", + "isDefault", + "preview_width", + "preview_height" + ], + "properties": { + "template": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "preview_width": { + "type": "integer", + "format": "int64" + }, + "preview_height": { + "type": "integer", + "format": "int64" + } + } + }, + "HasRootCertResponse": { + "type": "object", + "required": [ + "hasRootCert" + ], + "properties": { + "hasRootCert": { + "type": "boolean" + } + } + }, "IdDocs": { "type": "object", "required": [ @@ -720,20 +1483,82 @@ } } }, + "IdDocsApprovalListResponse": { + "type": "object", + "required": [ + "pagination", + "data" + ], + "properties": { + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "data": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "IdDocsListResponse": { + "type": "object", + "required": [ + "pagination", + "data" + ], + "properties": { + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "IdDocsUploadErrorResponse": { + "type": "object", + "required": [ + "file", + "type", + "message" + ], + "properties": { + "file": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true, + "enum": [ + "info", + "warning", + "danger" + ] + }, + "message": { + "type": "string" + } + } + }, "IdentifyAccount": { "type": "object", "required": [ - "id", + "identify", "isNoUser", "displayName", "subname", "shareType" ], "properties": { - "id": { - "type": "integer", - "format": "int64", - "minimum": 0 + "identify": { + "type": "string" }, "isNoUser": { "type": "boolean" @@ -752,11 +1577,28 @@ 4 ] }, - "icon": { + "method": { + "type": "string", + "enum": [ + "account", + "email", + "signal", + "sms", + "telegram", + "whatsapp", + "xmpp" + ] + }, + "iconName": { "type": "string", "enum": [ - "icon-mail", - "icon-user" + "account", + "email", + "signal", + "sms", + "telegram", + "whatsapp", + "xmpp" ] }, "acceptsEmailNotifications": { @@ -764,6 +1606,12 @@ } } }, + "IdentifyAccountsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyAccount" + } + }, "IdentifyMethod": { "type": "object", "required": [ @@ -785,174 +1633,143 @@ } } }, - "NewFile": { + "IdentifyMethodSetting": { "type": "object", + "required": [ + "name", + "friendly_name", + "enabled", + "mandatory" + ], "properties": { - "base64": { + "name": { "type": "string" }, - "fileId": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "url": { + "friendly_name": { "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "mandatory": { + "type": "boolean" + }, + "signatureMethods": { + "$ref": "#/components/schemas/SignatureMethods" } } }, - "NewSigner": { + "InfoMessage": { "type": "object", "required": [ - "identify" + "type", + "message" ], "properties": { - "identify": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "account": { - "type": "string" - } - } - }, - "displayName": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "info" + ] }, - "description": { + "message": { "type": "string" - }, - "notify": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "signingOrder": { - "type": "integer", - "format": "int64", - "minimum": 0 } } }, - "NextcloudFile": { + "MessageResponse": { "type": "object", "required": [ - "message", - "name", - "id", - "nodeId", - "uuid", - "status", - "statusText", - "nodeType", - "created_at", - "metadata", - "docmdpLevel", - "signatureFlow", - "visibleElements", - "signers", - "signersCount", - "requested_by", - "filesCount", - "files" + "message" ], "properties": { "message": { "type": "string" - }, - "name": { + } + } + }, + "MessagesResponse": { + "type": "object", + "required": [ + "messages" + ], + "properties": { + "messages": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "NewFile": { + "type": "object", + "properties": { + "base64": { "type": "string" }, - "id": { - "type": "integer", - "format": "int64" - }, "nodeId": { "type": "integer", - "format": "int64" - }, - "uuid": { - "type": "string" - }, - "status": { - "type": "integer", - "format": "int64" + "format": "int64", + "minimum": 0 }, - "statusText": { + "path": { "type": "string" }, - "nodeType": { - "type": "string", - "enum": [ - "file", - "envelope" - ] - }, - "created_at": { + "url": { "type": "string" - }, - "signUuid": { - "type": "string", - "nullable": true - }, - "metadata": { - "$ref": "#/components/schemas/ValidateMetadata" - }, - "docmdpLevel": { - "type": "integer", - "format": "int64" - }, - "signatureFlow": { - "type": "string", - "enum": [ - "none", - "parallel", - "ordered_numeric" - ] - }, - "visibleElements": { + } + } + }, + "NewSigner": { + "type": "object", + "required": [ + "identifyMethods" + ], + "properties": { + "identifyMethods": { "type": "array", "items": { - "$ref": "#/components/schemas/VisibleElement" + "type": "object", + "required": [ + "method", + "value", + "mandatory" + ], + "properties": { + "method": { + "type": "string" + }, + "value": { + "type": "string" + }, + "mandatory": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + } } }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signer" - } + "displayName": { + "type": "string" }, - "signersCount": { - "type": "integer", - "format": "int64" + "description": { + "type": "string" }, - "requested_by": { - "type": "object", - "required": [ - "userId", - "displayName" - ], - "properties": { - "userId": { - "type": "string" - }, - "displayName": { - "type": "string" - } - } + "notify": { + "type": "integer", + "format": "int64", + "minimum": 0 }, - "filesCount": { + "signingOrder": { "type": "integer", "format": "int64", "minimum": 0 }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileListItem" - } + "status": { + "type": "integer", + "format": "int64" } } }, @@ -1148,30 +1965,7 @@ "signers": { "type": "array", "items": { - "type": "object", - "required": [ - "id", - "displayName", - "signed", - "status" - ], - "properties": { - "id": { - "type": "integer", - "format": "int64" - }, - "displayName": { - "type": "string" - }, - "signed": { - "type": "string", - "nullable": true - }, - "status": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/ProgressSigner" } } } @@ -1204,13 +1998,39 @@ "$ref": "#/components/schemas/ProgressPayload" }, "file": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" }, "error": { "$ref": "#/components/schemas/ProgressError" } } }, + "ProgressSigner": { + "type": "object", + "required": [ + "id", + "displayName", + "signed", + "status" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "displayName": { + "type": "string" + }, + "signed": { + "type": "string", + "nullable": true + }, + "status": { + "type": "integer", + "format": "int64" + } + } + }, "PublicCapabilities": { "type": "object", "properties": { @@ -1251,6 +2071,22 @@ } } }, + "RequestedBy": { + "type": "object", + "required": [ + "userId", + "displayName" + ], + "properties": { + "userId": { + "type": "string" + }, + "displayName": { + "type": "string", + "nullable": true + } + } + }, "RootCertificate": { "type": "object", "required": [ @@ -1323,6 +2159,49 @@ } } }, + "SignActionErrorResponse": { + "type": "object", + "required": [ + "action", + "errors" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ActionErrorWithCode" + } + }, + "redirect": { + "type": "string" + } + } + }, + "SignActionResponse": { + "type": "object", + "required": [ + "action" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + }, + "file": { + "$ref": "#/components/schemas/FileUuidReference" + }, + "job": { + "$ref": "#/components/schemas/SigningJob" + } + } + }, "SignatureMethod": { "type": "object", "required": [ @@ -1410,99 +2289,179 @@ } } }, - "Signer": { + "SignatureTemplateSettingsResponse": { "type": "object", "required": [ - "description", - "displayName", - "request_sign_date", - "signed", - "me", - "signRequestId", - "status", - "statusText", - "visibleElements" + "default_signature_text_template", + "signature_available_variables" ], "properties": { - "description": { - "type": "string", - "nullable": true - }, - "displayName": { + "default_signature_text_template": { "type": "string" }, - "subject": { + "signature_available_variables": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SignatureTextSettingsResponse": { + "type": "object", + "required": [ + "template", + "parsed", + "templateFontSize", + "signatureFontSize", + "signatureWidth", + "signatureHeight", + "renderMode" + ], + "properties": { + "template": { "type": "string" }, - "request_sign_date": { + "parsed": { "type": "string" }, - "valid_from": { - "type": "integer", - "format": "int64", - "minimum": 0 + "templateFontSize": { + "type": "number", + "format": "double" }, - "valid_to": { - "type": "integer", - "format": "int64", - "minimum": 0 + "signatureFontSize": { + "type": "number", + "format": "double" }, - "email": { - "type": "string" + "signatureWidth": { + "type": "number", + "format": "double" }, - "remote_address": { - "type": "string" + "signatureHeight": { + "type": "number", + "format": "double" }, - "user_agent": { + "renderMode": { "type": "string" + } + } + }, + "SignerDetail": { + "allOf": [ + { + "$ref": "#/components/schemas/SignerSummary" }, - "notify": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Notify" + { + "type": "object", + "required": [ + "description", + "request_sign_date", + "me", + "status", + "visibleElements" + ], + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "subject": { + "type": "string" + }, + "request_sign_date": { + "type": "string" + }, + "valid_from": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "valid_to": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "remote_address": { + "type": "string" + }, + "user_agent": { + "type": "string" + }, + "notify": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notify" + } + }, + "userId": { + "type": "string" + }, + "sign_date": { + "type": "string", + "nullable": true + }, + "sign_uuid": { + "type": "string" + }, + "hash_algorithm": { + "type": "string" + }, + "me": { + "type": "boolean" + }, + "status": { + "type": "integer", + "format": "int64", + "enum": [ + 0, + 1, + 2 + ] + }, + "signingOrder": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "visibleElements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VisibleElement" + } + }, + "signatureMethods": { + "$ref": "#/components/schemas/SignatureMethods" + }, + "uid": { + "type": "string" + }, + "metadata": { + "type": "object" + } } - }, - "userId": { - "type": "string" - }, - "signed": { - "type": "string", - "nullable": true - }, - "sign_date": { - "type": "string", - "nullable": true - }, - "sign_uuid": { - "type": "string" - }, - "hash_algorithm": { - "type": "string" - }, - "me": { - "type": "boolean" - }, + } + ] + }, + "SignerSummary": { + "type": "object", + "required": [ + "signRequestId", + "displayName", + "email", + "signed", + "status", + "statusText" + ], + "properties": { "signRequestId": { "type": "integer", - "format": "int64", - "minimum": 0 - }, - "status": { - "type": "integer", - "format": "int64", - "enum": [ - 0, - 1, - 2 - ] + "format": "int64" }, - "statusText": { + "displayName": { "type": "string" }, - "signingOrder": { - "type": "integer", - "format": "int64", - "minimum": 0 + "email": { + "type": "string" }, "identifyMethods": { "type": "array", @@ -1510,20 +2469,63 @@ "$ref": "#/components/schemas/IdentifyMethod" } }, - "visibleElements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VisibleElement" - } + "signed": { + "type": "string", + "nullable": true }, - "signatureMethods": { - "$ref": "#/components/schemas/SignatureMethods" + "status": { + "type": "integer", + "format": "int64" }, - "uid": { + "statusText": { "type": "string" + } + } + }, + "SigningJob": { + "type": "object", + "required": [ + "status", + "file" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "SIGNING_IN_PROGRESS" + ] }, - "metadata": { - "type": "object" + "file": { + "$ref": "#/components/schemas/FileUuidReference" + } + } + }, + "StatusMessageResponse": { + "type": "object", + "required": [ + "message", + "status" + ], + "properties": { + "message": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "SuccessStatusResponse": { + "type": "object", + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string", + "enum": [ + "success" + ] } } }, @@ -1577,7 +2579,147 @@ } } }, - "ValidateFile": { + "UserElementsMessageResponse": { + "type": "object", + "required": [ + "elements", + "message" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserElement" + } + }, + "message": { + "type": "string" + } + } + }, + "UserElementsResponse": { + "type": "object", + "required": [ + "elements" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserElement" + } + } + } + }, + "ValidateMetadata": { + "type": "object", + "required": [ + "extension", + "p" + ], + "properties": { + "extension": { + "type": "string" + }, + "p": { + "type": "integer", + "format": "int64" + }, + "d": { + "type": "array", + "items": { + "type": "object", + "required": [ + "w", + "h" + ], + "properties": { + "w": { + "type": "number", + "format": "double" + }, + "h": { + "type": "number", + "format": "double" + } + } + } + }, + "original_file_deleted": { + "type": "boolean" + }, + "pdfVersion": { + "type": "string" + }, + "status_changed_at": { + "type": "string" + } + } + }, + "ValidatedChildFile": { + "type": "object", + "required": [ + "id", + "uuid", + "name", + "status", + "statusText", + "nodeId", + "size", + "signers", + "file", + "metadata" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "statusText": { + "type": "string" + }, + "nodeId": { + "type": "integer", + "format": "int64" + }, + "totalPages": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "size": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "pdfVersion": { + "type": "string" + }, + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignerSummary" + } + }, + "file": { + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + } + } + }, + "ValidatedFile": { "type": "object", "required": [ "id", @@ -1648,7 +2790,7 @@ "files": { "type": "array", "items": { - "$ref": "#/components/schemas/EnvelopeChildFile" + "$ref": "#/components/schemas/ValidatedChildFile" } }, "totalPages": { @@ -1668,19 +2810,7 @@ "type": "string" }, "requested_by": { - "type": "object", - "required": [ - "userId", - "displayName" - ], - "properties": { - "userId": { - "type": "string" - }, - "displayName": { - "type": "string" - } - } + "$ref": "#/components/schemas/RequestedBy" }, "file": { "type": "string" @@ -1698,38 +2828,7 @@ "pages": { "type": "array", "items": { - "type": "object", - "required": [ - "number", - "url", - "resolution" - ], - "properties": { - "number": { - "type": "integer", - "format": "int64" - }, - "url": { - "type": "string" - }, - "resolution": { - "type": "object", - "required": [ - "w", - "h" - ], - "properties": { - "w": { - "type": "number", - "format": "double" - }, - "h": { - "type": "number", - "format": "double" - } - } - } - } + "$ref": "#/components/schemas/ValidationPage" } }, "metadata": { @@ -1738,7 +2837,7 @@ "signers": { "type": "array", "items": { - "$ref": "#/components/schemas/Signer" + "$ref": "#/components/schemas/SignerDetail" } }, "signersCount": { @@ -1752,22 +2851,7 @@ "messages": { "type": "array", "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "info" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/InfoMessage" } }, "visibleElements": { @@ -1778,45 +2862,40 @@ } } }, - "ValidateMetadata": { + "ValidationPage": { + "type": "object", + "required": [ + "number", + "url", + "resolution" + ], + "properties": { + "number": { + "type": "integer", + "format": "int64" + }, + "url": { + "type": "string" + }, + "resolution": { + "$ref": "#/components/schemas/ValidationPageResolution" + } + } + }, + "ValidationPageResolution": { "type": "object", "required": [ - "extension", - "p" + "w", + "h" ], "properties": { - "extension": { - "type": "string" - }, - "p": { - "type": "integer", - "format": "int64" - }, - "d": { - "type": "array", - "items": { - "type": "object", - "required": [ - "w", - "h" - ], - "properties": { - "w": { - "type": "number", - "format": "double" - }, - "h": { - "type": "number", - "format": "double" - } - } - } - }, - "pdfVersion": { - "type": "string" + "w": { + "type": "number", + "format": "double" }, - "status_changed_at": { - "type": "string" + "h": { + "type": "number", + "format": "double" } } }, @@ -1965,19 +3044,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "error", - "message" - ], - "properties": { - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlErrorResponse" } } } @@ -2018,23 +3085,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "serial_number", - "status", - "checked_at" - ], - "properties": { - "serial_number": { - "type": "string" - }, - "status": { - "type": "string" - }, - "checked_at": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlCertificateStatusResponse" } } } @@ -2044,19 +3095,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "error", - "message" - ], - "properties": { - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlErrorResponse" } } } @@ -2790,42 +3829,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "message" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64", - "enum": [ - 2000, - 2500 - ] - }, - "description": { - "type": "string", - "nullable": true - }, - "filename": { - "type": "string" - }, - "message": { - "type": "string" - }, - "pdf": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "type": "string" - } - } - } - } + "$ref": "#/components/schemas/CreateToSignResponse" } } } @@ -2855,20 +3859,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message", - "action" - ], - "properties": { - "message": { - "type": "string" - }, - "action": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/ActionMessageResponse" } } } @@ -2990,15 +3981,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3070,47 +4053,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "account", - "settings" - ], - "properties": { - "account": { - "type": "object", - "required": [ - "uid", - "emailAddress", - "displayName" - ], - "properties": { - "uid": { - "type": "string" - }, - "emailAddress": { - "type": "string" - }, - "displayName": { - "type": "string" - } - } - }, - "settings": { - "type": "object", - "required": [ - "canRequestSign", - "hasSignatureFile" - ], - "properties": { - "canRequestSign": { - "type": "boolean" - }, - "hasSignatureFile": { - "type": "boolean" - } - } - } - } + "$ref": "#/components/schemas/AccountMeResponse" } } } @@ -3140,15 +4083,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3238,31 +4173,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "userId", - "phone", - "message" - ], - "properties": { - "userId": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } + "$ref": "#/components/schemas/AccountSettingsUpdateResponse" } } } @@ -3292,15 +4203,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3373,15 +4276,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3452,15 +4347,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3490,15 +4377,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3594,15 +4473,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3632,15 +4503,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3762,15 +4625,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3852,19 +4707,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "object" - } - } + "$ref": "#/components/schemas/ConfigValueResponse" } } } @@ -3894,15 +4737,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -4015,15 +4850,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -4074,6 +4901,45 @@ "type": "string" } }, + { + "name": "showVisibleElements", + "in": "query", + "description": "Whether to include visible elements in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "showMessages", + "in": "query", + "description": "Whether to include validation messages in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "showValidateFile", + "in": "query", + "description": "Whether to include the file payload in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, { "name": "OCS-APIRequest", "in": "header", @@ -4107,7 +4973,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" } } } @@ -4137,52 +5003,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4213,25 +5034,64 @@ ], "parameters": [ { - "name": "apiVersion", - "in": "path", - "required": true, + "name": "apiVersion", + "in": "path", + "required": true, + "schema": { + "type": "string", + "enum": [ + "v1" + ], + "default": "v1" + } + }, + { + "name": "fileId", + "in": "path", + "description": "The identifier value of the LibreSign file", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "showVisibleElements", + "in": "query", + "description": "Whether to include visible elements in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "showMessages", + "in": "query", + "description": "Whether to include validation messages in the response", "schema": { - "type": "string", + "type": "integer", + "default": 1, "enum": [ - "v1" - ], - "default": "v1" + 0, + 1 + ] } }, { - "name": "fileId", - "in": "path", - "description": "The identifier value of the LibreSign file", - "required": true, + "name": "showValidateFile", + "in": "query", + "description": "Whether to include the file payload in the response", "schema": { "type": "integer", - "format": "int64" + "default": 1, + "enum": [ + 0, + 1 + ] } }, { @@ -4267,7 +5127,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" } } } @@ -4297,52 +5157,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4417,7 +5232,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" } } } @@ -4447,55 +5262,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4525,55 +5292,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4658,7 +5377,7 @@ { "name": "nodeIds[]", "in": "query", - "description": "The list of nodeIds (also called fileIds). It's the ids of files at Nextcloud", + "description": "The list of nodeIds. It's the ids of files at Nextcloud", "schema": { "type": "array", "nullable": true, @@ -4729,6 +5448,19 @@ "nullable": true } }, + { + "name": "details", + "in": "query", + "description": "Whether to return the detailed payload instead of the lightweight summary payload", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, { "name": "OCS-APIRequest", "in": "header", @@ -4762,25 +5494,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "pagination", - "data" - ], - "properties": { - "pagination": { - "$ref": "#/components/schemas/Pagination" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileDetail" - } - }, - "settings": { - "$ref": "#/components/schemas/Settings" - } - } + "$ref": "#/components/schemas/FileListResponse" } } } @@ -5343,7 +6057,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -5373,15 +6087,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5464,7 +6170,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -5494,15 +6200,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5532,15 +6230,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5570,15 +6260,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5675,15 +6357,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5713,15 +6387,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5751,34 +6417,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -5831,7 +6470,7 @@ "type": "integer", "format": "int64", "nullable": true, - "description": "File ID when using node identifier instead of UUID" + "description": "LibreSign file ID that owns the visible element" }, "type": { "type": "string", @@ -5908,16 +6547,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "fileElementId" - ], - "properties": { - "fileElementId": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/FileElementIdResponse" } } } @@ -5947,29 +6577,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ErrorsResponse" } } } @@ -6016,7 +6624,7 @@ "type": "integer", "format": "int64", "nullable": true, - "description": "File ID when using node identifier instead of UUID" + "description": "LibreSign file ID that owns the visible element" }, "type": { "type": "string", @@ -6104,16 +6712,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "fileElementId" - ], - "properties": { - "fileElementId": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/FileElementIdResponse" } } } @@ -6143,29 +6742,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ErrorsResponse" } } } @@ -6284,29 +6861,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ErrorsResponse" } } } @@ -6430,19 +6985,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message", - "status" - ], - "properties": { - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - } + "$ref": "#/components/schemas/StatusMessageResponse" } } } @@ -6566,30 +7109,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "file", - "type", - "message" - ], - "properties": { - "file": { - "type": "integer", - "format": "int64", - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "info", - "warning", - "danger" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/IdDocsUploadErrorResponse" } } } @@ -6700,22 +7220,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "pagination", - "data" - ], - "properties": { - "pagination": { - "$ref": "#/components/schemas/Pagination" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/File" - } - } - } + "$ref": "#/components/schemas/IdDocsListResponse" } } } @@ -6745,15 +7250,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -6874,18 +7371,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "messages" - ], - "properties": { - "messages": { - "type": "array", - "items": { - "type": "string" - } - } - } + "$ref": "#/components/schemas/MessagesResponse" } } } @@ -7015,23 +7501,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "pagination", - "data" - ], - "properties": { - "pagination": { - "$ref": "#/components/schemas/Pagination" - }, - "data": { - "type": "array", - "nullable": true, - "items": { - "$ref": "#/components/schemas/File" - } - } - } + "$ref": "#/components/schemas/IdDocsApprovalListResponse" } } } @@ -7061,15 +7531,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -7181,10 +7643,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IdentifyAccount" - } + "$ref": "#/components/schemas/IdentifyAccountsResponse" } } } @@ -7293,15 +7752,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -7331,33 +7782,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "messages" - ], - "properties": { - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "danger" - ] - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/DangerMessagesResponse" } } } @@ -7452,19 +7877,11 @@ "data" ], "properties": { - "meta": { - "$ref": "#/components/schemas/OCSMeta" - }, - "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/MessageResponse" } } } @@ -7494,33 +7911,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "messages" - ], - "properties": { - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "danger" - ] - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/DangerMessagesResponse" } } } @@ -7669,7 +8060,7 @@ "signers": { "type": "array", "default": [], - "description": "Collection of signers who must sign the document. Each signer can have: identify, displayName, description, notify, signingOrder", + "description": "Collection of signers who must sign the document. Use identifyMethods as the canonical format. Other supported fields: displayName, description, notify, signingOrder, status", "items": { "$ref": "#/components/schemas/NewSigner" } @@ -7687,12 +8078,12 @@ "file": { "$ref": "#/components/schemas/NewFile", "default": [], - "description": "File object." + "description": "File object. Supports nodeId, url, base64 or path." }, "files": { "type": "array", "default": [], - "description": "Multiple files to create an envelope (optional, use either file or files)", + "description": "Multiple files to create an envelope (optional, use either file or files). Each file supports nodeId, url, base64 or path.", "items": { "$ref": "#/components/schemas/NewFile" } @@ -7765,7 +8156,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -7795,33 +8186,14 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "properties": { - "message": { - "type": "string" + "anyOf": [ + { + "$ref": "#/components/schemas/MessageResponse" }, - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } + { + "$ref": "#/components/schemas/ActionErrorResponse" } - } + ] } } } @@ -7858,7 +8230,7 @@ "type": "array", "nullable": true, "default": [], - "description": "Collection of signers who must sign the document", + "description": "Collection of signers who must sign the document. Use identifyMethods as the canonical format.", "items": { "$ref": "#/components/schemas/NewSigner" } @@ -7879,7 +8251,7 @@ "file": { "nullable": true, "default": [], - "description": "File object.", + "description": "File object. Supports nodeId, url, base64 or path when creating a new request.", "anyOf": [ { "$ref": "#/components/schemas/NewFile" @@ -7914,7 +8286,7 @@ "files": { "type": "array", "default": [], - "description": "Multiple files to create an envelope (optional, use either file or files)", + "description": "Multiple files to create an envelope (optional, use either file or files). Each file supports nodeId, url, base64 or path.", "items": { "$ref": "#/components/schemas/NewFile" } @@ -7970,7 +8342,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -8000,33 +8372,14 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "action": { - "type": "integer", - "format": "int64" + "anyOf": [ + { + "$ref": "#/components/schemas/MessageResponse" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } + { + "$ref": "#/components/schemas/ActionErrorResponse" } - } + ] } } } @@ -8120,15 +8473,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8158,15 +8503,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8196,34 +8533,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -8267,7 +8577,7 @@ { "name": "fileId", "in": "path", - "description": "Node id of a Nextcloud file", + "description": "LibreSign file ID", "required": true, "schema": { "type": "integer", @@ -8307,15 +8617,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8345,15 +8647,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8383,34 +8677,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -8534,56 +8801,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "message": { - "type": "string" - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - }, - "job": { - "type": "object", - "required": [ - "status", - "file" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "SIGNING_IN_PROGRESS" - ] - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - } - } - } - } + "$ref": "#/components/schemas/SignActionResponse" } } } @@ -8613,41 +8831,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int64" - }, - "title": { - "type": "string" - } - } - } - }, - "redirect": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignActionErrorResponse" } } } @@ -8772,56 +8956,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "message": { - "type": "string" - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - }, - "job": { - "type": "object", - "required": [ - "status", - "file" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "SIGNING_IN_PROGRESS" - ] - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - } - } - } - } + "$ref": "#/components/schemas/SignActionResponse" } } } @@ -8851,41 +8986,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int64" - }, - "title": { - "type": "string" - } - } - } - }, - "redirect": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignActionErrorResponse" } } } @@ -8976,15 +9077,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9098,15 +9191,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9136,15 +9221,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9259,15 +9336,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9297,15 +9366,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9401,22 +9462,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "elements", - "message" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserElement" - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/UserElementsMessageResponse" } } } @@ -9446,15 +9492,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9526,18 +9564,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "elements" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserElement" - } - } - } + "$ref": "#/components/schemas/UserElementsResponse" } } } @@ -9567,15 +9594,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9783,15 +9802,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9898,22 +9909,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "elements", - "message" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserElement" - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/UserElementsMessageResponse" } } } @@ -9943,15 +9939,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -10033,15 +10021,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -10071,15 +10051,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -10215,15 +10187,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/EngineHandler" - } - } + "$ref": "#/components/schemas/EngineHandlerResponse" } } } @@ -10253,15 +10217,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -10392,15 +10348,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/EngineHandler" - } - } + "$ref": "#/components/schemas/EngineHandlerResponse" } } } @@ -10430,15 +10378,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -10531,25 +10471,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "engine", - "identify_methods" - ], - "properties": { - "engine": { - "type": "string" - }, - "identify_methods": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - } + "$ref": "#/components/schemas/CertificateEngineConfigResponse" } } } @@ -10578,16 +10500,8 @@ "meta": { "$ref": "#/components/schemas/OCSMeta" }, - "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "data": { + "$ref": "#/components/schemas/MessageResponse" } } } @@ -10735,10 +10649,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ConfigureCheck" - } + "$ref": "#/components/schemas/ConfigureChecksResponse" } } } @@ -10884,18 +10795,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -10925,22 +10825,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "failure" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/FailureStatusResponse" } } } @@ -11065,18 +10950,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -11148,18 +11022,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -11281,43 +11144,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "template", - "parsed", - "templateFontSize", - "signatureFontSize", - "signatureWidth", - "signatureHeight", - "renderMode" - ], - "properties": { - "template": { - "type": "string" - }, - "parsed": { - "type": "string" - }, - "templateFontSize": { - "type": "number", - "format": "double" - }, - "signatureFontSize": { - "type": "number", - "format": "double" - }, - "signatureWidth": { - "type": "number", - "format": "double" - }, - "signatureHeight": { - "type": "number", - "format": "double" - }, - "renderMode": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignatureTextSettingsResponse" } } } @@ -11347,15 +11174,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -11445,43 +11264,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "template", - "parsed", - "templateFontSize", - "signatureFontSize", - "signatureWidth", - "signatureHeight", - "renderMode" - ], - "properties": { - "template": { - "type": "string" - }, - "parsed": { - "type": "string" - }, - "templateFontSize": { - "type": "number", - "format": "double" - }, - "signatureFontSize": { - "type": "number", - "format": "double" - }, - "signatureWidth": { - "type": "number", - "format": "double" - }, - "signatureHeight": { - "type": "number", - "format": "double" - }, - "renderMode": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignatureTextSettingsResponse" } } } @@ -11511,15 +11294,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -11593,22 +11368,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "default_signature_text_template", - "signature_available_variables" - ], - "properties": { - "default_signature_text_template": { - "type": "string" - }, - "signature_available_variables": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } + "$ref": "#/components/schemas/SignatureTemplateSettingsResponse" } } } @@ -11764,15 +11524,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -11846,22 +11598,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "CPS" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - }, - "CPS": { - "type": "string" - } - } + "$ref": "#/components/schemas/CertificatePolicyResponse" } } } @@ -11891,22 +11628,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "failure" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/FailureStatusResponse" } } } @@ -12071,18 +11793,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -12112,22 +11823,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "failure" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/FailureStatusResponse" } } } @@ -12421,18 +12117,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -12462,22 +12147,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "error" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorStatusResponse" } } } @@ -12549,18 +12219,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ] - } - } + "$ref": "#/components/schemas/SuccessStatusResponse" } } } @@ -12634,29 +12293,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "template", - "isDefault", - "preview_width", - "preview_height" - ], - "properties": { - "template": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "preview_width": { - "type": "integer", - "format": "int64" - }, - "preview_height": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/FooterTemplateResponse" } } } @@ -12768,15 +12405,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -12874,15 +12503,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -12912,15 +12533,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -12950,15 +12563,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -13056,15 +12661,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -13094,15 +12691,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -13132,15 +12721,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -13239,15 +12820,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -13277,15 +12850,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -13315,15 +12880,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -13397,48 +12954,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "uuid", - "name", - "signerEmail", - "signerDisplayName", - "updatedAt" - ], - "properties": { - "id": { - "type": "integer", - "format": "int64" - }, - "uuid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "signerEmail": { - "type": "string" - }, - "signerDisplayName": { - "type": "string" - }, - "updatedAt": { - "type": "integer", - "format": "int64" - } - } - } - } - } + "$ref": "#/components/schemas/ActiveSigningsResponse" } } } @@ -13468,15 +12984,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -13652,33 +13160,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data", - "total", - "page", - "length" - ], - "properties": { - "data": { - "type": "object", - "additionalProperties": { - "type": "object" - } - }, - "total": { - "type": "integer", - "format": "int64" - }, - "page": { - "type": "integer", - "format": "int64" - }, - "length": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/CrlListResponse" } } } @@ -13782,19 +13264,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "success", - "message" - ], - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlRevokeResponse" } } } @@ -13824,19 +13294,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "success", - "message" - ], - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlRevokeResponse" } } } @@ -13866,19 +13324,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "success", - "message" - ], - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlRevokeResponse" } } } @@ -13952,15 +13398,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "hasRootCert" - ], - "properties": { - "hasRootCert": { - "type": "boolean" - } - } + "$ref": "#/components/schemas/HasRootCertResponse" } } } diff --git a/openapi.json b/openapi.json index 3030a0e4c6..e9f86b7bea 100644 --- a/openapi.json +++ b/openapi.json @@ -20,6 +20,140 @@ } }, "schemas": { + "AccountMeResponse": { + "type": "object", + "required": [ + "account", + "settings" + ], + "properties": { + "account": { + "type": "object", + "required": [ + "uid", + "emailAddress", + "displayName" + ], + "properties": { + "uid": { + "type": "string" + }, + "emailAddress": { + "type": "string" + }, + "displayName": { + "type": "string" + } + } + }, + "settings": { + "type": "object", + "required": [ + "canRequestSign", + "hasSignatureFile", + "phoneNumber" + ], + "properties": { + "canRequestSign": { + "type": "boolean" + }, + "hasSignatureFile": { + "type": "boolean" + }, + "phoneNumber": { + "type": "string" + } + } + } + } + }, + "AccountSettingsUpdateResponse": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "userId", + "phone", + "message" + ], + "properties": { + "userId": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "ActionErrorResponse": { + "type": "object", + "required": [ + "action", + "errors" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorItem" + } + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InfoMessage" + } + }, + "message": { + "type": "string" + } + } + }, + "ActionErrorWithCode": { + "allOf": [ + { + "$ref": "#/components/schemas/ErrorItem" + }, + { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int64" + } + } + } + ] + }, + "ActionMessageResponse": { + "type": "object", + "required": [ + "action", + "message" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + } + } + }, "Capabilities": { "type": "object", "required": [ @@ -158,6 +292,21 @@ } } }, + "ConfigValueResponse": { + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "object" + } + } + }, "Coordinate": { "type": "object", "properties": { @@ -199,119 +348,332 @@ } } }, - "EnvelopeChildFile": { + "CreateToSignPdfReference": { "type": "object", "required": [ - "id", - "uuid", - "name", - "status", - "statusText", - "nodeId", - "signers", - "file", - "metadata" + "url" ], "properties": { - "id": { + "url": { + "type": "string" + } + } + }, + "CreateToSignResponse": { + "type": "object", + "required": [ + "action", + "message" + ], + "properties": { + "action": { "type": "integer", - "format": "int64" + "format": "int64", + "enum": [ + 2000, + 2500 + ] }, - "uuid": { + "message": { "type": "string" }, - "name": { - "type": "string" + "description": { + "type": "string", + "nullable": true }, - "status": { - "type": "integer", - "format": "int64" + "filename": { + "type": "string" }, - "statusText": { + "pdf": { + "$ref": "#/components/schemas/CreateToSignPdfReference" + } + } + }, + "CrlCertificateStatusResponse": { + "type": "object", + "required": [ + "serial_number", + "status", + "checked_at" + ], + "properties": { + "serial_number": { "type": "string" }, - "nodeId": { - "type": "integer", - "format": "int64" + "status": { + "type": "string", + "enum": [ + "valid", + "revoked", + "expired", + "unknown" + ] }, - "totalPages": { - "type": "integer", - "format": "int64", - "minimum": 0 + "checked_at": { + "type": "string" }, - "size": { + "reason_code": { "type": "integer", "format": "int64", - "minimum": 0 + "nullable": true }, - "pdfVersion": { + "revoked_at": { "type": "string" }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EnvelopeChildSignerSummary" - } - }, - "file": { + "valid_to": { "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/ValidateMetadata" } } }, - "EnvelopeChildSignerSummary": { + "CrlErrorResponse": { "type": "object", "required": [ - "signRequestId", - "displayName", - "email", - "signed", - "status", - "statusText" + "error", + "message" ], "properties": { - "signRequestId": { - "type": "integer", - "format": "int64" - }, - "displayName": { + "error": { "type": "string" }, - "email": { + "message": { "type": "string" + } + } + }, + "DangerMessage": { + "type": "object", + "required": [ + "type", + "message" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "danger" + ] }, - "identifyMethods": { + "message": { + "type": "string" + } + } + }, + "DangerMessagesResponse": { + "type": "object", + "required": [ + "messages" + ], + "properties": { + "messages": { "type": "array", "items": { - "$ref": "#/components/schemas/IdentifyMethod" + "$ref": "#/components/schemas/DangerMessage" } - }, - "signed": { - "type": "string", - "nullable": true - }, - "status": { - "type": "integer", - "format": "int64" - }, - "statusText": { - "type": "string" } } }, - "File": { + "DetailedFile": { "type": "object", "required": [ - "account", - "file_type", "created_at", - "file" + "files", + "filesCount", + "id", + "nodeId", + "uuid", + "name", + "status", + "statusText", + "nodeType", + "metadata", + "size", + "docmdpLevel", + "signatureFlow", + "visibleElements", + "signers", + "signersCount", + "requested_by" ], "properties": { - "account": { - "type": "object", + "created_at": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileListItem" + } + }, + "filesCount": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "id": { + "type": "integer", + "format": "int64" + }, + "nodeId": { + "type": "integer", + "format": "int64" + }, + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "statusText": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "size": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "docmdpLevel": { + "type": "integer", + "format": "int64" + }, + "signatureFlow": { + "type": "string", + "enum": [ + "none", + "parallel", + "ordered_numeric" + ] + }, + "visibleElements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VisibleElement" + } + }, + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignerDetail" + } + }, + "signersCount": { + "type": "integer", + "format": "int64" + }, + "requested_by": { + "$ref": "#/components/schemas/RequestedBy" + } + } + }, + "DetailedFileResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/DetailedFile" + }, + { + "type": "object", + "required": [ + "message", + "name", + "nodeType", + "metadata", + "signatureFlow" + ], + "properties": { + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "nodeType": { + "type": "string", + "enum": [ + "file", + "envelope" + ] + }, + "signUuid": { + "type": "string", + "nullable": true + }, + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + }, + "signatureFlow": { + "type": "string", + "enum": [ + "none", + "parallel", + "ordered_numeric" + ] + } + } + } + ] + }, + "ErrorItem": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + }, + "title": { + "type": "string" + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + }, + "ErrorsResponse": { + "type": "object", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorItem" + } + } + } + }, + "File": { + "type": "object", + "required": [ + "account", + "file_type", + "created_at", + "file" + ], + "properties": { + "account": { + "type": "object", "required": [ "userId", "displayName" @@ -418,45 +780,44 @@ "signers": { "type": "array", "items": { - "$ref": "#/components/schemas/Signer" + "$ref": "#/components/schemas/SignerDetail" } } } } } }, - "FileDetail": { + "FileElementIdResponse": { "type": "object", "required": [ - "created_at", - "files", - "filesCount", + "fileElementId" + ], + "properties": { + "fileElementId": { + "type": "integer", + "format": "int64" + } + } + }, + "FileListItem": { + "type": "object", + "required": [ + "fileId", "id", - "metadata", - "name", "nodeId", - "nodeType", - "requested_by", - "docmdpLevel", - "signatureFlow", - "signers", + "uuid", + "name", "status", "statusText", + "docmdpLevel", "signersCount", - "uuid", - "visibleElements" + "file", + "metadata", + "size", + "signers" ], "properties": { - "created_at": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileListItem" - } - }, - "filesCount": { + "fileId": { "type": "integer", "format": "int64" }, @@ -464,102 +825,100 @@ "type": "integer", "format": "int64" }, - "metadata": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "nodeId": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "uuid": { + "type": "string" }, "name": { "type": "string" }, - "nodeId": { + "status": { "type": "integer", "format": "int64" }, - "nodeType": { + "statusText": { "type": "string" }, - "requested_by": { - "type": "object", - "required": [ - "userId", - "displayName" - ], - "properties": { - "userId": { - "type": "string" - }, - "displayName": { - "type": "string", - "nullable": true - } - } - }, "docmdpLevel": { "type": "integer", "format": "int64" }, - "signatureFlow": { - "oneOf": [ - { - "type": "integer", - "format": "int64" - }, - { - "type": "string" - } - ] - }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signer" - } - }, - "status": { + "signersCount": { "type": "integer", "format": "int64" }, - "statusText": { + "file": { "type": "string" }, - "signersCount": { + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + }, + "size": { "type": "integer", - "format": "int64" + "format": "int64", + "minimum": 0 }, - "uuid": { - "type": "string" + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignerSummary" + } + } + } + }, + "FileListResponse": { + "type": "object", + "required": [ + "pagination", + "data" + ], + "properties": { + "pagination": { + "$ref": "#/components/schemas/Pagination" }, - "visibleElements": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/VisibleElement" + "anyOf": [ + { + "$ref": "#/components/schemas/FileSummary" + }, + { + "$ref": "#/components/schemas/DetailedFile" + } + ] } + }, + "settings": { + "$ref": "#/components/schemas/Settings" } } }, - "FileListItem": { + "FileSummary": { "type": "object", "required": [ - "fileId", "id", "nodeId", "uuid", "name", "status", "statusText", + "nodeType", + "created_at", + "metadata", "docmdpLevel", + "signatureFlow", "signersCount", - "file", - "metadata", - "signers" + "signers", + "requested_by", + "filesCount", + "canSign" ], "properties": { - "fileId": { - "type": "integer", - "format": "int64" - }, "id": { "type": "integer", "format": "int64" @@ -582,25 +941,64 @@ "statusText": { "type": "string" }, + "nodeType": { + "type": "string", + "enum": [ + "file", + "envelope" + ] + }, + "created_at": { + "type": "string" + }, + "signUuid": { + "type": "string", + "nullable": true + }, + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + }, "docmdpLevel": { "type": "integer", "format": "int64" }, + "signatureFlow": { + "type": "string", + "enum": [ + "none", + "parallel", + "ordered_numeric" + ] + }, "signersCount": { "type": "integer", "format": "int64" }, - "file": { - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/ValidateMetadata" - }, "signers": { "type": "array", - "items": { - "$ref": "#/components/schemas/EnvelopeChildSignerSummary" - } + "maxItems": 0 + }, + "requested_by": { + "$ref": "#/components/schemas/RequestedBy" + }, + "filesCount": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "canSign": { + "type": "boolean" + } + } + }, + "FileUuidReference": { + "type": "object", + "required": [ + "uuid" + ], + "properties": { + "uuid": { + "type": "string" } } }, @@ -650,20 +1048,82 @@ } } }, + "IdDocsApprovalListResponse": { + "type": "object", + "required": [ + "pagination", + "data" + ], + "properties": { + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "data": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "IdDocsListResponse": { + "type": "object", + "required": [ + "pagination", + "data" + ], + "properties": { + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "IdDocsUploadErrorResponse": { + "type": "object", + "required": [ + "file", + "type", + "message" + ], + "properties": { + "file": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true, + "enum": [ + "info", + "warning", + "danger" + ] + }, + "message": { + "type": "string" + } + } + }, "IdentifyAccount": { "type": "object", "required": [ - "id", + "identify", "isNoUser", "displayName", "subname", "shareType" ], "properties": { - "id": { - "type": "integer", - "format": "int64", - "minimum": 0 + "identify": { + "type": "string" }, "isNoUser": { "type": "boolean" @@ -682,11 +1142,28 @@ 4 ] }, - "icon": { + "method": { "type": "string", "enum": [ - "icon-mail", - "icon-user" + "account", + "email", + "signal", + "sms", + "telegram", + "whatsapp", + "xmpp" + ] + }, + "iconName": { + "type": "string", + "enum": [ + "account", + "email", + "signal", + "sms", + "telegram", + "whatsapp", + "xmpp" ] }, "acceptsEmailNotifications": { @@ -694,6 +1171,12 @@ } } }, + "IdentifyAccountsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyAccount" + } + }, "IdentifyMethod": { "type": "object", "required": [ @@ -715,174 +1198,117 @@ } } }, - "NewFile": { + "InfoMessage": { "type": "object", + "required": [ + "type", + "message" + ], "properties": { - "base64": { - "type": "string" - }, - "fileId": { - "type": "integer", - "format": "int64", - "minimum": 0 + "type": { + "type": "string", + "enum": [ + "info" + ] }, - "url": { + "message": { "type": "string" } } }, - "NewSigner": { + "MessageResponse": { "type": "object", "required": [ - "identify" + "message" ], "properties": { - "identify": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "account": { - "type": "string" - } - } - }, - "displayName": { - "type": "string" - }, - "description": { + "message": { "type": "string" - }, - "notify": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "signingOrder": { - "type": "integer", - "format": "int64", - "minimum": 0 } } }, - "NextcloudFile": { + "MessagesResponse": { "type": "object", "required": [ - "message", - "name", - "id", - "nodeId", - "uuid", - "status", - "statusText", - "nodeType", - "created_at", - "metadata", - "docmdpLevel", - "signatureFlow", - "visibleElements", - "signers", - "signersCount", - "requested_by", - "filesCount", - "files" + "messages" ], "properties": { - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "id": { - "type": "integer", - "format": "int64" - }, - "nodeId": { - "type": "integer", - "format": "int64" - }, - "uuid": { - "type": "string" - }, - "status": { - "type": "integer", - "format": "int64" - }, - "statusText": { - "type": "string" - }, - "nodeType": { - "type": "string", - "enum": [ - "file", - "envelope" - ] - }, - "created_at": { + "messages": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "NewFile": { + "type": "object", + "properties": { + "base64": { "type": "string" }, - "signUuid": { - "type": "string", - "nullable": true - }, - "metadata": { - "$ref": "#/components/schemas/ValidateMetadata" - }, - "docmdpLevel": { + "nodeId": { "type": "integer", - "format": "int64" + "format": "int64", + "minimum": 0 }, - "signatureFlow": { - "type": "string", - "enum": [ - "none", - "parallel", - "ordered_numeric" - ] + "path": { + "type": "string" }, - "visibleElements": { + "url": { + "type": "string" + } + } + }, + "NewSigner": { + "type": "object", + "required": [ + "identifyMethods" + ], + "properties": { + "identifyMethods": { "type": "array", "items": { - "$ref": "#/components/schemas/VisibleElement" + "type": "object", + "required": [ + "method", + "value", + "mandatory" + ], + "properties": { + "method": { + "type": "string" + }, + "value": { + "type": "string" + }, + "mandatory": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + } } }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signer" - } + "displayName": { + "type": "string" }, - "signersCount": { - "type": "integer", - "format": "int64" + "description": { + "type": "string" }, - "requested_by": { - "type": "object", - "required": [ - "userId", - "displayName" - ], - "properties": { - "userId": { - "type": "string" - }, - "displayName": { - "type": "string" - } - } + "notify": { + "type": "integer", + "format": "int64", + "minimum": 0 }, - "filesCount": { + "signingOrder": { "type": "integer", "format": "int64", "minimum": 0 }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileListItem" - } + "status": { + "type": "integer", + "format": "int64" } } }, @@ -1063,30 +1489,7 @@ "signers": { "type": "array", "items": { - "type": "object", - "required": [ - "id", - "displayName", - "signed", - "status" - ], - "properties": { - "id": { - "type": "integer", - "format": "int64" - }, - "displayName": { - "type": "string" - }, - "signed": { - "type": "string", - "nullable": true - }, - "status": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/ProgressSigner" } } } @@ -1119,13 +1522,39 @@ "$ref": "#/components/schemas/ProgressPayload" }, "file": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" }, "error": { "$ref": "#/components/schemas/ProgressError" } } }, + "ProgressSigner": { + "type": "object", + "required": [ + "id", + "displayName", + "signed", + "status" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "displayName": { + "type": "string" + }, + "signed": { + "type": "string", + "nullable": true + }, + "status": { + "type": "integer", + "format": "int64" + } + } + }, "PublicCapabilities": { "type": "object", "properties": { @@ -1134,6 +1563,22 @@ } } }, + "RequestedBy": { + "type": "object", + "required": [ + "userId", + "displayName" + ], + "properties": { + "userId": { + "type": "string" + }, + "displayName": { + "type": "string", + "nullable": true + } + } + }, "Settings": { "type": "object", "required": [ @@ -1173,6 +1618,49 @@ } } }, + "SignActionErrorResponse": { + "type": "object", + "required": [ + "action", + "errors" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ActionErrorWithCode" + } + }, + "redirect": { + "type": "string" + } + } + }, + "SignActionResponse": { + "type": "object", + "required": [ + "action" + ], + "properties": { + "action": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + }, + "file": { + "$ref": "#/components/schemas/FileUuidReference" + }, + "job": { + "$ref": "#/components/schemas/SigningJob" + } + } + }, "SignatureMethod": { "type": "object", "required": [ @@ -1260,120 +1748,172 @@ } } }, - "Signer": { + "SignerDetail": { + "allOf": [ + { + "$ref": "#/components/schemas/SignerSummary" + }, + { + "type": "object", + "required": [ + "description", + "request_sign_date", + "me", + "status", + "visibleElements" + ], + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "subject": { + "type": "string" + }, + "request_sign_date": { + "type": "string" + }, + "valid_from": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "valid_to": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "remote_address": { + "type": "string" + }, + "user_agent": { + "type": "string" + }, + "notify": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notify" + } + }, + "userId": { + "type": "string" + }, + "sign_date": { + "type": "string", + "nullable": true + }, + "sign_uuid": { + "type": "string" + }, + "hash_algorithm": { + "type": "string" + }, + "me": { + "type": "boolean" + }, + "status": { + "type": "integer", + "format": "int64", + "enum": [ + 0, + 1, + 2 + ] + }, + "signingOrder": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "visibleElements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VisibleElement" + } + }, + "signatureMethods": { + "$ref": "#/components/schemas/SignatureMethods" + }, + "uid": { + "type": "string" + }, + "metadata": { + "type": "object" + } + } + } + ] + }, + "SignerSummary": { "type": "object", "required": [ - "description", + "signRequestId", "displayName", - "request_sign_date", + "email", "signed", - "me", - "signRequestId", "status", - "statusText", - "visibleElements" + "statusText" ], "properties": { - "description": { - "type": "string", - "nullable": true - }, - "displayName": { - "type": "string" - }, - "subject": { - "type": "string" - }, - "request_sign_date": { - "type": "string" - }, - "valid_from": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "valid_to": { + "signRequestId": { "type": "integer", - "format": "int64", - "minimum": 0 - }, - "email": { - "type": "string" + "format": "int64" }, - "remote_address": { + "displayName": { "type": "string" }, - "user_agent": { + "email": { "type": "string" }, - "notify": { + "identifyMethods": { "type": "array", "items": { - "$ref": "#/components/schemas/Notify" + "$ref": "#/components/schemas/IdentifyMethod" } }, - "userId": { - "type": "string" - }, "signed": { "type": "string", "nullable": true }, - "sign_date": { - "type": "string", - "nullable": true - }, - "sign_uuid": { - "type": "string" - }, - "hash_algorithm": { - "type": "string" - }, - "me": { - "type": "boolean" - }, - "signRequestId": { + "status": { "type": "integer", - "format": "int64", - "minimum": 0 + "format": "int64" }, + "statusText": { + "type": "string" + } + } + }, + "SigningJob": { + "type": "object", + "required": [ + "status", + "file" + ], + "properties": { "status": { - "type": "integer", - "format": "int64", + "type": "string", "enum": [ - 0, - 1, - 2 + "SIGNING_IN_PROGRESS" ] }, - "statusText": { + "file": { + "$ref": "#/components/schemas/FileUuidReference" + } + } + }, + "StatusMessageResponse": { + "type": "object", + "required": [ + "message", + "status" + ], + "properties": { + "message": { "type": "string" }, - "signingOrder": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "identifyMethods": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IdentifyMethod" - } - }, - "visibleElements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VisibleElement" - } - }, - "signatureMethods": { - "$ref": "#/components/schemas/SignatureMethods" - }, - "uid": { + "status": { "type": "string" - }, - "metadata": { - "type": "object" } } }, @@ -1427,7 +1967,147 @@ } } }, - "ValidateFile": { + "UserElementsMessageResponse": { + "type": "object", + "required": [ + "elements", + "message" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserElement" + } + }, + "message": { + "type": "string" + } + } + }, + "UserElementsResponse": { + "type": "object", + "required": [ + "elements" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserElement" + } + } + } + }, + "ValidateMetadata": { + "type": "object", + "required": [ + "extension", + "p" + ], + "properties": { + "extension": { + "type": "string" + }, + "p": { + "type": "integer", + "format": "int64" + }, + "d": { + "type": "array", + "items": { + "type": "object", + "required": [ + "w", + "h" + ], + "properties": { + "w": { + "type": "number", + "format": "double" + }, + "h": { + "type": "number", + "format": "double" + } + } + } + }, + "original_file_deleted": { + "type": "boolean" + }, + "pdfVersion": { + "type": "string" + }, + "status_changed_at": { + "type": "string" + } + } + }, + "ValidatedChildFile": { + "type": "object", + "required": [ + "id", + "uuid", + "name", + "status", + "statusText", + "nodeId", + "size", + "signers", + "file", + "metadata" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "statusText": { + "type": "string" + }, + "nodeId": { + "type": "integer", + "format": "int64" + }, + "totalPages": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "size": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "pdfVersion": { + "type": "string" + }, + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignerSummary" + } + }, + "file": { + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/ValidateMetadata" + } + } + }, + "ValidatedFile": { "type": "object", "required": [ "id", @@ -1498,7 +2178,7 @@ "files": { "type": "array", "items": { - "$ref": "#/components/schemas/EnvelopeChildFile" + "$ref": "#/components/schemas/ValidatedChildFile" } }, "totalPages": { @@ -1518,19 +2198,7 @@ "type": "string" }, "requested_by": { - "type": "object", - "required": [ - "userId", - "displayName" - ], - "properties": { - "userId": { - "type": "string" - }, - "displayName": { - "type": "string" - } - } + "$ref": "#/components/schemas/RequestedBy" }, "file": { "type": "string" @@ -1548,38 +2216,7 @@ "pages": { "type": "array", "items": { - "type": "object", - "required": [ - "number", - "url", - "resolution" - ], - "properties": { - "number": { - "type": "integer", - "format": "int64" - }, - "url": { - "type": "string" - }, - "resolution": { - "type": "object", - "required": [ - "w", - "h" - ], - "properties": { - "w": { - "type": "number", - "format": "double" - }, - "h": { - "type": "number", - "format": "double" - } - } - } - } + "$ref": "#/components/schemas/ValidationPage" } }, "metadata": { @@ -1588,36 +2225,21 @@ "signers": { "type": "array", "items": { - "$ref": "#/components/schemas/Signer" + "$ref": "#/components/schemas/SignerDetail" } }, "signersCount": { "type": "integer", - "format": "int64", - "minimum": 0 - }, - "settings": { - "$ref": "#/components/schemas/Settings" - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "info" - ] - }, - "message": { - "type": "string" - } - } + "format": "int64", + "minimum": 0 + }, + "settings": { + "$ref": "#/components/schemas/Settings" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InfoMessage" } }, "visibleElements": { @@ -1628,45 +2250,40 @@ } } }, - "ValidateMetadata": { + "ValidationPage": { "type": "object", "required": [ - "extension", - "p" + "number", + "url", + "resolution" ], "properties": { - "extension": { - "type": "string" - }, - "p": { + "number": { "type": "integer", "format": "int64" }, - "d": { - "type": "array", - "items": { - "type": "object", - "required": [ - "w", - "h" - ], - "properties": { - "w": { - "type": "number", - "format": "double" - }, - "h": { - "type": "number", - "format": "double" - } - } - } - }, - "pdfVersion": { + "url": { "type": "string" }, - "status_changed_at": { - "type": "string" + "resolution": { + "$ref": "#/components/schemas/ValidationPageResolution" + } + } + }, + "ValidationPageResolution": { + "type": "object", + "required": [ + "w", + "h" + ], + "properties": { + "w": { + "type": "number", + "format": "double" + }, + "h": { + "type": "number", + "format": "double" } } }, @@ -1815,19 +2432,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "error", - "message" - ], - "properties": { - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlErrorResponse" } } } @@ -1868,23 +2473,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "serial_number", - "status", - "checked_at" - ], - "properties": { - "serial_number": { - "type": "string" - }, - "status": { - "type": "string" - }, - "checked_at": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlCertificateStatusResponse" } } } @@ -1894,19 +2483,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "error", - "message" - ], - "properties": { - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/CrlErrorResponse" } } } @@ -2640,42 +3217,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "message" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64", - "enum": [ - 2000, - 2500 - ] - }, - "description": { - "type": "string", - "nullable": true - }, - "filename": { - "type": "string" - }, - "message": { - "type": "string" - }, - "pdf": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "type": "string" - } - } - } - } + "$ref": "#/components/schemas/CreateToSignResponse" } } } @@ -2705,20 +3247,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message", - "action" - ], - "properties": { - "message": { - "type": "string" - }, - "action": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/ActionMessageResponse" } } } @@ -2840,15 +3369,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -2920,47 +3441,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "account", - "settings" - ], - "properties": { - "account": { - "type": "object", - "required": [ - "uid", - "emailAddress", - "displayName" - ], - "properties": { - "uid": { - "type": "string" - }, - "emailAddress": { - "type": "string" - }, - "displayName": { - "type": "string" - } - } - }, - "settings": { - "type": "object", - "required": [ - "canRequestSign", - "hasSignatureFile" - ], - "properties": { - "canRequestSign": { - "type": "boolean" - }, - "hasSignatureFile": { - "type": "boolean" - } - } - } - } + "$ref": "#/components/schemas/AccountMeResponse" } } } @@ -2990,15 +3471,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3088,31 +3561,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "userId", - "phone", - "message" - ], - "properties": { - "userId": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } + "$ref": "#/components/schemas/AccountSettingsUpdateResponse" } } } @@ -3142,15 +3591,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3223,15 +3664,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3302,15 +3735,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3340,15 +3765,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3444,15 +3861,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3482,15 +3891,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3612,15 +4013,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3702,19 +4095,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "object" - } - } + "$ref": "#/components/schemas/ConfigValueResponse" } } } @@ -3744,15 +4125,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -3865,15 +4238,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "type": "string" - } - } + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -3924,6 +4289,45 @@ "type": "string" } }, + { + "name": "showVisibleElements", + "in": "query", + "description": "Whether to include visible elements in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "showMessages", + "in": "query", + "description": "Whether to include validation messages in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "showValidateFile", + "in": "query", + "description": "Whether to include the file payload in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, { "name": "OCS-APIRequest", "in": "header", @@ -3957,7 +4361,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" } } } @@ -3987,52 +4391,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4084,6 +4443,45 @@ "format": "int64" } }, + { + "name": "showVisibleElements", + "in": "query", + "description": "Whether to include visible elements in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "showMessages", + "in": "query", + "description": "Whether to include validation messages in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "showValidateFile", + "in": "query", + "description": "Whether to include the file payload in the response", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, { "name": "OCS-APIRequest", "in": "header", @@ -4117,7 +4515,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" } } } @@ -4147,52 +4545,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4267,7 +4620,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/ValidateFile" + "$ref": "#/components/schemas/ValidatedFile" } } } @@ -4297,55 +4650,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4375,55 +4680,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -4508,7 +4765,7 @@ { "name": "nodeIds[]", "in": "query", - "description": "The list of nodeIds (also called fileIds). It's the ids of files at Nextcloud", + "description": "The list of nodeIds. It's the ids of files at Nextcloud", "schema": { "type": "array", "nullable": true, @@ -4579,6 +4836,19 @@ "nullable": true } }, + { + "name": "details", + "in": "query", + "description": "Whether to return the detailed payload instead of the lightweight summary payload", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, { "name": "OCS-APIRequest", "in": "header", @@ -4612,25 +4882,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "pagination", - "data" - ], - "properties": { - "pagination": { - "$ref": "#/components/schemas/Pagination" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileDetail" - } - }, - "settings": { - "$ref": "#/components/schemas/Settings" - } - } + "$ref": "#/components/schemas/FileListResponse" } } } @@ -5193,7 +5445,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -5223,15 +5475,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5314,7 +5558,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -5344,15 +5588,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5382,15 +5618,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5420,15 +5648,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5525,15 +5745,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5563,15 +5775,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -5601,34 +5805,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -5681,7 +5858,7 @@ "type": "integer", "format": "int64", "nullable": true, - "description": "File ID when using node identifier instead of UUID" + "description": "LibreSign file ID that owns the visible element" }, "type": { "type": "string", @@ -5758,16 +5935,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "fileElementId" - ], - "properties": { - "fileElementId": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/FileElementIdResponse" } } } @@ -5797,29 +5965,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ErrorsResponse" } } } @@ -5866,7 +6012,7 @@ "type": "integer", "format": "int64", "nullable": true, - "description": "File ID when using node identifier instead of UUID" + "description": "LibreSign file ID that owns the visible element" }, "type": { "type": "string", @@ -5954,16 +6100,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "fileElementId" - ], - "properties": { - "fileElementId": { - "type": "integer", - "format": "int64" - } - } + "$ref": "#/components/schemas/FileElementIdResponse" } } } @@ -5993,29 +6130,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ErrorsResponse" } } } @@ -6134,29 +6249,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ErrorsResponse" } } } @@ -6280,19 +6373,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message", - "status" - ], - "properties": { - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - } + "$ref": "#/components/schemas/StatusMessageResponse" } } } @@ -6416,30 +6497,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "file", - "type", - "message" - ], - "properties": { - "file": { - "type": "integer", - "format": "int64", - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "info", - "warning", - "danger" - ] - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/IdDocsUploadErrorResponse" } } } @@ -6550,22 +6608,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "pagination", - "data" - ], - "properties": { - "pagination": { - "$ref": "#/components/schemas/Pagination" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/File" - } - } - } + "$ref": "#/components/schemas/IdDocsListResponse" } } } @@ -6595,15 +6638,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -6724,18 +6759,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "messages" - ], - "properties": { - "messages": { - "type": "array", - "items": { - "type": "string" - } - } - } + "$ref": "#/components/schemas/MessagesResponse" } } } @@ -6865,23 +6889,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "pagination", - "data" - ], - "properties": { - "pagination": { - "$ref": "#/components/schemas/Pagination" - }, - "data": { - "type": "array", - "nullable": true, - "items": { - "$ref": "#/components/schemas/File" - } - } - } + "$ref": "#/components/schemas/IdDocsApprovalListResponse" } } } @@ -6911,15 +6919,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -7031,10 +7031,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IdentifyAccount" - } + "$ref": "#/components/schemas/IdentifyAccountsResponse" } } } @@ -7143,15 +7140,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -7181,33 +7170,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "messages" - ], - "properties": { - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "danger" - ] - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/DangerMessagesResponse" } } } @@ -7306,15 +7269,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -7344,33 +7299,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "messages" - ], - "properties": { - "messages": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "message" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "danger" - ] - }, - "message": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/DangerMessagesResponse" } } } @@ -7519,7 +7448,7 @@ "signers": { "type": "array", "default": [], - "description": "Collection of signers who must sign the document. Each signer can have: identify, displayName, description, notify, signingOrder", + "description": "Collection of signers who must sign the document. Use identifyMethods as the canonical format. Other supported fields: displayName, description, notify, signingOrder, status", "items": { "$ref": "#/components/schemas/NewSigner" } @@ -7537,12 +7466,12 @@ "file": { "$ref": "#/components/schemas/NewFile", "default": [], - "description": "File object." + "description": "File object. Supports nodeId, url, base64 or path." }, "files": { "type": "array", "default": [], - "description": "Multiple files to create an envelope (optional, use either file or files)", + "description": "Multiple files to create an envelope (optional, use either file or files). Each file supports nodeId, url, base64 or path.", "items": { "$ref": "#/components/schemas/NewFile" } @@ -7615,7 +7544,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -7645,33 +7574,14 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "action": { - "type": "integer", - "format": "int64" + "anyOf": [ + { + "$ref": "#/components/schemas/MessageResponse" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } + { + "$ref": "#/components/schemas/ActionErrorResponse" } - } + ] } } } @@ -7708,7 +7618,7 @@ "type": "array", "nullable": true, "default": [], - "description": "Collection of signers who must sign the document", + "description": "Collection of signers who must sign the document. Use identifyMethods as the canonical format.", "items": { "$ref": "#/components/schemas/NewSigner" } @@ -7729,7 +7639,7 @@ "file": { "nullable": true, "default": [], - "description": "File object.", + "description": "File object. Supports nodeId, url, base64 or path when creating a new request.", "anyOf": [ { "$ref": "#/components/schemas/NewFile" @@ -7764,7 +7674,7 @@ "files": { "type": "array", "default": [], - "description": "Multiple files to create an envelope (optional, use either file or files)", + "description": "Multiple files to create an envelope (optional, use either file or files). Each file supports nodeId, url, base64 or path.", "items": { "$ref": "#/components/schemas/NewFile" } @@ -7820,7 +7730,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "$ref": "#/components/schemas/NextcloudFile" + "$ref": "#/components/schemas/DetailedFileResponse" } } } @@ -7850,33 +7760,14 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "action": { - "type": "integer", - "format": "int64" + "anyOf": [ + { + "$ref": "#/components/schemas/MessageResponse" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } + { + "$ref": "#/components/schemas/ActionErrorResponse" } - } + ] } } } @@ -7970,15 +7861,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8008,15 +7891,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8046,34 +7921,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -8117,7 +7965,7 @@ { "name": "fileId", "in": "path", - "description": "Node id of a Nextcloud file", + "description": "LibreSign file ID", "required": true, "schema": { "type": "integer", @@ -8157,15 +8005,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8195,15 +8035,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8233,34 +8065,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "title": { - "type": "string" - } - } - } - } - } + "$ref": "#/components/schemas/ActionErrorResponse" } } } @@ -8384,56 +8189,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "message": { - "type": "string" - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - }, - "job": { - "type": "object", - "required": [ - "status", - "file" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "SIGNING_IN_PROGRESS" - ] - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - } - } - } - } + "$ref": "#/components/schemas/SignActionResponse" } } } @@ -8463,41 +8219,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int64" - }, - "title": { - "type": "string" - } - } - } - }, - "redirect": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignActionErrorResponse" } } } @@ -8622,56 +8344,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "message": { - "type": "string" - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - }, - "job": { - "type": "object", - "required": [ - "status", - "file" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "SIGNING_IN_PROGRESS" - ] - }, - "file": { - "type": "object", - "required": [ - "uuid" - ], - "properties": { - "uuid": { - "type": "string" - } - } - } - } - } - } + "$ref": "#/components/schemas/SignActionResponse" } } } @@ -8701,41 +8374,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "action", - "errors" - ], - "properties": { - "action": { - "type": "integer", - "format": "int64" - }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int64" - }, - "title": { - "type": "string" - } - } - } - }, - "redirect": { - "type": "string" - } - } + "$ref": "#/components/schemas/SignActionErrorResponse" } } } @@ -8826,15 +8465,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8948,15 +8579,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -8986,15 +8609,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9109,15 +8724,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9147,15 +8754,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9251,22 +8850,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "elements", - "message" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserElement" - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/UserElementsMessageResponse" } } } @@ -9296,15 +8880,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9376,18 +8952,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "elements" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserElement" - } - } - } + "$ref": "#/components/schemas/UserElementsResponse" } } } @@ -9417,15 +8982,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9633,15 +9190,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9748,22 +9297,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "elements", - "message" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserElement" - } - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/UserElementsMessageResponse" } } } @@ -9793,15 +9327,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9883,15 +9409,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } @@ -9921,15 +9439,7 @@ "$ref": "#/components/schemas/OCSMeta" }, "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/MessageResponse" } } } diff --git a/package-lock.json b/package-lock.json index e5ed62dbfa..402d2d0322 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.36.2", "@fontsource/dancing-script": "^5.2.8", - "@libresign/pdf-elements": "^1.1.1", + "@libresign/pdf-elements": "^1.1.3", "@marionebl/option": "^1.0.8", "@mdi/js": "^7.4.47", "@mdi/svg": "^7.4.47", @@ -43,7 +43,6 @@ "@vueuse/integrations": "^14.2.1", "blueimp-md5": "^2.19.0", "codemirror": "^6.0.1", - "crypto-js": "^4.2.0", "debounce": "^3.0.0", "js-confetti": "^0.13.1", "pdfjs-dist": "^5.4.624", @@ -65,6 +64,7 @@ "@playwright/test": "^1.58.1", "@testing-library/dom": "^10.4.1", "@testing-library/vue": "^8.1.0", + "@types/blueimp-md5": "^2.18.2", "@vitejs/plugin-vue": "^6.0.3", "@vitest/coverage-v8": "^4.0.18", "@vue/test-utils": "^2.4.6", @@ -74,7 +74,8 @@ "openapi-typescript": "^7.13.0", "typescript": "^5.9.3", "vite": "^7.1.10", - "vitest": "^4.0.18" + "vitest": "^4.0.18", + "vue-tsc": "^3.2.5" }, "engines": { "node": "^24.0.0", @@ -83,9 +84,8 @@ }, "node_modules/@babel/code-frame": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", @@ -97,9 +97,8 @@ }, "node_modules/@babel/compat-data": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6.9.0" @@ -107,9 +106,8 @@ }, "node_modules/@babel/core": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", @@ -138,9 +136,8 @@ }, "node_modules/@babel/eslint-parser": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz", - "integrity": "sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -157,8 +154,7 @@ }, "node_modules/@babel/generator": { "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", @@ -172,9 +168,8 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/compat-data": "^7.28.6", @@ -189,9 +184,8 @@ }, "node_modules/@babel/helper-globals": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6.9.0" @@ -199,9 +193,8 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/traverse": "^7.28.6", @@ -213,9 +206,8 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.28.6", @@ -231,25 +223,22 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6.9.0" @@ -257,9 +246,8 @@ }, "node_modules/@babel/helpers": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/template": "^7.28.6", @@ -271,8 +259,7 @@ }, "node_modules/@babel/parser": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" }, @@ -285,17 +272,15 @@ }, "node_modules/@babel/runtime": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.28.6", @@ -308,9 +293,8 @@ }, "node_modules/@babel/traverse": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", @@ -327,8 +311,7 @@ }, "node_modules/@babel/types": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" @@ -339,26 +322,23 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", - "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@buttercup/fetch": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@buttercup/fetch/-/fetch-0.2.1.tgz", - "integrity": "sha512-sCgECOx8wiqY8NN1xN22BqqKzXYIG2AicNLlakOAI4f0WgyLVUbAigMf8CZhBtJxdudTcB1gD5lciqi44jwJvg==", + "license": "MIT", "optionalDependencies": { "node-fetch": "^3.3.0" } }, "node_modules/@cacheable/memory": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.8.tgz", - "integrity": "sha512-FvEb29x5wVwu/Kf93IWwsOOEuhHh6dYCJF3vcKLzXc0KXIW181AOzv6ceT4ZpBHDvAfG60eqb+ekmrnLHIy+jw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@cacheable/utils": "^2.4.0", @@ -369,9 +349,8 @@ }, "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz", - "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "hashery": "^1.4.0", @@ -386,9 +365,8 @@ }, "node_modules/@cacheable/memory/node_modules/keyv": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", - "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" @@ -396,9 +374,8 @@ }, "node_modules/@cacheable/utils": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.4.0.tgz", - "integrity": "sha512-PeMMsqjVq+bF0WBsxFBxr/WozBJiZKY0rUojuaCoIaKnEl3Ju1wfEwS+SV1DU/cSe8fqHIPiYJFif8T3MVt4cQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "hashery": "^1.5.0", @@ -407,9 +384,8 @@ }, "node_modules/@cacheable/utils/node_modules/keyv": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", - "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" @@ -417,8 +393,7 @@ }, "node_modules/@ckpack/vue-color": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@ckpack/vue-color/-/vue-color-1.6.0.tgz", - "integrity": "sha512-b9kFTKhYbNArfgP1lmnaVm0VNsWdZjqIbyHUYry7mZ+E7JeTQclbjq1+2xWn0SE3wzqRYlXmAVjECPOgteWmMQ==", + "license": "MIT", "dependencies": { "@ctrl/tinycolor": "^3.6.0", "material-colors": "^1.2.6" @@ -432,8 +407,7 @@ }, "node_modules/@codemirror/autocomplete": { "version": "6.20.1", - "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.20.1.tgz", - "integrity": "sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==", + "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", @@ -443,8 +417,7 @@ }, "node_modules/@codemirror/commands": { "version": "6.10.2", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.10.2.tgz", - "integrity": "sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==", + "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.4.0", @@ -454,8 +427,7 @@ }, "node_modules/@codemirror/lang-css": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.1.tgz", - "integrity": "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==", + "license": "MIT", "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/language": "^6.0.0", @@ -466,8 +438,7 @@ }, "node_modules/@codemirror/lang-html": { "version": "6.4.11", - "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.11.tgz", - "integrity": "sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==", + "license": "MIT", "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/lang-css": "^6.0.0", @@ -482,8 +453,7 @@ }, "node_modules/@codemirror/lang-javascript": { "version": "6.2.5", - "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.5.tgz", - "integrity": "sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==", + "license": "MIT", "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/language": "^6.6.0", @@ -496,8 +466,7 @@ }, "node_modules/@codemirror/language": { "version": "6.12.2", - "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.12.2.tgz", - "integrity": "sha512-jEPmz2nGGDxhRTg3lTpzmIyGKxz3Gp3SJES4b0nAuE5SWQoKdT5GoQ69cwMmFd+wvFUhYirtDTr0/DRHpQAyWg==", + "license": "MIT", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.23.0", @@ -509,8 +478,7 @@ }, "node_modules/@codemirror/lint": { "version": "6.9.5", - "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.9.5.tgz", - "integrity": "sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==", + "license": "MIT", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.35.0", @@ -519,8 +487,7 @@ }, "node_modules/@codemirror/search": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.6.0.tgz", - "integrity": "sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==", + "license": "MIT", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.37.0", @@ -529,16 +496,14 @@ }, "node_modules/@codemirror/state": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.4.tgz", - "integrity": "sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==", + "license": "MIT", "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } }, "node_modules/@codemirror/view": { "version": "6.39.16", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.39.16.tgz", - "integrity": "sha512-m6S22fFpKtOWhq8HuhzsI1WzUP/hB9THbDj0Tl5KX4gbO6Y91hwBl7Yky33NdvB6IffuRFiBxf1R8kJMyXmA4Q==", + "license": "MIT", "dependencies": { "@codemirror/state": "^6.5.0", "crelt": "^1.0.6", @@ -548,8 +513,6 @@ }, "node_modules/@csstools/css-calc": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz", - "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==", "dev": true, "funding": [ { @@ -561,6 +524,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=20.19.0" @@ -572,8 +536,6 @@ }, "node_modules/@csstools/css-parser-algorithms": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", - "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", "dev": true, "funding": [ { @@ -585,6 +547,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=20.19.0" @@ -595,8 +558,6 @@ }, "node_modules/@csstools/css-syntax-patches-for-csstree": { "version": "1.0.29", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.29.tgz", - "integrity": "sha512-jx9GjkkP5YHuTmko2eWAvpPnb0mB4mGRr2U7XwVNwevm8nlpobZEVk+GNmiYMk2VuA75v+plfXWyroWKmICZXg==", "dev": true, "funding": [ { @@ -608,12 +569,11 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "peer": true }, "node_modules/@csstools/css-tokenizer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", - "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", "dev": true, "funding": [ { @@ -625,6 +585,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=20.19.0" @@ -632,8 +593,6 @@ }, "node_modules/@csstools/media-query-list-parser": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-5.0.0.tgz", - "integrity": "sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==", "dev": true, "funding": [ { @@ -645,6 +604,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=20.19.0" @@ -656,29 +616,30 @@ }, "node_modules/@ctrl/tinycolor": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", - "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.0.tgz", + "integrity": "sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@emnapi/wasi-threads": "1.1.0", + "@emnapi/wasi-threads": "1.2.0", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", + "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { @@ -686,10 +647,11 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { @@ -698,9 +660,8 @@ }, "node_modules/@es-joy/jsdoccomment": { "version": "0.41.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz", - "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "comment-parser": "1.4.1", @@ -719,6 +680,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -735,6 +697,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -751,6 +714,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -767,6 +731,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -783,6 +748,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -799,6 +765,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -815,6 +782,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -831,6 +799,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -847,6 +816,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -863,6 +833,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -879,6 +850,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -895,6 +867,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -911,6 +884,7 @@ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -927,6 +901,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -943,6 +918,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -959,6 +935,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -969,12 +946,11 @@ }, "node_modules/@esbuild/linux-x64": { "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -991,6 +967,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -1007,6 +984,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -1023,6 +1001,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -1039,6 +1018,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -1055,6 +1035,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openharmony" @@ -1071,6 +1052,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -1087,6 +1069,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1103,6 +1086,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1119,6 +1103,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1129,9 +1114,8 @@ }, "node_modules/@eslint-community/eslint-utils": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -1148,9 +1132,8 @@ }, "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1161,9 +1144,8 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -1171,9 +1153,8 @@ }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ajv": "^6.12.4", @@ -1195,9 +1176,8 @@ }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0", @@ -1206,9 +1186,8 @@ }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -1219,9 +1198,8 @@ }, "node_modules/@eslint/js": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1229,49 +1207,42 @@ }, "node_modules/@file-type/xml": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@file-type/xml/-/xml-0.4.4.tgz", - "integrity": "sha512-NhCyXoHlVZ8TqM476hyzwGJ24+D5IPSaZhmrPj7qXnEVb3q6jrFzA3mM9TBpknKSI9EuQeGTKRg2DXGUwvBBoQ==", + "license": "MIT", "dependencies": { "sax": "^1.4.1", "strtok3": "^10.3.4" } }, "node_modules/@floating-ui/core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", - "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "version": "1.7.5", + "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", - "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "version": "1.7.6", + "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.4", - "@floating-ui/utils": "^0.2.10" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" + "version": "0.2.11", + "license": "MIT" }, "node_modules/@fontsource/dancing-script": { "version": "5.2.8", - "resolved": "https://registry.npmjs.org/@fontsource/dancing-script/-/dancing-script-5.2.8.tgz", - "integrity": "sha512-zHVVgIQ5/rAIM0VVp1QMsqvJm9INHO5/C82E9rHT6NlabjaPTFYn8wl9lT4vPWizfB0TublGQM1999kfdA+XFA==", + "license": "OFL-1.1", "funding": { "url": "https://github.com/sponsors/ayuhito" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "@humanwhocodes/object-schema": "^2.0.3", @@ -1284,9 +1255,8 @@ }, "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0", @@ -1295,9 +1265,8 @@ }, "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -1308,9 +1277,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=12.22" @@ -1322,17 +1290,14 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", "dev": true, + "license": "BSD-3-Clause", "peer": true }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1347,9 +1312,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1359,9 +1323,8 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.2.2" }, @@ -1374,8 +1337,7 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" @@ -1383,8 +1345,7 @@ }, "node_modules/@jridgewell/remapping": { "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -1392,21 +1353,18 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1414,20 +1372,17 @@ }, "node_modules/@keyv/serialize": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@lezer/common": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.5.1.tgz", - "integrity": "sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==" + "license": "MIT" }, "node_modules/@lezer/css": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.3.1.tgz", - "integrity": "sha512-PYAKeUVBo3HFThruRyp/iK91SwiZJnzXh8QzkQlwijB5y+N5iB28+iLk78o2zmKqqV0uolNhCwFqB8LA7b0Svg==", + "license": "MIT", "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.0.0", @@ -1436,16 +1391,14 @@ }, "node_modules/@lezer/highlight": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.3.tgz", - "integrity": "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==", + "license": "MIT", "dependencies": { "@lezer/common": "^1.3.0" } }, "node_modules/@lezer/html": { "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.13.tgz", - "integrity": "sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==", + "license": "MIT", "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.0.0", @@ -1454,8 +1407,7 @@ }, "node_modules/@lezer/javascript": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.5.4.tgz", - "integrity": "sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==", + "license": "MIT", "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.1.3", @@ -1464,16 +1416,14 @@ }, "node_modules/@lezer/lr": { "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.8.tgz", - "integrity": "sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==", + "license": "MIT", "dependencies": { "@lezer/common": "^1.0.0" } }, "node_modules/@libresign/pdf-elements": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@libresign/pdf-elements/-/pdf-elements-1.1.1.tgz", - "integrity": "sha512-QZUzORAArXioHNYzrxCZUR2Q1B01IWcmVLSJcSBcL6ZbwDIzfXJ+Znd71dF0kT/jKX8MfutBYLpwmgsgTJUUYw==", + "version": "1.1.3", + "license": "AGPL-3.0-or-later", "dependencies": { "pdfjs-dist": "^5.4.624", "vue": "^3.5.28" @@ -1481,40 +1431,34 @@ }, "node_modules/@marijn/find-cluster-break": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz", - "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==" + "license": "MIT" }, "node_modules/@marionebl/option": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@marionebl/option/-/option-1.0.8.tgz", - "integrity": "sha512-Bci8ZUM5Bf4cbN814aUmuURJTOpaHaYoeVFj09usP41BEUUX3vBSOOP0p/0XxE1+ipn6nH0FDZWUW2UO+6YyRg==", + "license": "MIT", "dependencies": { "@marionebl/result": "^1.0.7" } }, "node_modules/@marionebl/result": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@marionebl/result/-/result-1.0.8.tgz", - "integrity": "sha512-eEHcr17US1aeCiiRK//12dr1NOZ9WqKVWqjyIrF4SP4O5R/JhjK9gCSMYGiHZCIefpKDOzUrgPuvPdF1O2KcYg==", + "license": "MIT", "dependencies": { "@marionebl/option": "^1.0.4" } }, "node_modules/@mdi/js": { "version": "7.4.47", - "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", - "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==" + "license": "Apache-2.0" }, "node_modules/@mdi/svg": { "version": "7.4.47", - "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.4.47.tgz", - "integrity": "sha512-WQ2gDll12T9WD34fdRFgQVgO8bag3gavrAgJ0frN4phlwdJARpE6gO1YvLEMJR0KKgoc+/Ea/A0Pp11I00xBvw==" + "license": "Apache-2.0" }, "node_modules/@microsoft/api-extractor": { "version": "7.57.6", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.57.6.tgz", - "integrity": "sha512-0rFv/D8Grzw1Mjs2+8NGUR+o4h9LVm5zKRtMeWnpdB5IMJF4TeHCL1zR5LMCIudkOvyvjbhMG5Wjs0B5nqsrRQ==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/api-extractor-model": "7.33.4", "@microsoft/tsdoc": "~0.16.0", @@ -1537,9 +1481,8 @@ }, "node_modules/@microsoft/api-extractor-model": { "version": "7.33.4", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.33.4.tgz", - "integrity": "sha512-u1LTaNTikZAQ9uK6KG1Ms7nvNedsnODnspq/gH2dcyETWvH4hVNGNDvRAEutH66kAmxA4/necElqGNs1FggC8w==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/tsdoc": "~0.16.0", "@microsoft/tsdoc-config": "~0.18.1", @@ -1548,18 +1491,16 @@ }, "node_modules/@microsoft/api-extractor/node_modules/balanced-match": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, + "license": "MIT", "engines": { "node": "18 || 20 || >=22" } }, "node_modules/@microsoft/api-extractor/node_modules/brace-expansion": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" }, @@ -1569,9 +1510,8 @@ }, "node_modules/@microsoft/api-extractor/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -1581,9 +1521,8 @@ }, "node_modules/@microsoft/api-extractor/node_modules/minimatch": { "version": "10.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.1.tgz", - "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "brace-expansion": "^5.0.2" }, @@ -1596,9 +1535,8 @@ }, "node_modules/@microsoft/api-extractor/node_modules/semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -1611,9 +1549,8 @@ }, "node_modules/@microsoft/api-extractor/node_modules/typescript": { "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1624,21 +1561,18 @@ }, "node_modules/@microsoft/api-extractor/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@microsoft/tsdoc": { "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.16.0.tgz", - "integrity": "sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@microsoft/tsdoc-config": { "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.1.tgz", - "integrity": "sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/tsdoc": "0.16.0", "ajv": "~8.18.0", @@ -1648,9 +1582,8 @@ }, "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -1664,15 +1597,16 @@ }, "node_modules/@microsoft/tsdoc-config/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@napi-rs/canvas": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.95.tgz", - "integrity": "sha512-lkg23ge+rgyhgUwXmlbkPEhuhHq/hUi/gXKH+4I7vO+lJrbNfEYcQdJLIGjKyXLQzgFiiyDAwh5vAe/tITAE+w==", + "version": "0.1.96", + "license": "MIT", "optional": true, + "workspaces": [ + "e2e/*" + ], "engines": { "node": ">= 10" }, @@ -1681,26 +1615,27 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "optionalDependencies": { - "@napi-rs/canvas-android-arm64": "0.1.95", - "@napi-rs/canvas-darwin-arm64": "0.1.95", - "@napi-rs/canvas-darwin-x64": "0.1.95", - "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.95", - "@napi-rs/canvas-linux-arm64-gnu": "0.1.95", - "@napi-rs/canvas-linux-arm64-musl": "0.1.95", - "@napi-rs/canvas-linux-riscv64-gnu": "0.1.95", - "@napi-rs/canvas-linux-x64-gnu": "0.1.95", - "@napi-rs/canvas-linux-x64-musl": "0.1.95", - "@napi-rs/canvas-win32-arm64-msvc": "0.1.95", - "@napi-rs/canvas-win32-x64-msvc": "0.1.95" + "@napi-rs/canvas-android-arm64": "0.1.96", + "@napi-rs/canvas-darwin-arm64": "0.1.96", + "@napi-rs/canvas-darwin-x64": "0.1.96", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.96", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.96", + "@napi-rs/canvas-linux-arm64-musl": "0.1.96", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.96", + "@napi-rs/canvas-linux-x64-gnu": "0.1.96", + "@napi-rs/canvas-linux-x64-musl": "0.1.96", + "@napi-rs/canvas-win32-arm64-msvc": "0.1.96", + "@napi-rs/canvas-win32-x64-msvc": "0.1.96" } }, "node_modules/@napi-rs/canvas-android-arm64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.95.tgz", - "integrity": "sha512-SqTh0wsYbetckMXEvHqmR7HKRJujVf1sYv1xdlhkifg6TlCSysz1opa49LlS3+xWuazcQcfRfmhA07HxxxGsAA==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.96.tgz", + "integrity": "sha512-ew1sPrN3dGdZ3L4FoohPfnjq0f9/Jk7o+wP7HkQZokcXgIUD6FIyICEWGhMYzv53j63wUcPvZeAwgewX58/egg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -1714,12 +1649,13 @@ } }, "node_modules/@napi-rs/canvas-darwin-arm64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.95.tgz", - "integrity": "sha512-F7jT0Syu+B9DGBUBcMk3qCRIxAWiDXmvEjamwbYfbZl7asI1pmXZUnCOoIu49Wt0RNooToYfRDxU9omD6t5Xuw==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.96.tgz", + "integrity": "sha512-Q/wOXZ5PzTqpdmA5eUOcegCf4Go/zz3aZ5DlzSeDpOjFmfwMKh8EzLAoweQ+mJVagcHQyzoJhaTEnrO68TNyNg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1733,12 +1669,13 @@ } }, "node_modules/@napi-rs/canvas-darwin-x64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.95.tgz", - "integrity": "sha512-54eb2Ho15RDjYGXO/harjRznBrAvu+j5nQ85Z4Qd6Qg3slR8/Ja+Yvvy9G4yo7rdX6NR9GPkZeSTf2UcKXwaXw==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.96.tgz", + "integrity": "sha512-UrXiQz28tQEvGM1qvyptewOAfmUrrd5+wvi6Rzjj2VprZI8iZ2KIvBD2lTTG1bVF95AbeDeG7PJA0D9sLKaOFA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1752,12 +1689,13 @@ } }, "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.95.tgz", - "integrity": "sha512-hYaLCSLx5bmbnclzQc3ado3PgZ66blJWzjXp0wJmdwpr/kH+Mwhj6vuytJIomgksyJoCdIqIa4N6aiqBGJtJ5Q==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.96.tgz", + "integrity": "sha512-I90ODxweD8aEP6XKU/NU+biso95MwCtQ2F46dUvhec1HesFi0tq/tAJkYic/1aBSiO/1kGKmSeD1B0duOHhEHQ==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1771,12 +1709,13 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.95.tgz", - "integrity": "sha512-J7VipONahKsmScPZsipHVQBqpbZx4favaD8/enWzzlGcjiwycOoymL7f4tNeqdjK0su19bDOUt6mjp9gsPWYlw==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.96.tgz", + "integrity": "sha512-Dx/0+RFV++w3PcRy+4xNXkghhXjA5d0Mw1bs95emn5Llinp1vihMaA6WJt3oYv2LAHc36+gnrhIBsPhUyI2SGw==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1790,12 +1729,13 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-musl": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.95.tgz", - "integrity": "sha512-PXy0UT1J/8MPG8UAkWp6Fd51ZtIZINFzIjGH909JjQrtCuJf3X6nanHYdz1A+Wq9o4aoPAw1YEUpFS1lelsVlg==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.96.tgz", + "integrity": "sha512-UvOi7fii3IE2KDfEfhh8m+LpzSRvhGK7o1eho99M2M0HTik11k3GX+2qgVx9EtujN3/bhFFS1kSO3+vPMaJ0Mg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1809,12 +1749,13 @@ } }, "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.95.tgz", - "integrity": "sha512-2IzCkW2RHRdcgF9W5/plHvYFpc6uikyjMb5SxjqmNxfyDFz9/HB89yhi8YQo0SNqrGRI7yBVDec7Pt+uMyRWsg==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.96.tgz", + "integrity": "sha512-MBSukhGCQ5nRtf9NbFYWOU080yqkZU1PbuH4o1ROvB4CbPl12fchDR35tU83Wz8gWIM9JTn99lBn9DenPIv7Ig==", "cpu": [ "riscv64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1828,12 +1769,11 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.95.tgz", - "integrity": "sha512-OV/ol/OtcUr4qDhQg8G7SdViZX8XyQeKpPsVv/j3+7U178FGoU4M+yIocdVo1ih/A8GQ63+LjF4jDoEjaVU8Pw==", + "version": "0.1.96", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1847,12 +1787,11 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-musl": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.95.tgz", - "integrity": "sha512-Z5KzqBK/XzPz5+SFHKz7yKqClEQ8pOiEDdgk5SlphBLVNb8JFIJkxhtJKSvnJyHh2rjVgiFmvtJzMF0gNwwKyQ==", + "version": "0.1.96", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1866,12 +1805,13 @@ } }, "node_modules/@napi-rs/canvas-win32-arm64-msvc": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.95.tgz", - "integrity": "sha512-aj0YbRpe8qVJ4OzMsK7NfNQePgcf9zkGFzNZ9mSuaxXzhpLHmlF2GivNdCdNOg8WzA/NxV6IU4c5XkXadUMLeA==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.96.tgz", + "integrity": "sha512-ATp6Y+djOjYtkfV/VRH7CZ8I1MEtkUQBmKUbuWw5zWEHHqfL0cEcInE4Cxgx7zkNAhEdBbnH8HMVrqNp+/gwxA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1885,12 +1825,13 @@ } }, "node_modules/@napi-rs/canvas-win32-x64-msvc": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.95.tgz", - "integrity": "sha512-GA8leTTCfdjuHi8reICTIxU0081PhXvl3lzIniLUjeLACx9GubUiyzkwFb+oyeKLS5IAGZFLKnzAf4wm2epRlA==", + "version": "0.1.96", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.96.tgz", + "integrity": "sha512-UYGdTltVd+Z8mcIuoqGmAXXUvwH5CLf2M6mIB5B0/JmX5J041jETjqtSYl7gN+aj3k1by/SG6sS0hAwCqyK7zw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1908,6 +1849,7 @@ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { @@ -1918,8 +1860,7 @@ }, "node_modules/@nextcloud/auth": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.3.tgz", - "integrity": "sha512-KIhWLk0BKcP4hvypE4o11YqKOPeFMfEFjRrhUUF+h7Fry+dhTBIEIxuQPVCKXMIpjTDd8791y8V6UdRZ2feKAQ==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/browser-storage": "^0.5.0", "@nextcloud/event-bus": "^3.3.2" @@ -1930,8 +1871,7 @@ }, "node_modules/@nextcloud/axios": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.2.tgz", - "integrity": "sha512-8frJb77jNMbz00TjsSqs1PymY0nIEbNM4mVmwen2tXY7wNgRai6uXilIlXKOYB9jR/F/HKRj6B4vUwVwZbhdbw==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/auth": "^2.5.1", "@nextcloud/router": "^3.0.1", @@ -1943,17 +1883,15 @@ }, "node_modules/@nextcloud/browser-storage": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.5.0.tgz", - "integrity": "sha512-usYr4GlJQlK3hgZURvklqWb9ivi7sgsSuFqXrs7s4hl1LTS4enzPrnkQumm6nRsQruf0ITS+OBsK+oELEbvYPA==", + "license": "GPL-3.0-or-later", "engines": { "node": "^24 || ^22 || ^20" } }, "node_modules/@nextcloud/browserslist-config": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.1.2.tgz", - "integrity": "sha512-2iXl1rqQOHvggFIl/V3J5OpbodVazOsO38Gz/2sUAmtWXuOpGZG+7i6zQcVqGVaT1VzyPJ1gPiMpyyZi/XRWNA==", "dev": true, + "license": "GPL-3.0-or-later", "engines": { "node": "^20 || ^22 || ^24", "npm": ">=10.5.0" @@ -1964,8 +1902,7 @@ }, "node_modules/@nextcloud/capabilities": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.2.1.tgz", - "integrity": "sha512-snZ0/910zzwN6PDsIlx2Uvktr1S5x0ClhDUnfPlCj7ntNvECzuVHNY5wzby22LIkc+9ZjaDKtCwuCt2ye+9p/Q==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/initial-state": "^3.0.0" }, @@ -1975,8 +1912,7 @@ }, "node_modules/@nextcloud/dialogs": { "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-7.3.0.tgz", - "integrity": "sha512-pFuM10Dkvip+wSBaElcbSAN7Jynp41HJUh5kndRYpJipYl0SpNfjIe32+uNfOI43/tln4ScTlrfjIX6cK+3uHg==", + "license": "AGPL-3.0-or-later", "dependencies": { "@mdi/js": "^7.4.47", "@nextcloud/auth": "^2.5.3", @@ -2063,9 +1999,8 @@ }, "node_modules/@nextcloud/eslint-config": { "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.2.tgz", - "integrity": "sha512-zsDcBxvp2Vr/BgasK/vNYJ84LOXjl4RseJPrcp93zcnaB2WnygV50Sd0nQ5JN0ngTyPjiIlGd92MMzrMTofjRA==", "dev": true, + "license": "AGPL-3.0-or-later", "engines": { "node": "^20.0.0", "npm": "^10.0.0" @@ -2089,9 +2024,8 @@ }, "node_modules/@nextcloud/eslint-plugin": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/eslint-plugin/-/eslint-plugin-2.2.1.tgz", - "integrity": "sha512-RX+0FxpL1h2EzjNLeW0VSGTkbyWIq7WgV7QAjtyUmDbSGwf1ds9Zy5OcRkgXRHRIu/W0gB0DhS2iz9qXHphCzA==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fast-xml-parser": "^4.2.5", @@ -2108,9 +2042,8 @@ }, "node_modules/@nextcloud/eslint-plugin/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -2121,8 +2054,7 @@ }, "node_modules/@nextcloud/event-bus": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.3.3.tgz", - "integrity": "sha512-zIfvKmUGkXpVzRKoXrcO9hkoiKDm65fqNxy/XIbIxrQhZByPq3gDkjBpnu3V5Gs8JdYwa73R8DjzV9oH8HYhIg==", + "license": "GPL-3.0-or-later", "dependencies": { "@types/semver": "^7.7.0", "semver": "^7.7.2" @@ -2133,8 +2065,7 @@ }, "node_modules/@nextcloud/event-bus/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -2166,8 +2097,7 @@ }, "node_modules/@nextcloud/files/node_modules/@nextcloud/sharing": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", - "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/initial-state": "^3.0.0", "is-svg": "^6.1.0" @@ -2181,16 +2111,14 @@ }, "node_modules/@nextcloud/initial-state": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", - "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==", + "license": "GPL-3.0-or-later", "engines": { "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/l10n": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.4.1.tgz", - "integrity": "sha512-aTFinTcKiK2gEXwLgutXekpZZ8/v/4QiC8C3QCLH5m0o+WtxsBC+fqV142ebC/rfDnzCLhY4ZtswSu8bFbZocg==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/router": "^3.0.1", "@nextcloud/typings": "^1.9.1", @@ -2204,8 +2132,7 @@ }, "node_modules/@nextcloud/logger": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.3.tgz", - "integrity": "sha512-TcbVRL4/O5ffI1RXFmQAFD3gwwT15AAdr1770x+RNqVvfBdoGVyhzOwCIyA5Vfc3fA1iJXFa+rE6buJZSoqlcw==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/auth": "^2.5.3" }, @@ -2215,8 +2142,7 @@ }, "node_modules/@nextcloud/moment": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.3.5.tgz", - "integrity": "sha512-sQjQ/D40sdedtq4ywuANSxqG0VhIB/i+QtZ6Voz3nyZWhkyyqGxdj9rQu9AyEvas3/Jlspdom5chc+a8jOmHxQ==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/l10n": "^3.4.0", "moment": "^2.30.1" @@ -2228,8 +2154,7 @@ }, "node_modules/@nextcloud/password-confirmation": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@nextcloud/password-confirmation/-/password-confirmation-6.0.2.tgz", - "integrity": "sha512-EQbGiQl8lBZrFUNE6Xp9NeQEVtQdb/mtxk3VfwTnoVzAxghsI5yTWr9xcS5EKANoNjvVlIKtREN+LG2WWxft5A==", + "license": "MIT", "dependencies": { "@nextcloud/auth": "^2.5.3", "@nextcloud/axios": "^2.5.2", @@ -2245,16 +2170,14 @@ }, "node_modules/@nextcloud/paths": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.1.0.tgz", - "integrity": "sha512-vtFYA/kthaUDzu6KejTOL1OwnOy7/yynq5zdB/UBpYacAWjUX5Ddh4OMWx3rEavkBJ9/QGhrFryNJLjNfe8OQA==", + "license": "GPL-3.0-or-later", "engines": { "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/router": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.1.0.tgz", - "integrity": "sha512-e4dkIaxRSwdZJlZFpn9x03QgBn/Sa2hN1hp/BA7+AbzykmSAlKuWfdmX8j/8ewrLpQwYmZR23IZO9XwpJXq2Uw==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/typings": "^1.10.0" }, @@ -2264,8 +2187,7 @@ }, "node_modules/@nextcloud/sharing": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.4.0.tgz", - "integrity": "sha512-1hUNyc7uJdBpnimOnEshJjEtAPAjzDYVl6qmWqF5ZxoN9wOvbExw0QjX3xFIbHbX2dmvbRNLBj0RzLzipmZyeg==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/initial-state": "^3.0.0", "is-svg": "^6.1.0" @@ -2279,9 +2201,8 @@ }, "node_modules/@nextcloud/stylelint-config": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-3.2.1.tgz", - "integrity": "sha512-fRWuN92ydC52+CGURBmbgkaAFDKOq9pmx/vsujr8cRKlGbAhLH+gyxzSpQUc37ZKKNaBDuUvcGzrqH/YipKbGA==", "dev": true, + "license": "AGPL-3.0-or-later", "dependencies": { "stylelint-use-logical": "^2.1.3" }, @@ -2296,8 +2217,7 @@ }, "node_modules/@nextcloud/typings": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.10.0.tgz", - "integrity": "sha512-SMC42rDjOH3SspPTLMZRv76ZliHpj2JJkF8pGLP8l1QrVTZxE47Qz5qeKmbj2VL+dRv2e/NgixlAFmzVnxkhqg==", + "license": "GPL-3.0-or-later", "dependencies": { "@types/jquery": "3.5.16" }, @@ -2307,8 +2227,7 @@ }, "node_modules/@nextcloud/upload": { "version": "2.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@nextcloud/upload/-/upload-2.0.0-rc.0.tgz", - "integrity": "sha512-F7g3Zr/7Se7bimcSzpEHXUAfQRUhXV6iOdmjRSVNQTbrhS5q70SKJoFpJRP5j/QGCKycqLyv8YMPNmrtjNFbKw==", + "license": "AGPL-3.0-or-later", "dependencies": { "@nextcloud/auth": "^2.5.1", "@nextcloud/axios": "^2.5.1", @@ -2332,16 +2251,14 @@ }, "node_modules/@nextcloud/upload/node_modules/@nextcloud/paths": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.4.0.tgz", - "integrity": "sha512-35hykjqzaJCw8pBYWuKbLLw2wyKMuf9+T8K8GoYiS84AIi8SO16nuEu0fyl/gwCuiDqX5tCCup4wqljf0hdvaw==", + "license": "GPL-3.0-or-later", "engines": { "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/upload/node_modules/@nextcloud/sharing": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.2.5.tgz", - "integrity": "sha512-B3K5Dq9b5dexDA5n3AAuCF69Huwhrpw0J72fsVXV4KpPdImjhVPlExAv5o70AoXa+OqN4Rwn6gqJw+3ED892zg==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/initial-state": "^2.2.0" }, @@ -2351,8 +2268,7 @@ }, "node_modules/@nextcloud/upload/node_modules/@nextcloud/sharing/node_modules/@nextcloud/initial-state": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.2.0.tgz", - "integrity": "sha512-cDW98L5KGGgpS8pzd+05304/p80cyu8U2xSDQGa+kGPTpUFmCbv2qnO5WrwwGTauyjYijCal2bmw82VddSH+Pg==", + "license": "GPL-3.0-or-later", "engines": { "node": "^20.0.0", "npm": "^10.0.0" @@ -2360,8 +2276,7 @@ }, "node_modules/@nextcloud/upload/node_modules/p-queue": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", - "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" @@ -2375,8 +2290,7 @@ }, "node_modules/@nextcloud/upload/node_modules/p-timeout": { "version": "6.1.4", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", - "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -2386,9 +2300,8 @@ }, "node_modules/@nextcloud/vite-config": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@nextcloud/vite-config/-/vite-config-2.5.2.tgz", - "integrity": "sha512-RoYMsMNyryZ2LTyFWODuVLmVwII8J99KUCFdvnPVosXELZq8oxxWmwGdYPyCavKMZrZ6JRZ2tUvnJ8MCKk78Uw==", "dev": true, + "license": "AGPL-3.0-or-later", "dependencies": { "@rollup/plugin-replace": "^6.0.2", "@vitejs/plugin-vue": "^6.0.1", @@ -2414,8 +2327,7 @@ }, "node_modules/@nextcloud/vue": { "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-9.5.0.tgz", - "integrity": "sha512-CQxBfHhF+Q+2r7RXd+l/eSjttJU8A2JFUyq5VpvjfpIql355kejc8bbNnM1pKgGRGSBuW9qw5Ohx0puzHge10w==", + "license": "AGPL-3.0-or-later", "dependencies": { "@ckpack/vue-color": "^1.6.0", "@floating-ui/dom": "^1.7.5", @@ -2467,8 +2379,7 @@ }, "node_modules/@nextcloud/vue/node_modules/@nextcloud/sharing": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", - "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", + "license": "GPL-3.0-or-later", "dependencies": { "@nextcloud/initial-state": "^3.0.0", "is-svg": "^6.1.0" @@ -2482,9 +2393,8 @@ }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "eslint-scope": "5.1.1" @@ -2492,9 +2402,8 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -2506,9 +2415,8 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 8" @@ -2516,9 +2424,8 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -2530,9 +2437,8 @@ }, "node_modules/@nolyfill/is-core-module": { "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12.4.0" @@ -2540,16 +2446,14 @@ }, "node_modules/@one-ini/wasm": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", - "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@parcel/watcher": { "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", - "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { @@ -2589,6 +2493,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -2610,6 +2515,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2631,6 +2537,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2652,6 +2559,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -2673,6 +2581,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2694,6 +2603,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2715,6 +2625,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2736,6 +2647,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2751,12 +2663,11 @@ }, "node_modules/@parcel/watcher-linux-x64-glibc": { "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", - "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2772,12 +2683,11 @@ }, "node_modules/@parcel/watcher-linux-x64-musl": { "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", - "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2799,6 +2709,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -2820,6 +2731,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -2841,6 +2753,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -2856,9 +2769,8 @@ }, "node_modules/@pinia/testing": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@pinia/testing/-/testing-1.0.3.tgz", - "integrity": "sha512-g+qR49GNdI1Z8rZxKrQC3GN+LfnGTNf5Kk8Nz5Cz6mIGva5WRS+ffPXQfzhA0nu6TveWzPNYTjGl4nJqd3Cu9Q==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/posva" }, @@ -2868,9 +2780,8 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -2878,9 +2789,8 @@ }, "node_modules/@playwright/test": { "version": "1.58.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.2.tgz", - "integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "playwright": "1.58.2" }, @@ -2893,9 +2803,8 @@ }, "node_modules/@redocly/ajv": { "version": "8.11.2", - "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -2909,20 +2818,16 @@ }, "node_modules/@redocly/ajv/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@redocly/config": { "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.0.tgz", - "integrity": "sha512-gAy93Ddo01Z3bHuVdPWfCwzgfaYgMdaZPcfL7JZ7hWJoK9V0lXDbigTWkhiPFAaLWzbOJ+kbUQG1+XwIm0KRGQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@redocly/openapi-core": { "version": "1.34.10", - "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.10.tgz", - "integrity": "sha512-XCBR/9WHJ0cpezuunHMZjuFMl4KqUo7eiFwzrQrvm7lTXt0EBd3No8UY+9OyzXpDfreGEMMtxmaLZ+ksVw378g==", "dev": true, "license": "MIT", "dependencies": { @@ -2943,9 +2848,8 @@ }, "node_modules/@redocly/openapi-core/node_modules/minimatch": { "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2955,15 +2859,13 @@ }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz", - "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@rollup/plugin-inject": { "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", - "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", @@ -2983,9 +2885,8 @@ }, "node_modules/@rollup/plugin-replace": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-6.0.3.tgz", - "integrity": "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "magic-string": "^0.30.3" @@ -3004,9 +2905,8 @@ }, "node_modules/@rollup/pluginutils": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -3032,6 +2932,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -3045,6 +2946,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -3058,6 +2960,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3071,6 +2974,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3084,6 +2988,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3097,6 +3002,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3110,6 +3016,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3123,6 +3030,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3136,6 +3044,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3149,6 +3058,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3162,6 +3072,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3175,6 +3086,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3188,6 +3100,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3201,6 +3114,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3214,6 +3128,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3227,6 +3142,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3240,6 +3156,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3247,12 +3164,11 @@ }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3260,12 +3176,11 @@ }, "node_modules/@rollup/rollup-linux-x64-musl": { "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3279,6 +3194,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -3292,6 +3208,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openharmony" @@ -3305,6 +3222,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -3318,6 +3236,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -3331,6 +3250,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -3344,6 +3264,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -3351,16 +3272,14 @@ }, "node_modules/@rtsao/scc": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@rushstack/node-core-library": { "version": "5.20.3", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.20.3.tgz", - "integrity": "sha512-95JgEPq2k7tHxhF9/OJnnyHDXfC9cLhhta0An/6MlkDsX2A6dTzDrTUG18vx4vjc280V0fi0xDH9iQczpSuWsw==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "~8.18.0", "ajv-draft-04": "~1.0.0", @@ -3382,9 +3301,8 @@ }, "node_modules/@rushstack/node-core-library/node_modules/ajv": { "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -3398,9 +3316,8 @@ }, "node_modules/@rushstack/node-core-library/node_modules/ajv-draft-04": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", - "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": "^8.5.0" }, @@ -3412,15 +3329,13 @@ }, "node_modules/@rushstack/node-core-library/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -3430,9 +3345,8 @@ }, "node_modules/@rushstack/node-core-library/node_modules/semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -3445,15 +3359,13 @@ }, "node_modules/@rushstack/node-core-library/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@rushstack/problem-matcher": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.2.1.tgz", - "integrity": "sha512-gulfhBs6n+I5b7DvjKRfhMGyUejtSgOHTclF/eONr8hcgF1APEDjhxIsfdUYYMzC3rvLwGluqLjbwCFZ8nxrog==", "dev": true, + "license": "MIT", "peerDependencies": { "@types/node": "*" }, @@ -3465,9 +3377,8 @@ }, "node_modules/@rushstack/rig-package": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.7.2.tgz", - "integrity": "sha512-9XbFWuqMYcHUso4mnETfhGVUSaADBRj6HUAAEYk50nMPn8WRICmBuCphycQGNB3duIR6EEZX3Xj3SYc2XiP+9A==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "~1.22.1", "strip-json-comments": "~3.1.1" @@ -3475,9 +3386,8 @@ }, "node_modules/@rushstack/terminal": { "version": "0.22.3", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.22.3.tgz", - "integrity": "sha512-gHC9pIMrUPzAbBiI4VZMU7Q+rsCzb8hJl36lFIulIzoceKotyKL3Rd76AZ2CryCTKEg+0bnTj406HE5YY5OQvw==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/node-core-library": "5.20.3", "@rushstack/problem-matcher": "0.2.1", @@ -3494,9 +3404,8 @@ }, "node_modules/@rushstack/terminal/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3509,9 +3418,8 @@ }, "node_modules/@rushstack/ts-command-line": { "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.3.3.tgz", - "integrity": "sha512-c+ltdcvC7ym+10lhwR/vWiOhsrm/bP3By2VsFcs5qTKv+6tTmxgbVrtJ5NdNjANiV5TcmOZgUN+5KYQ4llsvEw==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/terminal": "0.22.3", "@types/argparse": "1.0.38", @@ -3521,18 +3429,16 @@ }, "node_modules/@rushstack/ts-command-line/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=18" @@ -3543,8 +3449,7 @@ }, "node_modules/@ssddanbrown/codemirror-lang-twig": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@ssddanbrown/codemirror-lang-twig/-/codemirror-lang-twig-1.0.0.tgz", - "integrity": "sha512-7WIMIh8Ssc54TooGCY57WU2rKEqZZrcV2tZSVRPtd0gKYsrDEKCSLWpQjUWEx7bdgh3NKHUjq1O4ugIzI/+dwQ==", + "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", "@lezer/highlight": "^1.0.0", @@ -3553,15 +3458,13 @@ }, "node_modules/@standard-schema/spec": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@testing-library/dom": { "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", - "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3578,9 +3481,8 @@ }, "node_modules/@testing-library/vue": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@testing-library/vue/-/vue-8.1.0.tgz", - "integrity": "sha512-ls4RiHO1ta4mxqqajWRh8158uFObVrrtAPoxk7cIp4HrnQUj/ScKzqz53HxYpG3X6Zb7H2v+0eTGLSoy8HQ2nA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.2", "@testing-library/dom": "^9.3.3", @@ -3601,9 +3503,8 @@ }, "node_modules/@testing-library/vue/node_modules/@testing-library/dom": { "version": "9.3.4", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", - "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3620,23 +3521,22 @@ }, "node_modules/@testing-library/vue/node_modules/aria-query": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } }, "node_modules/@tokenizer/token": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + "license": "MIT" }, "node_modules/@tybys/wasm-util": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { @@ -3645,21 +3545,23 @@ }, "node_modules/@types/argparse": { "version": "1.0.38", - "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", - "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/aria-query": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@types/blueimp-md5": { + "version": "2.18.2", + "dev": true, + "license": "MIT" }, "node_modules/@types/chai": { "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, + "license": "MIT", "dependencies": { "@types/deep-eql": "*", "assertion-error": "^2.0.1" @@ -3667,132 +3569,112 @@ }, "node_modules/@types/debug": { "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", "dependencies": { "@types/ms": "*" } }, "node_modules/@types/deep-eql": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/escape-html": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz", - "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==" + "license": "MIT" }, "node_modules/@types/estree": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" + "license": "MIT" }, "node_modules/@types/estree-jsx": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", "dependencies": { "@types/estree": "*" } }, "node_modules/@types/hast": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", "dependencies": { "@types/unist": "*" } }, "node_modules/@types/jquery": { "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.16.tgz", - "integrity": "sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw==", + "license": "MIT", "dependencies": { "@types/sizzle": "*" } }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@types/mdast": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", "dependencies": { "@types/unist": "*" } }, "node_modules/@types/ms": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" + "license": "MIT" }, "node_modules/@types/node": { "version": "25.3.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.3.tgz", - "integrity": "sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~7.18.0" } }, "node_modules/@types/semver": { "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==" + "license": "MIT" }, "node_modules/@types/sizzle": { "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.10.tgz", - "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==" + "license": "MIT" }, "node_modules/@types/toastify-js": { "version": "1.12.4", - "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz", - "integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==" + "license": "MIT" }, "node_modules/@types/trusted-types": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", "optional": true }, "node_modules/@types/unist": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + "license": "MIT" }, "node_modules/@types/web-bluetooth": { "version": "0.0.21", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", - "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==" + "license": "MIT" }, "node_modules/@types/whatwg-mimetype": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz", - "integrity": "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/ws": { "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", - "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", @@ -3824,9 +3706,8 @@ }, "node_modules/@typescript-eslint/parser": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", @@ -3853,9 +3734,8 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@typescript-eslint/types": "7.18.0", @@ -3871,9 +3751,8 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", - "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.18.0", @@ -3899,9 +3778,8 @@ }, "node_modules/@typescript-eslint/types": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3913,9 +3791,8 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "@typescript-eslint/types": "7.18.0", @@ -3942,9 +3819,8 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -3955,9 +3831,8 @@ }, "node_modules/@typescript-eslint/utils": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -3978,9 +3853,8 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@typescript-eslint/types": "7.18.0", @@ -3996,9 +3870,8 @@ }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4009,8 +3882,7 @@ }, "node_modules/@uiw/codemirror-theme-material": { "version": "4.25.7", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-material/-/codemirror-theme-material-4.25.7.tgz", - "integrity": "sha512-jjVYq/ZAHiNOFps+JSRRbWQjOuqKA/233pi13h2s4eefuT3WqnOvysJ78lCf+7FaC9dqu8r+6oIpe1bZCtOeDQ==", + "license": "MIT", "dependencies": { "@uiw/codemirror-themes": "4.25.7" }, @@ -4020,8 +3892,7 @@ }, "node_modules/@uiw/codemirror-themes": { "version": "4.25.7", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.25.7.tgz", - "integrity": "sha512-Rcx1XiQiMOJzk/efVuZioCv3VuswUb2CPmiM1NIXY5N4vEMmWLY3N8T4/WkPzJ8ZZuk7o3OH2VI5bj7729fDYg==", + "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", @@ -4038,8 +3909,7 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==" + "license": "ISC" }, "node_modules/@unrs/resolver-binding-android-arm-eabi": { "version": "1.11.1", @@ -4049,6 +3919,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -4063,6 +3934,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -4077,6 +3949,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4091,6 +3964,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4105,6 +3979,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -4119,6 +3994,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4133,6 +4009,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4147,6 +4024,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4161,6 +4039,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4175,6 +4054,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4189,6 +4069,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4203,6 +4084,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4217,6 +4099,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4225,12 +4108,11 @@ }, "node_modules/@unrs/resolver-binding-linux-x64-gnu": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4239,12 +4121,11 @@ }, "node_modules/@unrs/resolver-binding-linux-x64-musl": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4259,6 +4140,7 @@ "wasm32" ], "dev": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { @@ -4276,6 +4158,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4290,6 +4173,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4304,6 +4188,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4312,9 +4197,8 @@ }, "node_modules/@vitejs/plugin-vue": { "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.4.tgz", - "integrity": "sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==", "dev": true, + "license": "MIT", "dependencies": { "@rolldown/pluginutils": "1.0.0-rc.2" }, @@ -4328,9 +4212,8 @@ }, "node_modules/@vitest/coverage-v8": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.18.tgz", - "integrity": "sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^1.0.2", "@vitest/utils": "4.0.18", @@ -4358,9 +4241,8 @@ }, "node_modules/@vitest/expect": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", - "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", "dev": true, + "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", @@ -4375,9 +4257,8 @@ }, "node_modules/@vitest/mocker": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", - "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/spy": "4.0.18", "estree-walker": "^3.0.3", @@ -4401,18 +4282,16 @@ }, "node_modules/@vitest/mocker/node_modules/estree-walker": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } }, "node_modules/@vitest/pretty-format": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", - "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", "dev": true, + "license": "MIT", "dependencies": { "tinyrainbow": "^3.0.3" }, @@ -4422,9 +4301,8 @@ }, "node_modules/@vitest/runner": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", - "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/utils": "4.0.18", "pathe": "^2.0.3" @@ -4435,9 +4313,8 @@ }, "node_modules/@vitest/snapshot": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", - "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/pretty-format": "4.0.18", "magic-string": "^0.30.21", @@ -4449,18 +4326,16 @@ }, "node_modules/@vitest/spy": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", - "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", "dev": true, + "license": "MIT", "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", - "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/pretty-format": "4.0.18", "tinyrainbow": "^3.0.3" @@ -4471,24 +4346,21 @@ }, "node_modules/@volar/language-core": { "version": "2.4.28", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", - "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", "dev": true, + "license": "MIT", "dependencies": { "@volar/source-map": "2.4.28" } }, "node_modules/@volar/source-map": { "version": "2.4.28", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", - "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@volar/typescript": { "version": "2.4.28", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", - "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", "dev": true, + "license": "MIT", "dependencies": { "@volar/language-core": "2.4.28", "path-browserify": "^1.0.1", @@ -4497,8 +4369,7 @@ }, "node_modules/@vue-macros/common": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-3.1.2.tgz", - "integrity": "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==", + "license": "MIT", "dependencies": { "@vue/compiler-sfc": "^3.5.22", "ast-kit": "^2.1.2", @@ -4523,8 +4394,7 @@ }, "node_modules/@vue/compiler-core": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.29.tgz", - "integrity": "sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.29.0", "@vue/shared": "3.5.29", @@ -4535,8 +4405,7 @@ }, "node_modules/@vue/compiler-dom": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.29.tgz", - "integrity": "sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==", + "license": "MIT", "dependencies": { "@vue/compiler-core": "3.5.29", "@vue/shared": "3.5.29" @@ -4544,8 +4413,7 @@ }, "node_modules/@vue/compiler-sfc": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.29.tgz", - "integrity": "sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.29.0", "@vue/compiler-core": "3.5.29", @@ -4560,8 +4428,7 @@ }, "node_modules/@vue/compiler-ssr": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.29.tgz", - "integrity": "sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==", + "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.29", "@vue/shared": "3.5.29" @@ -4569,9 +4436,8 @@ }, "node_modules/@vue/compiler-vue2": { "version": "2.7.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", - "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", "dev": true, + "license": "MIT", "dependencies": { "de-indent": "^1.0.2", "he": "^1.2.0" @@ -4579,16 +4445,14 @@ }, "node_modules/@vue/devtools-api": { "version": "7.7.9", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", - "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", "dependencies": { "@vue/devtools-kit": "^7.7.9" } }, "node_modules/@vue/devtools-kit": { "version": "7.7.9", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", - "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", "dependencies": { "@vue/devtools-shared": "^7.7.9", "birpc": "^2.3.0", @@ -4601,17 +4465,15 @@ }, "node_modules/@vue/devtools-shared": { "version": "7.7.9", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", - "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", "dependencies": { "rfdc": "^1.4.1" } }, "node_modules/@vue/eslint-config-typescript": { "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz", - "integrity": "sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@typescript-eslint/eslint-plugin": "^7.1.1", @@ -4634,9 +4496,8 @@ }, "node_modules/@vue/language-core": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz", - "integrity": "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==", "dev": true, + "license": "MIT", "dependencies": { "@volar/language-core": "~2.4.11", "@vue/compiler-dom": "^3.5.0", @@ -4658,16 +4519,14 @@ }, "node_modules/@vue/reactivity": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.29.tgz", - "integrity": "sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==", + "license": "MIT", "dependencies": { "@vue/shared": "3.5.29" } }, "node_modules/@vue/runtime-core": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.29.tgz", - "integrity": "sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==", + "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.29", "@vue/shared": "3.5.29" @@ -4675,8 +4534,7 @@ }, "node_modules/@vue/runtime-dom": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.29.tgz", - "integrity": "sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==", + "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.29", "@vue/runtime-core": "3.5.29", @@ -4686,8 +4544,7 @@ }, "node_modules/@vue/server-renderer": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.29.tgz", - "integrity": "sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==", + "license": "MIT", "dependencies": { "@vue/compiler-ssr": "3.5.29", "@vue/shared": "3.5.29" @@ -4698,14 +4555,12 @@ }, "node_modules/@vue/shared": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.29.tgz", - "integrity": "sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==" + "license": "MIT" }, "node_modules/@vue/test-utils": { "version": "2.4.6", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz", - "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==", "dev": true, + "license": "MIT", "dependencies": { "js-beautify": "^1.14.9", "vue-component-type-helpers": "^2.0.0" @@ -4732,8 +4587,7 @@ }, "node_modules/@vuelidate/core": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.3.tgz", - "integrity": "sha512-AN6l7KF7+mEfyWG0doT96z+47ljwPpZfi9/JrNMkOGLFv27XVZvKzRLXlmDPQjPl/wOB1GNnHuc54jlCLRNqGA==", + "license": "MIT", "dependencies": { "vue-demi": "^0.13.11" }, @@ -4749,9 +4603,8 @@ }, "node_modules/@vuelidate/core/node_modules/vue-demi": { "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", "hasInstallScript": true, + "license": "MIT", "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -4774,8 +4627,7 @@ }, "node_modules/@vuelidate/validators": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.4.tgz", - "integrity": "sha512-odTxtUZ2JpwwiQ10t0QWYJkkYrfd0SyFYhdHH44QQ1jDatlZgTh/KRzrWVmn/ib9Gq7H4hFD4e8ahoo5YlUlDw==", + "license": "MIT", "dependencies": { "vue-demi": "^0.13.11" }, @@ -4791,9 +4643,8 @@ }, "node_modules/@vuelidate/validators/node_modules/vue-demi": { "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", "hasInstallScript": true, + "license": "MIT", "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -4816,8 +4667,7 @@ }, "node_modules/@vuepic/vue-datepicker": { "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-11.0.3.tgz", - "integrity": "sha512-sb2adwqwK2PizLQOpxCYps2SwhVT6/ic2HMIOqHJXuYa6iAJZWGL5YVlS7O4aW+sk6ZyxlDURLO7kDZPL4HB/w==", + "license": "MIT", "dependencies": { "date-fns": "^4.1.0" }, @@ -4830,8 +4680,7 @@ }, "node_modules/@vueuse/components": { "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/components/-/components-14.2.1.tgz", - "integrity": "sha512-wB0SvwJ22mNm1hWCMI1wTWz4x55nDTugT5RIg/KCwlWc1vITWL6ry5VTU3SQzsMD2XcazJK8Be1siIsrBb/Vcw==", + "license": "MIT", "dependencies": { "@vueuse/core": "14.2.1", "@vueuse/shared": "14.2.1" @@ -4842,8 +4691,7 @@ }, "node_modules/@vueuse/core": { "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz", - "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==", + "license": "MIT", "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "14.2.1", @@ -4858,8 +4706,7 @@ }, "node_modules/@vueuse/integrations": { "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.2.1.tgz", - "integrity": "sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==", + "license": "MIT", "dependencies": { "@vueuse/core": "14.2.1", "@vueuse/shared": "14.2.1" @@ -4923,16 +4770,14 @@ }, "node_modules/@vueuse/metadata": { "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz", - "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz", - "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" }, @@ -4942,17 +4787,15 @@ }, "node_modules/abbrev": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", "dev": true, + "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/acorn": { "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4962,9 +4805,8 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peer": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -4972,18 +4814,16 @@ }, "node_modules/agent-base": { "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 14" } }, "node_modules/ajv": { "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -4998,9 +4838,8 @@ }, "node_modules/ajv-formats": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -5015,9 +4854,8 @@ }, "node_modules/ajv-formats/node_modules/ajv": { "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5031,39 +4869,34 @@ }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/alien-signals": { "version": "0.4.14", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz", - "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ansi-colors": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5076,9 +4909,8 @@ }, "node_modules/are-docs-informative": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=14" @@ -5086,24 +4918,21 @@ }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, + "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" @@ -5117,18 +4946,16 @@ }, "node_modules/array-find-index": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-includes": { "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -5149,9 +4976,8 @@ }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -5159,9 +4985,8 @@ }, "node_modules/array.prototype.findlastindex": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -5181,9 +5006,8 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -5200,9 +5024,8 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -5219,9 +5042,8 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", @@ -5241,8 +5063,7 @@ }, "node_modules/asn1.js": { "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -5251,14 +5072,12 @@ }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + "license": "MIT" }, "node_modules/assert": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", - "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-nan": "^1.3.2", @@ -5269,17 +5088,15 @@ }, "node_modules/assertion-error": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/ast-kit": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-2.2.0.tgz", - "integrity": "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.28.5", "pathe": "^2.0.3" @@ -5293,9 +5110,8 @@ }, "node_modules/ast-v8-to-istanbul": { "version": "0.3.12", - "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.12.tgz", - "integrity": "sha512-BRRC8VRZY2R4Z4lFIL35MwNXmwVqBityvOIwETtsCSwvjl0IdgFsy9NhdaA6j74nUdtJJlIypeRhpDam19Wq3g==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.31", "estree-walker": "^3.0.3", @@ -5304,23 +5120,20 @@ }, "node_modules/ast-v8-to-istanbul/node_modules/estree-walker": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } }, "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz", - "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ast-walker-scope": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.8.3.tgz", - "integrity": "sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.28.4", "ast-kit": "^2.1.3" @@ -5334,9 +5147,8 @@ }, "node_modules/astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -5344,9 +5156,8 @@ }, "node_modules/async-function": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 0.4" @@ -5354,13 +5165,11 @@ }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "license": "MIT" }, "node_modules/available-typed-arrays": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -5373,8 +5182,7 @@ }, "node_modules/axios": { "version": "1.13.6", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", - "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", @@ -5383,8 +5191,7 @@ }, "node_modules/axios-retry": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", - "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", + "license": "Apache-2.0", "dependencies": { "is-retry-allowed": "^2.2.0" }, @@ -5394,8 +5201,7 @@ }, "node_modules/bail": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5403,18 +5209,14 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "license": "MIT" }, "node_modules/base-64": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" + "license": "MIT" }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -5429,13 +5231,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/baseline-browser-mapping": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "dev": true, + "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" }, @@ -5445,47 +5247,40 @@ }, "node_modules/birpc": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", - "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/blueimp-md5": { "version": "2.19.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", - "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==" + "license": "MIT" }, "node_modules/blurhash": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", - "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==" + "license": "MIT" }, "node_modules/bn.js": { "version": "5.2.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", - "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==" + "license": "MIT" }, "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fill-range": "^7.1.1" @@ -5496,22 +5291,19 @@ }, "node_modules/brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + "license": "MIT" }, "node_modules/browser-resolve": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.17.0" } }, "node_modules/browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -5523,8 +5315,7 @@ }, "node_modules/browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -5533,8 +5324,7 @@ }, "node_modules/browserify-des": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -5544,8 +5334,7 @@ }, "node_modules/browserify-rsa": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", - "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "license": "MIT", "dependencies": { "bn.js": "^5.2.1", "randombytes": "^2.1.0", @@ -5557,8 +5346,7 @@ }, "node_modules/browserify-sign": { "version": "4.2.5", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", - "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", + "license": "ISC", "dependencies": { "bn.js": "^5.2.2", "browserify-rsa": "^4.1.1", @@ -5576,17 +5364,14 @@ }, "node_modules/browserify-zlib": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, + "license": "MIT", "dependencies": { "pako": "~1.0.5" } }, "node_modules/browserslist": { "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -5602,6 +5387,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -5618,9 +5404,8 @@ }, "node_modules/browserslist-to-esbuild": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz", - "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==", "dev": true, + "license": "MIT", "dependencies": { "meow": "^13.0.0" }, @@ -5636,8 +5421,6 @@ }, "node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -5653,6 +5436,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -5660,14 +5444,12 @@ }, "node_modules/buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + "license": "MIT" }, "node_modules/builtin-modules": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -5678,15 +5460,13 @@ }, "node_modules/builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/builtins": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "semver": "^7.0.0" @@ -5694,9 +5474,8 @@ }, "node_modules/builtins/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -5707,14 +5486,12 @@ }, "node_modules/byte-length": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/byte-length/-/byte-length-1.0.2.tgz", - "integrity": "sha512-ovBpjmsgd/teRmgcPh23d4gJvxDoXtAzEL9xTfMU8Yc2kqCDb7L9jAG0XHl1nzuGl+h3ebCIF1i62UFyA9V/2Q==" + "license": "MIT" }, "node_modules/cacheable": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.3.tgz", - "integrity": "sha512-iffYMX4zxKp54evOH27fm92hs+DeC1DhXmNVN8Tr94M/iZIV42dqTHSR2Ik4TOSPyOAwKr7Yu3rN9ALoLkbWyQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@cacheable/memory": "^2.0.8", @@ -5726,9 +5503,8 @@ }, "node_modules/cacheable/node_modules/keyv": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", - "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" @@ -5736,8 +5512,7 @@ }, "node_modules/call-bind": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", @@ -5753,8 +5528,7 @@ }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" @@ -5765,8 +5539,7 @@ }, "node_modules/call-bound": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" @@ -5780,9 +5553,8 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -5790,13 +5562,10 @@ }, "node_modules/cancelable-promise": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/cancelable-promise/-/cancelable-promise-4.3.1.tgz", - "integrity": "sha512-A/8PwLk/T7IJDfUdQ68NR24QHa8rIlnN/stiJEBo6dmVUkD4K14LswG0w3VwdeK/o7qOwRUR1k2MhK5Rpy2m7A==" + "license": "MIT" }, "node_modules/caniuse-lite": { - "version": "1.0.30001775", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz", - "integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==", + "version": "1.0.30001776", "dev": true, "funding": [ { @@ -5811,12 +5580,12 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/ccount": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5824,18 +5593,16 @@ }, "node_modules/chai": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5849,14 +5616,12 @@ }, "node_modules/change-case": { "version": "5.4.4", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz", - "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/character-entities": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5864,8 +5629,7 @@ }, "node_modules/character-entities-html4": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5873,8 +5637,7 @@ }, "node_modules/character-entities-legacy": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5882,8 +5645,7 @@ }, "node_modules/character-reference-invalid": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5891,17 +5653,15 @@ }, "node_modules/charenc": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", "engines": { "node": "*" } }, "node_modules/chokidar": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "readdirp": "^4.0.1" @@ -5915,8 +5675,7 @@ }, "node_modules/cipher-base": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz", - "integrity": "sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1", @@ -5928,21 +5687,18 @@ }, "node_modules/classnames": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + "license": "MIT" }, "node_modules/clone": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/codemirror": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.2.tgz", - "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==", + "license": "MIT", "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/commands": "^6.0.0", @@ -5955,9 +5711,8 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5967,27 +5722,23 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/colord": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/colorette": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -5997,8 +5748,7 @@ }, "node_modules/comma-separated-tokens": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -6006,18 +5756,16 @@ }, "node_modules/commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/comment-parser": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", - "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 12.0.0" @@ -6025,33 +5773,28 @@ }, "node_modules/commenting": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz", - "integrity": "sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/compare-versions": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", - "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/confbox": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz", - "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==" + "license": "MIT" }, "node_modules/config-chain": { "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, + "license": "MIT", "dependencies": { "ini": "^1.3.4", "proto-list": "~1.2.1" @@ -6059,27 +5802,22 @@ }, "node_modules/console-browserify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "node_modules/constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/copy-anything": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", - "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", "dependencies": { "is-what": "^5.2.0" }, @@ -6092,9 +5830,8 @@ }, "node_modules/core-js": { "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", - "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -6102,9 +5839,8 @@ }, "node_modules/core-js-compat": { "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", - "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", "dev": true, + "license": "MIT", "dependencies": { "browserslist": "^4.28.1" }, @@ -6115,14 +5851,12 @@ }, "node_modules/core-util-is": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", - "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "env-paths": "^2.2.1", @@ -6147,9 +5881,8 @@ }, "node_modules/cosmiconfig/node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", @@ -6166,8 +5899,7 @@ }, "node_modules/create-ecdh": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -6175,13 +5907,11 @@ }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + "license": "MIT" }, "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -6192,8 +5922,7 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -6205,20 +5934,17 @@ }, "node_modules/create-require": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/crelt": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", - "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -6230,16 +5956,14 @@ }, "node_modules/crypt": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", "engines": { "node": "*" } }, "node_modules/crypto-browserify": { "version": "3.12.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", - "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", + "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.1", "browserify-sign": "^4.2.3", @@ -6261,30 +5985,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/crypto-js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" - }, "node_modules/css-functions-list": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.3.3.tgz", - "integrity": "sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" } }, "node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "version": "3.2.1", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" @@ -6292,9 +6009,8 @@ }, "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "peer": true, "bin": { "cssesc": "bin/cssesc" @@ -6305,22 +6021,19 @@ }, "node_modules/csstype": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + "license": "MIT" }, "node_modules/data-uri-to-buffer": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", "engines": { "node": ">= 12" } }, "node_modules/data-view-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.3", @@ -6336,9 +6049,8 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.3", @@ -6354,9 +6066,8 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.2", @@ -6372,8 +6083,7 @@ }, "node_modules/date-fns": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" @@ -6381,14 +6091,12 @@ }, "node_modules/de-indent": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/debounce": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-3.0.0.tgz", - "integrity": "sha512-64byRbF0/AirwbuHqB3/ZpMG9/nckDa6ZA0yd6UnaQNwbbemCOwvz2sL5sjXLHhZHADyiwLm0M5qMhltUUx+TA==", + "license": "MIT", "engines": { "node": ">=20" }, @@ -6398,8 +6106,7 @@ }, "node_modules/debug": { "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -6414,8 +6121,7 @@ }, "node_modules/decode-named-character-reference": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", - "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", "dependencies": { "character-entities": "^2.0.0" }, @@ -6426,9 +6132,8 @@ }, "node_modules/deep-equal": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", @@ -6458,21 +6163,18 @@ }, "node_modules/deep-equal/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -6487,9 +6189,8 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -6504,24 +6205,21 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/dequal": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/des.js": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -6529,9 +6227,8 @@ }, "node_modules/detect-libc": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, + "license": "Apache-2.0", "optional": true, "peer": true, "engines": { @@ -6540,8 +6237,7 @@ }, "node_modules/devlop": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", "dependencies": { "dequal": "^2.0.0" }, @@ -6552,17 +6248,15 @@ }, "node_modules/diff": { "version": "8.0.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", - "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -6571,14 +6265,12 @@ }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "path-type": "^4.0.0" @@ -6589,9 +6281,8 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "esutils": "^2.0.2" @@ -6602,15 +6293,13 @@ }, "node_modules/dom-accessibility-api": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dom-serializer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "domelementtype": "^2.3.0", @@ -6623,9 +6312,8 @@ }, "node_modules/dom-serializer/node_modules/entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=0.12" @@ -6636,9 +6324,8 @@ }, "node_modules/domain-browser": { "version": "4.22.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz", - "integrity": "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -6648,8 +6335,6 @@ }, "node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { @@ -6657,13 +6342,13 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "BSD-2-Clause", "peer": true }, "node_modules/domhandler": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "domelementtype": "^2.3.0" @@ -6676,18 +6361,19 @@ } }, "node_modules/dompurify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", - "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "version": "3.3.2", + "license": "(MPL-2.0 OR Apache-2.0)", + "engines": { + "node": ">=20" + }, "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "node_modules/domutils": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "dom-serializer": "^2.0.0", @@ -6700,8 +6386,7 @@ }, "node_modules/dunder-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", @@ -6713,20 +6398,17 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/easy-bem": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/easy-bem/-/easy-bem-1.1.1.tgz", - "integrity": "sha512-GJRqdiy2h+EXy6a8E6R+ubmqUM08BK0FWNq41k24fup6045biQ8NXxoXimiwegMQvFFV3t1emADdGNL1TlS61A==" + "license": "MIT" }, "node_modules/editorconfig": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.7.tgz", - "integrity": "sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==", "dev": true, + "license": "MIT", "dependencies": { "@one-ini/wasm": "0.1.1", "commander": "^10.0.0", @@ -6742,9 +6424,8 @@ }, "node_modules/editorconfig/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -6753,15 +6434,13 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.302", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", - "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", - "dev": true + "version": "1.5.307", + "dev": true, + "license": "ISC" }, "node_modules/elliptic": { "version": "6.6.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", - "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -6774,13 +6453,11 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + "license": "MIT" }, "node_modules/emoji-mart-vue-fast": { "version": "15.0.5", - "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-15.0.5.tgz", - "integrity": "sha512-wnxLor8ggpqshoOPwIc33MdOC3A1XFeDLgUwYLPtNPL8VeAtXJAVrnFq1CN5PeCYAFoLo4IufHQZ9CfHD4IZiw==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.18.6", "core-js": "^3.23.5" @@ -6791,14 +6468,12 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/entities": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", - "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -6808,9 +6483,8 @@ }, "node_modules/env-paths": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -6818,9 +6492,8 @@ }, "node_modules/error-ex": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-arrayish": "^0.2.1" @@ -6828,9 +6501,8 @@ }, "node_modules/es-abstract": { "version": "1.24.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", - "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "array-buffer-byte-length": "^1.0.2", @@ -6897,25 +6569,22 @@ }, "node_modules/es-define-property": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/es-get-iterator": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -6933,20 +6602,17 @@ }, "node_modules/es-get-iterator/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/es-module-lexer": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -6956,8 +6622,7 @@ }, "node_modules/es-set-tostringtag": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", @@ -6970,9 +6635,8 @@ }, "node_modules/es-shim-unscopables": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "hasown": "^2.0.2" @@ -6983,9 +6647,8 @@ }, "node_modules/es-to-primitive": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-callable": "^1.2.7", @@ -7001,10 +6664,9 @@ }, "node_modules/esbuild": { "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -7042,23 +6704,20 @@ }, "node_modules/escalade": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -7069,10 +6728,8 @@ }, "node_modules/eslint": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", @@ -7126,9 +6783,8 @@ }, "node_modules/eslint-compat-utils": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz", - "integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "semver": "^7.5.4" @@ -7142,9 +6798,8 @@ }, "node_modules/eslint-compat-utils/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -7155,8 +6810,6 @@ }, "node_modules/eslint-config-standard": { "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", "dev": true, "funding": [ { @@ -7172,6 +6825,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=12.0.0" @@ -7185,9 +6839,8 @@ }, "node_modules/eslint-import-resolver-exports": { "version": "1.0.0-beta.5", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-exports/-/eslint-import-resolver-exports-1.0.0-beta.5.tgz", - "integrity": "sha512-o6t0w7muUpXr7MkUVzD5igQoDfAQvTmcPp8HEAJdNF8eOuAO+yn6I/TTyMxz9ecCwzX7e02vzlkHURoScUuidg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "resolve.exports": "^2.0.0" @@ -7199,9 +6852,8 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "debug": "^3.2.7", @@ -7211,9 +6863,8 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" @@ -7221,9 +6872,8 @@ }, "node_modules/eslint-import-resolver-typescript": { "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "@nolyfill/is-core-module": "1.0.39", @@ -7256,9 +6906,8 @@ }, "node_modules/eslint-module-utils": { "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "debug": "^3.2.7" @@ -7274,9 +6923,8 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" @@ -7284,13 +6932,12 @@ }, "node_modules/eslint-plugin-es-x": { "version": "7.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz", - "integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==", "dev": true, "funding": [ "https://github.com/sponsors/ota-meshi", "https://opencollective.com/eslint" ], + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.1.2", @@ -7306,9 +6953,8 @@ }, "node_modules/eslint-plugin-import": { "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", @@ -7340,9 +6986,8 @@ }, "node_modules/eslint-plugin-import/node_modules/brace-expansion": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0", @@ -7351,9 +6996,8 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" @@ -7361,9 +7005,8 @@ }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "esutils": "^2.0.2" @@ -7374,9 +7017,8 @@ }, "node_modules/eslint-plugin-import/node_modules/minimatch": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -7387,9 +7029,8 @@ }, "node_modules/eslint-plugin-jsdoc": { "version": "46.10.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.10.1.tgz", - "integrity": "sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "@es-joy/jsdoccomment": "~0.41.0", @@ -7411,9 +7052,8 @@ }, "node_modules/eslint-plugin-jsdoc/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -7424,9 +7064,8 @@ }, "node_modules/eslint-plugin-n": { "version": "16.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", - "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -7453,9 +7092,8 @@ }, "node_modules/eslint-plugin-n/node_modules/brace-expansion": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0", @@ -7464,9 +7102,8 @@ }, "node_modules/eslint-plugin-n/node_modules/minimatch": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -7477,9 +7114,8 @@ }, "node_modules/eslint-plugin-n/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -7490,9 +7126,8 @@ }, "node_modules/eslint-plugin-promise": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", - "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", "dev": true, + "license": "ISC", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -7506,9 +7141,8 @@ }, "node_modules/eslint-plugin-vue": { "version": "9.33.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz", - "integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -7529,9 +7163,8 @@ }, "node_modules/eslint-plugin-vue/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -7542,9 +7175,8 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "esrecurse": "^4.3.0", @@ -7556,9 +7188,8 @@ }, "node_modules/eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10" @@ -7566,9 +7197,8 @@ }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0", @@ -7577,9 +7207,8 @@ }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "esrecurse": "^4.3.0", @@ -7594,9 +7223,8 @@ }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -7607,9 +7235,8 @@ }, "node_modules/eslint/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -7617,9 +7244,8 @@ }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -7630,9 +7256,8 @@ }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "acorn": "^8.9.0", @@ -7648,9 +7273,8 @@ }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -7661,9 +7285,8 @@ }, "node_modules/esquery": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "estraverse": "^5.1.0" @@ -7674,9 +7297,8 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -7684,9 +7306,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "estraverse": "^5.2.0" @@ -7697,9 +7318,8 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -7707,9 +7327,8 @@ }, "node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -7717,9 +7336,8 @@ }, "node_modules/estree-toolkit": { "version": "1.7.13", - "resolved": "https://registry.npmjs.org/estree-toolkit/-/estree-toolkit-1.7.13.tgz", - "integrity": "sha512-/fLCEcVBUgAtMkGXZHplPVyUv7wiSfsCGubBdM16n1iYCidPfyk1Kk1U0wAxLZADuA3z8k87DfVYXlBmHJeekg==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": ">=1.0.7", "@types/estree-jsx": ">=1.0.5" @@ -7727,8 +7345,7 @@ }, "node_modules/estree-util-is-identifier-name": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -7736,14 +7353,12 @@ }, "node_modules/estree-walker": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=0.10.0" @@ -7751,28 +7366,24 @@ }, "node_modules/event-target-polyfill": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/event-target-polyfill/-/event-target-polyfill-0.0.4.tgz", - "integrity": "sha512-Gs6RLjzlLRdT8X9ZipJdIZI/Y6/HhRLyq9RdDlCsnpxr/+Nn6bU2EFGuC94GjxqhM+Nmij2Vcq98yoHrU8uNFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eventemitter3": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", - "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==" + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -7780,34 +7391,29 @@ }, "node_modules/expect-type": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.0.0" } }, "node_modules/exsolve": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", - "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==" + "license": "MIT" }, "node_modules/extend": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -7822,9 +7428,8 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "is-glob": "^4.0.1" @@ -7835,22 +7440,18 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fast-uri": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "dev": true, "funding": [ { @@ -7861,23 +7462,21 @@ "type": "opencollective", "url": "https://opencollective.com/fastify" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/fast-xml-builder": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz", - "integrity": "sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" } - ] + ], + "license": "MIT" }, "node_modules/fast-xml-parser": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.4.tgz", - "integrity": "sha512-jE8ugADnYOBsu1uaoayVl1tVKAMNOXyjwvv2U6udEA2ORBhDooJDWoGxTkhd4Qn4yh59JVVt/pKXtjPwx9OguQ==", "dev": true, "funding": [ { @@ -7885,6 +7484,7 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], + "license": "MIT", "peer": true, "dependencies": { "strnum": "^1.0.5" @@ -7895,9 +7495,8 @@ }, "node_modules/fastest-levenshtein": { "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 4.9.1" @@ -7905,9 +7504,8 @@ }, "node_modules/fastq": { "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "reusify": "^1.0.4" @@ -7915,8 +7513,7 @@ }, "node_modules/fdir": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", "engines": { "node": ">=12.0.0" }, @@ -7931,8 +7528,6 @@ }, "node_modules/fetch-blob": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "funding": [ { "type": "github", @@ -7943,6 +7538,7 @@ "url": "https://paypal.me/jimmywarting" } ], + "license": "MIT", "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -7953,9 +7549,8 @@ }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "flat-cache": "^3.0.4" @@ -7966,9 +7561,8 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -7979,9 +7573,8 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -7995,9 +7588,8 @@ }, "node_modules/flat-cache": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "flatted": "^3.2.9", @@ -8010,15 +7602,13 @@ }, "node_modules/flatted": { "version": "3.3.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz", - "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/floating-vue": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-5.2.2.tgz", - "integrity": "sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==", + "license": "MIT", "dependencies": { "@floating-ui/dom": "~1.1.1", "vue-resize": "^2.0.0-alpha.1" @@ -8035,30 +7625,27 @@ }, "node_modules/floating-vue/node_modules/@floating-ui/dom": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz", - "integrity": "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==", + "license": "MIT", "dependencies": { "@floating-ui/core": "^1.1.0" } }, "node_modules/focus-trap": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-8.0.0.tgz", - "integrity": "sha512-Aa84FOGHs99vVwufDMdq2qgOwXPC2e9U66GcqBhn1/jEHPDhJaP8PYhkIbqG9lhfL5Kddk/567lj46LLHYCRUw==", + "license": "MIT", "dependencies": { "tabbable": "^6.4.0" } }, "node_modules/follow-redirects": { "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -8070,8 +7657,7 @@ }, "node_modules/for-each": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", "dependencies": { "is-callable": "^1.2.7" }, @@ -8084,9 +7670,8 @@ }, "node_modules/foreground-child": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" @@ -8100,8 +7685,7 @@ }, "node_modules/form-data": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -8115,8 +7699,7 @@ }, "node_modules/formdata-polyfill": { "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" }, @@ -8125,10 +7708,9 @@ } }, "node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "version": "11.3.4", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -8140,9 +7722,8 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/fsevents": { @@ -8151,6 +7732,7 @@ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -8161,17 +7743,15 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/function.prototype.name": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -8190,27 +7770,24 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/generator-function": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6.9.0" @@ -8218,9 +7795,8 @@ }, "node_modules/get-east-asian-width": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", - "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=18" @@ -8231,8 +7807,7 @@ }, "node_modules/get-intrinsic": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", @@ -8254,8 +7829,7 @@ }, "node_modules/get-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" @@ -8266,9 +7840,8 @@ }, "node_modules/get-symbol-description": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.3", @@ -8284,9 +7857,8 @@ }, "node_modules/get-tsconfig": { "version": "4.13.6", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -8297,10 +7869,8 @@ }, "node_modules/glob": { "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -8318,9 +7888,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "is-glob": "^4.0.3" @@ -8331,9 +7900,8 @@ }, "node_modules/global-modules": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "global-prefix": "^3.0.0" @@ -8344,9 +7912,8 @@ }, "node_modules/global-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ini": "^1.3.5", @@ -8359,9 +7926,8 @@ }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "isexe": "^2.0.0" @@ -8372,9 +7938,8 @@ }, "node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "type-fest": "^0.20.2" @@ -8388,9 +7953,8 @@ }, "node_modules/globalthis": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "define-properties": "^1.2.1", @@ -8405,9 +7969,8 @@ }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "array-union": "^2.1.0", @@ -8426,15 +7989,13 @@ }, "node_modules/globjoin": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/gopd": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8444,21 +8005,17 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/happy-dom": { "version": "20.8.3", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.8.3.tgz", - "integrity": "sha512-lMHQRRwIPyJ70HV0kkFT7jH/gXzSI7yDkQFe07E2flwmNDFoWUTRMKpW2sglsnpeA7b6S2TJPp98EbQxai8eaQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8475,9 +8032,8 @@ }, "node_modules/has-bigints": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8487,17 +8043,15 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -8507,9 +8061,8 @@ }, "node_modules/has-proto": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "dunder-proto": "^1.0.0" @@ -8523,8 +8076,7 @@ }, "node_modules/has-symbols": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8534,8 +8086,7 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -8548,8 +8099,7 @@ }, "node_modules/hash-base": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", - "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1" @@ -8560,8 +8110,7 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -8569,9 +8118,8 @@ }, "node_modules/hashery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.0.tgz", - "integrity": "sha512-nhQ6ExaOIqti2FDWoEMWARUqIKyjr2VcZzXShrI+A3zpeiuPWzx6iPftt44LhP74E5sW36B75N6VHbvRtpvO6Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "hookified": "^1.14.0" @@ -8582,8 +8130,7 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -8593,8 +8140,7 @@ }, "node_modules/hast-util-is-element": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0" }, @@ -8605,8 +8151,7 @@ }, "node_modules/hast-util-to-jsx-runtime": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", @@ -8631,8 +8176,7 @@ }, "node_modules/hast-util-to-text": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -8646,8 +8190,7 @@ }, "node_modules/hast-util-whitespace": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0" }, @@ -8658,25 +8201,22 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } }, "node_modules/highlight.js": { "version": "11.11.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", - "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", "engines": { "node": ">=12.0.0" } }, "node_modules/hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -8685,32 +8225,27 @@ }, "node_modules/hookable": { "version": "5.5.3", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" + "license": "MIT" }, "node_modules/hookified": { "version": "1.15.1", - "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz", - "integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/hot-patcher": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hot-patcher/-/hot-patcher-2.0.1.tgz", - "integrity": "sha512-ECg1JFG0YzehicQaogenlcs2qg6WsXQsxtnbr1i696u5tLUjtJdQAh0u2g0Q5YV45f263Ta1GnUJsc8WIfJf4Q==" + "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/html-tags": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz", - "integrity": "sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=20.10" @@ -8721,8 +8256,6 @@ }, "node_modules/htmlparser2": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -8731,6 +8264,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "peer": true, "dependencies": { "domelementtype": "^2.3.0", @@ -8741,9 +8275,8 @@ }, "node_modules/htmlparser2/node_modules/entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=0.12" @@ -8754,15 +8287,13 @@ }, "node_modules/https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/https-proxy-agent": { "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -8773,8 +8304,6 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -8789,13 +8318,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 4" @@ -8803,17 +8332,14 @@ }, "node_modules/immutable": { "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", "dev": true, "license": "MIT", "peer": true }, "node_modules/import-fresh": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "parent-module": "^1.0.0", @@ -8828,18 +8354,16 @@ }, "node_modules/import-lazy": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/import-meta-resolve": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", - "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", "dev": true, + "license": "MIT", "peer": true, "funding": { "type": "github", @@ -8848,9 +8372,8 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.19" @@ -8858,9 +8381,8 @@ }, "node_modules/index-to-position": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", - "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -8870,10 +8392,8 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "once": "^1.3.0", @@ -8882,25 +8402,21 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/inline-style-parser": { "version": "0.2.7", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", - "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==" + "license": "MIT" }, "node_modules/internal-slot": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", @@ -8912,8 +8428,7 @@ }, "node_modules/is-absolute-url": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", - "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -8923,8 +8438,7 @@ }, "node_modules/is-alphabetical": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -8932,8 +8446,7 @@ }, "node_modules/is-alphanumerical": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" @@ -8945,9 +8458,8 @@ }, "node_modules/is-arguments": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" @@ -8961,9 +8473,8 @@ }, "node_modules/is-array-buffer": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -8978,16 +8489,14 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/is-async-function": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "async-function": "^1.0.0", @@ -9005,9 +8514,8 @@ }, "node_modules/is-bigint": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.2" }, @@ -9020,9 +8528,8 @@ }, "node_modules/is-boolean-object": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -9036,14 +8543,12 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "license": "MIT" }, "node_modules/is-builtin-module": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "builtin-modules": "^3.3.0" @@ -9057,9 +8562,8 @@ }, "node_modules/is-bun-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "semver": "^7.7.1" @@ -9067,9 +8571,8 @@ }, "node_modules/is-bun-module/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -9080,8 +8583,7 @@ }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9091,9 +8593,8 @@ }, "node_modules/is-core-module": { "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -9106,9 +8607,8 @@ }, "node_modules/is-data-view": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.2", @@ -9124,9 +8624,8 @@ }, "node_modules/is-date-object": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" @@ -9140,8 +8639,7 @@ }, "node_modules/is-decimal": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9149,9 +8647,8 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -9159,9 +8656,8 @@ }, "node_modules/is-finalizationregistry": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.3" @@ -9175,18 +8671,16 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-function": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", @@ -9203,9 +8697,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-extglob": "^2.1.1" @@ -9216,8 +8709,7 @@ }, "node_modules/is-hexadecimal": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9225,9 +8717,8 @@ }, "node_modules/is-map": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9237,9 +8728,8 @@ }, "node_modules/is-nan": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -9253,9 +8743,8 @@ }, "node_modules/is-negative-zero": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 0.4" @@ -9266,9 +8755,8 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.12.0" @@ -9276,9 +8764,8 @@ }, "node_modules/is-number-object": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -9292,9 +8779,8 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -9302,8 +8788,7 @@ }, "node_modules/is-plain-obj": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -9313,9 +8798,8 @@ }, "node_modules/is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -9323,9 +8807,8 @@ }, "node_modules/is-regex": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", @@ -9341,8 +8824,7 @@ }, "node_modules/is-retry-allowed": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", - "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -9352,9 +8834,8 @@ }, "node_modules/is-set": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9364,9 +8845,8 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3" }, @@ -9379,9 +8859,8 @@ }, "node_modules/is-string": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -9395,8 +8874,7 @@ }, "node_modules/is-svg": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-6.1.0.tgz", - "integrity": "sha512-i7YPdvYuSCYcaLQrKwt8cvKTlwHcdA6Hp8N9SO3Q5jIzo8x6kH3N47W0BvPP7NdxVBmIHx7X9DK36czYYW7lHg==", + "license": "MIT", "dependencies": { "@file-type/xml": "^0.4.3" }, @@ -9409,9 +8887,8 @@ }, "node_modules/is-symbol": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", @@ -9426,8 +8903,7 @@ }, "node_modules/is-typed-array": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.16" }, @@ -9440,9 +8916,8 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9452,9 +8927,8 @@ }, "node_modules/is-weakref": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.3" @@ -9468,9 +8942,8 @@ }, "node_modules/is-weakset": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" @@ -9484,8 +8957,7 @@ }, "node_modules/is-what": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", - "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", "engines": { "node": ">=18" }, @@ -9495,38 +8967,33 @@ }, "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/isomorphic-timers-promises": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz", - "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -9538,9 +9005,8 @@ }, "node_modules/istanbul-reports": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -9551,9 +9017,8 @@ }, "node_modules/jackspeak": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -9566,15 +9031,13 @@ }, "node_modules/jju": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-beautify": { "version": "1.15.4", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz", - "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==", "dev": true, + "license": "MIT", "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^1.0.4", @@ -9593,38 +9056,33 @@ }, "node_modules/js-confetti": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/js-confetti/-/js-confetti-0.13.1.tgz", - "integrity": "sha512-Kau3apum0zYIvELfZv0lL5VY7dvzpbKi4Oq0XdfjDKdNZc/O+IeGRyLEej7GJ/1APbASvb+ZTWDxmTxxSFkTOg==" + "license": "MIT" }, "node_modules/js-cookie": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/js-levenshtein": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -9634,9 +9092,8 @@ }, "node_modules/jsdoc-type-pratt-parser": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", - "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12.0.0" @@ -9644,8 +9101,7 @@ }, "node_modules/jsesc": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -9655,36 +9111,31 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -9694,9 +9145,8 @@ }, "node_modules/jsonfile": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -9706,9 +9156,8 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "json-buffer": "3.0.1" @@ -9716,9 +9165,8 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -9726,27 +9174,23 @@ }, "node_modules/known-css-properties": { "version": "0.37.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", - "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/kolorist": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/layerr": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/layerr/-/layerr-3.0.0.tgz", - "integrity": "sha512-tv754Ki2dXpPVApOrjTyRo4/QegVb9eVFq4mjqp4+NM5NaX7syQvN5BBNfV/ZpAHCEHV24XdUVrBAoka4jt3pA==" + "license": "MIT" }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "prelude-ls": "^1.2.1", @@ -9758,20 +9202,17 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/linkifyjs": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz", - "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==" + "license": "MIT" }, "node_modules/local-pkg": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", - "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", + "license": "MIT", "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.3.0", @@ -9786,9 +9227,8 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -9801,28 +9241,24 @@ }, "node_modules/lodash": { "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/lodash.truncate": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/longest-streak": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9830,8 +9266,7 @@ }, "node_modules/lowlight": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.3.0.tgz", - "integrity": "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.0.0", @@ -9844,9 +9279,8 @@ }, "node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "yallist": "^3.0.2" @@ -9854,25 +9288,22 @@ }, "node_modules/lz-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } }, "node_modules/magic-string": { "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "node_modules/magic-string-ast": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-1.0.3.tgz", - "integrity": "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==", + "license": "MIT", "dependencies": { "magic-string": "^0.30.19" }, @@ -9885,9 +9316,8 @@ }, "node_modules/magicast": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", - "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", @@ -9896,9 +9326,8 @@ }, "node_modules/mailpit-api": { "version": "1.7.2", - "resolved": "https://registry.npmjs.org/mailpit-api/-/mailpit-api-1.7.2.tgz", - "integrity": "sha512-bk8D84CoCL4ztXx0a+fDspLkJacU+dMM41LDFlbPQoYpynMzHm4jrtM6ECOKmw30xovv0Ap5WO8mdAGOK65WwQ==", "dev": true, + "license": "MIT", "dependencies": { "axios": "^1.13.5", "partysocket": "^1.1.10", @@ -9910,9 +9339,8 @@ }, "node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -9925,9 +9353,8 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -9937,22 +9364,19 @@ }, "node_modules/material-colors": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + "license": "ISC" }, "node_modules/math-intrinsics": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/mathml-tag-names": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-4.0.0.tgz", - "integrity": "sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==", "dev": true, + "license": "MIT", "peer": true, "funding": { "type": "github", @@ -9961,8 +9385,7 @@ }, "node_modules/md5": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -9971,8 +9394,7 @@ }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -9981,8 +9403,7 @@ }, "node_modules/mdast-squeeze-paragraphs": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-6.0.0.tgz", - "integrity": "sha512-6NDbJPTg0M0Ye+TlYwX1KJ1LFbp515P2immRJyJQhc9Na9cetHzSoHNYIQcXpANEAP1sm9yd/CTZU2uHqR5A+w==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "unist-util-visit": "^5.0.0" @@ -9994,8 +9415,7 @@ }, "node_modules/mdast-util-find-and-replace": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", @@ -10009,8 +9429,7 @@ }, "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -10020,8 +9439,7 @@ }, "node_modules/mdast-util-from-markdown": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", - "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -10043,8 +9461,7 @@ }, "node_modules/mdast-util-mdx-expression": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -10060,8 +9477,7 @@ }, "node_modules/mdast-util-mdx-jsx": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -10083,8 +9499,7 @@ }, "node_modules/mdast-util-mdxjs-esm": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -10100,8 +9515,7 @@ }, "node_modules/mdast-util-newline-to-break": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", - "integrity": "sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-find-and-replace": "^3.0.0" @@ -10113,8 +9527,7 @@ }, "node_modules/mdast-util-phrasing": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" @@ -10126,8 +9539,7 @@ }, "node_modules/mdast-util-to-hast": { "version": "13.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", - "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -10146,8 +9558,7 @@ }, "node_modules/mdast-util-to-markdown": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -10166,8 +9577,7 @@ }, "node_modules/mdast-util-to-string": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0" }, @@ -10177,17 +9587,15 @@ } }, "node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "version": "2.27.1", "dev": true, + "license": "CC0-1.0", "peer": true }, "node_modules/meow": { "version": "13.2.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -10197,9 +9605,8 @@ }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 8" @@ -10207,8 +9614,6 @@ }, "node_modules/micromark": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", "funding": [ { "type": "GitHub Sponsors", @@ -10219,6 +9624,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", @@ -10241,8 +9647,6 @@ }, "node_modules/micromark-core-commonmark": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", "funding": [ { "type": "GitHub Sponsors", @@ -10253,6 +9657,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", @@ -10274,8 +9679,6 @@ }, "node_modules/micromark-factory-destination": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", "funding": [ { "type": "GitHub Sponsors", @@ -10286,6 +9689,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -10294,8 +9698,6 @@ }, "node_modules/micromark-factory-label": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", "funding": [ { "type": "GitHub Sponsors", @@ -10306,6 +9708,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -10315,8 +9718,6 @@ }, "node_modules/micromark-factory-space": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", "funding": [ { "type": "GitHub Sponsors", @@ -10327,6 +9728,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10334,8 +9736,6 @@ }, "node_modules/micromark-factory-title": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", "funding": [ { "type": "GitHub Sponsors", @@ -10346,6 +9746,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -10355,8 +9756,6 @@ }, "node_modules/micromark-factory-whitespace": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10367,6 +9766,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -10376,8 +9776,6 @@ }, "node_modules/micromark-util-character": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", "funding": [ { "type": "GitHub Sponsors", @@ -10388,6 +9786,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10395,8 +9794,6 @@ }, "node_modules/micromark-util-chunked": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", "funding": [ { "type": "GitHub Sponsors", @@ -10407,14 +9804,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-classify-character": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", "funding": [ { "type": "GitHub Sponsors", @@ -10425,6 +9821,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -10433,8 +9830,6 @@ }, "node_modules/micromark-util-combine-extensions": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", "funding": [ { "type": "GitHub Sponsors", @@ -10445,6 +9840,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10452,8 +9848,6 @@ }, "node_modules/micromark-util-decode-numeric-character-reference": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", "funding": [ { "type": "GitHub Sponsors", @@ -10464,14 +9858,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-decode-string": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10482,6 +9875,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -10491,8 +9885,6 @@ }, "node_modules/micromark-util-encode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", "funding": [ { "type": "GitHub Sponsors", @@ -10502,12 +9894,11 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-html-tag-name": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", "funding": [ { "type": "GitHub Sponsors", @@ -10517,12 +9908,11 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-normalize-identifier": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", "funding": [ { "type": "GitHub Sponsors", @@ -10533,14 +9923,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-resolve-all": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", "funding": [ { "type": "GitHub Sponsors", @@ -10551,14 +9940,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-sanitize-uri": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10569,6 +9957,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", @@ -10577,8 +9966,6 @@ }, "node_modules/micromark-util-subtokenize": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", "funding": [ { "type": "GitHub Sponsors", @@ -10589,6 +9976,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -10598,8 +9986,6 @@ }, "node_modules/micromark-util-symbol": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", "funding": [ { "type": "GitHub Sponsors", @@ -10609,12 +9995,11 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-types": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", "funding": [ { "type": "GitHub Sponsors", @@ -10624,13 +10009,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromatch": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "braces": "^3.0.3", @@ -10642,9 +10027,8 @@ }, "node_modules/micromatch/node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8.6" @@ -10655,8 +10039,7 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -10667,21 +10050,18 @@ }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + "license": "MIT" }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -10691,18 +10071,15 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "license": "MIT" }, "node_modules/minimatch": { "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.2" }, @@ -10715,9 +10092,8 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, + "license": "MIT", "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10725,38 +10101,33 @@ }, "node_modules/minipass": { "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/mitt": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + "license": "MIT" }, "node_modules/mlly": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", - "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "version": "1.8.1", + "license": "MIT", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.16.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", - "ufo": "^1.6.1" + "ufo": "^1.6.3" } }, "node_modules/mlly/node_modules/confbox": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==" + "license": "MIT" }, "node_modules/mlly/node_modules/pkg-types": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", @@ -10765,32 +10136,28 @@ }, "node_modules/moment": { "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "license": "MIT" }, "node_modules/muggle-string": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", - "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==" + "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -10800,9 +10167,8 @@ }, "node_modules/napi-postinstall": { "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", "dev": true, + "license": "MIT", "peer": true, "bin": { "napi-postinstall": "lib/cli.js" @@ -10816,29 +10182,23 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/nested-property": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/nested-property/-/nested-property-4.0.0.tgz", - "integrity": "sha512-yFehXNWRs4cM0+dz7QxCd06hTbWbSkV0ISsqBfkntU6TOY4Qm3Q88fRRLOddkGh2Qq6dZvnKVAahfhjcUvLnyA==" + "license": "MIT" }, "node_modules/node-addon-api": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, + "license": "MIT", "optional": true, "peer": true }, "node_modules/node-domexception": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "deprecated": "Use your platform's native DOMException instead", "funding": [ { "type": "github", @@ -10849,14 +10209,14 @@ "url": "https://paypal.me/jimmywarting" } ], + "license": "MIT", "engines": { "node": ">=10.5.0" } }, "node_modules/node-fetch": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -10872,21 +10232,18 @@ }, "node_modules/node-readable-to-web-readable-stream": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/node-readable-to-web-readable-stream/-/node-readable-to-web-readable-stream-0.4.2.tgz", - "integrity": "sha512-/cMZNI34v//jUTrI+UIo4ieHAB5EZRY/+7OmXZgBxaWBMcW2tGdceIw06RFxWxrKZ5Jp3sI2i5TsRo+CBhtVLQ==", + "license": "MIT", "optional": true }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", - "dev": true + "version": "2.0.36", + "dev": true, + "license": "MIT" }, "node_modules/node-stdlib-browser": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz", - "integrity": "sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw==", "dev": true, + "license": "MIT", "dependencies": { "assert": "^2.0.0", "browser-resolve": "^2.0.0", @@ -10922,15 +10279,13 @@ }, "node_modules/node-stdlib-browser/node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-stdlib-browser/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -10942,9 +10297,8 @@ }, "node_modules/nopt": { "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", "dev": true, + "license": "ISC", "dependencies": { "abbrev": "^2.0.0" }, @@ -10957,9 +10311,8 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -10967,9 +10320,8 @@ }, "node_modules/nth-check": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "boolbase": "^1.0.0" @@ -10980,9 +10332,8 @@ }, "node_modules/object-inspect": { "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10992,9 +10343,8 @@ }, "node_modules/object-is": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" @@ -11008,18 +10358,16 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -11037,9 +10385,8 @@ }, "node_modules/object.fromentries": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -11056,9 +10403,8 @@ }, "node_modules/object.groupby": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -11071,9 +10417,8 @@ }, "node_modules/object.values": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -11090,19 +10435,17 @@ }, "node_modules/obug": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", "https://opencollective.com/debug" - ] + ], + "license": "MIT" }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "wrappy": "1" @@ -11110,9 +10453,8 @@ }, "node_modules/openapi-typescript": { "version": "7.13.0", - "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.13.0.tgz", - "integrity": "sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==", "dev": true, + "license": "MIT", "dependencies": { "@redocly/openapi-core": "^1.34.6", "ansi-colors": "^4.1.3", @@ -11130,9 +10472,8 @@ }, "node_modules/openapi-typescript/node_modules/supports-color": { "version": "10.2.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", - "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -11142,9 +10483,8 @@ }, "node_modules/optionator": { "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "deep-is": "^0.1.3", @@ -11160,15 +10500,13 @@ }, "node_modules/os-browserify": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/own-keys": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "get-intrinsic": "^1.2.6", @@ -11184,17 +10522,15 @@ }, "node_modules/p-cancelable": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-4.0.1.tgz", - "integrity": "sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==", + "license": "MIT", "engines": { "node": ">=14.16" } }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -11207,9 +10543,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -11222,8 +10557,7 @@ }, "node_modules/p-queue": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.1.0.tgz", - "integrity": "sha512-O/ZPaXuQV29uSLbxWBGGZO1mCQXV2BLIwUr59JUU9SoH76mnYvtms7aafH/isNSNGwuEfP6W/4xD0/TJXxrizw==", + "license": "MIT", "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^7.0.0" @@ -11237,8 +10571,7 @@ }, "node_modules/p-timeout": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", - "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", + "license": "MIT", "engines": { "node": ">=20" }, @@ -11248,15 +10581,13 @@ }, "node_modules/package-json-from-dist": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true + "dev": true, + "license": "BlueOak-1.0.0" }, "node_modules/package-name-regex": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.6.tgz", - "integrity": "sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -11266,15 +10597,13 @@ }, "node_modules/pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "dev": true, + "license": "(MIT AND Zlib)" }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "callsites": "^3.0.0" @@ -11285,8 +10614,7 @@ }, "node_modules/parse-asn1": { "version": "5.1.9", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", - "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", + "license": "ISC", "dependencies": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", @@ -11300,8 +10628,7 @@ }, "node_modules/parse-entities": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", @@ -11318,14 +10645,12 @@ }, "node_modules/parse-entities/node_modules/@types/unist": { "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + "license": "MIT" }, "node_modules/parse-json": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", - "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.1.0", @@ -11340,9 +10665,8 @@ }, "node_modules/parse-json/node_modules/type-fest": { "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" }, @@ -11352,9 +10676,8 @@ }, "node_modules/partysocket": { "version": "1.1.16", - "resolved": "https://registry.npmjs.org/partysocket/-/partysocket-1.1.16.tgz", - "integrity": "sha512-d7xFv+ZC7x0p/DAHWJ5FhxQhimIx+ucyZY+kxL0cKddLBmK9c4p2tEA/L+dOOrWm6EYrRwrBjKQV0uSzOY9x1w==", "dev": true, + "license": "MIT", "dependencies": { "event-target-polyfill": "^0.0.4" }, @@ -11369,24 +10692,21 @@ }, "node_modules/path-browserify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -11394,29 +10714,25 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-posix": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz", - "integrity": "sha512-1gJ0WpNIiYcQydgg3Ed8KzvIqTsDpNwq+cjBCssvBtuTWjEqY1AW+i+OepiEMqDCzyro9B2sLAe4RBPajMYFiA==" + "license": "ISC" }, "node_modules/path-scurry": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -11430,15 +10746,13 @@ }, "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -11446,13 +10760,11 @@ }, "node_modules/pathe": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==" + "license": "MIT" }, "node_modules/pbkdf2": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", - "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "license": "MIT", "dependencies": { "create-hash": "^1.2.0", "create-hmac": "^1.1.7", @@ -11467,8 +10779,7 @@ }, "node_modules/pdfjs-dist": { "version": "5.5.207", - "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.5.207.tgz", - "integrity": "sha512-WMqqw06w1vUt9ZfT0gOFhMf3wHsWhaCrxGrckGs5Cci6ybDW87IvPaOd2pnBwT6BJuP/CzXDZxjFgmSULLdsdw==", + "license": "Apache-2.0", "engines": { "node": ">=20.19.0 || >=22.13.0 || >=24" }, @@ -11479,18 +10790,15 @@ }, "node_modules/perfect-debounce": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" + "license": "MIT" }, "node_modules/picocolors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + "license": "ISC" }, "node_modules/picomatch": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -11500,8 +10808,7 @@ }, "node_modules/pinia": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", - "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", "dependencies": { "@vue/devtools-api": "^7.7.7" }, @@ -11520,9 +10827,8 @@ }, "node_modules/pkg-dir": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^5.0.0" }, @@ -11532,8 +10838,7 @@ }, "node_modules/pkg-types": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", - "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "license": "MIT", "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", @@ -11542,9 +10847,8 @@ }, "node_modules/playwright": { "version": "1.58.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz", - "integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==", "dev": true, + "license": "Apache-2.0", "dependencies": { "playwright-core": "1.58.2" }, @@ -11560,9 +10864,8 @@ }, "node_modules/playwright-core": { "version": "1.58.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz", - "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==", "dev": true, + "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, @@ -11572,25 +10875,21 @@ }, "node_modules/pluralize": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/possible-typed-array-names": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.8", "funding": [ { "type": "opencollective", @@ -11605,6 +10904,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -11616,9 +10916,8 @@ }, "node_modules/postcss-html": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.1.tgz", - "integrity": "sha512-OLF6P7qctfAWayOhLpcVnTGqVeJzu2W3WpIYelfz2+JV5oGxfkcEvweN9U4XpeqE0P98dcD9ssusGwlF0TK0uQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "htmlparser2": "^8.0.0", @@ -11632,30 +10931,26 @@ }, "node_modules/postcss-html/node_modules/js-tokens": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/postcss-media-query-parser": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/postcss-resolve-nested-selector": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", - "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/postcss-safe-parser": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", - "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12.0" @@ -11670,8 +10965,6 @@ }, "node_modules/postcss-scss": { "version": "4.0.9", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", - "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", "dev": true, "funding": [ { @@ -11687,6 +10980,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=12.0" @@ -11697,9 +10991,8 @@ }, "node_modules/postcss-selector-parser": { "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "cssesc": "^3.0.0", @@ -11711,16 +11004,14 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 0.8.0" @@ -11728,9 +11019,8 @@ }, "node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -11742,9 +11032,8 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -11754,22 +11043,19 @@ }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "license": "MIT" }, "node_modules/property-information": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -11777,19 +11063,16 @@ }, "node_modules/proto-list": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/proxy-from-env": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "license": "MIT" }, "node_modules/public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -11801,14 +11084,12 @@ }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + "license": "MIT" }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -11816,9 +11097,8 @@ }, "node_modules/qified": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/qified/-/qified-0.6.0.tgz", - "integrity": "sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "hookified": "^1.14.0" @@ -11829,9 +11109,8 @@ }, "node_modules/qs": { "version": "6.15.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" }, @@ -11844,8 +11123,6 @@ }, "node_modules/quansync": { "version": "0.2.11", - "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", - "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==", "funding": [ { "type": "individual", @@ -11855,12 +11132,11 @@ "type": "individual", "url": "https://github.com/sponsors/sxzz" } - ] + ], + "license": "MIT" }, "node_modules/querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, "engines": { "node": ">=0.4.x" @@ -11868,13 +11144,10 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -11890,20 +11163,19 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "peer": true }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -11911,14 +11183,12 @@ }, "node_modules/react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -11931,14 +11201,12 @@ }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/readdirp": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 14.18.0" @@ -11950,9 +11218,8 @@ }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -11973,9 +11240,8 @@ }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", @@ -11993,8 +11259,7 @@ }, "node_modules/rehype-external-links": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", - "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@ungap/structured-clone": "^1.0.0", @@ -12010,8 +11275,7 @@ }, "node_modules/rehype-highlight": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz", - "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-text": "^4.0.0", @@ -12026,8 +11290,7 @@ }, "node_modules/rehype-react": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/rehype-react/-/rehype-react-8.0.0.tgz", - "integrity": "sha512-vzo0YxYbB2HE+36+9HWXVdxNoNDubx63r5LBzpxBGVWM8s9mdnMdbmuJBAX6TTyuGdZjZix6qU3GcSuKCIWivw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", @@ -12040,8 +11303,7 @@ }, "node_modules/remark-breaks": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", - "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-newline-to-break": "^2.0.0", @@ -12054,8 +11316,7 @@ }, "node_modules/remark-parse": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", @@ -12069,8 +11330,7 @@ }, "node_modules/remark-rehype": { "version": "11.1.2", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -12085,8 +11345,7 @@ }, "node_modules/remark-unlink-protocols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/remark-unlink-protocols/-/remark-unlink-protocols-1.0.0.tgz", - "integrity": "sha512-5j/F28jhFmxeyz8nuJYYIWdR4nNpKWZ8A+tVwnK/0pq7Rjue33CINEYSckSq2PZvedhKUwbn08qyiuGoPLBung==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-squeeze-paragraphs": "^6.0.0", @@ -12095,18 +11354,16 @@ }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/requireindex": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", - "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.5" @@ -12114,14 +11371,12 @@ }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", @@ -12139,9 +11394,8 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -12149,9 +11403,8 @@ }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, + "license": "MIT", "peer": true, "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" @@ -12159,9 +11412,8 @@ }, "node_modules/resolve.exports": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -12169,9 +11421,8 @@ }, "node_modules/reusify": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "iojs": ">=1.0.0", @@ -12180,15 +11431,12 @@ }, "node_modules/rfdc": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + "license": "MIT" }, "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "glob": "^7.1.3" @@ -12202,9 +11450,8 @@ }, "node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0", @@ -12213,10 +11460,8 @@ }, "node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -12235,9 +11480,8 @@ }, "node_modules/rimraf/node_modules/minimatch": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -12248,8 +11492,7 @@ }, "node_modules/ripemd160": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", - "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "license": "MIT", "dependencies": { "hash-base": "^3.1.2", "inherits": "^2.0.4" @@ -12260,8 +11503,7 @@ }, "node_modules/ripemd160/node_modules/hash-base": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", - "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^2.3.8", @@ -12274,9 +11516,8 @@ }, "node_modules/rollup": { "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.8" }, @@ -12318,9 +11559,8 @@ }, "node_modules/rollup-plugin-corejs": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-corejs/-/rollup-plugin-corejs-1.0.2.tgz", - "integrity": "sha512-1IDoQa+EW2NraBc7xANejbQwx62jNikLnDBNrzguRhfVnatyjCcmiIJJ4ScG6PwMP6OIwS8osHMl43CcVJqvaQ==", "dev": true, + "license": "EUPL-1.2", "dependencies": { "acorn": "^8.14.0", "browserslist": "^4.26.3", @@ -12337,9 +11577,8 @@ }, "node_modules/rollup-plugin-esbuild-minify": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-esbuild-minify/-/rollup-plugin-esbuild-minify-1.3.0.tgz", - "integrity": "sha512-y7BDyMMGYhq5901EijNABWgjEzC8myYhOXKmlnU8xIRvX7KQucSWABBR3IEyITuLJFyq/rXIlezDh9zvnR0k2w==", "dev": true, + "license": "MIT", "dependencies": { "esbuild": "^0.25.3" }, @@ -12352,9 +11591,8 @@ }, "node_modules/rollup-plugin-license": { "version": "3.7.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.7.0.tgz", - "integrity": "sha512-RvvOIF+GH3fBR3wffgc/vmjQn6qOn72WjppWVDp/v+CLpT0BbcRBdSkPeeIOL6U5XccdYgSIMjUyXgxlKEEFcw==", "dev": true, + "license": "MIT", "dependencies": { "commenting": "^1.1.0", "fdir": "^6.4.3", @@ -12374,8 +11612,6 @@ }, "node_modules/rollup-plugin-node-externals": { "version": "8.1.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-externals/-/rollup-plugin-node-externals-8.1.2.tgz", - "integrity": "sha512-EuB6/lolkMLK16gvibUjikERq5fCRVIGwD2xue/CrM8D0pz5GXD2V6N8IrgxegwbcUoKkUFI8VYCEEv8MMvgpA==", "dev": true, "funding": [ { @@ -12387,6 +11623,7 @@ "url": "https://paypal.me/septh07" } ], + "license": "MIT", "engines": { "node": ">= 21 || ^20.6.0 || ^18.19.0" }, @@ -12396,8 +11633,6 @@ }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -12413,6 +11648,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "peer": true, "dependencies": { "queue-microtask": "^1.2.2" @@ -12420,9 +11656,8 @@ }, "node_modules/safe-array-concat": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -12440,15 +11675,12 @@ }, "node_modules/safe-array-concat/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -12462,13 +11694,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-push-apply": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "es-errors": "^1.3.0", @@ -12483,16 +11715,14 @@ }, "node_modules/safe-push-apply/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/safe-regex-test": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -12507,9 +11737,8 @@ }, "node_modules/sass": { "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", - "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chokidar": "^4.0.0", @@ -12528,22 +11757,19 @@ }, "node_modules/sax": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", - "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==", + "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" } }, "node_modules/scule": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", - "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" + "license": "MIT" }, "node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -12551,8 +11777,7 @@ }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -12567,9 +11792,8 @@ }, "node_modules/set-function-name": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -12582,9 +11806,8 @@ }, "node_modules/set-proto": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "dunder-proto": "^1.0.1", @@ -12597,14 +11820,12 @@ }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sha.js": { "version": "2.4.12", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", - "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1", @@ -12622,9 +11843,8 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -12634,18 +11854,16 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/side-channel": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", @@ -12662,9 +11880,8 @@ }, "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" @@ -12678,9 +11895,8 @@ }, "node_modules/side-channel-map": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -12696,9 +11912,8 @@ }, "node_modules/side-channel-weakmap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -12715,15 +11930,13 @@ }, "node_modules/siginfo": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/signal-exit": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -12733,14 +11946,12 @@ }, "node_modules/signature_pad": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-5.1.3.tgz", - "integrity": "sha512-zyxW5vuJVnQdGcU+kAj9FYl7WaAunY3kA5S7mPg0xJiujL9+sPAWfSQHS5tXaJXDUa4FuZeKhfdCDQ6K3wfkpQ==" + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -12748,9 +11959,8 @@ }, "node_modules/slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -12766,30 +11976,26 @@ }, "node_modules/sortablejs": { "version": "1.15.7", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.7.tgz", - "integrity": "sha512-Kk8wLQPlS+yi1ZEf48a4+fzHa4yxjC30M/Sr2AnQu+f/MPwvvX9XjZ6OWejiz8crBsLwSq8GHqaxaET7u6ux0A==" + "license": "MIT" }, "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/space-separated-tokens": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12797,9 +12003,8 @@ }, "node_modules/spdx-compare": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz", - "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==", "dev": true, + "license": "MIT", "dependencies": { "array-find-index": "^1.0.2", "spdx-expression-parse": "^3.0.0", @@ -12808,9 +12013,8 @@ }, "node_modules/spdx-compare/node_modules/spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -12818,15 +12022,13 @@ }, "node_modules/spdx-exceptions": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true + "dev": true, + "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", - "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -12834,18 +12036,16 @@ }, "node_modules/spdx-expression-validate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz", - "integrity": "sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==", "dev": true, + "license": "(MIT AND CC-BY-3.0)", "dependencies": { "spdx-expression-parse": "^3.0.0" } }, "node_modules/spdx-expression-validate/node_modules/spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -12853,21 +12053,18 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.23", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", - "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", - "dev": true + "dev": true, + "license": "CC0-1.0" }, "node_modules/spdx-ranges": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz", - "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==", - "dev": true + "dev": true, + "license": "(MIT AND CC-BY-3.0)" }, "node_modules/spdx-satisfies": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz", - "integrity": "sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==", "dev": true, + "license": "MIT", "dependencies": { "spdx-compare": "^1.0.0", "spdx-expression-parse": "^3.0.0", @@ -12876,9 +12073,8 @@ }, "node_modules/spdx-satisfies/node_modules/spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -12886,16 +12082,14 @@ }, "node_modules/speakingurl": { "version": "14.0.1", - "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", - "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/splitpanes": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-4.0.4.tgz", - "integrity": "sha512-RbysugZhjbCw5fgplvk3hOXr41stahQDtZhHVkhnnJI6H4wlGDhM2kIpbehy7v92duy9GnMa8zIhHigIV1TWtg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/antoniandre" }, @@ -12905,34 +12099,29 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/stable-hash": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/stackback": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/std-env": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" @@ -12943,9 +12132,8 @@ }, "node_modules/stream-browserify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "~2.0.4", "readable-stream": "^3.5.0" @@ -12953,9 +12141,8 @@ }, "node_modules/stream-browserify/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12967,9 +12154,8 @@ }, "node_modules/stream-http": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", "dev": true, + "license": "MIT", "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.4", @@ -12979,9 +12165,8 @@ }, "node_modules/stream-http/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12993,31 +12178,27 @@ }, "node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/string-argv": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.19" } }, "node_modules/string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -13033,9 +12214,8 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13047,15 +12227,13 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -13065,9 +12243,8 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.2.2" }, @@ -13080,9 +12257,8 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -13102,9 +12278,8 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -13121,9 +12296,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -13139,8 +12313,7 @@ }, "node_modules/stringify-entities": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" @@ -13152,9 +12325,8 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13165,9 +12337,8 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13177,9 +12348,8 @@ }, "node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -13187,9 +12357,8 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -13199,13 +12368,10 @@ }, "node_modules/striptags": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz", - "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==" + "license": "MIT" }, "node_modules/strnum": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", - "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", "dev": true, "funding": [ { @@ -13213,12 +12379,12 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], + "license": "MIT", "peer": true }, "node_modules/strtok3": { "version": "10.3.4", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.4.tgz", - "integrity": "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==", + "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0" }, @@ -13232,29 +12398,24 @@ }, "node_modules/style-mod": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz", - "integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==" + "license": "MIT" }, "node_modules/style-to-js": { "version": "1.1.21", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", - "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", "dependencies": { "style-to-object": "1.0.14" } }, "node_modules/style-to-object": { "version": "1.0.14", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", - "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", "dependencies": { "inline-style-parser": "0.2.7" } }, "node_modules/stylelint": { "version": "17.4.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.4.0.tgz", - "integrity": "sha512-3kQ2/cHv3Zt8OBg+h2B8XCx9evEABQIrv4hh3uXahGz/ZEHrTR80zxBiK2NfXNaSoyBzxO1pjsz1Vhdzwn5XSw==", "dev": true, "funding": [ { @@ -13266,6 +12427,7 @@ "url": "https://github.com/sponsors/stylelint" } ], + "license": "MIT", "peer": true, "dependencies": { "@csstools/css-calc": "^3.1.1", @@ -13315,9 +12477,8 @@ }, "node_modules/stylelint-config-html": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stylelint-config-html/-/stylelint-config-html-1.1.0.tgz", - "integrity": "sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12 || >=14" @@ -13332,8 +12493,6 @@ }, "node_modules/stylelint-config-recommended": { "version": "18.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-18.0.0.tgz", - "integrity": "sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==", "dev": true, "funding": [ { @@ -13345,6 +12504,7 @@ "url": "https://github.com/sponsors/stylelint" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=20.19.0" @@ -13355,9 +12515,8 @@ }, "node_modules/stylelint-config-recommended-scss": { "version": "17.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-17.0.0.tgz", - "integrity": "sha512-VkVD9r7jfUT/dq3mA3/I1WXXk2U71rO5wvU2yIil9PW5o1g3UM7Xc82vHmuVJHV7Y8ok5K137fmW5u3HbhtTOA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "postcss-scss": "^4.0.9", @@ -13379,9 +12538,8 @@ }, "node_modules/stylelint-config-recommended-vue": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.6.1.tgz", - "integrity": "sha512-lLW7hTIMBiTfjenGuDq2kyHA6fBWd/+Df7MO4/AWOxiFeXP9clbpKgg27kHfwA3H7UNMGC7aeP3mNlZB5LMmEQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "semver": "^7.3.5", @@ -13401,9 +12559,8 @@ }, "node_modules/stylelint-config-recommended-vue/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -13414,9 +12571,8 @@ }, "node_modules/stylelint-scss": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-7.0.0.tgz", - "integrity": "sha512-H88kCC+6Vtzj76NsC8rv6x/LW8slBzIbyeSjsKVlS+4qaEJoDrcJR4L+8JdrR2ORdTscrBzYWiiT2jq6leYR1Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "css-tree": "^3.0.1", @@ -13435,18 +12591,10 @@ "stylelint": "^16.8.2 || ^17.0.0" } }, - "node_modules/stylelint-scss/node_modules/mdn-data": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", - "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", - "dev": true, - "peer": true - }, "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "cssesc": "^3.0.0", @@ -13458,9 +12606,8 @@ }, "node_modules/stylelint-use-logical": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/stylelint-use-logical/-/stylelint-use-logical-2.1.3.tgz", - "integrity": "sha512-haPkgxKre+eSqr4IZJnHwNT/9/wICykeFZIaz7rZbe4SohTHkw7vBahMOrZJZpdny/EBVHAcPH2IBeoiUcZWWw==", "dev": true, + "license": "CC0-1.0", "engines": { "node": ">=14.0.0" }, @@ -13470,8 +12617,6 @@ }, "node_modules/stylelint/node_modules/@csstools/selector-resolve-nested": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-4.0.0.tgz", - "integrity": "sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==", "dev": true, "funding": [ { @@ -13483,6 +12628,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "peer": true, "engines": { "node": ">=20.19.0" @@ -13493,8 +12639,6 @@ }, "node_modules/stylelint/node_modules/@csstools/selector-specificity": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-6.0.0.tgz", - "integrity": "sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==", "dev": true, "funding": [ { @@ -13506,6 +12650,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "peer": true, "engines": { "node": ">=20.19.0" @@ -13516,9 +12661,8 @@ }, "node_modules/stylelint/node_modules/ansi-regex": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -13529,9 +12673,8 @@ }, "node_modules/stylelint/node_modules/file-entry-cache": { "version": "11.1.2", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.2.tgz", - "integrity": "sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "flat-cache": "^6.1.20" @@ -13539,9 +12682,8 @@ }, "node_modules/stylelint/node_modules/flat-cache": { "version": "6.1.20", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.20.tgz", - "integrity": "sha512-AhHYqwvN62NVLp4lObVXGVluiABTHapoB57EyegZVmazN+hhGhLTn3uZbOofoTw4DSDvVCadzzyChXhOAvy8uQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "cacheable": "^2.3.2", @@ -13551,9 +12693,8 @@ }, "node_modules/stylelint/node_modules/globby": { "version": "16.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-16.1.1.tgz", - "integrity": "sha512-dW7vl+yiAJSp6aCekaVnVJxurRv7DCOLyXqEG3RYMYUg7AuJ2jCqPkZTA8ooqC2vtnkaMcV5WfFBMuEnTu1OQg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", @@ -13572,9 +12713,8 @@ }, "node_modules/stylelint/node_modules/ignore": { "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 4" @@ -13582,9 +12722,8 @@ }, "node_modules/stylelint/node_modules/is-path-inside": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -13595,9 +12734,8 @@ }, "node_modules/stylelint/node_modules/meow": { "version": "14.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-14.1.0.tgz", - "integrity": "sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=20" @@ -13608,8 +12746,6 @@ }, "node_modules/stylelint/node_modules/postcss-safe-parser": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", - "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", "dev": true, "funding": [ { @@ -13625,6 +12761,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=18.0" @@ -13635,9 +12772,8 @@ }, "node_modules/stylelint/node_modules/postcss-selector-parser": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "cssesc": "^3.0.0", @@ -13649,9 +12785,8 @@ }, "node_modules/stylelint/node_modules/slash": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=14.16" @@ -13662,9 +12797,8 @@ }, "node_modules/stylelint/node_modules/string-width": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "get-east-asian-width": "^1.5.0", @@ -13679,9 +12813,8 @@ }, "node_modules/stylelint/node_modules/strip-ansi": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^6.2.2" @@ -13695,8 +12828,7 @@ }, "node_modules/superjson": { "version": "2.2.6", - "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz", - "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "license": "MIT", "dependencies": { "copy-anything": "^4" }, @@ -13706,9 +12838,8 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -13718,9 +12849,8 @@ }, "node_modules/supports-hyperlinks": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-4.4.0.tgz", - "integrity": "sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^5.0.1", @@ -13735,9 +12865,8 @@ }, "node_modules/supports-hyperlinks/node_modules/has-flag": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz", - "integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -13748,9 +12877,8 @@ }, "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "10.2.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", - "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=18" @@ -13761,9 +12889,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13773,21 +12900,17 @@ }, "node_modules/svg-tags": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true, "peer": true }, "node_modules/tabbable": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", - "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==" + "license": "MIT" }, "node_modules/table": { "version": "6.9.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", - "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "ajv": "^8.0.1", @@ -13802,9 +12925,8 @@ }, "node_modules/table/node_modules/ajv": { "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", @@ -13819,23 +12941,20 @@ }, "node_modules/table/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/table/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -13848,16 +12967,14 @@ }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/timers-browserify": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, + "license": "MIT", "dependencies": { "setimmediate": "^1.0.4" }, @@ -13867,23 +12984,20 @@ }, "node_modules/tinybench": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tinyexec": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/tinyglobby": { "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" @@ -13897,17 +13011,15 @@ }, "node_modules/tinyrainbow": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/to-buffer": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", - "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "license": "MIT", "dependencies": { "isarray": "^2.0.5", "safe-buffer": "^5.2.1", @@ -13919,14 +13031,12 @@ }, "node_modules/to-buffer/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-number": "^7.0.0" @@ -13937,18 +13047,15 @@ }, "node_modules/toastify-js": { "version": "1.12.0", - "resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.12.0.tgz", - "integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==" + "license": "MIT" }, "node_modules/tributejs": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/tributejs/-/tributejs-5.1.3.tgz", - "integrity": "sha512-B5CXihaVzXw+1UHhNFyAwUTMDk1EfoLP5Tj1VhD9yybZ1I8DZJEv8tZ1l0RJo0t0tk9ZhR8eG5tEsaCvRigmdQ==" + "license": "MIT" }, "node_modules/trim-lines": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -13956,8 +13063,7 @@ }, "node_modules/trough": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -13965,9 +13071,8 @@ }, "node_modules/ts-api-utils": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=16" @@ -13978,17 +13083,15 @@ }, "node_modules/ts-md5": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-2.0.1.tgz", - "integrity": "sha512-yF35FCoEOFBzOclSkMNEUbFQZuv89KEQ+5Xz03HrMSGUGB1+r+El+JiGOFwsP4p9RFNzwlrydYoTLvPOuICl9w==", + "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/tsconfig-paths": { "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/json5": "^0.0.29", @@ -13999,9 +13102,8 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "minimist": "^1.2.0" @@ -14015,20 +13117,19 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, + "license": "0BSD", "optional": true, "peer": true }, "node_modules/tty-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "prelude-ls": "^1.2.1" @@ -14039,9 +13140,8 @@ }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "peer": true, "engines": { "node": ">=10" @@ -14052,8 +13152,7 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", @@ -14065,9 +13164,8 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.8", @@ -14085,9 +13183,8 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "available-typed-arrays": "^1.0.7", @@ -14107,9 +13204,8 @@ }, "node_modules/typed-array-length": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -14128,9 +13224,8 @@ }, "node_modules/typescript": { "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -14141,19 +13236,16 @@ }, "node_modules/typescript-event-target": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/typescript-event-target/-/typescript-event-target-1.1.2.tgz", - "integrity": "sha512-TvkrTUpv7gCPlcnSoEwUVUBwsdheKm+HF5u2tPAKubkIGMfovdSizCTaZRY/NhR8+Ijy8iZZUapbVQAsNrkFrw==" + "license": "MIT" }, "node_modules/ufo": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", - "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==" + "license": "MIT" }, "node_modules/unbox-primitive": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.3", @@ -14170,15 +13262,13 @@ }, "node_modules/undici-types": { "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/unicorn-magic": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz", - "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=20" @@ -14189,8 +13279,7 @@ }, "node_modules/unified": { "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -14207,8 +13296,7 @@ }, "node_modules/unist-builder": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz", - "integrity": "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -14219,8 +13307,7 @@ }, "node_modules/unist-util-find-after": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -14232,8 +13319,7 @@ }, "node_modules/unist-util-is": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -14244,8 +13330,7 @@ }, "node_modules/unist-util-position": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -14256,8 +13341,7 @@ }, "node_modules/unist-util-stringify-position": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -14268,8 +13352,7 @@ }, "node_modules/unist-util-visit": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", - "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -14282,8 +13365,7 @@ }, "node_modules/unist-util-visit-parents": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -14295,17 +13377,15 @@ }, "node_modules/universalify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/unplugin": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-3.0.0.tgz", - "integrity": "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==", + "license": "MIT", "dependencies": { "@jridgewell/remapping": "^2.3.5", "picomatch": "^4.0.3", @@ -14317,8 +13397,7 @@ }, "node_modules/unplugin-utils": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", - "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", + "license": "MIT", "dependencies": { "pathe": "^2.0.3", "picomatch": "^4.0.3" @@ -14332,10 +13411,9 @@ }, "node_modules/unrs-resolver": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "peer": true, "dependencies": { "napi-postinstall": "^0.3.0" @@ -14367,8 +13445,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -14384,6 +13460,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" @@ -14397,9 +13474,8 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "punycode": "^2.1.0" @@ -14407,15 +13483,13 @@ }, "node_modules/uri-js-replace": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", - "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/url": { "version": "0.11.4", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", - "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.12.3" @@ -14426,16 +13500,14 @@ }, "node_modules/url-join": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", - "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -14443,15 +13515,13 @@ }, "node_modules/url/node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/util": { "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -14462,13 +13532,11 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "license": "MIT" }, "node_modules/vfile": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" @@ -14480,8 +13548,7 @@ }, "node_modules/vfile-message": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" @@ -14493,9 +13560,8 @@ }, "node_modules/vite": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, + "license": "MIT", "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -14567,18 +13633,16 @@ }, "node_modules/vite-plugin-css-injected-by-js": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.5.2.tgz", - "integrity": "sha512-2MpU/Y+SCZyWUB6ua3HbJCrgnF0KACAsmzOQt1UvRVJCGF6S8xdA3ZUhWcWdM9ivG4I5az8PnQmwwrkC2CAQrQ==", "dev": true, + "license": "MIT", "peerDependencies": { "vite": ">2.0.0-0" } }, "node_modules/vite-plugin-dts": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz", - "integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/api-extractor": "^7.50.1", "@rollup/pluginutils": "^5.1.4", @@ -14602,9 +13666,8 @@ }, "node_modules/vite-plugin-node-polyfills": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.24.0.tgz", - "integrity": "sha512-GA9QKLH+vIM8NPaGA+o2t8PDfFUl32J8rUp1zQfMKVJQiNkOX4unE51tR6ppl6iKw5yOrDAdSH7r/UIFLCVhLw==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/plugin-inject": "^5.0.5", "node-stdlib-browser": "^1.2.0" @@ -14624,6 +13687,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -14640,6 +13704,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -14656,6 +13721,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -14672,6 +13738,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -14688,6 +13755,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -14704,6 +13772,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -14720,6 +13789,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -14736,6 +13806,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -14752,6 +13823,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14768,6 +13840,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14784,6 +13857,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14800,6 +13874,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14816,6 +13891,7 @@ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14832,6 +13908,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14848,6 +13925,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14864,6 +13942,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14874,12 +13953,11 @@ }, "node_modules/vite/node_modules/@esbuild/linux-x64": { "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -14896,6 +13974,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -14912,6 +13991,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -14928,6 +14008,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -14944,6 +14025,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -14960,6 +14042,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openharmony" @@ -14976,6 +14059,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -14992,6 +14076,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -15008,6 +14093,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -15024,6 +14110,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -15034,10 +14121,9 @@ }, "node_modules/vite/node_modules/esbuild": { "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -15079,6 +14165,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -15089,9 +14176,8 @@ }, "node_modules/vitest": { "version": "4.0.18", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", - "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/expect": "4.0.18", "@vitest/mocker": "4.0.18", @@ -15166,20 +14252,17 @@ }, "node_modules/vm-browserify": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vscode-uri": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vue": { "version": "3.5.29", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.29.tgz", - "integrity": "sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==", + "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.29", "@vue/compiler-sfc": "3.5.29", @@ -15198,8 +14281,7 @@ }, "node_modules/vue-advanced-cropper": { "version": "2.8.9", - "resolved": "https://registry.npmjs.org/vue-advanced-cropper/-/vue-advanced-cropper-2.8.9.tgz", - "integrity": "sha512-1jc5gO674kVGpJKekoaol6ZlwaF5VYDLSBwBOUpViW0IOrrRsyLw6XNszjEqgbavvqinlKNS6Kqlom3B5M72Tw==", + "license": "MIT", "dependencies": { "classnames": "^2.2.6", "debounce": "^1.2.0", @@ -15215,13 +14297,11 @@ }, "node_modules/vue-advanced-cropper/node_modules/debounce": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + "license": "MIT" }, "node_modules/vue-codemirror6": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/vue-codemirror6/-/vue-codemirror6-1.4.2.tgz", - "integrity": "sha512-dD8PhKnZ8FiiorQk405oxN3DX4B0IMCyqHRtBpMNjrNmcvJYAqhj0IoJxR+Nx9Xgmt6UQKDn+1OJW3MDV5sbMA==", + "version": "1.4.3", + "license": "MIT", "dependencies": { "vue-demi": "latest" }, @@ -15244,15 +14324,15 @@ }, "node_modules/vue-component-type-helpers": { "version": "2.2.12", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", - "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vue-demi": { "version": "0.14.10", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", "hasInstallScript": true, + "license": "MIT", "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -15275,9 +14355,8 @@ }, "node_modules/vue-eslint-parser": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", - "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "debug": "^4.3.4", @@ -15300,9 +14379,8 @@ }, "node_modules/vue-eslint-parser/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "esrecurse": "^4.3.0", @@ -15317,9 +14395,8 @@ }, "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -15330,9 +14407,8 @@ }, "node_modules/vue-eslint-parser/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -15340,9 +14416,8 @@ }, "node_modules/vue-eslint-parser/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -15353,16 +14428,14 @@ }, "node_modules/vue-resize": { "version": "2.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", - "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==", + "license": "MIT", "peerDependencies": { "vue": "^3.0.0" } }, "node_modules/vue-router": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.0.3.tgz", - "integrity": "sha512-nG1c7aAFac7NYj8Hluo68WyWfc41xkEjaR0ViLHCa3oDvTQ/nIuLJlXJX1NUPw/DXzx/8+OKMng045HHQKQKWw==", + "license": "MIT", "dependencies": { "@babel/generator": "^7.28.6", "@vue-macros/common": "^3.1.1", @@ -15405,16 +14478,14 @@ }, "node_modules/vue-router/node_modules/@vue/devtools-api": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.0.7.tgz", - "integrity": "sha512-tc1TXAxclsn55JblLkFVcIRG7MeSJC4fWsPjfM7qu/IcmPUYnQ5Q8vzWwBpyDY24ZjmZTUCCwjRSNbx58IhlAA==", + "license": "MIT", "dependencies": { "@vue/devtools-kit": "^8.0.7" } }, "node_modules/vue-router/node_modules/@vue/devtools-kit": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.7.tgz", - "integrity": "sha512-H6esJGHGl5q0E9iV3m2EoBQHJ+V83WMW83A0/+Fn95eZ2iIvdsq4+UCS6yT/Fdd4cGZSchx/MdWDreM3WqMsDw==", + "license": "MIT", "dependencies": { "@vue/devtools-shared": "^8.0.7", "birpc": "^2.6.1", @@ -15424,13 +14495,11 @@ }, "node_modules/vue-router/node_modules/@vue/devtools-shared": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.7.tgz", - "integrity": "sha512-CgAb9oJH5NUmbQRdYDj/1zMiaICYSLtm+B1kxcP72LBrifGAjUmt8bx52dDH1gWRPlQgxGPqpAMKavzVirAEhA==" + "license": "MIT" }, "node_modules/vue-router/node_modules/chokidar": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", "dependencies": { "readdirp": "^5.0.0" }, @@ -15443,13 +14512,11 @@ }, "node_modules/vue-router/node_modules/perfect-debounce": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", - "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==" + "license": "MIT" }, "node_modules/vue-router/node_modules/readdirp": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", "engines": { "node": ">= 20.19.0" }, @@ -15460,16 +14527,48 @@ }, "node_modules/vue-select": { "version": "4.0.0-beta.6", - "resolved": "https://registry.npmjs.org/vue-select/-/vue-select-4.0.0-beta.6.tgz", - "integrity": "sha512-K+zrNBSpwMPhAxYLTCl56gaMrWZGgayoWCLqe5rWwkB8aUbAUh7u6sXjIR7v4ckp2WKC7zEEUY27g6h1MRsIHw==", + "license": "MIT", "peerDependencies": { "vue": "3.x" } }, + "node_modules/vue-tsc": { + "version": "3.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.2.5" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/vue-tsc/node_modules/@vue/language-core": { + "version": "3.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + } + }, + "node_modules/vue-tsc/node_modules/alien-signals": { + "version": "3.1.2", + "dev": true, + "license": "MIT" + }, "node_modules/vuedraggable": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz", - "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==", + "license": "MIT", "dependencies": { "sortablejs": "1.14.0" }, @@ -15479,26 +14578,22 @@ }, "node_modules/vuedraggable/node_modules/sortablejs": { "version": "1.14.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", - "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" + "license": "MIT" }, "node_modules/w3c-keyname": { "version": "2.2.8", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", - "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + "license": "MIT" }, "node_modules/web-streams-polyfill": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/webdav": { "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.9.0.tgz", - "integrity": "sha512-OMJ6wtK1WvCO++aOLoQgE96S8KT4e5aaClWHmHXfFU369r4eyELN569B7EqT4OOUb99mmO58GkyuiCv/Ag6J0Q==", + "license": "MIT", "dependencies": { "@buttercup/fetch": "^0.2.1", "base-64": "^1.0.0", @@ -15521,8 +14616,7 @@ }, "node_modules/webdav/node_modules/entities": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -15531,15 +14625,14 @@ } }, "node_modules/webdav/node_modules/fast-xml-parser": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.4.1.tgz", - "integrity": "sha512-BQ30U1mKkvXQXXkAGcuyUA/GA26oEB7NzOtsxCDtyu62sjGw5QraKFhx2Em3WQNjPw9PG6MQ9yuIIgkSDfGu5A==", + "version": "5.4.2", "funding": [ { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" } ], + "license": "MIT", "dependencies": { "fast-xml-builder": "^1.0.0", "strnum": "^2.1.2" @@ -15550,34 +14643,30 @@ }, "node_modules/webdav/node_modules/strnum": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.0.tgz", - "integrity": "sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" } - ] + ], + "license": "MIT" }, "node_modules/webpack-virtual-modules": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", - "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==" + "license": "MIT" }, "node_modules/whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -15590,9 +14679,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", @@ -15609,9 +14697,8 @@ }, "node_modules/which-builtin-type": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bound": "^1.0.2", @@ -15637,16 +14724,14 @@ }, "node_modules/which-builtin-type/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/which-collection": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, + "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -15662,8 +14747,7 @@ }, "node_modules/which-typed-array": { "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", @@ -15682,9 +14766,8 @@ }, "node_modules/why-is-node-running": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" @@ -15698,9 +14781,8 @@ }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -15708,9 +14790,8 @@ }, "node_modules/wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -15726,9 +14807,8 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -15743,15 +14823,13 @@ }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -15763,9 +14841,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -15775,9 +14852,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -15787,9 +14863,8 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.2.2" }, @@ -15802,16 +14877,14 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/write-file-atomic": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-7.0.1.tgz", - "integrity": "sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "signal-exit": "^4.0.1" @@ -15822,9 +14895,8 @@ }, "node_modules/ws": { "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -15843,9 +14915,8 @@ }, "node_modules/xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=12" @@ -15853,24 +14924,21 @@ }, "node_modules/xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/yaml": { "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -15883,24 +14951,21 @@ }, "node_modules/yaml-ast-parser": { "version": "0.0.43", - "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", - "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -15910,8 +14975,7 @@ }, "node_modules/zwitch": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/package.json b/package.json index d6c74bf5c5..14e92ee61e 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "dev": "vite build --mode development", "watch": "vite build --mode development --watch", "serve": "vite dev", - "ts:check": "tsc --noEmit", + "ts:check": "vue-tsc --noEmit", "typescript:generate": "npx openapi-typescript -t", "lint": "eslint", "lint:fix": "eslint --fix", @@ -30,7 +30,7 @@ "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.36.2", "@fontsource/dancing-script": "^5.2.8", - "@libresign/pdf-elements": "^1.1.1", + "@libresign/pdf-elements": "^1.1.3", "@marionebl/option": "^1.0.8", "@mdi/js": "^7.4.47", "@mdi/svg": "^7.4.47", @@ -57,7 +57,6 @@ "@vueuse/integrations": "^14.2.1", "blueimp-md5": "^2.19.0", "codemirror": "^6.0.1", - "crypto-js": "^4.2.0", "debounce": "^3.0.0", "js-confetti": "^0.13.1", "pdfjs-dist": "^5.4.624", @@ -86,6 +85,7 @@ "@playwright/test": "^1.58.1", "@testing-library/dom": "^10.4.1", "@testing-library/vue": "^8.1.0", + "@types/blueimp-md5": "^2.18.2", "@vitejs/plugin-vue": "^6.0.3", "@vitest/coverage-v8": "^4.0.18", "@vue/test-utils": "^2.4.6", @@ -95,6 +95,7 @@ "openapi-typescript": "^7.13.0", "typescript": "^5.9.3", "vite": "^7.1.10", - "vitest": "^4.0.18" + "vitest": "^4.0.18", + "vue-tsc": "^3.2.5" } } diff --git a/playwright/e2e/multi-signer-sequential.spec.ts b/playwright/e2e/multi-signer-sequential.spec.ts index cb5630b873..8fbe69a7e5 100644 --- a/playwright/e2e/multi-signer-sequential.spec.ts +++ b/playwright/e2e/multi-signer-sequential.spec.ts @@ -3,11 +3,30 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ +import type { Page } from '@playwright/test' import { expect, test } from '@playwright/test' import { login } from '../support/nc-login' import { configureOpenSsl, setAppConfig } from '../support/nc-provisioning' import { createMailpitClient, waitForEmailTo, extractSignLink } from '../support/mailpit' +async function addEmailSigner( + page: Page, + email: string, + name: string, +) { + await page.getByRole('button', { name: 'Add signer' }).click() + const emailInput = page.getByPlaceholder('Email') + await emailInput.click() + await emailInput.pressSequentially(email, { delay: 50 }) + const option = page.getByRole('option', { name: email }) + await expect(option).toBeVisible({ timeout: 10_000 }) + await option.click() + const signerNameInput = page.getByRole('textbox', { name: 'Signer name' }) + await expect(signerNameInput).toBeVisible() + await signerNameInput.fill(name) + await page.getByRole('button', { name: 'Save' }).click() +} + test('request signatures from two signers in sequential order', async ({ page }) => { await login( page.request, @@ -42,20 +61,10 @@ test('request signatures from two signers in sequential order', async ({ page }) await page.getByRole('button', { name: 'Send' }).click() // Add first signer — only email method is active, so the field appears directly (no tabs) - await page.getByRole('button', { name: 'Add signer' }).click() - await page.getByPlaceholder('Email').click() - await page.getByPlaceholder('Email').pressSequentially('signer01@libresign.coop', { delay: 50 }) - await page.getByRole('option', { name: 'signer01@libresign.coop' }).click() - await page.getByRole('textbox', { name: 'Signer name' }).fill('Signer 01') - await page.getByRole('button', { name: 'Save' }).click() + await addEmailSigner(page, 'signer01@libresign.coop', 'Signer 01') // Add second signer - await page.getByRole('button', { name: 'Add signer' }).click() - await page.getByPlaceholder('Email').click() - await page.getByPlaceholder('Email').pressSequentially('signer02@libresign.coop', { delay: 50 }) - await page.getByRole('option', { name: 'signer02@libresign.coop' }).click() - await page.getByRole('textbox', { name: 'Signer name' }).fill('Signer 02') - await page.getByRole('button', { name: 'Save' }).click() + await addEmailSigner(page, 'signer02@libresign.coop', 'Signer 02') // Enable sequential signing. // The checkbox input is hidden by CSS; click the visible label text to toggle it. diff --git a/playwright/e2e/sign-herself-with-drawn-signature.spec.ts b/playwright/e2e/sign-herself-with-drawn-signature.spec.ts index 0c9df2d003..291d64e6e5 100644 --- a/playwright/e2e/sign-herself-with-drawn-signature.spec.ts +++ b/playwright/e2e/sign-herself-with-drawn-signature.spec.ts @@ -4,9 +4,14 @@ */ import { expect, test } from '@playwright/test' +import type { Locator } from '@playwright/test' import { login } from '../support/nc-login' import { configureOpenSsl, setAppConfig } from '../support/nc-provisioning' +function getVisiblePdfOverlay(dialog: Locator) { + return dialog.locator('.overlay:visible').first() +} + test('sign herself with drawn signature', async ({ page }) => { await login( page.request, @@ -49,10 +54,18 @@ test('sign herself with drawn signature', async ({ page }) => { await page.getByRole('button', { name: 'Save' }).click(); await page.getByRole('button', { name: 'Setup signature positions' }).click(); - await expect(page.getByLabel('Page 1 of 1.')).toBeVisible(); - await page.getByLabel('Signature positions').getByRole('link', { name: 'Edit signer Admin Name' }).click(); - - await expect(page.getByText('Click on the place you want to add.')).toBeVisible(); + const signaturePositionsDialog = page.getByLabel('Signature positions') + const pageOverlay = getVisiblePdfOverlay(signaturePositionsDialog) + const addInstruction = signaturePositionsDialog.getByText('Click on the place you want to add.') + const cancelPlacementButton = signaturePositionsDialog.getByRole('button', { name: 'Cancel' }) + const editSignerLink = signaturePositionsDialog.getByRole('link', { name: 'Edit signer Admin Name' }) + await expect(signaturePositionsDialog).toBeVisible() + await expect(pageOverlay).toBeVisible() + await editSignerLink.click(); + + await expect(addInstruction).toBeVisible(); + await expect(cancelPlacementButton).toBeVisible(); + await expect(editSignerLink).toBeHidden(); // Placing a signature element on the PDF canvas requires three steps: // 1. hover() triggers handleMouseMove, which sets previewVisible=true inside a @@ -61,12 +74,15 @@ test('sign herself with drawn signature', async ({ page }) => { // (bound to mouseup on document) returns early because previewVisible is still false. // 3. click() fires mouseup on the document, which triggers finishAdding() and places // the element at the current preview position. - const overlay = page.getByLabel('Page 1 of 1. Press Enter or Space to place the signature here.') + const overlay = getVisiblePdfOverlay(signaturePositionsDialog) await overlay.hover() - await page.getByLabel('Signature positions').locator('.preview-element').first().waitFor({ state: 'visible' }) + await signaturePositionsDialog.locator('.preview-element').first().waitFor({ state: 'visible' }) await overlay.click() + await expect(addInstruction).toBeHidden() + await expect(cancelPlacementButton).toBeHidden() + await expect(editSignerLink).toBeVisible() await expect( - page.getByLabel('Signature positions').getByRole('img', { name: 'Signature position for Admin Name' }) + signaturePositionsDialog.getByRole('img', { name: 'Signature position for Admin Name' }) ).toBeVisible() await page.getByRole('button', { name: 'Save' }).click(); diff --git a/playwright/e2e/sign-herself-with-pkcs12-certificate.spec.ts b/playwright/e2e/sign-herself-with-pkcs12-certificate.spec.ts index a9774eb97e..0dccf0e2fc 100644 --- a/playwright/e2e/sign-herself-with-pkcs12-certificate.spec.ts +++ b/playwright/e2e/sign-herself-with-pkcs12-certificate.spec.ts @@ -52,6 +52,9 @@ test('sign herself with pkcs12 certificate', async ({ page }) => { await page.getByRole('button', { name: 'Confirm' }).click() await page.getByRole('button', { name: 'Sign the document.' }).click() await page.getByLabel('Signature password').fill('Password1234') + await page.getByText('Forgot password?').click() + await expect(page.getByRole('button', { name: 'Read certificate' })).toBeVisible() + await expect(page.getByRole('button', { name: 'Delete certificate' })).toBeVisible() await page.getByRole('button', { name: 'Sign document' }).click() await page.waitForURL('**/validation/**') await expect(page.getByText('This document is valid')).toBeVisible() diff --git a/playwright/e2e/visible-element-persistence.spec.ts b/playwright/e2e/visible-element-persistence.spec.ts index e9f6f0b014..c713f70ebb 100644 --- a/playwright/e2e/visible-element-persistence.spec.ts +++ b/playwright/e2e/visible-element-persistence.spec.ts @@ -4,9 +4,14 @@ */ import { expect, test } from '@playwright/test' +import type { Locator } from '@playwright/test' import { login } from '../support/nc-login' import { configureOpenSsl, setAppConfig } from '../support/nc-provisioning' +function getVisiblePdfOverlay(dialog: Locator) { + return dialog.locator('.overlay:visible').first() +} + test('visible signature element persists and can be deleted', async ({ page }) => { const requestSignatureTab = page.locator('#request-signature-tab') const setupSignaturePositionsButton = requestSignatureTab.getByRole('button', { name: 'Setup signature positions' }) @@ -67,23 +72,34 @@ test('visible signature element persists and can be deleted', async ({ page }) = const requestUuid = createRequestBody.ocs.data.uuid as string await expect(setupSignaturePositionsButton).toBeVisible() await setupSignaturePositionsButton.click() - await expect(page.getByLabel('Page 1 of 1.')).toBeVisible() + const signaturePositionsDialog = page.getByLabel('Signature positions') + const visiblePageOverlay = getVisiblePdfOverlay(signaturePositionsDialog) + const addInstruction = signaturePositionsDialog.getByText('Click on the place you want to add.') + const cancelPlacementButton = signaturePositionsDialog.getByRole('button', { name: 'Cancel' }) + const editSignerLink = signaturePositionsDialog.getByRole('link', { name: 'Edit signer Admin Name' }) + await expect(signaturePositionsDialog).toBeVisible() + await expect(visiblePageOverlay).toBeVisible() // Select the signer to enter element-placement mode - await page.getByLabel('Signature positions').getByRole('link', { name: 'Edit signer Admin Name' }).click() - await expect(page.getByText('Click on the place you want to add.')).toBeVisible() + await editSignerLink.click() + await expect(addInstruction).toBeVisible() + await expect(cancelPlacementButton).toBeVisible() + await expect(editSignerLink).toBeHidden() // Placing a signature element requires three steps: // 1. hover() triggers handleMouseMove, setting previewVisible=true inside a rAF callback. // 2. Waiting for .preview-element confirms the rAF ran. // 3. click() fires mouseup, which calls finishAdding() and places the element. - const overlay = page.getByLabel('Page 1 of 1. Press Enter or Space to place the signature here.') + const overlay = getVisiblePdfOverlay(signaturePositionsDialog) await overlay.hover() - await page.getByLabel('Signature positions').locator('.preview-element').first().waitFor({ state: 'visible' }) + await signaturePositionsDialog.locator('.preview-element').first().waitFor({ state: 'visible' }) await overlay.click() + await expect(addInstruction).toBeHidden() + await expect(cancelPlacementButton).toBeHidden() + await expect(editSignerLink).toBeVisible() await expect( - page.getByLabel('Signature positions').getByRole('img', { name: 'Signature position for Admin Name' }), + signaturePositionsDialog.getByRole('img', { name: 'Signature position for Admin Name' }), ).toBeVisible() // Save closes the modal and persists the element via API @@ -113,9 +129,9 @@ test('visible signature element persists and can be deleted', async ({ page }) = // Re-open the document one last time and confirm the element is gone await reopenFileFromUuid(requestUuid) - await expect(page.getByLabel('Page 1 of 1.')).toBeVisible() + await expect(getVisiblePdfOverlay(signaturePositionsDialog)).toBeVisible() await expect( - page.getByLabel('Signature positions').getByRole('img', { name: 'Signature position for Admin Name' }), + signaturePositionsDialog.getByRole('img', { name: 'Signature position for Admin Name' }), ).toBeHidden() }) diff --git a/playwright/support/mailpit.ts b/playwright/support/mailpit.ts index 838a6623e6..fe3016b4cb 100644 --- a/playwright/support/mailpit.ts +++ b/playwright/support/mailpit.ts @@ -4,6 +4,7 @@ */ import { MailpitClient } from 'mailpit-api' +import { existsSync } from 'node:fs' export type { MailpitClient } @@ -11,7 +12,10 @@ type Message = Awaited> /** Creates a MailpitClient using MAILPIT_URL (default: http://localhost:8025). */ export function createMailpitClient(): MailpitClient { - return new MailpitClient(process.env.MAILPIT_URL ?? 'http://localhost:8025') + const defaultUrl = existsSync('/.dockerenv') + ? 'http://mailpit:8025' + : 'http://localhost:8025' + return new MailpitClient(process.env.MAILPIT_URL ?? defaultUrl) } /** Fetches the latest email sent to `toAddress`, optionally filtered by `subject`. */ diff --git a/src/actions/openInLibreSignAction.js b/src/actions/openInLibreSignAction.js index f418f55a40..7c29132fed 100644 --- a/src/actions/openInLibreSignAction.js +++ b/src/actions/openInLibreSignAction.js @@ -90,9 +90,10 @@ export const action = { const rawDir = nodes[0].dirname ?? nodes[0].path.substring(0, nodes[0].path.lastIndexOf('/')) const normalizedDir = (rawDir && rawDir !== '/') ? rawDir.replace(/\/+$/, '') : '' const envelopePath = normalizedDir ? `${normalizedDir}/${envelopeName}` : `/${envelopeName}` + const temporaryEnvelopeId = -Date.now() window.OCA.Libresign.pendingEnvelope = { - id: `envelope_${Date.now()}`, + id: temporaryEnvelopeId, nodeType: 'envelope', name: envelopeName, settings: { diff --git a/src/components/Common/EditNameDialog.vue b/src/components/Common/EditNameDialog.vue index 5e54da56c7..23f1bb8002 100644 --- a/src/components/Common/EditNameDialog.vue +++ b/src/components/Common/EditNameDialog.vue @@ -26,7 +26,6 @@ import { t } from '@nextcloud/l10n' import { computed, ref, watch } from 'vue' -import NcButton from '@nextcloud/vue/components/NcButton' import NcDialog from '@nextcloud/vue/components/NcDialog' import NcNoteCard from '@nextcloud/vue/components/NcNoteCard' import NcTextField from '@nextcloud/vue/components/NcTextField' @@ -119,7 +118,7 @@ const dialogButtons = computed(() => { }, { label: t('libresign', 'Save'), - type: 'primary', + variant: 'primary' as const, disabled: !isNameValid.value, callback: () => { handleSave() diff --git a/src/components/Draw/Editor.vue b/src/components/Draw/Editor.vue index a42c2ea0d6..8ae8dd43e3 100644 --- a/src/components/Draw/Editor.vue +++ b/src/components/Draw/Editor.vue @@ -80,6 +80,7 @@ import NcDialog from '@nextcloud/vue/components/NcDialog' import NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper' import PreviewSignature from '../PreviewSignature/PreviewSignature.vue' +import type { LibresignCapabilities } from '../../types/index' defineOptions({ name: 'Editor', @@ -95,12 +96,16 @@ type ColorPickerRef = { const emit = defineEmits<{ (event: 'close'): void - (event: 'save', value: string | null): void + (event: 'save', value: string): void }>() -const capabilities = getCapabilities() -const canvasWidth = capabilities.libresign.config['sign-elements']['signature-width'] -const canvasHeight = capabilities.libresign.config['sign-elements']['signature-height'] +const capabilities = getCapabilities() as LibresignCapabilities +const signElementsConfig = capabilities.libresign?.config['sign-elements'] ?? { + 'signature-width': 0, + 'signature-height': 0, +} +const canvasWidth = signElementsConfig['signature-width'] +const canvasHeight = signElementsConfig['signature-height'] const color = ref('#000000') const customPalette = [ '#000000', @@ -108,7 +113,7 @@ const customPalette = [ '#0000ff', '#008000', ] -const imageData = ref(null) +const imageData = ref('') const modal = ref(false) const mounted = ref(false) const canSave = ref(false) @@ -157,13 +162,17 @@ function updateColor() { function clear() { canvas.value?.signaturePad?.clear() canSave.value = false + imageData.value = '' } function createDataImage() { - imageData.value = canvas.value?.signaturePad?.toDataURL('image/png') || null + imageData.value = canvas.value?.signaturePad?.toDataURL('image/png') || '' } function confirmationDraw() { + if (!canSave.value) { + return + } createDataImage() handleModal(true) } @@ -177,6 +186,9 @@ function close() { } function saveSignature() { + if (!imageData.value) { + return + } handleModal(false) emit('save', imageData.value) } @@ -198,7 +210,7 @@ onMounted(() => { onBeforeUnmount(() => { mounted.value = false canvas.value?.signaturePad?.clear() - imageData.value = null + imageData.value = '' }) defineExpose({ diff --git a/src/components/Draw/FileUpload.vue b/src/components/Draw/FileUpload.vue index bcb052250d..6b9571131c 100644 --- a/src/components/Draw/FileUpload.vue +++ b/src/components/Draw/FileUpload.vue @@ -75,7 +75,7 @@

- + {{ t('libresign', 'Save') }} @@ -121,6 +121,7 @@ import NcTextField from '@nextcloud/vue/components/NcTextField' import NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper' import 'vue-advanced-cropper/dist/style.css' +import type { LibresignCapabilities } from '../../types/index' type CropperResult = { canvas?: { @@ -158,8 +159,11 @@ const emit = defineEmits<{ (event: 'close'): void }>() -const capabilities = getCapabilities() -const signElementsConfig = capabilities?.libresign?.config?.['sign-elements'] || {} +const capabilities = getCapabilities() as LibresignCapabilities +const signElementsConfig = capabilities.libresign?.config['sign-elements'] ?? { + 'signature-width': 0, + 'signature-height': 0, +} const file = ref(null) const cropper = ref(null) @@ -175,10 +179,11 @@ const zoomLevel = ref(1) const zoomMin = 0.1 const zoomMax = 8 const zoomStep = 0.1 -const stencilBaseWidth = Number(signElementsConfig['signature-width'] || 0) -const stencilBaseHeight = Number(signElementsConfig['signature-height'] || 0) +const stencilBaseWidth = signElementsConfig['signature-width'] +const stencilBaseHeight = signElementsConfig['signature-height'] const hasImage = computed(() => !!image.value) +const canSave = computed(() => hasImage.value && imageData.value.length > 0) const zoomPercentValue = computed({ get: () => Math.round(zoomLevel.value * 100), @@ -344,11 +349,17 @@ function change(result?: CropperResult) { } function saveSignature() { + if (!imageData.value) { + return + } modal.value = false emit('save', imageData.value) } function confirmSave() { + if (!canSave.value) { + return + } modal.value = true } @@ -388,6 +399,7 @@ watch(hasImage, value => { containerWidth.value = 0 zoomLevel.value = 1 pendingFitCenter.value = false + imageData.value = '' }) defineExpose({ @@ -411,6 +423,7 @@ defineExpose({ stencilBaseWidth, stencilBaseHeight, hasImage, + canSave, zoomPercentValue, stencilAspectRatio, stencilProps, diff --git a/src/components/Draw/TextInput.vue b/src/components/Draw/TextInput.vue index 69509e699c..4034f00059 100644 --- a/src/components/Draw/TextInput.vue +++ b/src/components/Draw/TextInput.vue @@ -48,28 +48,34 @@ import NcButton from '@nextcloud/vue/components/NcButton' import NcDialog from '@nextcloud/vue/components/NcDialog' import NcTextField from '@nextcloud/vue/components/NcTextField' import PreviewSignature from '../PreviewSignature/PreviewSignature.vue' +import type { LibresignCapabilities } from '../../types/index' defineOptions({ name: 'TextInput', }) const emit = defineEmits<{ - (event: 'save', imageData: string | null): void + (event: 'save', imageData: string): void (event: 'close'): void }>() -const capabilities = getCapabilities() -const canvasWidth = capabilities.libresign.config['sign-elements']['signature-width'] -const canvasHeight = capabilities.libresign.config['sign-elements']['signature-height'] +const capabilities = getCapabilities() as LibresignCapabilities +const signElementsConfig = capabilities.libresign?.config['sign-elements'] ?? { + 'signature-width': 0, + 'signature-height': 0, +} +const canvasWidth = signElementsConfig['signature-width'] +const canvasHeight = signElementsConfig['signature-height'] const value = ref('') const modal = ref(false) -const imageData = ref(null) +const imageData = ref('') const scale = ref(1) const canvasWrapper = ref(null) const canvas = ref(null) const input = ref<{ focus: () => void } | null>(null) -const isValid = computed(() => !!value.value) +const normalizedValue = computed(() => value.value.trim()) +const isValid = computed(() => normalizedValue.value.length > 0) watch(value, (newValue) => { const currentCanvas = canvas.value @@ -142,6 +148,9 @@ function applyCanvasSize() { } function saveSignature() { + if (!imageData.value) { + return + } handleModal(false) emit('save', imageData.value) } @@ -162,7 +171,7 @@ function clearCanvas() { return } context.clearRect(0, 0, canvasWidth, canvasHeight) - imageData.value = null + imageData.value = '' } function handleModal(status: boolean) { @@ -182,6 +191,9 @@ function stringToImage() { } function confirmSignature() { + if (!isValid.value || !canvas.value) { + return + } stringToImage() handleModal(true) } @@ -211,6 +223,7 @@ defineExpose({ cancelConfirm, stringToImage, confirmSignature, + normalizedValue, }) diff --git a/src/components/File/File.vue b/src/components/File/File.vue index a556f4cfa7..296d3410f8 100644 --- a/src/components/File/File.vue +++ b/src/components/File/File.vue @@ -3,7 +3,7 @@ - SPDX-License-Identifier: AGPL-3.0-or-later -->