diff --git a/.env b/.env index d77b432ba..28baace8b 100644 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ COMPOSE_PROJECT_NAME=ps COMPOSE_FILE=docker-compose.yml -COMPOSE_PROFILES=databox,expose,notify,uploader,db,report,tools,mailhog,dashboard,soketi +COMPOSE_PROFILES=databox,expose,notify,uploader,db,report,tools,mailhog,dashboard,soketi,novu # Leave empty if 443, include ':' otherwise HTTPS_PORT_PREFIX=${HTTPS_PORT_PREFIX:-} @@ -292,8 +292,8 @@ SOKETI_SECRET=__CHANGE_ME_A8PRgk5qpfLxkfLU NOVU_VERSION=2.1.0 -NOVU_API_BASE_URL=https://api-novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX} -NOVU_FRONT_BASE_URL=https://novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX} +NOVU_API_URL=https://api-novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX} +NOVU_FRONT_URL=https://novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX} NOVU_WS_URL=https://ws-novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX} NOVU_REDIS_HOST=redis @@ -302,10 +302,9 @@ NOVU_REDIS_PASSWORD= NOVU_REDIS_CACHE_SERVICE_HOST=redis NOVU_REDIS_CACHE_SERVICE_PORT=6379 NOVU_JWT_SECRET=__CHANGE_ME_8Gt1eIKSWgd7Ex5UMJTmkA +NOVU_SECRET_KEY=__CHANGE_ME_8djg5x5MJTmkA NOVU_STORE_ENCRYPTION_KEY=__CHANGE_ME_y8cPSNUNvomVxLgdQVp7 -NOVU_WS_CONTEXT_PATH= - NOVU_MONGO_MAX_POOL_SIZE=200 NOVU_MONGO_MIN_POOL_SIZE=75 diff --git a/dashboard/client/config-compiler.js b/dashboard/client/config-compiler.js index 661d6e465..69c4da6b2 100644 --- a/dashboard/client/config-compiler.js +++ b/dashboard/client/config-compiler.js @@ -35,6 +35,7 @@ 'UPLOADER_CLIENT_URL', 'ZIPPY_URL', 'SOKETI_USAGE_URL', + 'NOVU_FRONT_URL', ]; const e = {}; diff --git a/dashboard/client/src/Dashboard.tsx b/dashboard/client/src/Dashboard.tsx index 2d0310662..508aeb4aa 100644 --- a/dashboard/client/src/Dashboard.tsx +++ b/dashboard/client/src/Dashboard.tsx @@ -48,6 +48,7 @@ export default function Dashboard({}: Props) { RABBITMQ_CONSOLE_URL, TRAEFIK_CONSOLE_URL, SOKETI_USAGE_URL, + NOVU_FRONT_URL, } = config.env; const roles = user?.roles ?? []; @@ -176,7 +177,9 @@ export default function Dashboard({}: Props) { )} {roles.includes('tech') && ( - + {PGADMIN_URL && ( )} - {SOKETI_USAGE_URL && ( + {NOVU_FRONT_URL && ( - Soketi Usage + Novu )} diff --git a/dashboard/client/src/config.ts b/dashboard/client/src/config.ts index 6fb21bc2b..caa1339fa 100644 --- a/dashboard/client/src/config.ts +++ b/dashboard/client/src/config.ts @@ -27,6 +27,7 @@ declare global { UPLOADER_CLIENT_URL: string; ZIPPY_URL: string; SOKETI_USAGE_URL: string; + NOVU_FRONT_URL: string; }; } & WindowConfig; } diff --git a/databox/api/.env b/databox/api/.env index a119c0360..4b1893fa9 100644 --- a/databox/api/.env +++ b/databox/api/.env @@ -68,3 +68,7 @@ SECRETS_SECRET_KEY= ###> sentry/sentry-symfony ### SENTRY_DSN= ###< sentry/sentry-symfony ### + +###> symfony/novu-notifier ### +NOVU_DSN=novu://API_KEY@default +###< symfony/novu-notifier ### diff --git a/databox/api/composer.json b/databox/api/composer.json index 19276df3a..9dd4ceb3b 100644 --- a/databox/api/composer.json +++ b/databox/api/composer.json @@ -183,6 +183,8 @@ "symfony/framework-bundle": "^6.3", "symfony/lock": "^6.3", "symfony/mime": "^6.3", + "symfony/notifier": "^6.3", + "symfony/novu-notifier": "^6.3", "symfony/property-access": "^6.3", "symfony/property-info": "^6.3", "symfony/psr-http-message-bridge": "^2.3", diff --git a/databox/api/composer.lock b/databox/api/composer.lock index 2bcd2b9a8..bc25974e1 100644 --- a/databox/api/composer.lock +++ b/databox/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2d58399fb22f00320aa0d0e5dd2f061b", + "content-hash": "e5ea3e5bcedfe7e342f61d57f77925e5", "packages": [ { "name": "alchemy/acl-bundle", @@ -59,7 +59,7 @@ }, { "name": "alchemy/admin-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/admin-bundle", @@ -117,7 +117,7 @@ }, { "name": "alchemy/auth-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/auth-bundle", @@ -174,7 +174,7 @@ }, { "name": "alchemy/configurator-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/configurator-bundle", @@ -227,7 +227,7 @@ }, { "name": "alchemy/core-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/core-bundle", @@ -287,7 +287,7 @@ }, { "name": "alchemy/es-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/es-bundle", @@ -343,7 +343,7 @@ }, { "name": "alchemy/messenger-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/messenger-bundle", @@ -396,7 +396,7 @@ }, { "name": "alchemy/metadata-manipulator-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/metadata-manipulator-bundle", @@ -519,7 +519,7 @@ }, { "name": "alchemy/rendition-factory", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/rendition-factory", @@ -581,7 +581,7 @@ }, { "name": "alchemy/rendition-factory-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/rendition-factory-bundle", @@ -635,7 +635,7 @@ }, { "name": "alchemy/storage-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/storage-bundle", @@ -690,7 +690,7 @@ }, { "name": "alchemy/test-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/test-bundle", @@ -742,7 +742,7 @@ }, { "name": "alchemy/webhook-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/webhook-bundle", @@ -799,7 +799,7 @@ }, { "name": "alchemy/workflow", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/workflow", @@ -864,7 +864,7 @@ }, { "name": "alchemy/workflow-bundle", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/workflow-bundle", @@ -11405,6 +11405,151 @@ ], "time": "2023-11-06T17:08:13+00:00" }, + { + "name": "symfony/notifier", + "version": "v6.4.13", + "source": { + "type": "git", + "url": "https://github.com/symfony/notifier.git", + "reference": "c46321b53391088861bf627cd9e24873d216cf00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/notifier/zipball/c46321b53391088861bf627cd9e24873d216cf00", + "reference": "c46321b53391088861bf627cd9e24873d216cf00", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3" + }, + "conflict": { + "symfony/event-dispatcher": "<5.4", + "symfony/event-dispatcher-contracts": "<2.5", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4" + }, + "require-dev": { + "symfony/event-dispatcher-contracts": "^2.5|^3", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Notifier\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Sends notifications via one or more channels (email, SMS, ...)", + "homepage": "https://symfony.com", + "keywords": [ + "notification", + "notifier" + ], + "support": { + "source": "https://github.com/symfony/notifier/tree/v6.4.13" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:18:03+00:00" + }, + { + "name": "symfony/novu-notifier", + "version": "v6.4.13", + "source": { + "type": "git", + "url": "https://github.com/symfony/novu-notifier.git", + "reference": "fe9b2b71b5d889cf28abd8e01afe17fae0e1e9a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/novu-notifier/zipball/fe9b2b71b5d889cf28abd8e01afe17fae0e1e9a0", + "reference": "fe9b2b71b5d889cf28abd8e01afe17fae0e1e9a0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/notifier": "^6.4|^7.0" + }, + "type": "symfony-notifier-bridge", + "autoload": { + "psr-4": { + "Symfony\\Component\\Notifier\\Bridge\\Novu\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Wouter van der Loop", + "email": "woutervdl@toppy.nl" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides Novu integration for Symfony Notifier.", + "homepage": "https://symfony.com", + "keywords": [ + "notifier", + "novu" + ], + "support": { + "source": "https://github.com/symfony/novu-notifier/tree/v6.4.13" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:18:03+00:00" + }, { "name": "symfony/options-resolver", "version": "v6.4.13", @@ -14703,7 +14848,7 @@ "packages-dev": [ { "name": "alchemy/api-test", - "version": "dev-PS-696-stack-db", + "version": "dev-PS-705-novu", "dist": { "type": "path", "url": "../../lib/php/api-test", diff --git a/databox/api/src/Command/TestNotificationCommand.php b/databox/api/src/Command/TestNotificationCommand.php new file mode 100644 index 000000000..b84df8e23 --- /dev/null +++ b/databox/api/src/Command/TestNotificationCommand.php @@ -0,0 +1,51 @@ +setName('app:notifier:debug') + ->setDescription('Send notification to user'); + } + + protected function execute(InputInterface $input, OutputInterface $output): int + { + // Create a Notification that has to be sent + // using the "email" channel + $notification = (new Notification('New Invoice')) + ->content('You got a new invoice for 15 EUR.'); + + // The receiver of the Notification + $recipient = new Recipient( + 'test@phrasea.local', + ); + + // Send the notification to the recipient + $this->notifier->send($notification, $recipient); + + return Command::SUCCESS; + } +} diff --git a/databox/api/symfony.lock b/databox/api/symfony.lock index 62e8cd0b5..5f32e80b9 100644 --- a/databox/api/symfony.lock +++ b/databox/api/symfony.lock @@ -708,6 +708,27 @@ "config/packages/test/monolog.yaml" ] }, + "symfony/notifier": { + "version": "6.4", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "5.0", + "ref": "178877daf79d2dbd62129dd03612cb1a2cb407cc" + }, + "files": [ + "config/packages/notifier.yaml" + ] + }, + "symfony/novu-notifier": { + "version": "6.4", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "6.4", + "ref": "fec78b082c512ab8ddd97d26dfb48f8a6080d099" + } + }, "symfony/options-resolver": { "version": "v5.1.6" }, diff --git a/databox/client/package.json b/databox/client/package.json index d6107ff5e..efd2efa28 100644 --- a/databox/client/package.json +++ b/databox/client/package.json @@ -40,6 +40,7 @@ "ismounted": "^0.1.8", "leaflet": "^1.9.4", "moment": "^2.30.1", + "novu": "2.2.1", "pusher-js": "^8.3.0", "re-resizable": "^6.10.0", "react": "^18.3.1", diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 4dd2b10fe..2a7b5bfc6 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -228,6 +228,8 @@ services: - SOKETI_APP_ID - SOKETI_KEY - SOKETI_SECRET + - NOVU_SECRET_KEY + - NOVU_API_URL working_dir: /var/workspace volumes: - ./:/var/workspace diff --git a/docker-compose.yml b/docker-compose.yml index 212d9cb6a..64e077130 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ networks: services: traefik: - image: traefik:v2.5.5 + image: traefik:3.2.1 networks: - internal ports: @@ -145,6 +145,8 @@ services: - CONFIGURATOR_S3_REGION=${S3_REGION} - CONFIGURATOR_S3_BUCKET_NAME - CONFIGURATOR_S3_USE_PATH_STYLE_ENDPOINT=${S3_USE_PATH_STYLE_ENDPOINT} + - NOVU_SECRET_KEY + - NOVU_API_URL extra_hosts: - keycloak.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP} - minio.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP} @@ -407,7 +409,7 @@ services: redis: profiles: - db - image: redis:5.0.5-alpine + image: redis:7.4.1-alpine3.20 networks: - internal volumes: @@ -656,6 +658,7 @@ services: - SENTRY_RELEASE - CLIENT_ID=${DASHBOARD_CLIENT_ID} - SOKETI_USAGE_URL + - NOVU_FRONT_URL labels: - "traefik.http.routers.dashboard.rule=Host(`dashboard.${PHRASEA_DOMAIN}`)" @@ -1084,6 +1087,10 @@ services: mongodb: image: mongo:8.0.3 + profiles: + - novu + networks: + - internal environment: - PUID=1000 - PGID=1000 @@ -1096,13 +1103,17 @@ services: image: ghcr.io/novuhq/novu/api:${NOVU_VERSION} depends_on: mongodb: - condition: service_healthy + condition: service_started redis: - condition: service_healthy + condition: service_started + profiles: + - novu + networks: + - internal environment: - API_ROOT_URL: ${NOVU_API_BASE_URL} - DISABLE_USER_REGISTRATION: 'true' - FRONT_BASE_URL: ${NOVU_FRONT_BASE_URL} + API_ROOT_URL: ${NOVU_API_URL} + DISABLE_USER_REGISTRATION: 'false' + FRONT_BASE_URL: ${NOVU_FRONT_URL} MONGO_URL: ${NOVU_MONGO_URL} MONGO_MIN_POOL_SIZE: ${NOVU_MONGO_MIN_POOL_SIZE} MONGO_MAX_POOL_SIZE: ${NOVU_MONGO_MAX_POOL_SIZE} @@ -1113,21 +1124,28 @@ services: REDIS_CACHE_SERVICE_HOST: ${NOVU_REDIS_CACHE_SERVICE_HOST} REDIS_CACHE_SERVICE_PORT: ${NOVU_REDIS_CACHE_SERVICE_PORT} JWT_SECRET: ${NOVU_JWT_SECRET} + NOVU_SECRET_KEY: ${NOVU_SECRET_KEY} STORE_ENCRYPTION_KEY: ${NOVU_STORE_ENCRYPTION_KEY} + NEW_RELIC_ENABLED: 'false' labels: - "traefik.enable=true" - "traefik.project_name=${COMPOSE_PROJECT_NAME}" - "traefik.http.routers.novu-api.rule=Host(`api-novu.${PHRASEA_DOMAIN}`)" - "traefik.http.services.novu-api.loadbalancer.server.port=3000" + extra_hosts: + - ws-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP} novu-worker: image: ghcr.io/novuhq/novu/worker:${NOVU_VERSION} depends_on: mongodb: - condition: service_healthy + condition: service_started redis: - condition: service_healthy - restart: unless-stopped + condition: service_started + profiles: + - novu + networks: + - internal environment: MONGO_URL: ${NOVU_MONGO_URL} MONGO_MAX_POOL_SIZE: ${NOVU_MONGO_MAX_POOL_SIZE} @@ -1137,15 +1155,21 @@ services: REDIS_DB_INDEX: 2 REDIS_CACHE_SERVICE_HOST: ${NOVU_REDIS_CACHE_SERVICE_HOST} REDIS_CACHE_SERVICE_PORT: ${NOVU_REDIS_CACHE_SERVICE_PORT} + NOVU_SECRET_KEY: ${NOVU_SECRET_KEY} + extra_hosts: + - ws-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP} novu-ws: image: ghcr.io/novuhq/novu/ws:${NOVU_VERSION} depends_on: mongodb: - condition: service_healthy + condition: service_started redis: - condition: service_healthy - restart: unless-stopped + condition: service_started + profiles: + - novu + networks: + - internal environment: MONGO_URL: ${NOVU_MONGO_URL} MONGO_MAX_POOL_SIZE: ${NOVU_MONGO_MAX_POOL_SIZE} @@ -1153,7 +1177,6 @@ services: REDIS_PORT: ${NOVU_REDIS_PORT} REDIS_PASSWORD: ${NOVU_REDIS_PASSWORD} JWT_SECRET: ${NOVU_JWT_SECRET} - WS_CONTEXT_PATH: ${NOVU_WS_CONTEXT_PATH} labels: - "traefik.enable=true" - "traefik.project_name=${COMPOSE_PROJECT_NAME}" @@ -1164,15 +1187,18 @@ services: image: ghcr.io/novuhq/novu/web:${NOVU_VERSION} depends_on: - novu-api - restart: unless-stopped + profiles: + - novu + networks: + - internal environment: - REACT_APP_API_URL: ${NOVU_API_BASE_URL} + REACT_APP_API_URL: ${NOVU_API_URL} REACT_APP_IS_SELF_HOSTED: 'true' REACT_APP_WS_URL: ${NOVU_WS_URL} command: ['/bin/sh', '-c', 'pnpm run envsetup:docker && pnpm run start:static:build'] healthcheck: - test: ['CMD-SHELL', 'curl --silent --fail http://localhost:4200 || exit 1'] - interval: 30s + test: ['CMD-SHELL', 'wget --quiet --tries=1 --timeout=5 http://127.0.0.1:4200 || exit 1'] + interval: 60s timeout: 10s retries: 3 start_period: 10s diff --git a/infra/dev/hosts.txt b/infra/dev/hosts.txt index dee62615b..1fd14bde6 100644 --- a/infra/dev/hosts.txt +++ b/infra/dev/hosts.txt @@ -28,4 +28,7 @@ ${IP} soketi.${PHRASEA_DOMAIN} ${IP} soketi-usage.${PHRASEA_DOMAIN} ${IP} keycloak.${PHRASEA_DOMAIN} ${IP} keycloak2.${PHRASEA_DOMAIN} +${IP} novu.${PHRASEA_DOMAIN} +${IP} ws-novu.${PHRASEA_DOMAIN} +${IP} api-novu.${PHRASEA_DOMAIN} # diff --git a/lib/php/core-bundle/DependencyInjection/AlchemyCoreExtension.php b/lib/php/core-bundle/DependencyInjection/AlchemyCoreExtension.php index 6f5c125ac..1f6fcbffb 100644 --- a/lib/php/core-bundle/DependencyInjection/AlchemyCoreExtension.php +++ b/lib/php/core-bundle/DependencyInjection/AlchemyCoreExtension.php @@ -149,6 +149,11 @@ public function prepend(ContainerBuilder $container): void 'session' => [ 'handler_id' => RedisSessionHandler::class, ], + 'notifier' => [ + 'texter_transports' => [ + 'novu' => 'novu://%env(NOVU_SECRET_KEY)%@%env(NOVU_API_URL)%', + ], + ] ]); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6aee99b7b..6302dfd9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -201,6 +201,9 @@ importers: moment: specifier: ^2.30.1 version: 2.30.1 + novu: + specifier: 2.2.1 + version: 2.2.1(encoding@0.1.13) pusher-js: specifier: ^8.3.0 version: 8.3.0 @@ -2658,6 +2661,14 @@ packages: '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + '@lukeed/csprng@1.1.0': + resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} + engines: {node: '>=8'} + + '@lukeed/uuid@2.0.1': + resolution: {integrity: sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==} + engines: {node: '>=8'} + '@mapbox/geojson-rewind@0.5.2': resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==} hasBin: true @@ -2863,6 +2874,13 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@novu/ntfr-client@0.0.4': + resolution: {integrity: sha512-/9q+qGFHHFwMsuqoLwTADMjSx2JPagpJpm7jOZRzQZgSEDg9kwNAhADneRzVYhMyjdEXIQyjTmX/oP8ABAavFw==} + engines: {node: '>=18.0.0'} + + '@novu/shared@2.1.4': + resolution: {integrity: sha512-yWsCXnFqOuuChUDROkcGibJMuFG1ufX+6NyISpQaDS1Lcix7unUof4yegc4jPTIccpgjX0ypESNE6c4rxrN7Uw==} + '@octokit/auth-token@2.5.0': resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} @@ -3551,6 +3569,16 @@ packages: zen-observable: optional: true + '@segment/analytics-core@1.4.1': + resolution: {integrity: sha512-kV0Pf33HnthuBOVdYNani21kYyj118Fn+9757bxqoksiXoZlYvBsFq6giNdCsKcTIE1eAMqNDq3xE1VQ0cfsHA==} + + '@segment/analytics-generic-utils@1.1.1': + resolution: {integrity: sha512-THTIzBPHnvu1HYJU3fARdJ3qIkukO3zDXsmDm+kAeUks5R9CBXOQ6rPChiASVzSmwAIIo5uFIXXnCraojlq/Gw==} + + '@segment/analytics-node@1.3.0': + resolution: {integrity: sha512-lRLz1WZaDokMoUe299yP5JkInc3OgJuqNNlxb6j0q22umCiq6b5iDo2gRmFn93reirIvJxWIicQsGrHd93q8GQ==} + engines: {node: '>=14'} + '@semantic-release/commit-analyzer@6.3.3': resolution: {integrity: sha512-Pyv1ZL2u5AIOY4YbxFCAB5J1PEh5yON8ylbfiPiriDGGW6Uu1U3Y8lysMtWu+FUD5x7tSnyIzhqx0+fxPxqbgw==} engines: {node: '>=8.16'} @@ -4092,6 +4120,9 @@ packages: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -4144,6 +4175,9 @@ packages: '@types/cookie@0.3.3': resolution: {integrity: sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==} + '@types/cross-spawn@6.0.0': + resolution: {integrity: sha512-evp2ZGsFw9YKprDbg8ySgC9NA15g3YgiI8ANkGmKKvvi0P2aDGYLPxQIC5qfeKNUOe3TjABVGuah6omPRpIYhg==} + '@types/cross-spawn@6.0.6': resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} @@ -4451,6 +4485,9 @@ packages: resolution: {integrity: sha512-bnreXCgus6IIadyHNlN/oI5FfX4dWgvGhOPvpr7zzCYDGAPIfvyIoAozMBINmhmsVuqV0cncejF2y5KC7ScqOg==} deprecated: This is a stub types definition. @testing-library/jest-dom provides its own type definitions, so you do not need this installed. + '@types/tinycolor2@1.4.6': + resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} + '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} @@ -4712,6 +4749,7 @@ packages: acorn-import-assertions@1.9.0: resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + deprecated: package has been renamed to acorn-import-attributes peerDependencies: acorn: ^8 @@ -4791,6 +4829,10 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -5138,6 +5180,10 @@ packages: ast-transform@0.0.0: resolution: {integrity: sha512-e/JfLiSoakfmL4wmTGPjv0HpTICVmxwXgYOB8x+mzozHL8v+dSfCbrJ8J8hJ0YBP0XcYu1aLZ6b/3TnxNK3P2A==} + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} @@ -5153,6 +5199,9 @@ packages: async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + async-sema@3.0.1: + resolution: {integrity: sha512-fKT2riE8EHAvJEfLJXZiATQWqZttjx1+tfgnVshCDrH8vlw4YC8aECe0B8MU184g+aVRFVgmfxFlKZKaozSrNw==} + async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} @@ -5296,6 +5345,10 @@ packages: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} engines: {node: '>=0.10.0'} + basic-ftp@5.0.5: + resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + engines: {node: '>=10.0.0'} + bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} @@ -5433,6 +5486,9 @@ packages: resolution: {integrity: sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==} engines: {node: '>=4'} + builtins@1.0.3: + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + byte-size@8.2.1: resolution: {integrity: sha512-pph2jjc3PxRLeB2nWfJy/tMiHnS6j7xhDlkglBp3KlchnJkILdZ2DmUyZ8svDJ5Z+q431vbhuoiuOvuGhY8fjw==} engines: {node: '>=12.17'} @@ -5628,6 +5684,10 @@ packages: cli-width@2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + clipboard-copy@4.0.1: resolution: {integrity: sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng==} @@ -5791,6 +5851,10 @@ packages: resolution: {integrity: sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==} engines: {node: '>=4'} + configstore@5.0.1: + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -5936,6 +6000,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.5: + resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} + engines: {node: '>= 8'} + crypto-random-string@1.0.0: resolution: {integrity: sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==} engines: {node: '>=4'} @@ -6059,6 +6127,10 @@ packages: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} + data-urls@1.1.0: resolution: {integrity: sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==} @@ -6222,6 +6294,10 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + del@3.0.0: resolution: {integrity: sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==} engines: {node: '>=4'} @@ -6398,6 +6474,10 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} + dset@3.1.4: + resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} + engines: {node: '>=4'} + duplexer2@0.1.4: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} @@ -6817,6 +6897,10 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -7218,6 +7302,10 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} + get-uri@6.0.3: + resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} + engines: {node: '>= 14'} + get-value@2.0.6: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} @@ -7347,6 +7435,10 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + gradient-string@2.0.2: + resolution: {integrity: sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw==} + engines: {node: '>=10'} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -7555,6 +7647,10 @@ packages: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + http-signature@1.2.0: resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} engines: {node: '>=0.8', npm: '>=1.3.7'} @@ -7567,6 +7663,13 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} + https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} + engines: {node: '>= 14'} + + https@1.0.0: + resolution: {integrity: sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==} + human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} @@ -7712,6 +7815,10 @@ packages: resolution: {integrity: sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==} engines: {node: '>=6.0.0'} + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -7731,6 +7838,10 @@ packages: resolution: {integrity: sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==} engines: {node: '>=4'} + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + ip-regex@2.1.0: resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} engines: {node: '>=4'} @@ -8361,6 +8472,9 @@ packages: jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + jscodeshift@0.15.2: resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} hasBin: true @@ -8793,6 +8907,10 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -9170,6 +9288,10 @@ packages: nerf-dart@1.0.0: resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -9244,6 +9366,10 @@ packages: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} engines: {node: '>=8'} + novu@2.2.1: + resolution: {integrity: sha512-dEiNyA2GteSoCxvH5IjWLwD/ujSQUrwAcNwVYdYESe7Gtq45GxYfhkumJooru+PsEZLYdNCaqwwd0b0mL3zYUA==} + hasBin: true + now-and-later@3.0.0: resolution: {integrity: sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==} engines: {node: '>= 10.13.0'} @@ -9613,6 +9739,14 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + pac-proxy-agent@7.0.2: + resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==} + engines: {node: '>= 14'} + + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} + package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -9663,6 +9797,9 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + partysocket@0.0.17: + resolution: {integrity: sha512-8Re9nmgP2LzQhq+FBs9+BZNTjmMwoF4geEKlpH0lxW1JKp3FmplN74306afGH9EsOjdfcXqKY2VCZtc3iAHIow==} + pascalcase@0.1.1: resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} engines: {node: '>=0.10.0'} @@ -9946,6 +10083,10 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} + proxy-agent@6.4.0: + resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==} + engines: {node: '>= 14'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -10835,6 +10976,9 @@ packages: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -11105,6 +11249,10 @@ packages: resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} engines: {node: '>=0.10.0'} + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} @@ -11128,6 +11276,14 @@ packages: snapsvg@0.5.1: resolution: {integrity: sha512-CjwWYsL7+CCk1vCk9BBKGYS4WJVDfJAOMWU+Zhzf8wf6pAm/xT34wnpaMPAgcgCNkxuU6OkQPPd8wGuRCY9aNw==} + socks-proxy-agent@8.0.4: + resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} + engines: {node: '>= 14'} + + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + sortobject@4.17.0: resolution: {integrity: sha512-gzx7USv55AFRQ7UCWJHHauwD/ptUHF9MLXCGO3f5M9zauDPZ/4a9H6/VVbOXefdpEoI1unwB/bArHIVMbWBHmA==} engines: {node: '>=10'} @@ -11585,6 +11741,12 @@ packages: tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + + tinygradient@1.1.5: + resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} + tinyqueue@2.0.3: resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} @@ -11905,6 +12067,9 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -12162,6 +12327,9 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-name@3.0.0: + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + validator@13.12.0: resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} engines: {node: '>= 0.10'} @@ -12518,6 +12686,9 @@ packages: write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + write-file-atomic@4.0.2: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -12572,6 +12743,10 @@ packages: resolution: {integrity: sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==} engines: {node: '>=4'} + xdg-basedir@4.0.0: + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} @@ -12676,6 +12851,9 @@ packages: engines: {node: '>=8.0.0'} hasBin: true + zod@3.22.3: + resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} + zustand@4.5.5: resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==} engines: {node: '>=12.7.0'} @@ -14164,7 +14342,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.54 + '@types/node': 18.19.55 '@types/yargs': 15.0.19 chalk: 4.1.2 @@ -14231,6 +14409,12 @@ snapshots: '@juggle/resize-observer@3.4.0': {} + '@lukeed/csprng@1.1.0': {} + + '@lukeed/uuid@2.0.1': + dependencies: + '@lukeed/csprng': 1.1.0 + '@mapbox/geojson-rewind@0.5.2': dependencies: get-stream: 6.0.1 @@ -14474,6 +14658,21 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@novu/ntfr-client@0.0.4': + dependencies: + https: 1.0.0 + node-fetch: 3.3.2 + partysocket: 0.0.17 + proxy-agent: 6.4.0 + ws: 8.18.0 + zod: 3.22.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@novu/shared@2.1.4': {} + '@octokit/auth-token@2.5.0': dependencies: '@octokit/types': 6.41.0 @@ -14586,7 +14785,7 @@ snapshots: '@octokit/types@2.16.2': dependencies: - '@types/node': 10.17.60 + '@types/node': 18.19.55 '@octokit/types@6.41.0': dependencies: @@ -15187,6 +15386,28 @@ snapshots: transitivePeerDependencies: - zenObservable + '@segment/analytics-core@1.4.1': + dependencies: + '@lukeed/uuid': 2.0.1 + '@segment/analytics-generic-utils': 1.1.1 + dset: 3.1.4 + tslib: 2.7.0 + + '@segment/analytics-generic-utils@1.1.1': + dependencies: + tslib: 2.7.0 + + '@segment/analytics-node@1.3.0(encoding@0.1.13)': + dependencies: + '@lukeed/uuid': 2.0.1 + '@segment/analytics-core': 1.4.1 + '@segment/analytics-generic-utils': 1.1.1 + buffer: 6.0.3 + node-fetch: 2.7.0(encoding@0.1.13) + tslib: 2.7.0 + transitivePeerDependencies: + - encoding + '@semantic-release/commit-analyzer@6.3.3(semantic-release@15.14.0(@octokit/core@6.1.2)(encoding@0.1.13))': dependencies: conventional-changelog-angular: 5.0.13 @@ -15687,7 +15908,7 @@ snapshots: '@storybook/telemetry': 7.6.20(encoding@0.1.13) '@storybook/types': 7.6.20 '@types/detect-port': 1.3.5 - '@types/node': 18.19.54 + '@types/node': 18.19.55 '@types/pretty-hrtime': 1.0.3 '@types/semver': 7.5.8 better-opn: 3.0.2 @@ -16212,6 +16433,8 @@ snapshots: '@tootallnate/once@2.0.0': {} + '@tootallnate/quickjs-emscripten@0.23.0': {} + '@trysound/sax@0.2.0': {} '@ts-morph/common@0.24.0': @@ -16267,13 +16490,17 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 18.19.54 + '@types/node': 18.19.55 '@types/cookie@0.3.3': {} + '@types/cross-spawn@6.0.0': + dependencies: + '@types/node': 18.19.55 + '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 18.19.54 + '@types/node': 18.19.55 '@types/d3-array@3.2.1': {} @@ -16445,11 +16672,11 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 3.0.3 - '@types/node': 10.17.60 + '@types/node': 18.19.55 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 18.19.54 + '@types/node': 18.19.55 '@types/handlebars@4.1.0': dependencies: @@ -16526,7 +16753,7 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 18.19.54 + '@types/node': 18.19.55 form-data: 4.0.0 '@types/node@10.17.60': {} @@ -16599,7 +16826,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 18.19.54 + '@types/node': 18.19.55 '@types/serve-static@1.15.7': dependencies: @@ -16620,6 +16847,8 @@ snapshots: dependencies: '@testing-library/jest-dom': 6.5.0 + '@types/tinycolor2@1.4.6': {} + '@types/tough-cookie@4.0.5': {} '@types/triple-beam@1.3.5': {} @@ -17038,6 +17267,12 @@ snapshots: transitivePeerDependencies: - supports-color + agent-base@7.1.1: + dependencies: + debug: 4.3.7(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 @@ -17413,6 +17648,10 @@ snapshots: esprima: 1.0.4 through: 2.3.8 + ast-types@0.13.4: + dependencies: + tslib: 2.7.0 + ast-types@0.16.1: dependencies: tslib: 2.7.0 @@ -17423,6 +17662,8 @@ snapshots: async-limiter@1.0.1: {} + async-sema@3.0.1: {} + async@2.6.4: dependencies: lodash: 4.17.21 @@ -17661,6 +17902,8 @@ snapshots: mixin-deep: 1.3.2 pascalcase: 0.1.1 + basic-ftp@5.0.5: {} + bcrypt-pbkdf@1.0.2: dependencies: tweetnacl: 0.14.5 @@ -17833,6 +18076,8 @@ snapshots: builtin-modules@2.0.0: {} + builtins@1.0.3: {} + byte-size@8.2.1: {} bytes@3.0.0: {} @@ -18038,6 +18283,8 @@ snapshots: cli-width@2.2.1: {} + cli-width@3.0.0: {} + clipboard-copy@4.0.1: {} cliui@4.1.0: @@ -18217,6 +18464,15 @@ snapshots: write-file-atomic: 2.4.3 xdg-basedir: 3.0.0 + configstore@5.0.1: + dependencies: + dot-prop: 5.3.0 + graceful-fs: 4.2.11 + make-dir: 3.1.0 + unique-string: 2.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 4.0.0 + consola@3.2.3: {} console-control-strings@1.1.0: @@ -18262,7 +18518,7 @@ snapshots: dependencies: JSONStream: 1.3.5 is-text-path: 1.0.1 - lodash: 4.17.11 + lodash: 4.17.21 meow: 4.0.1 split2: 2.2.0 through2: 2.0.5 @@ -18392,6 +18648,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.5: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypto-random-string@1.0.0: {} crypto-random-string@2.0.0: {} @@ -18511,6 +18773,8 @@ snapshots: data-uri-to-buffer@4.0.1: {} + data-uri-to-buffer@6.0.2: {} + data-urls@1.1.0: dependencies: abab: 2.0.6 @@ -18674,6 +18938,12 @@ snapshots: defu@6.1.4: {} + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + del@3.0.0: dependencies: globby: 6.1.0 @@ -18844,6 +19114,8 @@ snapshots: dotenv@16.4.5: {} + dset@3.1.4: {} + duplexer2@0.1.4: dependencies: readable-stream: 2.3.8 @@ -19437,6 +19709,14 @@ snapshots: fast-fifo@1.3.2: {} + fast-glob@3.3.1: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -19869,6 +20149,15 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 + get-uri@6.0.3: + dependencies: + basic-ftp: 5.0.5 + data-uri-to-buffer: 6.0.2 + debug: 4.3.7(supports-color@5.5.0) + fs-extra: 11.2.0 + transitivePeerDependencies: + - supports-color + get-value@2.0.6: {} getpass@0.1.7: @@ -20084,6 +20373,11 @@ snapshots: graceful-fs@4.2.11: {} + gradient-string@2.0.2: + dependencies: + chalk: 4.1.2 + tinygradient: 1.1.5 + graphemer@1.4.0: {} graphql@16.9.0: {} @@ -20343,6 +20637,13 @@ snapshots: transitivePeerDependencies: - supports-color + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + http-signature@1.2.0: dependencies: assert-plus: 1.0.0 @@ -20363,6 +20664,15 @@ snapshots: transitivePeerDependencies: - supports-color + https-proxy-agent@7.0.5: + dependencies: + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + https@1.0.0: {} + human-signals@1.1.1: {} human-signals@2.1.0: {} @@ -20522,6 +20832,24 @@ snapshots: strip-ansi: 4.0.0 through: 2.3.8 + inquirer@8.2.6: + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 @@ -20541,6 +20869,11 @@ snapshots: invert-kv@2.0.0: {} + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + ip-regex@2.1.0: optional: true @@ -21101,7 +21434,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 18.19.54 + '@types/node': 18.19.55 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -21303,7 +21636,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 18.19.54 + '@types/node': 18.19.55 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -21338,6 +21671,8 @@ snapshots: jsbn@0.1.1: {} + jsbn@1.1.0: {} + jscodeshift@0.15.2(@babel/preset-env@7.25.7(@babel/core@7.25.7)): dependencies: '@babel/core': 7.25.7 @@ -21882,6 +22217,8 @@ snapshots: dependencies: yallist: 4.0.0 + lru-cache@7.18.3: {} + lz-string@1.5.0: {} m3u8-parser@4.8.0: @@ -22292,6 +22629,8 @@ snapshots: nerf-dart@1.0.0: {} + netmask@2.0.2: {} + nice-try@1.0.5: {} no-case@3.0.4: @@ -22380,6 +22719,38 @@ snapshots: normalize-url@4.5.1: {} + novu@2.2.1(encoding@0.1.13): + dependencies: + '@novu/ntfr-client': 0.0.4 + '@novu/shared': 2.1.4 + '@segment/analytics-node': 1.3.0(encoding@0.1.13) + '@types/cross-spawn': 6.0.0 + async-sema: 3.0.1 + axios: 1.7.7 + chalk: 4.1.2 + commander: 9.5.0 + configstore: 5.0.1 + cross-spawn: 7.0.5 + dotenv: 16.4.5 + fast-glob: 3.3.1 + get-port: 5.1.1 + gradient-string: 2.0.2 + inquirer: 8.2.6 + jwt-decode: 3.1.2 + open: 8.4.2 + ora: 5.4.1 + picocolors: 1.1.0 + prompts: 2.4.2 + uuid: 9.0.1 + validate-npm-package-name: 3.0.0 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - supports-color + - utf-8-validate + now-and-later@3.0.0: dependencies: once: 1.4.0 @@ -22630,6 +23001,24 @@ snapshots: p-try@2.2.0: {} + pac-proxy-agent@7.0.2: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + get-uri: 6.0.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.4 + transitivePeerDependencies: + - supports-color + + pac-resolver@7.0.1: + dependencies: + degenerator: 5.0.1 + netmask: 2.0.2 + package-json-from-dist@1.0.1: {} package-json@4.0.1: @@ -22683,6 +23072,8 @@ snapshots: parseurl@1.3.3: {} + partysocket@0.0.17: {} + pascalcase@0.1.1: {} path-browserify@1.0.1: {} @@ -22930,6 +23321,19 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 + proxy-agent@6.4.0: + dependencies: + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + lru-cache: 7.18.3 + pac-proxy-agent: 7.0.2 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.4 + transitivePeerDependencies: + - supports-color + proxy-from-env@1.1.0: {} pseudomap@1.0.2: {} @@ -23989,6 +24393,10 @@ snapshots: dependencies: tslib: 1.14.1 + rxjs@7.8.1: + dependencies: + tslib: 2.7.0 + safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 @@ -24294,6 +24702,8 @@ snapshots: slice-ansi@0.0.4: {} + smart-buffer@4.2.0: {} + snake-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -24331,6 +24741,19 @@ snapshots: dependencies: eve: 0.5.4 + socks-proxy-agent@8.0.4: + dependencies: + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + + socks@2.8.3: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + sortobject@4.17.0: {} source-map-js@1.2.1: {} @@ -24803,6 +25226,13 @@ snapshots: tiny-warning@1.0.3: {} + tinycolor2@1.6.0: {} + + tinygradient@1.1.5: + dependencies: + '@types/tinycolor2': 1.4.6 + tinycolor2: 1.6.0 + tinyqueue@2.0.3: {} tmp@0.0.33: @@ -25158,6 +25588,10 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + typedarray@0.0.6: {} typedoc-default-themes@0.5.0: {} @@ -25411,6 +25845,10 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + validate-npm-package-name@3.0.0: + dependencies: + builtins: 1.0.3 + validator@13.12.0: {} value-or-function@4.0.0: {} @@ -25900,6 +26338,13 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 @@ -25920,6 +26365,8 @@ snapshots: xdg-basedir@3.0.0: {} + xdg-basedir@4.0.0: {} + xml-name-validator@3.0.0: {} xml-name-validator@4.0.0: {} @@ -26061,6 +26508,8 @@ snapshots: optionalDependencies: commander: 9.5.0 + zod@3.22.3: {} + zustand@4.5.5(@types/react@18.3.11)(immer@10.1.1)(react@18.3.1): dependencies: use-sync-external-store: 1.2.2(react@18.3.1)