diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ddccc4689..16c86f0ac4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -74,9 +74,5 @@ jobs: if: matrix.task == 'test-run' run: pnpm test:setup - - name: Run migrations - if: matrix.task == 'test-run' - run: pnpm --filter core migrate-test - - name: Run task run: NODE_ENV=test pnpm ${{ matrix.task }} diff --git a/.github/workflows/deploy-template.yml b/.github/workflows/deploy-template.yml index d98a0370c8..ed105d482d 100644 --- a/.github/workflows/deploy-template.yml +++ b/.github/workflows/deploy-template.yml @@ -104,19 +104,19 @@ jobs: # Complication when the number of containers in the task are unknown: # we have to know where to get the inputs for each step, including the upload # step. - - name: Fill in the new image ID in the Amazon ECS task definition for migrations - id: task-def-migration - if: inputs.service == 'core' - uses: aws-actions/amazon-ecs-render-task-definition@c804dfbdd57f713b6c079302a4c01db7017a36fc - with: - task-definition: ${{ steps.task-def-service.outputs.task-definition }} - container-name: migrations - image: ${{ steps.label.outputs.base_label }} + # - name: Fill in the new image ID in the Amazon ECS task definition for migrations + # id: task-def-migration + # if: inputs.service == 'core' + # uses: aws-actions/amazon-ecs-render-task-definition@c804dfbdd57f713b6c079302a4c01db7017a36fc + # with: + # task-definition: ${{ steps.task-def-service.outputs.task-definition }} + # container-name: migrations + # image: ${{ steps.label.outputs.base_label }} - name: Deploy Amazon ECS task definition id: deploy-service-only # This one is different. The single-image case is when not deploying core. - if: inputs.service != 'core' + # if: inputs.service != 'core' uses: aws-actions/amazon-ecs-deploy-task-definition@16f052ed696e6e5bf88c208a8e5ba1af7ced3310 with: # it is because of this line that the two steps need different if conditions @@ -125,13 +125,13 @@ jobs: cluster: ${{ env.ECS_CLUSTER }} wait-for-service-stability: true - - name: Deploy Amazon ECS task definition including migrations - id: deploy-service-and-migrations - if: inputs.service == 'core' - uses: aws-actions/amazon-ecs-deploy-task-definition@16f052ed696e6e5bf88c208a8e5ba1af7ced3310 - with: - # it is because of this line that the two steps need different if conditions - task-definition: ${{ steps.task-def-migration.outputs.task-definition }} - service: ${{ env.ECS_SERVICE }} - cluster: ${{ env.ECS_CLUSTER }} - wait-for-service-stability: true + # - name: Deploy Amazon ECS task definition including migrations + # id: deploy-service-and-migrations + # if: inputs.service == 'core' + # uses: aws-actions/amazon-ecs-deploy-task-definition@16f052ed696e6e5bf88c208a8e5ba1af7ced3310 + # with: + # # it is because of this line that the two steps need different if conditions + # task-definition: ${{ steps.task-def-migration.outputs.task-definition }} + # service: ${{ env.ECS_SERVICE }} + # cluster: ${{ env.ECS_CLUSTER }} + # wait-for-service-stability: true diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 394ccc2bf4..396ac94ba3 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -106,7 +106,7 @@ jobs: - name: Run migrations and seed run: pnpm --filter core reset-base env: - # 20241126: this prevents the arcadia seed from running, which contains a ton of pubs which potentially might slow down the tests + # 20241126: this prevents the legacy seed from running, which contains a ton of pubs which potentially might slow down the tests MINIMAL_SEED: true SKIP_VALIDATION: true @@ -124,6 +124,7 @@ jobs: run: echo "CONTAINER_ID=$(docker compose -f docker-compose.test.yml ps integration-tests -q)" >> $GITHUB_OUTPUT - name: Wait until container is healthy + timeout-minutes: 3 run: while [ "`docker inspect -f {{.State.Health.Status}} ${{steps.log-container-id.outputs.CONTAINER_ID}}`" != "healthy" ]; do sleep .2; done - name: Run integration tests diff --git a/.github/workflows/on_main.yml b/.github/workflows/on_main.yml index 265f1ae985..46c6518f08 100644 --- a/.github/workflows/on_main.yml +++ b/.github/workflows/on_main.yml @@ -62,7 +62,6 @@ jobs: with: PLATFORM_IMAGE: ${{ needs.build-all.outputs.core-image }} JOBS_IMAGE: ${{ needs.build-all.outputs.jobs-image }} - MIGRATIONS_IMAGE: ${{ needs.build-all.outputs.base-image }} SITE_BUILDER_IMAGE: ${{ needs.build-all.outputs.site-builder-image }} AWS_REGION: "us-east-1" ALWAYS_ON: "main" diff --git a/.github/workflows/on_pr.yml b/.github/workflows/on_pr.yml index 8f1e1c8769..75228ecee4 100644 --- a/.github/workflows/on_pr.yml +++ b/.github/workflows/on_pr.yml @@ -63,11 +63,9 @@ jobs: with: # PLATFORM_IMAGE: 246372085946.dkr.ecr.us-east-1.amazonaws.com/pubpub-v7-core:2b9a81a279c4e405bbedcdbb697c897ded52fbc0 # JOBS_IMAGE: 246372085946.dkr.ecr.us-east-1.amazonaws.com/pubpub-v7-jobs:c786662f4899de16a621e366a485eca5adda4d6a - # MIGRATIONS_IMAGE: 246372085946.dkr.ecr.us-east-1.amazonaws.com/pubpub-v7:c786662f4899de16a621e366a485eca5adda4d6a # SITE_BUILDER_IMAGE: 246372085946.dkr.ecr.us-east-1.amazonaws.com/pubpub-v7-site-builder:c786662f4899de16a621e366a485eca5adda4d6a PLATFORM_IMAGE: ${{ needs.build-all.outputs.core-image }} JOBS_IMAGE: ${{ needs.build-all.outputs.jobs-image }} - MIGRATIONS_IMAGE: ${{ needs.build-all.outputs.base-image }} SITE_BUILDER_IMAGE: ${{ needs.build-all.outputs.site-builder-image }} AWS_REGION: "us-east-1" COMPOSE_FILES: docker-compose.preview.pr.yml @@ -89,7 +87,6 @@ jobs: with: PLATFORM_IMAGE: "x" # not used JOBS_IMAGE: "x" # not used - MIGRATIONS_IMAGE: "x" # not used SITE_BUILDER_IMAGE: "x" # not used AWS_REGION: "us-east-1" secrets: diff --git a/.github/workflows/pull-preview.yml b/.github/workflows/pull-preview.yml index 27a3dba4c0..d02c4864ce 100644 --- a/.github/workflows/pull-preview.yml +++ b/.github/workflows/pull-preview.yml @@ -7,9 +7,6 @@ on: JOBS_IMAGE: required: true type: string - MIGRATIONS_IMAGE: - required: true - type: string SITE_BUILDER_IMAGE: required: true type: string @@ -54,12 +51,10 @@ jobs: env: PLATFORM_IMAGE: ${{ inputs.PLATFORM_IMAGE }} JOBS_IMAGE: ${{ inputs.JOBS_IMAGE }} - MIGRATIONS_IMAGE: ${{ inputs.MIGRATIONS_IMAGE }} SITE_BUILDER_IMAGE: ${{ inputs.SITE_BUILDER_IMAGE }} run: | sed -i "s|image: PLATFORM_IMAGE|image: $PLATFORM_IMAGE|" docker-compose.preview.yml sed -i "s|image: JOBS_IMAGE|image: $JOBS_IMAGE|" docker-compose.preview.yml - sed -i "s|image: MIGRATIONS_IMAGE|image: $MIGRATIONS_IMAGE|" docker-compose.preview.yml sed -i "s|image: SITE_BUILDER_IMAGE|image: $SITE_BUILDER_IMAGE|" docker-compose.preview.yml sed -i "s|DATACITE_REPOSITORY_ID: DATACITE_REPOSITORY_ID|DATACITE_REPOSITORY_ID: ${{ secrets.PREVIEW_DATACITE_REPOSITORY_ID }}|" docker-compose.preview.yml sed -i "s|DATACITE_PASSWORD: DATACITE_PASSWORD|DATACITE_PASSWORD: ${{ secrets.PREVIEW_DATACITE_PASSWORD }}|" docker-compose.preview.yml diff --git a/Dockerfile b/Dockerfile index 9b052300e4..518e950000 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,8 +4,8 @@ # If you need more help, visit the Dockerfile reference guide at # https://docs.docker.com/go/dockerfile-reference/ -ARG NODE_VERSION=22.13.1 -ARG ALPINE_VERSION=3.20 +ARG NODE_VERSION=24.6.0 +ARG ALPINE_VERSION=3.21 ARG PACKAGE ARG PORT=3000 @@ -136,5 +136,7 @@ COPY --from=withpackage --chown=node:node /usr/src/app/core/.next/static ./core/ COPY --from=withpackage --chown=node:node /usr/src/app/core/public ./core/public # needed to set the database url correctly based on PGHOST variables COPY --from=withpackage --chown=node:node /usr/src/app/core/.env.docker ./core/.env +# needed to run migrations +COPY --from=withpackage --chown=node:node /usr/src/app/core/prisma ./core/prisma CMD ["node", "core/server.js"] diff --git a/core/instrumentation.migrate.ts b/core/instrumentation.migrate.ts new file mode 100644 index 0000000000..47e9c3e37b --- /dev/null +++ b/core/instrumentation.migrate.ts @@ -0,0 +1,24 @@ +import { logger } from "logger"; + +export async function runMigrations() { + const { execSync } = await import("child_process"); + + try { + logger.info("Running Prisma migrations..."); + execSync("npx prisma migrate deploy --config prisma/prisma.config.ts", { + stdio: "pipe", + // eslint-disable-next-line no-restricted-properties + env: { ...process.env }, + }); + + logger.info("Prisma migrations completed successfully"); + } catch (error) { + logger.error({ msg: "Failed to run Prisma migrations:", err: error }); + throw error; + } +} + +runMigrations().catch((error) => { + logger.error({ msg: "Migration auto-run failed:", err: error }); + process.exit(1); +}); diff --git a/core/instrumentation.node.mts b/core/instrumentation.node.mts index 3efb12f679..176f94058b 100644 --- a/core/instrumentation.node.mts +++ b/core/instrumentation.node.mts @@ -6,45 +6,55 @@ import { logger } from "logger"; import { env } from "./lib/env/env"; -// function hook() { -logger.info("Running instrumentation hook for nodejs..."); - -if (env.NODE_ENV === "production") { - logger.info("Instrumenting Sentry..."); - Sentry.init({ - dsn: "https://5012643b47ea6b2c8917f14442066f23@o31718.ingest.sentry.io/4505959187480576", - - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1, - - // Setting this option to true will print useful information to the console while you're setting up Sentry. - debug: false, - integrations: [ - Sentry.redisIntegration({ - cachePrefixes: ["nextjs:"], +async function main() { + if (process.env.NODE_ENV === "development") { + logger.info( + "NEXT_RUNTIME is `nodejs` and NODE_ENV is `development`; skipping OTEL + Sentry registration." + ); + return; + } + + logger.info("Running instrumentation hook for nodejs..."); + + if (env.NODE_ENV === "production") { + logger.info("Instrumenting Sentry..."); + Sentry.init({ + dsn: "https://5012643b47ea6b2c8917f14442066f23@o31718.ingest.sentry.io/4505959187480576", + + // Adjust this value in production, or use tracesSampler for greater control + tracesSampleRate: 1, + + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, + integrations: [ + Sentry.redisIntegration({ + cachePrefixes: ["nextjs:"], + }), + ], + }); + logger.info("✅ Successfully instrumented Sentry"); + } + + logger.info("Instrumenting Honeycomb..."); + const sdk = new HoneycombSDK({ + instrumentations: [ + getNodeAutoInstrumentations({ + // We recommend disabling fs automatic instrumentation because + // it can be noisy and expensive during startup + "@opentelemetry/instrumentation-fs": { + enabled: false, + }, }), ], }); - logger.info("✅ Successfully instrumented Sentry"); -} - -logger.info("Instrumenting Honeycomb..."); -const sdk = new HoneycombSDK({ - instrumentations: [ - getNodeAutoInstrumentations({ - // We recommend disabling fs automatic instrumentation because - // it can be noisy and expensive during startup - "@opentelemetry/instrumentation-fs": { - enabled: false, - }, - }), - ], -}); -sdk.start(); -logger.info("✅ Successfully instrumented Honeycomb"); + sdk.start(); + logger.info("✅ Successfully instrumented Honeycomb"); -logger.info("instrumentation hooked in for nodejs."); -// } + logger.info("instrumentation hooked in for nodejs."); +} -// hook(); +main().catch((error) => { + logger.error("Instrumentation hook failed:", error); + process.exit(1); +}); diff --git a/core/instrumentation.ts b/core/instrumentation.ts index d3fc9b8dc6..71a50cb0eb 100644 --- a/core/instrumentation.ts +++ b/core/instrumentation.ts @@ -17,13 +17,8 @@ export async function register() { logger.info(`Registering instrumentation hook for ${process.env.NEXT_RUNTIME}`); if (process.env.NEXT_RUNTIME === "nodejs") { - if (process.env.NODE_ENV === "development") { - logger.info( - "NEXT_RUNTIME is `nodejs` and NODE_ENV is `development`; skipping OTEL + Sentry registration." - ); - return; - } await import("./instrumentation.node.mts"); + await import("./instrumentation.migrate.ts"); } else { logger.info("NEXT_RUNTIME is not `nodejs`; skipping OTEL registration."); } diff --git a/core/next.config.ts b/core/next.config.ts index e4ca62e038..d1874ec7a8 100644 --- a/core/next.config.ts +++ b/core/next.config.ts @@ -1,10 +1,9 @@ -// @ts-check - import type { NextConfig, normalizeConfig } from "next/dist/server/config"; import { PHASE_PRODUCTION_BUILD } from "next/dist/shared/lib/constants.js"; import withPreconstruct from "@preconstruct/next"; import { withSentryConfig } from "@sentry/nextjs"; +import { nodeFileTrace } from "@vercel/nft"; import { env } from "./lib/env/env"; @@ -12,6 +11,8 @@ import { env } from "./lib/env/env"; const nextConfig: NextConfig = { output: "standalone", + outputFileTracingRoot: new URL("./..", import.meta.url).pathname, + typescript: { // this gets checked in CI already ignoreBuildErrors: true, @@ -123,7 +124,7 @@ const modifiedConfig = withPreconstruct( }) ); -const config: typeof normalizeConfig = async (phase, { defaultConfig }) => { +const config: typeof normalizeConfig = async (phase, { defaultConfig }): Promise => { if (!env.SENTRY_AUTH_TOKEN) { console.warn("⚠️ SENTRY_AUTH_TOKEN is not set"); } @@ -136,7 +137,58 @@ const config: typeof normalizeConfig = async (phase, { defaultConfig }) => { } console.log("✅ SENTRY_AUTH_TOKEN is successfully set"); } - return modifiedConfig; + + // see https://github.com/vercel/next.js/discussions/66327#discussioncomment-13247142 + const { + fileList: additionalTracedFiles, + esmFileList, + reasons, + warnings, + } = await nodeFileTrace( + // add entry points for the missing packages or any additional scripts you need here + [ + require.resolve("prisma/build/index.js"), + require.resolve("@prisma/engines"), + require.resolve("@prisma/config"), + require.resolve("@prisma/driver-adapter-utils"), + require.resolve("@prisma/engines-version"), + require.resolve("@prisma/fetch-engine"), + require.resolve("@prisma/get-platform"), + require.resolve("effect"), + ], + { + analysis: { + emitGlobs: true, + }, + + conditions: ["import", "require", "node"], + } + ); + console.log(additionalTracedFiles, esmFileList, warnings); + + reasons.forEach((reason, key) => + console.log(key, reason, Array.from(reason.parents.entries())) + ); + + return { + ...modifiedConfig, + outputFileTracingIncludes: { + "**": [ + ...additionalTracedFiles, + "./node_modules/.bin/prisma", + "./node_modules/prisma/**", + "./node_modules/@prisma*/**", + "./prisma/migrations/*", + "./prisma/prisma.config.ts", + "./prisma/schema/*", + "./prisma/create-admin-user.cts", + "./node_modules/effect/**", + "./node_modules/empathic/**", + "./node_modules/deepmerge-ts/**", + "./node_modules/c12/**", + ], + }, + }; }; export default config; diff --git a/core/package.json b/core/package.json index 78a7fd49ed..76ebac3c43 100644 --- a/core/package.json +++ b/core/package.json @@ -27,17 +27,17 @@ "load-test": "dotenv -e .env.local -e .env.development artillery run load-test.yaml", "lint": "eslint", "lint:fix": "eslint --fix", - "migrate-dev": "dotenv -e .env.local -e .env.development prisma migrate dev && pnpm --filter db make-kysely-types", - "migrate-deploy": "dotenv -e .env.local -e .env.development prisma migrate deploy", - "migrate-diff": "dotenv -e .env.local -e .env.development prisma migrate diff", - "migrate-docker": "dotenv -e .env.docker -- prisma migrate deploy", - "prisma": "dotenv -e .env.local -e .env.development prisma", - "prisma-studio": "dotenv -e .env.local -e .env.development prisma studio", + "migrate-dev": "dotenv -e .env.local -e .env.development prisma migrate dev -- --config prisma/prisma.config.ts && pnpm --filter db make-kysely-types", + "migrate-deploy": "dotenv -e .env.local -e .env.development prisma migrate deploy -- --config prisma/prisma.config.ts && pnpm --filter db make-kysely-types", + "migrate-diff": "dotenv -e .env.local -e .env.development prisma migrate diff -- --config prisma/prisma.config.ts && pnpm --filter db make-kysely-types", + "migrate-docker": "dotenv -e .env.docker -- prisma migrate deploy -- --config prisma/prisma.config.ts && pnpm --filter db make-kysely-types", + "prisma": "dotenv -e .env.local -e .env.development prisma --config prisma/prisma.config.ts", + "prisma-studio": "dotenv -e .env.local -e .env.development prisma studio -- --config prisma/prisma.config.ts", "format": "prettier --check . --ignore-path ../.gitignore --ignore-path ./.gitignore --ignore-path ./.prettierignore", "format:fix": "prettier -w . --ignore-path ../.gitignore --ignore-path ./.gitignore --ignore-path ./.prettierignore", "start": "next start", "start:dev": "dotenv -e .env.local -e .env.development pnpm start | pino-pretty", - "reset-base": "dotenv -e .env.local -e .env.development prisma migrate reset -- --preview-feature --force | pino-pretty", + "reset-base": "dotenv -e .env.local -e .env.development prisma migrate reset -- --preview-feature --force --config prisma/prisma.config.ts | pino-pretty", "reset": "pnpm reset-base && pnpm clear-cache", "test": "SKIP_VALIDATION=true vitest --logHeapUsage", "test-run": "SKIP_VALIDATION=true vitest run --logHeapUsage", @@ -52,10 +52,6 @@ ".next", "public" ], - "prisma": { - "__comment": "The #register-loader goes to the correct file based on the .imports setting below", - "seed": "tsx --import #register-loader prisma/seed.ts" - }, "dependencies": { "@aws-sdk/client-s3": "^3.864.0", "@aws-sdk/lib-storage": "^3.864.0", @@ -76,7 +72,13 @@ "@nimpl/getters": "^2.2.0", "@node-rs/argon2": "^1.8.3", "@opentelemetry/auto-instrumentations-node": "catalog:", - "@prisma/client": "5.19.1", + "@prisma/config": "^6.17.1", + "@prisma/debug": "^6.17.1", + "@prisma/driver-adapter-utils": "^6.17.1", + "@prisma/engines": "^6.17.1", + "@prisma/engines-version": "6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f", + "@prisma/fetch-engine": "^6.17.1", + "@prisma/get-platform": "^6.17.1", "@react-email/render": "^1.2.0", "@sentry/nextjs": "catalog:", "@sinclair/typebox": "catalog:", @@ -89,6 +91,7 @@ "@ts-rest/react-query": "catalog:", "@ts-rest/serverless": "catalog:", "@types/hast": "^3.0.4", + "@vercel/nft": "^0.30.3", "ajv": "^8.17.1", "ajv-formats": "^2.1.1", "clsx": "catalog:", @@ -122,9 +125,10 @@ "nuqs": "catalog:", "openapi3-ts": "^4.5.0", "oslo": "^1.2.1", - "parse-english": "^7.0.0", "p-map": "^7.0.3", + "parse-english": "^7.0.0", "pg": "^8.16.3", + "prisma": "^6.17.0", "prosemirror-markdown": "^1.13.2", "prosemirror-model": "catalog:", "qs": "^6.14.0", @@ -149,6 +153,7 @@ "schemas": "workspace:*", "server-only": "^0.0.1", "tailwind-merge": "catalog:", + "tsx": "catalog:", "ui": "workspace:*", "unified": "^11.0.5", "unist-util-filter": "^5.0.1", @@ -157,15 +162,19 @@ "use-next-sse": "^0.2.3", "utils": "workspace:*", "uuid": "^9.0.1", - "zod": "catalog:" + "zod": "catalog:", + "c12": "3.1.0", + "deepmerge-ts": "7.1.5", + "effect": "3.16.12", + "empathic": "2.0.0" }, "devDependencies": { "@chromatic-com/storybook": "^4.1.1", "@hookform/devtools": "^4.4.0", "@playwright/test": "catalog:", "@preconstruct/next": "^4.0.0", - "@prisma/generator-helper": "^5.22.0", - "@prisma/internals": "^5.22.0", + "@prisma/generator-helper": "^6.17.0", + "@prisma/internals": "^6.17.0", "@pubpub/eslint-config": "workspace:*", "@pubpub/prettier-config": "workspace:*", "@storybook/addon-docs": "^9.1.2", @@ -206,7 +215,6 @@ "kanel-kysely": "^0.4.0", "pluralize": "^8.0.0", "postcss": "catalog:", - "prisma": "^5.22.0", "prisma-dbml-generator": "^0.12.0", "react": "catalog:react19", "react-dom": "catalog:react19", @@ -215,7 +223,6 @@ "tailwindcss": "catalog:", "ts-node": "^10.9.2", "tsconfig": "workspace:*", - "tsx": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vite-tsconfig-paths": "catalog:", diff --git a/core/prisma/migrations/20251016142939_v6_migration/migration.sql b/core/prisma/migrations/20251016142939_v6_migration/migration.sql new file mode 100644 index 0000000000..192aa6d0c1 --- /dev/null +++ b/core/prisma/migrations/20251016142939_v6_migration/migration.sql @@ -0,0 +1,11 @@ +-- AlterTable +ALTER TABLE "_FormElementToPubType" ADD CONSTRAINT "_FormElementToPubType_AB_pkey" PRIMARY KEY ("A", "B"); + +-- DropIndex +DROP INDEX "public"."_FormElementToPubType_AB_unique"; + +-- AlterTable +ALTER TABLE "_MemberGroupToUser" ADD CONSTRAINT "_MemberGroupToUser_AB_pkey" PRIMARY KEY ("A", "B"); + +-- DropIndex +DROP INDEX "public"."_MemberGroupToUser_AB_unique"; diff --git a/core/prisma/migrations/migration_lock.toml b/core/prisma/migrations/migration_lock.toml index fbffa92c2b..044d57cdb0 100644 --- a/core/prisma/migrations/migration_lock.toml +++ b/core/prisma/migrations/migration_lock.toml @@ -1,3 +1,3 @@ # Please do not edit this file manually -# It should be added in your version-control system (i.e. Git) -provider = "postgresql" \ No newline at end of file +# It should be added in your version-control system (e.g., Git) +provider = "postgresql" diff --git a/core/prisma/prisma.config.ts b/core/prisma/prisma.config.ts new file mode 100644 index 0000000000..44d21b1507 --- /dev/null +++ b/core/prisma/prisma.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from "prisma/config"; + +export default defineConfig({ + schema: "./schema/", + migrations: { + path: "./migrations/", + seed: "tsx --import #register-loader prisma/seed.ts", + }, +}); diff --git a/core/prisma/schema/schema.dbml b/core/prisma/schema/schema.dbml index 0f4fe2b9d5..9da2aaf59a 100644 --- a/core/prisma/schema/schema.dbml +++ b/core/prisma/schema/schema.dbml @@ -497,6 +497,7 @@ Table invite_forms { inviteId String [not null] form forms [not null] formId String [not null] + helper Json type MembershipType [not null] createdAt DateTime [default: `now()`, not null] updatedAt DateTime [default: `now()`, not null] diff --git a/core/prisma/schema/schema.prisma b/core/prisma/schema/schema.prisma index ce8aaeea6c..92cb5f46ae 100644 --- a/core/prisma/schema/schema.prisma +++ b/core/prisma/schema/schema.prisma @@ -7,9 +7,8 @@ datasource db { } generator dbml { - provider = "prisma-dbml-generator" - previewFeatures = ["prismaSchemaFolder"] - output = "." + provider = "prisma-dbml-generator" + output = "." } generator comments { diff --git a/infrastructure/terraform/modules/container-generic/main.tf b/infrastructure/terraform/modules/container-generic/main.tf index 11b46c1bff..e987a721b7 100644 --- a/infrastructure/terraform/modules/container-generic/main.tf +++ b/infrastructure/terraform/modules/container-generic/main.tf @@ -68,6 +68,8 @@ module "ecs_service" { # wait for the init containers to finish # (this behavior is true for migrations, might need to be more # configurable if we have other init containers later) + # Note 20251016: we don't use this anymore after moving migrations to instrumentation.ts + # keeping around in case dependencies = [for ic in var.init_containers : { containerName = ic.name condition = "SUCCESS" diff --git a/infrastructure/terraform/modules/deployment/main.tf b/infrastructure/terraform/modules/deployment/main.tf index 331794b35c..9288a56410 100644 --- a/infrastructure/terraform/modules/deployment/main.tf +++ b/infrastructure/terraform/modules/deployment/main.tf @@ -65,14 +65,6 @@ module "service_core" { protocol = "tcp" } - init_containers = [{ - name = "migrations" - image = "${var.ecr_repository_urls.root}:latest" - command = [ - "pnpm", "--filter", "core", "migrate-docker", - ] - }] - resources = { cpu = 1024 memory = 2048 diff --git a/package.json b/package.json index 55f3936457..4ae5318972 100644 --- a/package.json +++ b/package.json @@ -1,98 +1,95 @@ { - "private": true, - "scripts": { - "build": "pnpm p:build && turbo build", - "build:docs": "turbo build --filter=docs", - "dev": "pnpm p:dev && turbo dev --filter=!emails --filter=!docs --ui tui", - "clean": "turbo clean", - "start": "turbo start", - "type-check": "turbo type-check", - "playwright:test": "turbo run playwright:test --continue", - "p:dev": "preconstruct dev", - "p:build": "turbo run turbo:p:build", - "turbo:p:build": "preconstruct build", - "format": "turbo run format --continue", - "format:fix": "turbo format:fix --continue", - "lint": "turbo lint --continue", - "lint:fix": "turbo lint:fix --continue", - "lint:ws": "pnpm dlx sherif@latest", - "test": "turbo test", - "test-run": "turbo test-run --continue", - "test:setup": "docker compose -f docker-compose.test.yml --profile test up -d", - "test:teardown": "docker compose -f docker-compose.test.yml --profile test down -v", - "fix": "pnpm run lint:fix && pnpm run format:fix", - "dev:db:start": "docker compose -f docker-compose.dev.yml up db -d", - "dev:db:stop": "docker compose -f docker-compose.dev.yml down db", - "dev:inbucket:start": "docker compose -f docker-compose.dev.yml up inbucket -d", - "dev:inbucket:stop": "docker compose -f docker-compose.dev.yml down inbucket", - "dev:minio:start": "docker compose -f docker-compose.dev.yml up minio -d && docker compose -f docker-compose.dev.yml run minio-init", - "dev:minio:stop": "docker compose -f docker-compose.dev.yml down minio", - "dev:cache:start": "docker compose -f docker-compose.dev.yml up cache -d", - "dev:cache:stop": "docker compose -f docker-compose.dev.yml down cache", - "dev:setup:base": "pnpm install && docker compose -f docker-compose.dev.yml up -d && pnpm p:dev", - "dev:setup": "pnpm run dev:setup:base && pnpm --filter core migrate-dev", - "dev:setup:reset": "pnpm run dev:setup:base && pnpm --filter core reset", - "dev:teardown": "docker compose -f docker-compose.dev.yml down -v", - "integration:setup": "docker compose -f docker-compose.test.yml --profile integration up -d", - "integration:teardown": "docker compose -f docker-compose.test.yml --profile integration down -v", - "context-editor:playwright": "pnpm --filter context-editor run playwright:test" - }, - "devDependencies": { - "@babel/core": "7.28.3", - "@babel/preset-env": "7.25.2", - "@babel/preset-react": "^7.27.1", - "@babel/preset-typescript": "^7.27.1", - "@playwright/test": "catalog:", - "@preconstruct/cli": "^2.8.12", - "@pubpub/prettier-config": "workspace:*", - "@turbo/gen": "^2.5.6", - "concurrently": "^9.2.0", - "husky": "^8.0.3", - "lint-staged": "^13.3.0", - "pino-pretty": "^10.3.1", - "prettier": "catalog:", - "turbo": "^2.5.6" - }, - "lint-staged": { - "*.{ts,tsx,js,jsx,scss,json,md}": [ - "prettier --write" - ], - "schema.prisma": [ - "npx prisma format" - ] - }, - "preconstruct": { - "packages": [ - "packages/*" - ], - "exports": true, - "___experimentalFlags_WILL_CHANGE_IN_PATCH": { - "typeModule": true, - "distInRoot": true, - "importsConditions": true - } - }, - "prettier": "@pubpub/prettier-config", - "packageManager": "pnpm@9.10.0", - "prisma": { - "schema": "core/prisma/schema/" - }, - "pnpm": { - "overrides": { - "@radix-ui/react-alert-dialog@1>@radix-ui/react-dialog@1>react-remove-scroll@2>react-style-singleton": "2.2.3", - "react-style-singleton": "2.2.3", - "use-sidecar@1>@types/react": "-", - "use-sidecar@1>react": "-", - "@radix-ui/react-dialog@1>react-remove-scroll@2>react-style-singleton": "2.2.3", - "@radix-ui/react-dismissable-layer": "^1.0.5", - "@radix-ui/react-focus-scope": "^1.0.4", - "@react-email/render@1>prettier": "^3.6.2", - "react-email@3>next": "^15.5.0", - "@opentelemetry/instrumentation@0>import-in-the-middle": "1.14.2" - } - }, - "name": "v7", - "imports": { - "#register-loader": "./core/prisma/seed/stubs/register-loader.js" - } + "private": true, + "scripts": { + "build": "pnpm p:build && turbo build", + "build:docs": "turbo build --filter=docs", + "dev": "pnpm p:dev && turbo dev --filter=!emails --filter=!docs --ui tui", + "clean": "turbo clean", + "start": "turbo start", + "type-check": "turbo type-check", + "playwright:test": "turbo run playwright:test --continue", + "p:dev": "preconstruct dev", + "p:build": "turbo run turbo:p:build", + "turbo:p:build": "preconstruct build", + "format": "turbo run format --continue", + "format:fix": "turbo format:fix --continue", + "lint": "turbo lint --continue", + "lint:fix": "turbo lint:fix --continue", + "lint:ws": "pnpm dlx sherif@latest", + "test": "turbo test", + "test-run": "turbo test-run --continue", + "test:setup": "docker compose -f docker-compose.test.yml --profile test up -d", + "test:teardown": "docker compose -f docker-compose.test.yml --profile test down -v", + "fix": "pnpm run lint:fix && pnpm run format:fix", + "dev:db:start": "docker compose -f docker-compose.dev.yml up db -d", + "dev:db:stop": "docker compose -f docker-compose.dev.yml down db", + "dev:inbucket:start": "docker compose -f docker-compose.dev.yml up inbucket -d", + "dev:inbucket:stop": "docker compose -f docker-compose.dev.yml down inbucket", + "dev:minio:start": "docker compose -f docker-compose.dev.yml up minio -d && docker compose -f docker-compose.dev.yml run minio-init", + "dev:minio:stop": "docker compose -f docker-compose.dev.yml down minio", + "dev:cache:start": "docker compose -f docker-compose.dev.yml up cache -d", + "dev:cache:stop": "docker compose -f docker-compose.dev.yml down cache", + "dev:setup:base": "pnpm install && docker compose -f docker-compose.dev.yml up -d && pnpm p:dev", + "dev:setup": "pnpm run dev:setup:base && pnpm --filter core migrate-dev", + "dev:setup:reset": "pnpm run dev:setup:base && pnpm --filter core reset", + "dev:teardown": "docker compose -f docker-compose.dev.yml down -v", + "integration:setup": "docker compose -f docker-compose.test.yml --profile integration up -d", + "integration:teardown": "docker compose -f docker-compose.test.yml --profile integration down -v", + "context-editor:playwright": "pnpm --filter context-editor run playwright:test" + }, + "devDependencies": { + "@babel/core": "7.28.3", + "@babel/preset-env": "7.25.2", + "@babel/preset-react": "^7.27.1", + "@babel/preset-typescript": "^7.27.1", + "@playwright/test": "catalog:", + "@preconstruct/cli": "^2.8.12", + "@pubpub/prettier-config": "workspace:*", + "@turbo/gen": "^2.5.6", + "concurrently": "^9.2.0", + "husky": "^8.0.3", + "lint-staged": "^13.3.0", + "pino-pretty": "^10.3.1", + "prettier": "catalog:", + "turbo": "^2.5.6" + }, + "lint-staged": { + "*.{ts,tsx,js,jsx,scss,json,md}": [ + "prettier --write" + ] + }, + "preconstruct": { + "packages": [ + "packages/*" + ], + "exports": true, + "___experimentalFlags_WILL_CHANGE_IN_PATCH": { + "typeModule": true, + "distInRoot": true, + "importsConditions": true + } + }, + "prettier": "@pubpub/prettier-config", + "packageManager": "pnpm@9.10.0", + "pnpm": { + "overrides": { + "@radix-ui/react-alert-dialog@1>@radix-ui/react-dialog@1>react-remove-scroll@2>react-style-singleton": "2.2.3", + "react-style-singleton": "2.2.3", + "use-sidecar@1>@types/react": "-", + "use-sidecar@1>react": "-", + "@radix-ui/react-dialog@1>react-remove-scroll@2>react-style-singleton": "2.2.3", + "@radix-ui/react-dismissable-layer": "^1.0.5", + "@radix-ui/react-focus-scope": "^1.0.4", + "@react-email/render@1>prettier": "^3.6.2", + "react-email@3>next": "^15.5.0", + "@opentelemetry/instrumentation@0>import-in-the-middle": "1.14.2", + "prisma-dbml-generator>prisma": "catalog:", + "prisma-dbml-generator>@prisma/internals": "catalog:", + "prisma-dbml-generator>@prisma/generator-helper": "catalog:" + } + }, + "name": "v7", + "imports": { + "#register-loader": "./core/prisma/seed/stubs/register-loader.js" + } } diff --git a/packages/db/src/public/PublicSchema.ts b/packages/db/src/public/PublicSchema.ts index b595151366..9f69edab4d 100644 --- a/packages/db/src/public/PublicSchema.ts +++ b/packages/db/src/public/PublicSchema.ts @@ -83,10 +83,10 @@ export interface PublicSchema { action_runs: ActionRunsTable; - pubs: PubsTable; - invites: InvitesTable; + pubs: PubsTable; + action_config_defaults: ActionConfigDefaultsTable; action_instances: ActionInstancesTable; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 31ad92828f..9934ae57aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -139,6 +139,9 @@ overrides: '@react-email/render@1>prettier': ^3.6.2 react-email@3>next: ^15.5.0 '@opentelemetry/instrumentation@0>import-in-the-middle': 1.14.2 + prisma-dbml-generator>prisma: ^6.17.0 + prisma-dbml-generator>@prisma/internals: ^6.17.0 + prisma-dbml-generator>@prisma/generator-helper: ^6.17.0 importers: @@ -331,9 +334,27 @@ importers: '@opentelemetry/auto-instrumentations-node': specifier: 'catalog:' version: 0.53.0(@opentelemetry/api@1.9.0) - '@prisma/client': - specifier: 5.19.1 - version: 5.19.1(prisma@5.22.0) + '@prisma/config': + specifier: ^6.17.1 + version: 6.17.1(magicast@0.3.5) + '@prisma/debug': + specifier: ^6.17.1 + version: 6.17.1 + '@prisma/driver-adapter-utils': + specifier: ^6.17.1 + version: 6.17.1 + '@prisma/engines': + specifier: ^6.17.1 + version: 6.17.1 + '@prisma/engines-version': + specifier: 6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f + version: 6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f + '@prisma/fetch-engine': + specifier: ^6.17.1 + version: 6.17.1 + '@prisma/get-platform': + specifier: ^6.17.1 + version: 6.17.1 '@react-email/render': specifier: ^1.2.0 version: 1.2.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -370,12 +391,18 @@ importers: '@types/hast': specifier: ^3.0.4 version: 3.0.4 + '@vercel/nft': + specifier: ^0.30.3 + version: 0.30.3(rollup@4.46.4) ajv: specifier: ^8.17.1 version: 8.17.1 ajv-formats: specifier: ^2.1.1 version: 2.1.1(ajv@8.17.1) + c12: + specifier: 3.1.0 + version: 3.1.0(magicast@0.3.5) clsx: specifier: 'catalog:' version: 2.1.1 @@ -394,12 +421,21 @@ importers: debounce: specifier: ^2.2.0 version: 2.2.0 + deepmerge-ts: + specifier: 7.1.5 + version: 7.1.5 diacritics: specifier: ^1.3.0 version: 1.3.0 + effect: + specifier: 3.16.12 + version: 3.16.12 emails: specifier: workspace:* version: link:../packages/emails + empathic: + specifier: 2.0.0 + version: 2.0.0 eta: specifier: ^3.5.0 version: 3.5.0 @@ -478,6 +514,9 @@ importers: pg: specifier: ^8.16.3 version: 8.16.3 + prisma: + specifier: ^6.17.0 + version: 6.17.1(magicast@0.3.5)(typescript@5.9.2) prosemirror-markdown: specifier: ^1.13.2 version: 1.13.2 @@ -550,6 +589,9 @@ importers: tailwind-merge: specifier: 'catalog:' version: 2.5.2 + tsx: + specifier: 'catalog:' + version: 4.19.0 ui: specifier: workspace:* version: link:../packages/ui @@ -591,11 +633,11 @@ importers: specifier: ^4.0.0 version: 4.0.0 '@prisma/generator-helper': - specifier: ^5.22.0 - version: 5.22.0 + specifier: ^6.17.0 + version: 6.17.1 '@prisma/internals': - specifier: ^5.22.0 - version: 5.22.0 + specifier: ^6.17.0 + version: 6.17.1(magicast@0.3.5)(typescript@5.9.2) '@pubpub/eslint-config': specifier: workspace:* version: link:../config/eslint @@ -716,12 +758,9 @@ importers: postcss: specifier: 'catalog:' version: 8.4.49 - prisma: - specifier: ^5.22.0 - version: 5.22.0 prisma-dbml-generator: specifier: ^0.12.0 - version: 0.12.0 + version: 0.12.0(magicast@0.3.5)(typescript@5.9.2) storybook: specifier: ^9.1.2 version: 9.1.2(@testing-library/dom@10.4.1)(msw@2.10.5(@types/node@20.17.12)(typescript@5.9.2))(prettier@3.6.2)(vite@6.3.5(@types/node@20.17.12)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.0)(yaml@2.8.1)) @@ -737,9 +776,6 @@ importers: tsconfig: specifier: workspace:* version: link:../config/tsconfig - tsx: - specifier: 'catalog:' - version: 4.19.0 typescript: specifier: 'catalog:' version: 5.9.2 @@ -1692,10 +1728,6 @@ packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@antfu/ni@0.21.4': - resolution: {integrity: sha512-O0Uv9LbLDSoEg26fnMDdDRiPwFJnQSoD4WnrflDwKCJm8Cx/0mV4cGxwBLXan5mGIrpK4Dd7vizf4rQm0QCEAA==} - hasBin: true - '@antfu/utils@8.1.1': resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} @@ -3928,6 +3960,11 @@ packages: '@lezer/xml@1.0.6': resolution: {integrity: sha512-CdDwirL0OEaStFue/66ZmFSeppuL6Dwjlk8qk153mSQwiSH/Dlri4GNymrNWnUmPl2Um7QfV1FO9KFUyX3Twww==} + '@mapbox/node-pre-gyp@2.0.0': + resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==} + engines: {node: '>=18'} + hasBin: true + '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} @@ -4412,10 +4449,6 @@ packages: resolution: {integrity: sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==} engines: {node: '>=14'} - '@opentelemetry/api@1.4.1': - resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} - engines: {node: '>=8.0.0'} - '@opentelemetry/api@1.7.0': resolution: {integrity: sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==} engines: {node: '>=8.0.0'} @@ -5234,67 +5267,60 @@ packages: '@preconstruct/next@4.0.0': resolution: {integrity: sha512-vSrc8wFQgBErU7dKTKSQtr/DLWPHcN9jMoiWOAQodB1+B4Kpqqry6QhGYoRm0DQU5gNL+Rcp+Xb350O1E/gjsg==} - '@prisma/client@5.19.1': - resolution: {integrity: sha512-x30GFguInsgt+4z5I4WbkZP2CGpotJMUXy+Gl/aaUjHn2o1DnLYNTA+q9XdYmAQZM8fIIkvUiA2NpgosM3fneg==} - engines: {node: '>=16.13'} - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - - '@prisma/debug@5.0.0': - resolution: {integrity: sha512-3q/M/KqlQ01/HJXifU/zCNOHkoTWu24kGelMF/IBrRxm7njPqTTbwfnT1dh4JK+nuWM5/Dg1Lv00u2c0l7AHxg==} + '@prisma/config@6.17.1': + resolution: {integrity: sha512-fs8wY6DsvOCzuiyWVckrVs1LOcbY4LZNz8ki4uUIQ28jCCzojTGqdLhN2Jl5lDnC1yI8/gNIKpsWDM8pLhOdwA==} - '@prisma/debug@5.22.0': - resolution: {integrity: sha512-AUt44v3YJeggO2ZU5BkXI7M4hu9BF2zzH2iF2V5pyXT/lRTyWiElZ7It+bRH1EshoMRxHgpYg4VB6rCM+mG5jQ==} + '@prisma/debug@6.17.1': + resolution: {integrity: sha512-Vf7Tt5Wh9XcndpbmeotuqOMLWPTjEKCsgojxXP2oxE1/xYe7PtnP76hsouG9vis6fctX+TxgmwxTuYi/+xc7dQ==} - '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': - resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + '@prisma/dmmf@6.17.1': + resolution: {integrity: sha512-ILf+sYTvoZRJIn1KjW8ZBn9N3fK+4ZxreJT0EXuLxbZWbXuz7Eums0/PEscS8+fzktg1zbxZvjHVFMppqfFz3g==} - '@prisma/engines@5.0.0': - resolution: {integrity: sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==} + '@prisma/driver-adapter-utils@6.17.1': + resolution: {integrity: sha512-GT4QbVUyJa5sXj5vjrBPnZ68v1P/FoKBCSIkrFrCPrOi6OSzk+567XDZyBtWIECKxruuMTa7fU4wwNmtMQylrg==} - '@prisma/engines@5.22.0': - resolution: {integrity: sha512-UNjfslWhAt06kVL3CjkuYpHAWSO6L4kDCVPegV6itt7nD1kSJavd3vhgAEhjglLJJKEdJ7oIqDJ+yHk6qO8gPA==} + '@prisma/engines-version@6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac': + resolution: {integrity: sha512-17140E3huOuD9lMdJ9+SF/juOf3WR3sTJMVyyenzqUPbuH+89nPhSWcrY+Mf7tmSs6HvaO+7S+HkELinn6bhdg==} - '@prisma/fetch-engine@5.0.0': - resolution: {integrity: sha512-eSzHTE0KcMvM5+O1++eaMuVf4D1zwWHdqjWr6D70skCg37q7RYsuty4GFnlWBuqC4aXwVf06EvIxiJ0SQIIeRw==} + '@prisma/engines-version@6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f': + resolution: {integrity: sha512-T7Af4QsJQnSgWN1zBbX+Cha5t4qjHRxoeoWpK4JugJzG/ipmmDMY5S+O0N1ET6sCBNVkf6lz+Y+ZNO9+wFU8pQ==} - '@prisma/fetch-engine@5.22.0': - resolution: {integrity: sha512-bkrD/Mc2fSvkQBV5EpoFcZ87AvOgDxbG99488a5cexp5Ccny+UM6MAe/UFkUC0wLYD9+9befNOqGiIJhhq+HbA==} + '@prisma/engines@6.17.1': + resolution: {integrity: sha512-D95Ik3GYZkqZ8lSR4EyFOJ/tR33FcYRP8kK61o+WMsyD10UfJwd7+YielflHfKwiGodcqKqoraWw8ElAgMDbPw==} - '@prisma/generator-helper@5.0.0': - resolution: {integrity: sha512-pufQ1mhoH6WzKNtzL79HZDoW4Ql3Lf8QEKVmBoW8e3Tdb50bxpYBYue5LBqp9vNW1xd1pgZO53cNiRfLX2d4Zg==} + '@prisma/fetch-engine@6.17.1': + resolution: {integrity: sha512-AYZiHOs184qkDMiTeshyJCtyL4yERkjfTkJiSJdYuSfc24m94lTNL5+GFinZ6vVz+ktX4NJzHKn1zIFzGTWrWg==} - '@prisma/generator-helper@5.22.0': - resolution: {integrity: sha512-LwqcBQ5/QsuAaLNQZAIVIAJDJBMjHwMwn16e06IYx/3Okj/xEEfw9IvrqB2cJCl3b2mCBlh3eVH0w9WGmi4aHg==} + '@prisma/generator-helper@6.17.1': + resolution: {integrity: sha512-ONuUTGXCTUK9K//ronFg4xOEARv+tZKOo5uVSJg6tj2y90gpXQunPYyvR17gEoAQrZT17kC0ie60ecv8nulWyQ==} - '@prisma/get-platform@5.0.0': - resolution: {integrity: sha512-JT/rz/jaMTggDkd9OIma50si9rPLzSFe7XSrV3mKXwtv9t+rdwx5ZhmKJd+Rz6S1vhn/291k21JLfaxOW6u8KQ==} + '@prisma/generator@6.17.1': + resolution: {integrity: sha512-R4SIlAtMHlxwXYYHiyWtN+MLRGFF3Jy+LvqcfInbCiaZkoqyhU5kj8/aOu2OV2ydNkkN+Q8ft9Tnv5a/b4pqPg==} - '@prisma/get-platform@5.22.0': - resolution: {integrity: sha512-pHhpQdr1UPFpt+zFfnPazhulaZYCUqeIcPpJViYoq9R+D/yw4fjE+CtnsnKzPYm0ddUbeXUzjGVGIRVgPDCk4Q==} + '@prisma/get-platform@6.17.1': + resolution: {integrity: sha512-AKEn6fsfz0r482S5KRDFlIGEaq9wLNcgalD1adL+fPcFFblIKs1sD81kY/utrHdqKuVC6E1XSRpegDK3ZLL4Qg==} '@prisma/instrumentation@6.13.0': resolution: {integrity: sha512-b97b0sBycGh89RQcqobSgjGl3jwPaC5cQIOFod6EX1v0zIxlXPmL3ckSXxoHpy+Js0QV/tgCzFvqicMJCtezBA==} peerDependencies: '@opentelemetry/api': ^1.8 - '@prisma/internals@5.0.0': - resolution: {integrity: sha512-VGWyFk6QlSBXT8z65Alq5F3o9E8IiTtaBoa3rmKkGpZjUk85kJy3jZz4xkRv53TaeghGE5rWfwkfak26KtY5yQ==} - - '@prisma/internals@5.22.0': - resolution: {integrity: sha512-Rsjw2ARB9VQzDczzEimUriSBdXmYG/Z5tNRer2IEwof/O8Q6A9cqV3oNVUpJ52TgWfQqMAq5K/KEf8LvvYLLOw==} + '@prisma/internals@6.17.1': + resolution: {integrity: sha512-UTHiHl5Bm/tMdCbooP/x4jJe5HOV2a2gWolTmdqTlCRRxPZqPA6an4M1/Kn8mJXjJTL6b70Dc8b+aY14O3Fmkw==} + peerDependencies: + typescript: '>=5.1.0' + peerDependenciesMeta: + typescript: + optional: true - '@prisma/prisma-schema-wasm@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584': - resolution: {integrity: sha512-JFdsnSgBPN8reDTLOI9Vh/6ccCb2aD1LbY/LWQnkcIgNo6IdpzvuM+qRVbBuA6IZP2SdqQI8Lu6RL2P8EFBQUA==} + '@prisma/prisma-schema-wasm@6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac': + resolution: {integrity: sha512-lSeL/eOjCt7SauvAhvlzbYL6fbkBBC07tdghT7dwhRHEorfYh2TTVQQwN29BJgNFufYEyFLYMIoYRHSw4InphQ==} - '@prisma/prisma-schema-wasm@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': - resolution: {integrity: sha512-WPNB7SgTxF/rSHMa5o5/9AIINy4oVnRhvUkRzqR4Nfp8Hu9Q2IyUptxuiDuzRVJdjJBRi/U82sHTxyiD3oBBhQ==} + '@prisma/schema-engine-wasm@6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac': + resolution: {integrity: sha512-Xod6kiWzK60WPFgky/DsPEO+6131RxVfFQiq6Hu0pzCThm1cOsEYpfykchZre6FN5uoruqiJRorDFMVpqtPwtw==} - '@prisma/schema-files-loader@5.22.0': - resolution: {integrity: sha512-/TNAJXvMSk6mCgZa+gIBM6sp5OUQBnb7rbjiSQm88gvcSibxEuKkVV/2pT3RmQpEAn1yiabvS4+dOvIotYe3ww==} + '@prisma/schema-files-loader@6.17.1': + resolution: {integrity: sha512-rRYUP664wFbdvqSbqKdNijb2LHP6A3yEauPy4V7WJDR9ySQJ8adV0nP0cBcUAzHAsBW1JVMwqF+OKIrcwVG3qg==} '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -6694,6 +6720,9 @@ packages: '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@standard-schema/spec@1.0.0': + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@storybook/addon-docs@9.1.2': resolution: {integrity: sha512-U3eHJ8lQFfEZ/OcgdKkUBbW2Y2tpAsHfy8lQOBgs5Pgj9biHEJcUmq+drOS/sJhle673eoBcUFmspXulI4KP1w==} peerDependencies: @@ -7230,9 +7259,6 @@ packages: '@types/cors@2.8.19': resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} - '@types/cross-spawn@6.0.2': - resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} - '@types/d3-array@3.2.1': resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} @@ -7329,9 +7355,6 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/debug@4.1.8': - resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} - '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -7456,9 +7479,6 @@ packages: '@types/nodemailer@6.4.18': resolution: {integrity: sha512-K+OGGXYCxIGkZ59EzoEFkKDkxUT2yQ4f5zgLb+bOJ+pPTZd8M2i/DGMVYrRigUwFnL76URW5VMqMCkgHgjLX0w==} - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/object.omit@3.0.3': resolution: {integrity: sha512-xrq4bQTBGYY2cw+gV4PzoG2Lv3L0pjZ1uXStRRDQoATOYW1lCsFQHhQ+OkPhIcQoqLjAq7gYif7D14Qaa6Zbew==} @@ -7509,9 +7529,6 @@ packages: '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} - '@types/retry@0.12.0': - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - '@types/retry@0.12.2': resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} @@ -7789,6 +7806,11 @@ packages: peerDependencies: '@uppy/core': ^4.5.2 + '@vercel/nft@0.30.3': + resolution: {integrity: sha512-UEq+eF0ocEf9WQCV1gktxKhha36KDs7jln5qii6UpPf5clMqDc0p3E7d9l2Smx0i9Pm1qpq4S4lLfNl97bbv6w==} + engines: {node: '>=18'} + hasBin: true + '@vitejs/plugin-react@4.7.0': resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -7955,6 +7977,10 @@ packages: '@zod/core@0.9.0': resolution: {integrity: sha512-bVfPiV2kDUkAJ4ArvV4MHcPZA8y3xOX6/SjzSy2kX2ACopbaaAP4wk6hd/byRmfi9MLNai+4SFJMmcATdOyclg==} + abbrev@3.0.1: + resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} + engines: {node: ^18.17.0 || >=20.5.0} + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -8070,22 +8096,10 @@ packages: arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} - - archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} - archiver-utils@4.0.1: resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} engines: {node: '>= 12.0.0'} - archiver@5.3.1: - resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==} - engines: {node: '>= 10'} - archiver@6.0.2: resolution: {integrity: sha512-UQ/2nW7NMl1G+1UnrLypQw1VdT9XZg/ECcKPq7l+STzStrSivFIXIp34D8M5zeNGW5NoOupdYCHv6VySCPNNlw==} engines: {node: '>= 12.0.0'} @@ -8164,10 +8178,6 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - astring@1.9.0: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true @@ -8187,6 +8197,9 @@ packages: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} + async-sema@3.1.1: + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -8317,6 +8330,9 @@ packages: binary-searching@2.0.5: resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -8378,6 +8394,14 @@ packages: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} + c12@3.1.0: + resolution: {integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -8483,9 +8507,6 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - checkpoint-client@1.1.24: - resolution: {integrity: sha512-nIOlLhDS7MKs4tUzS3LCm+sE1NgTCVnVrXlD0RRxaoEkkLu8LIWSUNiNWai6a+LK5unLzTyZeTCYX1Smqy0YoA==} - chevrotain-allstar@0.3.1: resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} peerDependencies: @@ -8527,10 +8548,6 @@ packages: peerDependencies: devtools-protocol: '*' - ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -8539,6 +8556,9 @@ packages: resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} engines: {node: '>=8'} + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} @@ -8575,10 +8595,6 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - cli-truncate@3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8711,10 +8727,6 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} - engines: {node: '>= 10'} - compress-commons@5.0.3: resolution: {integrity: sha512-/UIcLWvwAQyVibgpQDPtfNM3SvqN7G9elAPAV7GM0L53EbNWwWiCsWtK8Fwed/APEbptPHXs5PuW+y8Bq8lFTA==} engines: {node: '>= 12.0.0'} @@ -8748,6 +8760,10 @@ packages: confbox@0.2.2: resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + constant-case@2.0.0: resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} @@ -8818,10 +8834,6 @@ packages: engines: {node: '>=0.8'} hasBin: true - crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} - engines: {node: '>= 10'} - crc32-stream@5.0.1: resolution: {integrity: sha512-lO1dFui+CEUh/ztYIpgpKItKW9Bb4NWakCRJrnqAbFIYD+OZAwb2VfD5T5eXMw2FNcsDHkQcNl/Wh3iVXYwU6g==} engines: {node: '>= 12.0.0'} @@ -8838,10 +8850,6 @@ packages: cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -8849,10 +8857,6 @@ packages: crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} - crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - css-tree@3.1.0: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} @@ -9140,6 +9144,10 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deepmerge-ts@7.1.5: + resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} + engines: {node: '>=16.0.0'} + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -9170,10 +9178,6 @@ packages: resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} engines: {node: '>=8'} - del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - delaunator@5.0.1: resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} @@ -9314,6 +9318,9 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + effect@3.16.12: + resolution: {integrity: sha512-N39iBk0K71F9nb442TLbTkjl24FLUzuvx2i1I2RsEAQsdAdUTuUoW0vlfUXgkMTUOnYqKnWcFfqw4hK4Pw27hg==} + electron-to-chromium@1.5.207: resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} @@ -9329,6 +9336,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} + end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} @@ -9666,6 +9677,10 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true + fast-check@3.23.2: + resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} + engines: {node: '>=8.0.0'} + fast-copy@3.0.2: resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} @@ -9702,9 +9717,6 @@ packages: fast-uri@3.0.6: resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} - fast-write-atomic@0.2.1: - resolution: {integrity: sha512-WvJe06IfNYlr+6cO3uQkdKdy3Cb1LlCJSF8zRs2eT8yuhdbSlR9nIt+TgQ92RUxiRrQm+/S7RARnMfCs5iuAjw==} - fast-xml-parser@5.2.5: resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} hasBin: true @@ -9735,6 +9747,9 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + filesize@10.1.6: resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} engines: {node: '>= 10.4.0'} @@ -9743,17 +9758,9 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -9807,30 +9814,21 @@ packages: forwarded-parse@2.1.2: resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==} - fp-ts@2.16.0: - resolution: {integrity: sha512-bLq+KgbiXdTEoT1zcARrWEpa5z6A/8b7PcDW7Gef3NSisQ+VS7ll2Xbf1E+xsgik0rWub/8u0qP/iTTjj+PhxQ==} - fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} - fs-jetpack@5.1.0: - resolution: {integrity: sha512-Xn4fDhLydXkuzepZVsr02jakLlmoARPy+YWIclo4kh0GyNGUHnTqeH/w/qIsVn50dFxtp8otPL2t/HcPJBbxUA==} - fs-monkey@1.1.0: resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} @@ -9927,6 +9925,10 @@ packages: getopts@2.3.0: resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} + giget@2.0.0: + resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} + hasBin: true + github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -9975,10 +9977,6 @@ packages: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -9995,10 +9993,6 @@ packages: resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} engines: {node: '>=8'} - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -10083,10 +10077,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasha@5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} - hashish@0.0.4: resolution: {integrity: sha512-xyD4XgslstNAs72ENaoFvgMwtv8xhiDtC2AtzCG+8yF7W/Knxxm9BX+e2s25mm+HxMKh0rBmXVOEGF3zNImXvA==} @@ -10188,9 +10178,6 @@ packages: resolution: {integrity: sha512-t4Te6ERzIaC48W3x4hJmBwgNlLhmiEdEE5ViYb02ffw4ignHNHa5IBtPjmbKstmtKa8X6C35iWwK4HaqvrzG9w==} engines: {node: '>=16.9.0'} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -10224,10 +10211,6 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} - http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -10236,10 +10219,6 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - https-proxy-agent@7.0.0: - resolution: {integrity: sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==} - engines: {node: '>= 14'} - https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -10275,10 +10254,6 @@ packages: ignore-walk@3.0.4: resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} - ignore-walk@5.0.1: - resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -10320,10 +10295,6 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} @@ -10591,10 +10562,6 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -11036,10 +11003,6 @@ packages: resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} engines: {node: '>=14'} - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -11066,12 +11029,6 @@ packages: lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. @@ -11109,9 +11066,6 @@ packages: lodash.partition@4.6.0: resolution: {integrity: sha512-35L3dSF3Q6V1w5j6V3NhNlQjzsRDC/pYKCTdYTmwqSib+Q8ponkAmt/PwEOq3EmI38DSCl+SkIVwLd+uSlVdrg==} - lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -11186,10 +11140,6 @@ packages: magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -11609,10 +11559,6 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - new-github-issue-url@0.2.1: - resolution: {integrity: sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA==} - engines: {node: '>=10'} - next-connect@1.0.0: resolution: {integrity: sha512-FeLURm9MdvzY1SDUGE74tk66mukSqL6MAzxajW7Gqh6DZKBZLrXmXnGWtHJZXkfvoi+V/DUe9Hhtfkl4+nTlYA==} engines: {node: '>=16'} @@ -11669,24 +11615,6 @@ packages: node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} - node-fetch@2.6.11: - resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -11696,6 +11624,10 @@ packages: encoding: optional: true + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + node-mock-http@1.0.2: resolution: {integrity: sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==} @@ -11710,8 +11642,10 @@ packages: resolution: {integrity: sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==} engines: {node: '>=6.0.0'} - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + nopt@8.1.0: + resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -11724,27 +11658,14 @@ packages: npm-bundled@1.1.2: resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} - npm-bundled@2.0.1: - resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - npm-normalize-package-bin@1.0.1: resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} - npm-normalize-package-bin@2.0.0: - resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - npm-packlist@2.2.2: resolution: {integrity: sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==} engines: {node: '>=10'} hasBin: true - npm-packlist@5.1.3: - resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -11778,6 +11699,11 @@ packages: nwsapi@2.2.21: resolution: {integrity: sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==} + nypm@0.6.2: + resolution: {integrity: sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -11853,10 +11779,6 @@ packages: oniguruma-to-es@4.3.3: resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -11897,14 +11819,6 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -11917,10 +11831,6 @@ packages: resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} engines: {node: '>=18'} - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -11929,18 +11839,10 @@ packages: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - p-map@3.0.0: resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} engines: {node: '>=8'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-map@7.0.3: resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} engines: {node: '>=18'} @@ -11949,10 +11851,6 @@ packages: resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==} engines: {node: '>=18'} - p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} - p-retry@6.2.1: resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} engines: {node: '>=16.17'} @@ -11961,10 +11859,6 @@ packages: resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} engines: {node: '>=14.16'} - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - pac-proxy-agent@7.2.0: resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} engines: {node: '>= 14'} @@ -12088,6 +11982,9 @@ packages: pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + pg-cloudflare@1.2.7: resolution: {integrity: sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==} @@ -12169,10 +12066,6 @@ packages: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -12378,10 +12271,15 @@ packages: resolution: {integrity: sha512-b5CqA9cCY5jmNJGjx8oUbPw3KSgVd+mu8711MSZIRY9dIF0Vlcs/Au6LR3S5guncydM7Zkh8iz8vC+c2CDj3Xw==} hasBin: true - prisma@5.22.0: - resolution: {integrity: sha512-vtpjW3XuYCSnMsNVBjLMNkTj6OZbudcPPTPYHqX0CJfpcdWciI1dM8uHETwmDxxiqEwCIE6WvXucWUetJgfu/A==} - engines: {node: '>=16.13'} + prisma@6.17.1: + resolution: {integrity: sha512-ac6h0sM1Tg3zu8NInY+qhP/S9KhENVaw9n1BrGKQVFu05JT5yT5Qqqmb8tMRIE3ZXvVj4xcRA5yfrsy4X7Yy5g==} + engines: {node: '>=18.18'} hasBin: true + peerDependencies: + typescript: '>=5.1.0' + peerDependenciesMeta: + typescript: + optional: true prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} @@ -12518,6 +12416,9 @@ packages: deprecated: < 24.9.0 is no longer supported hasBin: true + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + qs@6.14.0: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} @@ -12554,6 +12455,9 @@ packages: resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} engines: {node: '>= 0.6'} + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -12706,14 +12610,6 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -12896,10 +12792,6 @@ packages: remove@0.1.5: resolution: {integrity: sha512-AJMA9oWvJzdTjwIGwSQZsjGQiRx73YTmiOWmfCp1fpLa/D4n7jKcpoA+CZiVLJqKcEKUuh1Suq80c5wF+L/qVQ==} - replace-string@3.1.0: - resolution: {integrity: sha512-yPpxc4ZR2makceA9hy/jHNqc7QVkd4Je/N0WRHm6bs3PtivPuPynxE5ejU/mp5EhnCv8+uZL7vhz8rkluSlx+Q==} - engines: {node: '>=8'} - request-light@0.5.8: resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==} @@ -12937,10 +12829,6 @@ packages: engines: {node: '>= 0.4'} hasBin: true - resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -13090,10 +12978,6 @@ packages: selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -13213,10 +13097,6 @@ packages: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -13280,18 +13160,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.22: - resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} - speech-rule-engine@4.1.2: resolution: {integrity: sha512-S6ji+flMEga+1QU79NDbwZ8Ivf0S/MpupQQiIC0rTpU/ZTKgcajijJJb1OcByBQDjrXCN1/DJtGz4ZJeBMPGJw==} hasBin: true @@ -13490,10 +13358,6 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -13537,10 +13401,6 @@ packages: tar-fs@3.1.0: resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==} - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -13552,26 +13412,6 @@ packages: resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==} engines: {node: '>=8.0.0'} - temp-dir@1.0.0: - resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} - engines: {node: '>=4'} - - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - - temp-write@4.0.0: - resolution: {integrity: sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==} - engines: {node: '>=8'} - - tempy@1.0.1: - resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} - engines: {node: '>=10'} - - terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - terser-webpack-plugin@5.3.14: resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} engines: {node: '>= 10.13.0'} @@ -13683,10 +13523,6 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -13764,9 +13600,6 @@ packages: '@swc/wasm': optional: true - ts-pattern@4.3.0: - resolution: {integrity: sha512-pefrkcd4lmIVR0LA49Imjf9DYLK8vtWhqBPA3Ya1ir8xCW0O2yjL9dsCVvI7pCodLC5q7smNpEtDR2yVulQxOg==} - tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -13846,26 +13679,14 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -13991,10 +13812,6 @@ packages: unifont@0.5.2: resolution: {integrity: sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg==} - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - unist-util-filter@5.0.1: resolution: {integrity: sha512-pHx7D4Zt6+TsfwylH9+lYhBhzyhEnCXs/lbq/Hstxno5z4gVdyc2WEW0asfjGKPyG4pEKrnBv5hdkO6+aRnQJw==} @@ -14192,19 +14009,10 @@ packages: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - uuid@9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} - hasBin: true - uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true @@ -14218,9 +14026,6 @@ packages: validate-html-nesting@1.2.3: resolution: {integrity: sha512-kdkWdCl6eCeLlRShJKbjVOU2kFKxMF8Ghu50n+crEoyx+VKm3FxAxF9z4DCy6+bbTOqNW0+jcIYRnjoIRzigRw==} - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -14684,10 +14489,6 @@ packages: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} - zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} - engines: {node: '>= 10'} - zip-stream@5.0.2: resolution: {integrity: sha512-LfOdrUvPB8ZoXtvOBz6DlNClfvi//b5d56mSWyJi7XbH/HfhOHfUhOqxhT/rUiR7yiktlunqRo+jY6y/cWC/5g==} engines: {node: '>= 12.0.0'} @@ -14776,8 +14577,6 @@ snapshots: package-manager-detector: 1.3.0 tinyexec: 1.0.1 - '@antfu/ni@0.21.4': {} - '@antfu/utils@8.1.1': {} '@asamuzakjp/css-color@3.2.0': @@ -17778,6 +17577,19 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 + '@mapbox/node-pre-gyp@2.0.0': + dependencies: + consola: 3.4.2 + detect-libc: 2.0.4 + https-proxy-agent: 7.0.6 + node-fetch: 2.7.0 + nopt: 8.1.0 + semver: 7.7.2 + tar: 7.4.3 + transitivePeerDependencies: + - encoding + - supports-color + '@marijn/find-cluster-break@1.0.2': {} '@mdx-js/mdx@3.1.0(acorn@8.15.0)': @@ -18170,8 +17982,6 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api@1.4.1': {} - '@opentelemetry/api@1.7.0': {} '@opentelemetry/api@1.9.0': {} @@ -19326,91 +19136,51 @@ snapshots: '@preconstruct/next@4.0.0': {} - '@prisma/client@5.19.1(prisma@5.22.0)': - optionalDependencies: - prisma: 5.22.0 - - '@prisma/debug@5.0.0': + '@prisma/config@6.17.1(magicast@0.3.5)': dependencies: - '@types/debug': 4.1.8 - debug: 4.3.4 - strip-ansi: 6.0.1 + c12: 3.1.0(magicast@0.3.5) + deepmerge-ts: 7.1.5 + effect: 3.16.12 + empathic: 2.0.0 transitivePeerDependencies: - - supports-color + - magicast - '@prisma/debug@5.22.0': {} + '@prisma/debug@6.17.1': {} - '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + '@prisma/dmmf@6.17.1': {} - '@prisma/engines@5.0.0': {} - - '@prisma/engines@5.22.0': + '@prisma/driver-adapter-utils@6.17.1': dependencies: - '@prisma/debug': 5.22.0 - '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - '@prisma/fetch-engine': 5.22.0 - '@prisma/get-platform': 5.22.0 + '@prisma/debug': 6.17.1 - '@prisma/fetch-engine@5.0.0': - dependencies: - '@prisma/debug': 5.0.0 - '@prisma/get-platform': 5.0.0 - execa: 5.1.1 - find-cache-dir: 3.3.2 - fs-extra: 11.1.1 - hasha: 5.2.2 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.0 - kleur: 4.1.5 - node-fetch: 2.6.12 - p-filter: 2.1.0 - p-map: 4.0.0 - p-retry: 4.6.2 - progress: 2.0.3 - rimraf: 3.0.2 - temp-dir: 2.0.0 - tempy: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color + '@prisma/engines-version@6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac': {} - '@prisma/fetch-engine@5.22.0': - dependencies: - '@prisma/debug': 5.22.0 - '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - '@prisma/get-platform': 5.22.0 + '@prisma/engines-version@6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f': {} - '@prisma/generator-helper@5.0.0': + '@prisma/engines@6.17.1': dependencies: - '@prisma/debug': 5.0.0 - '@types/cross-spawn': 6.0.2 - cross-spawn: 7.0.3 - kleur: 4.1.5 - transitivePeerDependencies: - - supports-color + '@prisma/debug': 6.17.1 + '@prisma/engines-version': 6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac + '@prisma/fetch-engine': 6.17.1 + '@prisma/get-platform': 6.17.1 - '@prisma/generator-helper@5.22.0': + '@prisma/fetch-engine@6.17.1': dependencies: - '@prisma/debug': 5.22.0 + '@prisma/debug': 6.17.1 + '@prisma/engines-version': 6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac + '@prisma/get-platform': 6.17.1 - '@prisma/get-platform@5.0.0': + '@prisma/generator-helper@6.17.1': dependencies: - '@prisma/debug': 5.0.0 - escape-string-regexp: 4.0.0 - execa: 5.1.1 - fs-jetpack: 5.1.0 - kleur: 4.1.5 - replace-string: 3.1.0 - strip-ansi: 6.0.1 - tempy: 1.0.1 - terminal-link: 2.1.1 - ts-pattern: 4.3.0 - transitivePeerDependencies: - - supports-color + '@prisma/debug': 6.17.1 + '@prisma/dmmf': 6.17.1 + '@prisma/generator': 6.17.1 + + '@prisma/generator@6.17.1': {} - '@prisma/get-platform@5.22.0': + '@prisma/get-platform@6.17.1': dependencies: - '@prisma/debug': 5.22.0 + '@prisma/debug': 6.17.1 '@prisma/instrumentation@6.13.0(@opentelemetry/api@1.9.0)': dependencies: @@ -19419,75 +19189,35 @@ snapshots: transitivePeerDependencies: - supports-color - '@prisma/internals@5.0.0': - dependencies: - '@antfu/ni': 0.21.4 - '@opentelemetry/api': 1.4.1 - '@prisma/debug': 5.0.0 - '@prisma/engines': 5.0.0 - '@prisma/fetch-engine': 5.0.0 - '@prisma/generator-helper': 5.0.0 - '@prisma/get-platform': 5.0.0 - '@prisma/prisma-schema-wasm': 4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584 - archiver: 5.3.1 + '@prisma/internals@6.17.1(magicast@0.3.5)(typescript@5.9.2)': + dependencies: + '@prisma/config': 6.17.1(magicast@0.3.5) + '@prisma/debug': 6.17.1 + '@prisma/dmmf': 6.17.1 + '@prisma/driver-adapter-utils': 6.17.1 + '@prisma/engines': 6.17.1 + '@prisma/fetch-engine': 6.17.1 + '@prisma/generator': 6.17.1 + '@prisma/generator-helper': 6.17.1 + '@prisma/get-platform': 6.17.1 + '@prisma/prisma-schema-wasm': 6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac + '@prisma/schema-engine-wasm': 6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac + '@prisma/schema-files-loader': 6.17.1 arg: 5.0.2 - checkpoint-client: 1.1.24 - cli-truncate: 2.1.0 - dotenv: 16.0.3 - escape-string-regexp: 4.0.0 - execa: 5.1.1 - find-up: 5.0.0 - fp-ts: 2.16.0 - fs-extra: 11.1.1 - fs-jetpack: 5.1.0 - global-dirs: 3.0.1 - globby: 11.1.0 - indent-string: 4.0.0 - is-windows: 1.0.2 - is-wsl: 2.2.0 - kleur: 4.1.5 - new-github-issue-url: 0.2.1 - node-fetch: 2.6.12 - npm-packlist: 5.1.3 - open: 7.4.2 - p-map: 4.0.0 prompts: 2.4.2 - read-pkg-up: 7.0.1 - replace-string: 3.1.0 - resolve: 1.22.2 - string-width: 4.2.3 - strip-ansi: 6.0.1 - strip-indent: 3.0.0 - temp-dir: 2.0.0 - temp-write: 4.0.0 - tempy: 1.0.1 - terminal-link: 2.1.1 - tmp: 0.2.1 - ts-pattern: 4.3.0 + optionalDependencies: + typescript: 5.9.2 transitivePeerDependencies: - - encoding - - supports-color + - magicast - '@prisma/internals@5.22.0': - dependencies: - '@prisma/debug': 5.22.0 - '@prisma/engines': 5.22.0 - '@prisma/fetch-engine': 5.22.0 - '@prisma/generator-helper': 5.22.0 - '@prisma/get-platform': 5.22.0 - '@prisma/prisma-schema-wasm': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - '@prisma/schema-files-loader': 5.22.0 - arg: 5.0.2 - prompts: 2.4.2 + '@prisma/prisma-schema-wasm@6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac': {} - '@prisma/prisma-schema-wasm@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584': {} + '@prisma/schema-engine-wasm@6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac': {} - '@prisma/prisma-schema-wasm@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} - - '@prisma/schema-files-loader@5.22.0': + '@prisma/schema-files-loader@6.17.1': dependencies: - '@prisma/prisma-schema-wasm': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - fs-extra: 11.1.1 + '@prisma/prisma-schema-wasm': 6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac + fs-extra: 11.3.0 '@protobufjs/aspromise@1.1.2': {} @@ -21175,6 +20905,8 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} + '@standard-schema/spec@1.0.0': {} + '@storybook/addon-docs@9.1.2(@types/react@19.1.10)(storybook@9.1.2(@testing-library/dom@10.4.1)(msw@2.10.5(@types/node@20.17.12)(typescript@5.9.2))(prettier@3.6.2)(vite@6.3.5(@types/node@20.17.12)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.0)(yaml@2.8.1)))': dependencies: '@mdx-js/react': 3.1.0(@types/react@19.1.10)(react@19.1.1) @@ -21794,10 +21526,6 @@ snapshots: dependencies: '@types/node': 22.17.2 - '@types/cross-spawn@6.0.2': - dependencies: - '@types/node': 22.17.2 - '@types/d3-array@3.2.1': {} '@types/d3-axis@3.0.6': @@ -21919,10 +21647,6 @@ snapshots: dependencies: '@types/ms': 2.1.0 - '@types/debug@4.1.8': - dependencies: - '@types/ms': 2.1.0 - '@types/deep-eql@4.0.2': {} '@types/diacritics@1.3.3': {} @@ -22065,8 +21789,6 @@ snapshots: transitivePeerDependencies: - aws-crt - '@types/normalize-package-data@2.4.4': {} - '@types/object.omit@3.0.3': {} '@types/object.pick@1.3.4': {} @@ -22123,8 +21845,6 @@ snapshots: '@types/resolve@1.20.6': {} - '@types/retry@0.12.0': {} - '@types/retry@0.12.2': {} '@types/semver@7.7.0': {} @@ -22505,6 +22225,25 @@ snapshots: '@uppy/utils': 6.2.2 preact: 10.27.1 + '@vercel/nft@0.30.3(rollup@4.46.4)': + dependencies: + '@mapbox/node-pre-gyp': 2.0.0 + '@rollup/pluginutils': 5.2.0(rollup@4.46.4) + acorn: 8.15.0 + acorn-import-attributes: 1.9.5(acorn@8.15.0) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 10.4.5 + graceful-fs: 4.2.11 + node-gyp-build: 4.8.4 + picomatch: 4.0.3 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + '@vitejs/plugin-react@4.7.0(vite@6.3.5(@types/node@20.17.12)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.0)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.3 @@ -22802,6 +22541,8 @@ snapshots: '@zod/core@0.9.0': {} + abbrev@3.0.1: {} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -22911,32 +22652,6 @@ snapshots: arch@2.2.0: {} - archiver-utils@2.1.0: - dependencies: - glob: 7.2.3 - graceful-fs: 4.2.11 - lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 - normalize-path: 3.0.0 - readable-stream: 2.3.8 - - archiver-utils@3.0.4: - dependencies: - glob: 7.2.3 - graceful-fs: 4.2.11 - lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 - normalize-path: 3.0.0 - readable-stream: 3.6.2 - archiver-utils@4.0.1: dependencies: glob: 8.1.0 @@ -22946,16 +22661,6 @@ snapshots: normalize-path: 3.0.0 readable-stream: 3.6.2 - archiver@5.3.1: - dependencies: - archiver-utils: 2.1.0 - async: 3.2.6 - buffer-crc32: 0.2.13 - readable-stream: 3.6.2 - readdir-glob: 1.1.3 - tar-stream: 2.2.0 - zip-stream: 4.1.1 - archiver@6.0.2: dependencies: archiver-utils: 4.0.1 @@ -23065,8 +22770,6 @@ snapshots: dependencies: tslib: 2.8.1 - astral-regex@2.0.0: {} - astring@1.9.0: {} astro-pdf@1.7.2(astro@5.13.5(@types/node@22.17.2)(ioredis@5.7.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.46.4)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(typescript@5.9.2): @@ -23187,6 +22890,8 @@ snapshots: async-function@1.0.0: {} + async-sema@3.1.1: {} + async@3.2.6: {} asynckit@0.4.0: {} @@ -23317,6 +23022,10 @@ snapshots: binary-searching@2.0.5: {} + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -23398,6 +23107,23 @@ snapshots: bytes@3.0.0: {} + c12@3.1.0(magicast@0.3.5): + dependencies: + chokidar: 4.0.3 + confbox: 0.2.2 + defu: 6.1.4 + dotenv: 16.6.1 + exsolve: 1.0.7 + giget: 2.0.0 + jiti: 2.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + pkg-types: 2.3.0 + rc9: 2.1.2 + optionalDependencies: + magicast: 0.3.5 + cac@6.7.14: {} call-bind-apply-helpers@1.0.2: @@ -23509,18 +23235,6 @@ snapshots: check-error@2.1.1: {} - checkpoint-client@1.1.24: - dependencies: - ci-info: 3.8.0 - env-paths: 2.2.1 - fast-write-atomic: 0.2.1 - make-dir: 3.1.0 - ms: 2.1.3 - node-fetch: 2.6.11 - uuid: 9.0.0 - transitivePeerDependencies: - - encoding - chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 @@ -23563,12 +23277,14 @@ snapshots: mitt: 3.0.1 zod: 3.23.8 - ci-info@3.8.0: {} - ci-info@3.9.0: {} ci-info@4.3.0: {} + citty@0.1.6: + dependencies: + consola: 3.4.2 + cjs-module-lexer@1.4.3: {} class-variance-authority@0.7.1: @@ -23597,11 +23313,6 @@ snapshots: cli-spinners@2.9.2: {} - cli-truncate@2.1.0: - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 @@ -23715,13 +23426,6 @@ snapshots: commondir@1.0.1: {} - compress-commons@4.1.2: - dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 4.0.3 - normalize-path: 3.0.0 - readable-stream: 3.6.2 - compress-commons@5.0.3: dependencies: crc-32: 1.2.2 @@ -23770,6 +23474,8 @@ snapshots: confbox@0.2.2: {} + consola@3.4.2: {} + constant-case@2.0.0: dependencies: snake-case: 2.1.0 @@ -23836,11 +23542,6 @@ snapshots: crc-32@1.2.2: {} - crc32-stream@4.0.3: - dependencies: - crc-32: 1.2.2 - readable-stream: 3.6.2 - crc32-stream@5.0.1: dependencies: crc-32: 1.2.2 @@ -23858,12 +23559,6 @@ snapshots: transitivePeerDependencies: - encoding - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -23874,8 +23569,6 @@ snapshots: dependencies: uncrypto: 0.1.3 - crypto-random-string@2.0.0: {} - css-tree@3.1.0: dependencies: mdn-data: 2.12.2 @@ -24153,6 +23846,8 @@ snapshots: deep-is@0.1.4: {} + deepmerge-ts@7.1.5: {} + deepmerge@4.3.1: {} defaults@1.0.4: @@ -24192,17 +23887,6 @@ snapshots: rimraf: 3.0.2 slash: 3.0.0 - del@6.1.1: - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - delaunator@5.0.1: dependencies: robust-predicates: 3.0.2 @@ -24325,6 +24009,11 @@ snapshots: dependencies: safe-buffer: 5.2.1 + effect@3.16.12: + dependencies: + '@standard-schema/spec': 1.0.0 + fast-check: 3.23.2 + electron-to-chromium@1.5.207: {} emmet@2.4.11: @@ -24338,6 +24027,8 @@ snapshots: emoji-regex@9.2.2: {} + empathic@2.0.0: {} + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -24931,6 +24622,10 @@ snapshots: transitivePeerDependencies: - supports-color + fast-check@3.23.2: + dependencies: + pure-rand: 6.1.0 + fast-copy@3.0.2: {} fast-deep-equal@2.0.1: {} @@ -24965,8 +24660,6 @@ snapshots: fast-uri@3.0.6: {} - fast-write-atomic@0.2.1: {} - fast-xml-parser@5.2.5: dependencies: strnum: 2.1.1 @@ -24995,25 +24688,16 @@ snapshots: dependencies: flat-cache: 4.0.1 + file-uri-to-path@1.0.0: {} + filesize@10.1.6: {} fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - find-cache-dir@3.3.2: - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - find-root@1.1.0: {} - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -25074,19 +24758,15 @@ snapshots: forwarded-parse@2.1.2: {} - fp-ts@2.16.0: {} - fraction.js@4.3.7: {} - fs-constants@1.0.0: {} - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.0 universalify: 2.0.1 - fs-extra@11.1.1: + fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.0 @@ -25099,10 +24779,6 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 - fs-jetpack@5.1.0: - dependencies: - minimatch: 5.1.6 - fs-monkey@1.1.0: optional: true @@ -25207,6 +24883,15 @@ snapshots: getopts@2.3.0: {} + giget@2.0.0: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + node-fetch-native: 1.6.7 + nypm: 0.6.2 + pathe: 2.0.3 + github-slugger@2.0.0: {} glob-base@0.3.0: @@ -25278,10 +24963,6 @@ snapshots: minipass: 4.2.8 path-scurry: 1.11.1 - global-dirs@3.0.1: - dependencies: - ini: 2.0.0 - globals@14.0.0: {} globals@15.15.0: {} @@ -25302,15 +24983,6 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - globrex@0.1.2: {} google-auth-library@9.15.1: @@ -25433,11 +25105,6 @@ snapshots: dependencies: has-symbols: 1.1.0 - hasha@5.2.2: - dependencies: - is-stream: 2.0.1 - type-fest: 0.8.1 - hashish@0.0.4: dependencies: traverse: 0.6.11 @@ -25687,8 +25354,6 @@ snapshots: hono@4.9.7: {} - hosted-git-info@2.8.9: {} - html-encoding-sniffer@4.0.0: dependencies: whatwg-encoding: 3.1.1 @@ -25724,13 +25389,6 @@ snapshots: http-cache-semantics@4.2.0: {} - http-proxy-agent@7.0.0: - dependencies: - agent-base: 7.1.4 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 @@ -25745,13 +25403,6 @@ snapshots: transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.0: - dependencies: - agent-base: 7.1.4 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 @@ -25781,10 +25432,6 @@ snapshots: dependencies: minimatch: 3.1.2 - ignore-walk@5.0.1: - dependencies: - minimatch: 5.1.6 - ignore@5.3.2: {} ignore@7.0.5: {} @@ -25818,8 +25465,6 @@ snapshots: ini@1.3.8: {} - ini@2.0.0: {} - inline-style-parser@0.2.4: {} inquirer@7.3.3: @@ -26084,8 +25729,6 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-windows@1.0.2: {} - is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -26514,10 +26157,6 @@ snapshots: pkg-types: 2.3.0 quansync: 0.2.11 - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -26538,10 +26177,6 @@ snapshots: lodash.defaults@4.2.0: {} - lodash.difference@4.5.0: {} - - lodash.flatten@4.4.0: {} - lodash.get@4.4.2: {} lodash.includes@4.3.0: {} @@ -26566,8 +26201,6 @@ snapshots: lodash.partition@4.6.0: {} - lodash.union@4.6.0: {} - lodash@4.17.21: {} log-symbols@3.0.0: @@ -26642,10 +26275,6 @@ snapshots: '@babel/types': 7.28.2 source-map-js: 1.2.1 - make-dir@3.1.0: - dependencies: - semver: 6.3.1 - make-dir@4.0.0: dependencies: semver: 7.7.2 @@ -27429,8 +27058,6 @@ snapshots: netmask@2.0.2: {} - new-github-issue-url@0.2.1: {} - next-connect@1.0.0: dependencies: '@tsconfig/node16': 1.0.4 @@ -27568,18 +27195,12 @@ snapshots: node-fetch-native@1.6.7: {} - node-fetch@2.6.11: - dependencies: - whatwg-url: 5.0.0 - - node-fetch@2.6.12: - dependencies: - whatwg-url: 5.0.0 - node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 + node-gyp-build@4.8.4: {} + node-mock-http@1.0.2: {} node-plop@0.26.3: @@ -27600,12 +27221,9 @@ snapshots: nodemailer@6.10.1: {} - normalize-package-data@2.5.0: + nopt@8.1.0: dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.10 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 + abbrev: 3.0.1 normalize-path@3.0.0: {} @@ -27615,14 +27233,8 @@ snapshots: dependencies: npm-normalize-package-bin: 1.0.1 - npm-bundled@2.0.1: - dependencies: - npm-normalize-package-bin: 2.0.0 - npm-normalize-package-bin@1.0.1: {} - npm-normalize-package-bin@2.0.0: {} - npm-packlist@2.2.2: dependencies: glob: 7.2.3 @@ -27630,13 +27242,6 @@ snapshots: npm-bundled: 1.1.2 npm-normalize-package-bin: 1.0.1 - npm-packlist@5.1.3: - dependencies: - glob: 8.1.0 - ignore-walk: 5.0.1 - npm-bundled: 2.0.1 - npm-normalize-package-bin: 2.0.0 - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -27656,6 +27261,14 @@ snapshots: nwsapi@2.2.21: {} + nypm@0.6.2: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + pathe: 2.0.3 + pkg-types: 2.3.0 + tinyexec: 1.0.1 + object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -27740,11 +27353,6 @@ snapshots: regex: 6.0.1 regex-recursion: 6.0.2 - open@7.4.2: - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -27808,14 +27416,6 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - p-filter@2.1.0: - dependencies: - p-map: 2.1.0 - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -27828,10 +27428,6 @@ snapshots: dependencies: yocto-queue: 1.2.1 - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - p-locate@5.0.0: dependencies: p-limit: 3.1.0 @@ -27840,16 +27436,10 @@ snapshots: dependencies: p-limit: 4.0.0 - p-map@2.1.0: {} - p-map@3.0.0: dependencies: aggregate-error: 3.1.0 - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-map@7.0.3: {} p-queue@8.1.0: @@ -27857,11 +27447,6 @@ snapshots: eventemitter3: 5.0.1 p-timeout: 6.1.4 - p-retry@4.6.2: - dependencies: - '@types/retry': 0.12.0 - retry: 0.13.1 - p-retry@6.2.1: dependencies: '@types/retry': 0.12.2 @@ -27870,8 +27455,6 @@ snapshots: p-timeout@6.1.4: {} - p-try@2.2.0: {} - pac-proxy-agent@7.2.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 @@ -28015,6 +27598,8 @@ snapshots: pend@1.2.0: {} + perfect-debounce@1.0.0: {} + pg-cloudflare@1.2.7: optional: true @@ -28106,10 +27691,6 @@ snapshots: pirates@4.0.7: {} - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -28277,19 +27858,22 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - prisma-dbml-generator@0.12.0: + prisma-dbml-generator@0.12.0(magicast@0.3.5)(typescript@5.9.2): dependencies: - '@prisma/generator-helper': 5.0.0 - '@prisma/internals': 5.0.0 + '@prisma/generator-helper': 6.17.1 + '@prisma/internals': 6.17.1(magicast@0.3.5)(typescript@5.9.2) transitivePeerDependencies: - - encoding - - supports-color + - magicast + - typescript - prisma@5.22.0: + prisma@6.17.1(magicast@0.3.5)(typescript@5.9.2): dependencies: - '@prisma/engines': 5.22.0 + '@prisma/config': 6.17.1(magicast@0.3.5) + '@prisma/engines': 6.17.1 optionalDependencies: - fsevents: 2.3.3 + typescript: 5.9.2 + transitivePeerDependencies: + - magicast prismjs@1.29.0: {} @@ -28534,6 +28118,8 @@ snapshots: - typescript - utf-8-validate + pure-rand@6.1.0: {} + qs@6.14.0: dependencies: side-channel: 1.1.0 @@ -28560,6 +28146,11 @@ snapshots: range-parser@1.2.0: {} + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.5 + rc@1.2.8: dependencies: deep-extend: 0.6.0 @@ -28768,19 +28359,6 @@ snapshots: dependencies: pify: 2.3.0 - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -29108,8 +28686,6 @@ snapshots: dependencies: seq: 0.3.5 - replace-string@3.1.0: {} - request-light@0.5.8: {} request-light@0.7.0: {} @@ -29140,12 +28716,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.2: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.8: dependencies: is-core-module: 2.16.1 @@ -29333,8 +28903,6 @@ snapshots: dependencies: parseley: 0.12.1 - semver@5.7.2: {} - semver@6.3.1: {} semver@7.6.2: {} @@ -29535,12 +29103,6 @@ snapshots: slash@5.1.0: {} - slice-ansi@3.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 @@ -29618,20 +29180,6 @@ snapshots: space-separated-tokens@2.0.2: {} - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.22 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.22 - - spdx-license-ids@3.0.22: {} - speech-rule-engine@4.1.2: dependencies: '@xmldom/xmldom': 0.9.8 @@ -29895,11 +29443,6 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-hyperlinks@2.3.0: - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - supports-preserve-symlinks-flag@1.0.0: {} swap-case@1.1.2: @@ -30047,14 +29590,6 @@ snapshots: transitivePeerDependencies: - bare-buffer - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.5 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - tar-stream@3.1.7: dependencies: b4a: 1.6.7 @@ -30072,31 +29607,6 @@ snapshots: tarn@3.0.2: {} - temp-dir@1.0.0: {} - - temp-dir@2.0.0: {} - - temp-write@4.0.0: - dependencies: - graceful-fs: 4.2.11 - is-stream: 2.0.1 - make-dir: 3.1.0 - temp-dir: 1.0.0 - uuid: 3.4.0 - - tempy@1.0.1: - dependencies: - del: 6.1.1 - is-stream: 2.0.1 - temp-dir: 2.0.0 - type-fest: 0.16.0 - unique-string: 2.0.0 - - terminal-link@2.1.1: - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.14(@swc/core@1.7.24(@swc/helpers@0.5.17))(esbuild@0.25.9)(webpack@5.94.0(@swc/core@1.7.24(@swc/helpers@0.5.17))(esbuild@0.25.9)): dependencies: '@jridgewell/trace-mapping': 0.3.30 @@ -30197,10 +29707,6 @@ snapshots: dependencies: os-tmpdir: 1.0.2 - tmp@0.2.1: - dependencies: - rimraf: 3.0.2 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -30337,8 +29843,6 @@ snapshots: optionalDependencies: '@swc/core': 1.7.24(@swc/helpers@0.5.17) - ts-pattern@4.3.0: {} - tsconfck@3.1.6(typescript@5.9.2): optionalDependencies: typescript: 5.9.2 @@ -30415,16 +29919,10 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.16.0: {} - type-fest@0.21.3: {} - type-fest@0.6.0: {} - type-fest@0.7.1: {} - type-fest@0.8.1: {} - type-fest@1.4.0: {} type-fest@2.19.0: {} @@ -30568,10 +30066,6 @@ snapshots: ofetch: 1.4.1 ohash: 2.0.11 - unique-string@2.0.0: - dependencies: - crypto-random-string: 2.0.0 - unist-util-filter@5.0.1: dependencies: '@types/unist': 3.0.3 @@ -30741,12 +30235,8 @@ snapshots: uuid@11.1.0: {} - uuid@3.4.0: {} - uuid@8.3.2: {} - uuid@9.0.0: {} - uuid@9.0.1: {} v8-compile-cache-lib@3.0.1: {} @@ -30755,11 +30245,6 @@ snapshots: validate-html-nesting@1.2.3: {} - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - validate-npm-package-name@5.0.1: {} vary@1.1.2: {} @@ -31427,12 +30912,6 @@ snapshots: yoctocolors@2.1.2: {} - zip-stream@4.1.1: - dependencies: - archiver-utils: 3.0.4 - compress-commons: 4.1.2 - readable-stream: 3.6.2 - zip-stream@5.0.2: dependencies: archiver-utils: 4.0.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9dc70356f4..27b96e6412 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -10,6 +10,9 @@ packages: # A catalog is used to line up the package versions across workspaces catalog: next: ^15.5.0 + prisma: ^6.17.0 + "@prisma/internals": ^6.17.0 + "@prisma/generator-helper": ^6.17.0 eslint: ^9.9.0 katex: ^0.16.18 prettier: ^3.6.2 diff --git a/self-host/create-admin.sh b/self-host/create-admin.sh index 0e41bf745d..62dbf08bc0 100755 --- a/self-host/create-admin.sh +++ b/self-host/create-admin.sh @@ -16,6 +16,6 @@ docker compose run --rm \ -e ADMIN_PASSWORD="$ADMIN_PASSWORD" \ -e ADMIN_FIRSTNAME="$ADMIN_FIRSTNAME" \ -e ADMIN_LASTNAME="$ADMIN_LASTNAME" \ - platform-migrations pnpm --filter core exec tsx prisma/create-admin-user.cts + platform pnpm --filter core exec tsx prisma/create-admin-user.cts echo "✨ Done! You can now login to Platform at $PUBPUB_URL" \ No newline at end of file diff --git a/self-host/docker-compose.yml b/self-host/docker-compose.yml index 6828fa37fb..a0e346f31c 100644 --- a/self-host/docker-compose.yml +++ b/self-host/docker-compose.yml @@ -10,8 +10,6 @@ services: condition: service_started platform-jobs: condition: service_started - platform-migrations: - condition: service_completed_successfully minio-init: condition: service_completed_successfully platform: linux/amd64 @@ -27,9 +25,6 @@ services: # platfrom jobs service # takes care of longer running tasks like scheduling actions platform-jobs: - depends_on: - platform-migrations: - condition: service_completed_successfully platform: linux/amd64 image: ghcr.io/pubpub/platform-jobs:latest env_file: .env @@ -40,19 +35,6 @@ services: networks: - app-network - platform-migrations: - platform: linux/amd64 - depends_on: - db: - condition: service_started - image: ghcr.io/pubpub/platform-migrations:latest - env_file: .env - environment: - DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB} - command: ["pnpm", "--filter", "core", "migrate-docker"] - networks: - - app-network - # cache cache: image: valkey/valkey:8-alpine @@ -103,7 +85,13 @@ services: image: minio/minio:latest env_file: .env healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/ready"] + test: + [ + "CMD", + "curl", + "-f", + "http://localhost:9000/minio/health/ready", + ] interval: 1m30s timeout: 30s retries: 5