From 9729dd8988543e473b28af18b4eba73a89552e65 Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Wed, 27 Aug 2025 11:55:24 +0100 Subject: [PATCH] chore(references): remove v3-catalog --- .vscode/launch.json | 10 +- CONTRIBUTING.md | 85 +- packages/cli-v3/CHANGELOG.md | 4 +- packages/core/CHANGELOG.md | 4 +- pnpm-lock.yaml | 4506 +---------------- references/bun-catalog/README.md | 8 +- references/v3-catalog/.env.example | 7 - references/v3-catalog/.gitignore | 1 - references/v3-catalog/.uploadable-env | 2 - references/v3-catalog/README.md | 57 - references/v3-catalog/package.json | 96 - .../migration.sql | 20 - .../prisma/migrations/migration_lock.toml | 3 - .../v3-catalog/prisma/schema/post.prisma | 8 - .../v3-catalog/prisma/schema/schema.prisma | 23 - .../v3-catalog/prisma/schema/user.prisma | 6 - .../prisma/sql/getUsersWithPosts.sql | 10 - references/v3-catalog/src/clientUsage.ts | 57 - references/v3-catalog/src/db.ts | 6 - references/v3-catalog/src/env.ts | 13 - references/v3-catalog/src/kysely/types.ts | 20 - references/v3-catalog/src/management.ts | 424 -- references/v3-catalog/src/queues.ts | 72 - references/v3-catalog/src/telemetry.ts | 13 - references/v3-catalog/src/tracer.ts | 40 - references/v3-catalog/src/trigger/batch.ts | 844 --- references/v3-catalog/src/trigger/binaries.ts | 115 - .../v3-catalog/src/trigger/checkpoints.ts | 196 - .../v3-catalog/src/trigger/concurrency.ts | 289 -- references/v3-catalog/src/trigger/crash.ts | 35 - .../v3-catalog/src/trigger/decorators.ts | 32 - references/v3-catalog/src/trigger/email.tsx | 13 - .../v3-catalog/src/trigger/emails/index.tsx | 15 - .../v3-catalog/src/trigger/idempotencyKeys.ts | 145 - references/v3-catalog/src/trigger/init.ts | 17 - .../v3-catalog/src/trigger/javascript-esm.mjs | 8 - .../v3-catalog/src/trigger/javascript.cjs | 10 - .../v3-catalog/src/trigger/lazyAttempts.ts | 394 -- references/v3-catalog/src/trigger/logging.ts | 38 - .../v3-catalog/src/trigger/longRunning.ts | 81 - .../v3-catalog/src/trigger/maxDuration.ts | 21 - references/v3-catalog/src/trigger/nullByte.ts | 20 - references/v3-catalog/src/trigger/openai.mts | 36 - .../v3-catalog/src/trigger/orm/index.ts | 36 - references/v3-catalog/src/trigger/other.ts | 166 - .../v3-catalog/src/trigger/performance.ts | 23 - .../v3-catalog/src/trigger/playwrightTask.ts | 110 - .../v3-catalog/src/trigger/prismaTasks.ts | 21 - .../v3-catalog/src/trigger/puppeteerTask.ts | 16 - references/v3-catalog/src/trigger/queues.ts | 95 - references/v3-catalog/src/trigger/retries.ts | 256 - .../v3-catalog/src/trigger/returnTypes.ts | 82 - .../v3-catalog/src/trigger/runMetadata.ts | 73 - .../v3-catalog/src/trigger/scheduled.ts | 70 - references/v3-catalog/src/trigger/sdkUsage.ts | 165 - references/v3-catalog/src/trigger/simple.ts | 255 - references/v3-catalog/src/trigger/stripe.ts | 19 - .../src/trigger/subdir/another/byeWorld.ts | 10 - .../src/trigger/subdir/helloWorld.ts | 10 - references/v3-catalog/src/trigger/subtasks.ts | 282 -- .../v3-catalog/src/trigger/superjson.ts | 159 - references/v3-catalog/src/trigger/tags.ts | 94 - .../v3-catalog/src/trigger/taskHierarchy.ts | 104 - .../v3-catalog/src/trigger/taskTypes.ts | 150 - .../src/trigger/triggerKitchenSink.ts | 87 - references/v3-catalog/src/trigger/usage.ts | 31 - .../v3-catalog/src/trigger/utils/cache.ts | 7 - .../src/trigger/weird-file-names.ts | 6 - .../v3-catalog/src/trigger/wrangler.mts | 36 - .../v3-catalog/src/trigger2/helloWorld.ts | 8 - .../v3-catalog/src/triggerWithLargePayload.ts | 37 - references/v3-catalog/src/utils/types.ts | 8 - references/v3-catalog/trigger.config.ts | 89 - references/v3-catalog/tsconfig.json | 26 - references/v3-catalog/wrangler/wrangler.toml | 7 - 75 files changed, 179 insertions(+), 10163 deletions(-) delete mode 100644 references/v3-catalog/.env.example delete mode 100644 references/v3-catalog/.gitignore delete mode 100644 references/v3-catalog/.uploadable-env delete mode 100644 references/v3-catalog/README.md delete mode 100644 references/v3-catalog/package.json delete mode 100644 references/v3-catalog/prisma/migrations/20240821142001_add_initial_schema/migration.sql delete mode 100644 references/v3-catalog/prisma/migrations/migration_lock.toml delete mode 100644 references/v3-catalog/prisma/schema/post.prisma delete mode 100644 references/v3-catalog/prisma/schema/schema.prisma delete mode 100644 references/v3-catalog/prisma/schema/user.prisma delete mode 100644 references/v3-catalog/prisma/sql/getUsersWithPosts.sql delete mode 100644 references/v3-catalog/src/clientUsage.ts delete mode 100644 references/v3-catalog/src/db.ts delete mode 100644 references/v3-catalog/src/env.ts delete mode 100644 references/v3-catalog/src/kysely/types.ts delete mode 100644 references/v3-catalog/src/management.ts delete mode 100644 references/v3-catalog/src/queues.ts delete mode 100644 references/v3-catalog/src/telemetry.ts delete mode 100644 references/v3-catalog/src/tracer.ts delete mode 100644 references/v3-catalog/src/trigger/batch.ts delete mode 100644 references/v3-catalog/src/trigger/binaries.ts delete mode 100644 references/v3-catalog/src/trigger/checkpoints.ts delete mode 100644 references/v3-catalog/src/trigger/concurrency.ts delete mode 100644 references/v3-catalog/src/trigger/crash.ts delete mode 100644 references/v3-catalog/src/trigger/decorators.ts delete mode 100644 references/v3-catalog/src/trigger/email.tsx delete mode 100644 references/v3-catalog/src/trigger/emails/index.tsx delete mode 100644 references/v3-catalog/src/trigger/idempotencyKeys.ts delete mode 100644 references/v3-catalog/src/trigger/init.ts delete mode 100644 references/v3-catalog/src/trigger/javascript-esm.mjs delete mode 100644 references/v3-catalog/src/trigger/javascript.cjs delete mode 100644 references/v3-catalog/src/trigger/lazyAttempts.ts delete mode 100644 references/v3-catalog/src/trigger/logging.ts delete mode 100644 references/v3-catalog/src/trigger/longRunning.ts delete mode 100644 references/v3-catalog/src/trigger/maxDuration.ts delete mode 100644 references/v3-catalog/src/trigger/nullByte.ts delete mode 100644 references/v3-catalog/src/trigger/openai.mts delete mode 100644 references/v3-catalog/src/trigger/orm/index.ts delete mode 100644 references/v3-catalog/src/trigger/other.ts delete mode 100644 references/v3-catalog/src/trigger/performance.ts delete mode 100644 references/v3-catalog/src/trigger/playwrightTask.ts delete mode 100644 references/v3-catalog/src/trigger/prismaTasks.ts delete mode 100644 references/v3-catalog/src/trigger/puppeteerTask.ts delete mode 100644 references/v3-catalog/src/trigger/queues.ts delete mode 100644 references/v3-catalog/src/trigger/retries.ts delete mode 100644 references/v3-catalog/src/trigger/returnTypes.ts delete mode 100644 references/v3-catalog/src/trigger/runMetadata.ts delete mode 100644 references/v3-catalog/src/trigger/scheduled.ts delete mode 100644 references/v3-catalog/src/trigger/sdkUsage.ts delete mode 100644 references/v3-catalog/src/trigger/simple.ts delete mode 100644 references/v3-catalog/src/trigger/stripe.ts delete mode 100644 references/v3-catalog/src/trigger/subdir/another/byeWorld.ts delete mode 100644 references/v3-catalog/src/trigger/subdir/helloWorld.ts delete mode 100644 references/v3-catalog/src/trigger/subtasks.ts delete mode 100644 references/v3-catalog/src/trigger/superjson.ts delete mode 100644 references/v3-catalog/src/trigger/tags.ts delete mode 100644 references/v3-catalog/src/trigger/taskHierarchy.ts delete mode 100644 references/v3-catalog/src/trigger/taskTypes.ts delete mode 100644 references/v3-catalog/src/trigger/triggerKitchenSink.ts delete mode 100644 references/v3-catalog/src/trigger/usage.ts delete mode 100644 references/v3-catalog/src/trigger/utils/cache.ts delete mode 100644 references/v3-catalog/src/trigger/weird-file-names.ts delete mode 100644 references/v3-catalog/src/trigger/wrangler.mts delete mode 100644 references/v3-catalog/src/trigger2/helloWorld.ts delete mode 100644 references/v3-catalog/src/triggerWithLargePayload.ts delete mode 100644 references/v3-catalog/src/utils/types.ts delete mode 100644 references/v3-catalog/trigger.config.ts delete mode 100644 references/v3-catalog/tsconfig.json delete mode 100644 references/v3-catalog/wrangler/wrangler.toml diff --git a/.vscode/launch.json b/.vscode/launch.json index 6d08392086..d135aa70a2 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -59,7 +59,7 @@ "request": "launch", "name": "Debug V3 Dev CLI", "command": "pnpm exec trigger dev", - "cwd": "${workspaceFolder}/references/v3-catalog", + "cwd": "${workspaceFolder}/references/hello-world", "sourceMaps": true }, { @@ -83,7 +83,7 @@ "request": "launch", "name": "Debug V3 Deploy CLI", "command": "pnpm exec trigger deploy --self-hosted --load-image", - "cwd": "${workspaceFolder}/references/v3-catalog", + "cwd": "${workspaceFolder}/references/hello-world", "sourceMaps": true }, { @@ -91,7 +91,7 @@ "request": "launch", "name": "Debug V3 list-profiles CLI", "command": "pnpm exec trigger list-profiles --log-level debug", - "cwd": "${workspaceFolder}/references/v3-catalog", + "cwd": "${workspaceFolder}/references/hello-world", "sourceMaps": true }, { @@ -99,7 +99,7 @@ "request": "launch", "name": "Debug V3 update CLI", "command": "pnpm exec trigger update", - "cwd": "${workspaceFolder}/references/v3-catalog", + "cwd": "${workspaceFolder}/references/hello-world", "sourceMaps": true }, { @@ -107,7 +107,7 @@ "request": "launch", "name": "Debug V3 Management", "command": "pnpm run management", - "cwd": "${workspaceFolder}/references/v3-catalog", + "cwd": "${workspaceFolder}/references/hello-world", "sourceMaps": true }, { diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 709dcca47c..e578974a1e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -84,17 +84,17 @@ branch are tagged into a release periodically. 2. Once the app is running click the magic link button and enter your email. You will automatically be logged in, since you are running locally. Create an Org and your first project in the dashboard. -## Manual testing using v3-catalog +## Manual testing using hello-world -We use the `/references/v3-catalog` subdirectory as a staging ground for testing changes to the SDK (`@trigger.dev/sdk` at `/packages/trigger-sdk`), the Core package (`@trigger.dev/core` at `packages/core`), the CLI (`trigger.dev` at `/packages/cli-v3`) and the platform (The remix app at `/apps/webapp`). The instructions below will get you started on using the `v3-catalog` for local development of Trigger.dev (v3). +We use the `/references/hello-world` subdirectory as a staging ground for testing changes to the SDK (`@trigger.dev/sdk` at `/packages/trigger-sdk`), the Core package (`@trigger.dev/core` at `packages/core`), the CLI (`trigger.dev` at `/packages/cli-v3`) and the platform (The remix app at `/apps/webapp`). The instructions below will get you started on using the `hello-world` for local development of Trigger.dev. ### First-time setup First, make sure you are running the webapp according to the instructions above. Then: -1. Visit http://localhost:3030 in your browser and create a new V3 project called "v3-catalog". +1. Visit http://localhost:3030 in your browser and create a new V3 project called "hello-world". -2. In Postgres go to the "Projects" table and for the project you create change the `externalRef` to `yubjwjsfkxnylobaqvqz`. +2. In Postgres go to the "Projects" table and for the project you create change the `externalRef` to `proj_rrkpdguyagvsoktglnod`. 3. Build the CLI @@ -105,10 +105,10 @@ pnpm run build --filter trigger.dev pnpm i ``` -4. Change into the `/references/v3-catalog` directory and authorize the CLI to the local server: +4. Change into the `/references/hello-world` directory and authorize the CLI to the local server: ```sh -cd references/v3-catalog +cd references/hello-world cp .env.example .env pnpm exec trigger login -a http://localhost:3030 ``` @@ -118,7 +118,7 @@ This will open a new browser window and authorize the CLI against your local use You can optionally pass a `--profile` flag to the `login` command, which will allow you to use the CLI with separate accounts/servers. We suggest using a profile called `local` for your local development: ```sh -cd references/v3-catalog +cd references/hello-world pnpm exec trigger login -a http://localhost:3030 --profile local # later when you run the dev or deploy command: pnpm exec trigger dev --profile local @@ -137,84 +137,29 @@ The following steps should be followed any time you start working on a new featu pnpm run dev --filter trigger.dev --filter "@trigger.dev/*" ``` -3. Open another terminal window, and change into the `/references/v3-catalog` directory. +3. Open another terminal window, and change into the `/references/hello-world` directory. -4. You'll need to run the following commands to setup prisma and migrate the database: +4. Run the `dev` command, which will register all the local tasks with the platform and allow you to start testing task execution: ```sh -pnpm exec prisma migrate deploy -pnpm run generate:prisma -``` - -5. Run the `dev` command, which will register all the local tasks with the platform and allow you to start testing task execution: - -```sh -# in /references/v3-catalog +# in /references/hello-world pnpm exec trigger dev ``` If you want additional debug logging, you can use the `--log-level debug` flag: ```sh -# in /references/v3-catalog +# in /references/hello-world pnpm exec trigger dev --log-level debug ``` -6. If you make any changes in the CLI/Core/SDK, you'll need to `CTRL+C` to exit the `dev` command and restart it to pickup changes. Any changes to the files inside of the `v3-catalog/src/trigger` dir will automatically be rebuilt by the `dev` command. - -7. Navigate to the `v3-catalog` project in your local dashboard at localhost:3030 and you should see the list of tasks. - -8. Go to the "Test" page in the sidebar and select a task. Then enter a payload and click "Run test". You can tell what the payloads should be by looking at the relevant task file inside the `/references/v3-catalog/src/trigger` folder. Many of them accept an empty payload. - -9. Feel free to add additional files in `v3-catalog/src/trigger` to test out specific aspects of the system, or add in edge cases. - -## Running end-to-end webapp tests (deprecated) +6. If you make any changes in the CLI/Core/SDK, you'll need to `CTRL+C` to exit the `dev` command and restart it to pickup changes. Any changes to the files inside of the `hello-world/src/trigger` dir will automatically be rebuilt by the `dev` command. -To run the end-to-end tests, follow the steps below: - -1. Set up environment variables (copy example envs into the correct place) - -```sh -cp ./.env.example ./.env -cp ./references/nextjs-test/.env.example ./references/nextjs-test/.env.local -``` - -2. Set up dependencies - -```sh -# Build packages -pnpm run build --filter @references/nextjs-test^... -pnpm --filter @trigger.dev/database generate +7. Navigate to the `hello-world` project in your local dashboard at localhost:3030 and you should see the list of tasks. -# Move trigger-cli bin to correct place -pnpm install --frozen-lockfile +8. Go to the "Test" page in the sidebar and select a task. Then enter a payload and click "Run test". You can tell what the payloads should be by looking at the relevant task file inside the `/references/hello-world/src/trigger` folder. Many of them accept an empty payload. -# Install playwrite browsers (ONE TIME ONLY) -npx playwright install -``` - -3. Set up the database - -```sh -pnpm run docker -pnpm run db:migrate -pnpm run db:seed -``` - -4. Run the end-to-end tests - -```sh -pnpm run test:e2e -``` - -### Cleanup - -The end-to-end tests use a `setup` and `teardown` script to seed the database with test data. If the test runner doesn't exit cleanly, then the database can be left in a state where the tests can't run because the `setup` script will try to create data that already exists. If this happens, you can manually delete the `users` and `organizations` from the database using prisma studio: - -```sh -# With the database running (i.e. pnpm run docker) -pnpm run db:studio -``` +9. Feel free to add additional files in `hello-world/src/trigger` to test out specific aspects of the system, or add in edge cases. ## Adding and running migrations diff --git a/packages/cli-v3/CHANGELOG.md b/packages/cli-v3/CHANGELOG.md index 9d616c388a..8230b89dd1 100644 --- a/packages/cli-v3/CHANGELOG.md +++ b/packages/cli-v3/CHANGELOG.md @@ -955,7 +955,7 @@ port: 5432, username: "postgres", password: "postgres", - database: "v3-catalog", + database: "hello-world", entities: [Photo], synchronize: true, logging: false, @@ -1591,7 +1591,7 @@ port: 5432, username: "postgres", password: "postgres", - database: "v3-catalog", + database: "hello-world", entities: [Photo], synchronize: true, logging: false, diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index cb143236b9..8ae857cc9d 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -616,7 +616,7 @@ port: 5432, username: "postgres", password: "postgres", - database: "v3-catalog", + database: "hello-world", entities: [Photo], synchronize: true, logging: false, @@ -1056,7 +1056,7 @@ port: 5432, username: "postgres", password: "postgres", - database: "v3-catalog", + database: "hello-world", entities: [Photo], synchronize: true, logging: false, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35e5c83469..907ab245c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2366,241 +2366,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 - references/v3-catalog: - dependencies: - '@1password/sdk': - specifier: ^0.3.0 - version: 0.3.0 - '@effect/schema': - specifier: ^0.75.5 - version: 0.75.5(effect@3.17.1) - '@infisical/sdk': - specifier: ^2.3.5 - version: 2.3.5 - '@opentelemetry/api': - specifier: 1.4.1 - version: 1.4.1 - '@prisma/client': - specifier: 5.19.0 - version: 5.19.0(prisma@5.19.0) - '@react-email/components': - specifier: 0.0.24 - version: 0.0.24(react-dom@18.3.1)(react@19.0.0-rc.0) - '@react-email/render': - specifier: 1.0.1 - version: 1.0.1(react-dom@18.3.1)(react@19.0.0-rc.0) - '@sentry/esbuild-plugin': - specifier: ^2.22.2 - version: 2.22.2 - '@sinclair/typebox': - specifier: ^0.33.17 - version: 0.33.17 - '@sindresorhus/slugify': - specifier: ^2.2.1 - version: 2.2.1 - '@t3-oss/env-core': - specifier: ^0.11.0 - version: 0.11.0(typescript@5.5.4)(zod@3.25.76) - '@t3-oss/env-nextjs': - specifier: ^0.10.1 - version: 0.10.1(typescript@5.5.4)(zod@3.25.76) - '@traceloop/instrumentation-openai': - specifier: ^0.10.0 - version: 0.10.0(@opentelemetry/api@1.4.1) - '@trigger.dev/sdk': - specifier: workspace:* - version: link:../../packages/trigger-sdk - '@typeschema/typebox': - specifier: ^0.14.0 - version: 0.14.0(@sinclair/typebox@0.33.17) - ai: - specifier: ^3.3.24 - version: 3.3.24(openai@4.56.0)(react@19.0.0-rc.0)(svelte@5.33.14)(vue@3.5.16)(zod@3.25.76) - arktype: - specifier: 2.0.0-rc.17 - version: 2.0.0-rc.17 - bcrypt: - specifier: ^6.0.0 - version: 6.0.0 - canvas: - specifier: ^3.1.0 - version: 3.1.0 - dotenv: - specifier: ^16.4.5 - version: 16.4.5 - email-reply-parser: - specifier: ^1.8.0 - version: 1.8.0 - execa: - specifier: ^8.0.1 - version: 8.0.1 - fluent-ffmpeg: - specifier: ^2.1.3 - version: 2.1.3 - header-generator: - specifier: ^2.1.55 - version: 2.1.55 - kysely: - specifier: ^0.27.4 - version: 0.27.4 - msw: - specifier: ^2.2.1 - version: 2.3.5(typescript@5.5.4) - mupdf: - specifier: ^1.3.6 - version: 1.3.6 - openai: - specifier: ^4.47.0 - version: 4.56.0(zod@3.25.76) - pg: - specifier: ^8.11.5 - version: 8.11.5 - playwright: - specifier: ^1.50.1 - version: 1.50.1 - puppeteer: - specifier: ^23.4.0 - version: 23.4.0(typescript@5.5.4) - react: - specifier: 19.0.0-rc.0 - version: 19.0.0-rc.0 - react-email: - specifier: ^3.0.1 - version: 3.0.1(@opentelemetry/api@1.4.1)(@playwright/test@1.37.0)(react-dom@18.3.1)(react@19.0.0-rc.0) - reflect-metadata: - specifier: ^0.1.13 - version: 0.1.14 - runtypes: - specifier: ^6.7.0 - version: 6.7.0 - server-only: - specifier: ^0.0.1 - version: 0.0.1 - sharp: - specifier: ^0.34.2 - version: 0.34.2 - sqlite3: - specifier: ^5.1.7 - version: 5.1.7 - stripe: - specifier: ^12.14.0 - version: 12.18.0 - superstruct: - specifier: ^2.0.2 - version: 2.0.2 - typeorm: - specifier: ^0.3.20 - version: 0.3.20(pg@8.11.5)(sqlite3@5.1.7)(ts-node@10.9.2) - valibot: - specifier: ^0.42.1 - version: 0.42.1(typescript@5.5.4) - wrangler: - specifier: 3.70.0 - version: 3.70.0 - yt-dlp-wrap: - specifier: ^2.3.12 - version: 2.3.12 - yup: - specifier: ^1.4.0 - version: 1.4.0 - zip-node-addon: - specifier: ^0.0.11 - version: 0.0.11 - zod: - specifier: 3.25.76 - version: 3.25.76 - devDependencies: - '@opentelemetry/core': - specifier: ^1.22.0 - version: 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-logs-otlp-http': - specifier: ^0.49.1 - version: 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-http': - specifier: ^0.49.1 - version: 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': - specifier: ^0.49.1 - version: 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation-express': - specifier: ^0.36.1 - version: 0.36.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation-fetch': - specifier: ^0.49.1 - version: 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation-http': - specifier: ^0.49.1 - version: 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation-undici': - specifier: 0.2.0 - version: 0.2.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': - specifier: ^1.22.0 - version: 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-logs': - specifier: ^0.49.1 - version: 0.49.1(@opentelemetry/api-logs@0.203.0)(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-node': - specifier: ^0.49.1 - version: 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': - specifier: ^1.22.0 - version: 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-node': - specifier: ^1.22.0 - version: 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': - specifier: ^1.22.0 - version: 1.25.1 - '@trigger.dev/build': - specifier: workspace:* - version: link:../../packages/build - '@trigger.dev/python': - specifier: workspace:* - version: link:../../packages/python - '@types/bcrypt': - specifier: ^5.0.2 - version: 5.0.2 - '@types/email-reply-parser': - specifier: ^1.4.2 - version: 1.4.2 - '@types/fluent-ffmpeg': - specifier: ^2.1.26 - version: 2.1.26 - '@types/react': - specifier: ^18.3.1 - version: 18.3.1 - esbuild: - specifier: ^0.19.11 - version: 0.19.11 - prisma: - specifier: 5.19.0 - version: 5.19.0 - prisma-kysely: - specifier: ^1.8.0 - version: 1.8.0 - trigger.dev: - specifier: workspace:* - version: link:../../packages/cli-v3 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.14)(typescript@5.5.4) - tsconfig-paths: - specifier: ^4.2.0 - version: 4.2.0 - packages: - /@1password/sdk-core@0.3.0: - resolution: {integrity: sha512-2ZBshSguEe8TSwJrW7Ur1HMZhfE5UxV6dCzxzGfIHd1VO2ZbzadOFqubZwNQYAJJKR8lvZJJMTLvYiYkUa2hEw==} - dev: false - - /@1password/sdk@0.3.0: - resolution: {integrity: sha512-JIvZ8F3MCVW4ebxIdw2KjzeoAtQw6387zDNFhWQpZJBLR6LoJwsG5fXEHFF5FjLitRgIua9qtq9Bj59QkU1k/A==} - dependencies: - '@1password/sdk-core': 0.3.0 - dev: false - /@adobe/css-tools@4.4.0: resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} dev: false @@ -2670,22 +2437,6 @@ packages: zod: 3.25.76 dev: false - /@ai-sdk/provider-utils@1.0.17(zod@3.25.76): - resolution: {integrity: sha512-2VyeTH5DQ6AxqvwdyytKIeiZyYTyJffpufWjE67zM2sXMIHgYl7fivo8m5wVl6Cbf1dFPSGKq//C9s+lz+NHrQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.0.0 - peerDependenciesMeta: - zod: - optional: true - dependencies: - '@ai-sdk/provider': 0.0.22 - eventsource-parser: 1.1.2 - nanoid: 3.3.6 - secure-json-parse: 2.7.0 - zod: 3.25.76 - dev: false - /@ai-sdk/provider-utils@1.0.22(zod@3.25.76): resolution: {integrity: sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==} engines: {node: '>=18'} @@ -2754,13 +2505,6 @@ packages: zod: 3.25.76 zod-to-json-schema: 3.24.5(zod@3.25.76) - /@ai-sdk/provider@0.0.22: - resolution: {integrity: sha512-smZ1/2jL/JSKnbhC6ama/PxI2D/psj+YAe0c0qpd5ComQCNFltg72VFf0rpUSFMmFuj1pCCNoBOCrvyl8HTZHQ==} - engines: {node: '>=18'} - dependencies: - json-schema: 0.4.0 - dev: false - /@ai-sdk/provider@0.0.26: resolution: {integrity: sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==} engines: {node: '>=18'} @@ -2795,25 +2539,6 @@ packages: dependencies: json-schema: 0.4.0 - /@ai-sdk/react@0.0.53(react@19.0.0-rc.0)(zod@3.25.76): - resolution: {integrity: sha512-sIsmTFoR/QHvUUkltmHwP4bPjwy2vko6j/Nj8ayxLhEHs04Ug+dwXQyfA7MwgimEE3BcDQpWL8ikVj0m3ZILWQ==} - engines: {node: '>=18'} - peerDependencies: - react: ^18 || ^19 - zod: ^3.0.0 - peerDependenciesMeta: - react: - optional: true - zod: - optional: true - dependencies: - '@ai-sdk/provider-utils': 1.0.17(zod@3.25.76) - '@ai-sdk/ui-utils': 0.0.40(zod@3.25.76) - react: 19.0.0-rc.0 - swr: 2.2.5(react@19.0.0-rc.0) - zod: 3.25.76 - dev: false - /@ai-sdk/react@0.0.70(react@18.3.1)(zod@3.25.76): resolution: {integrity: sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ==} engines: {node: '>=18'} @@ -2890,21 +2615,6 @@ packages: zod: 3.25.76 dev: false - /@ai-sdk/solid@0.0.43(zod@3.25.76): - resolution: {integrity: sha512-7PlPLaeMAu97oOY2gjywvKZMYHF+GDfUxYNcuJ4AZ3/MRBatzs/U2r4ClT1iH8uMOcMg02RX6UKzP5SgnUBjVw==} - engines: {node: '>=18'} - peerDependencies: - solid-js: ^1.7.7 - peerDependenciesMeta: - solid-js: - optional: true - dependencies: - '@ai-sdk/provider-utils': 1.0.17(zod@3.25.76) - '@ai-sdk/ui-utils': 0.0.40(zod@3.25.76) - transitivePeerDependencies: - - zod - dev: false - /@ai-sdk/solid@0.0.54(zod@3.25.76): resolution: {integrity: sha512-96KWTVK+opdFeRubqrgaJXoNiDP89gNxFRWUp0PJOotZW816AbhUf4EnDjBjXTLjXL1n0h8tGSE9sZsRkj9wQQ==} engines: {node: '>=18'} @@ -2920,23 +2630,6 @@ packages: - zod dev: true - /@ai-sdk/svelte@0.0.45(svelte@5.33.14)(zod@3.25.76): - resolution: {integrity: sha512-w5Sdl0ArFIM3Fp8BbH4TUvlrS84WP/jN/wC1+fghMOXd7ceVO3Yhs9r71wTqndhgkLC7LAEX9Ll7ZEPfW9WBDA==} - engines: {node: '>=18'} - peerDependencies: - svelte: ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - svelte: - optional: true - dependencies: - '@ai-sdk/provider-utils': 1.0.17(zod@3.25.76) - '@ai-sdk/ui-utils': 0.0.40(zod@3.25.76) - sswr: 2.1.0(svelte@5.33.14) - svelte: 5.33.14 - transitivePeerDependencies: - - zod - dev: false - /@ai-sdk/svelte@0.0.57(svelte@5.33.14)(zod@3.25.76): resolution: {integrity: sha512-SyF9ItIR9ALP9yDNAD+2/5Vl1IT6kchgyDH8xkmhysfJI6WrvJbtO1wdQ0nylvPLcsPoYu+cAlz1krU4lFHcYw==} engines: {node: '>=18'} @@ -2954,23 +2647,6 @@ packages: - zod dev: true - /@ai-sdk/ui-utils@0.0.40(zod@3.25.76): - resolution: {integrity: sha512-f0eonPUBO13pIO8jA9IGux7IKMeqpvWK22GBr3tOoSRnO5Wg5GEpXZU1V0Po+unpeZHyEPahrWbj5JfXcyWCqw==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.0.0 - peerDependenciesMeta: - zod: - optional: true - dependencies: - '@ai-sdk/provider': 0.0.22 - '@ai-sdk/provider-utils': 1.0.17(zod@3.25.76) - json-schema: 0.4.0 - secure-json-parse: 2.7.0 - zod: 3.25.76 - zod-to-json-schema: 3.23.2(zod@3.25.76) - dev: false - /@ai-sdk/ui-utils@0.0.50(zod@3.25.76): resolution: {integrity: sha512-Z5QYJVW+5XpSaJ4jYCCAVG7zIAuKOOdikhgpksneNmKvx61ACFaf98pmOd+xnjahl0pIlc/QIe6O4yVaJ1sEaw==} engines: {node: '>=18'} @@ -3027,23 +2703,6 @@ packages: zod-to-json-schema: 3.24.5(zod@3.25.76) dev: false - /@ai-sdk/vue@0.0.45(vue@3.5.16)(zod@3.25.76): - resolution: {integrity: sha512-bqeoWZqk88TQmfoPgnFUKkrvhOIcOcSH5LMPgzZ8XwDqz5tHHrMHzpPfHCj7XyYn4ROTFK/2kKdC/ta6Ko0fMw==} - engines: {node: '>=18'} - peerDependencies: - vue: ^3.3.4 - peerDependenciesMeta: - vue: - optional: true - dependencies: - '@ai-sdk/provider-utils': 1.0.17(zod@3.25.76) - '@ai-sdk/ui-utils': 0.0.40(zod@3.25.76) - swrv: 1.0.4(vue@3.5.16) - vue: 3.5.16(typescript@5.5.4) - transitivePeerDependencies: - - zod - dev: false - /@ai-sdk/vue@0.0.59(vue@3.5.16)(zod@3.25.76): resolution: {integrity: sha512-+ofYlnqdc8c4F6tM0IKF0+7NagZRAiqBJpGDJ+6EYhDW8FHLUP/JFBgu32SjxSxC6IKFZxEnl68ZoP/Z38EMlw==} engines: {node: '>=18'} @@ -3071,16 +2730,12 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 + dev: true /@andrewbranch/untar.js@1.0.3: resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} dev: true - /@antfu/ni@0.21.8: - resolution: {integrity: sha512-90X8pU2szlvw0AJo9EZMbYc2eQKkmO7mAdC4tD4r5co2Mm56MT37MIG8EyB7p4WRheuzGxuLDxJ63mF6+Zajiw==} - hasBin: true - dev: true - /@arethetypeswrong/cli@0.15.4: resolution: {integrity: sha512-YDbImAi1MGkouT7f2yAECpUMFhhA1J0EaXzIqoC5GGtK0xDgauLtcsZezm8tNq7d3wOFXH7OnY+IORYcG212rw==} engines: {node: '>=18'} @@ -3135,21 +2790,11 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@ark/schema@0.19.0: - resolution: {integrity: sha512-m+NLBrfewxH1IieXxK7i2cjJtMksZm2PlobbZDcsNDpYKjuDAzWimXZb+GaxawKMBV9rhO3XY2Lnvf2TLq+JTQ==} - dependencies: - '@ark/util': 0.18.0 - dev: false - /@ark/schema@0.46.0: resolution: {integrity: sha512-c2UQdKgP2eqqDArfBqQIJppxJHvNNXuQPeuSPlDML4rjw+f1cu0qAlzOG4b8ujgm9ctIDWwhpyw6gjG5ledIVQ==} dependencies: '@ark/util': 0.46.0 - /@ark/util@0.18.0: - resolution: {integrity: sha512-TpHY532LKQwwYHui5NN/eO/6eSiSMvf652YNt1BsV7fya7RzXL27IiU9x4bm7jTFZxLQGYDQTB7nw41TqeuF4g==} - dev: false - /@ark/util@0.46.0: resolution: {integrity: sha512-JPy/NGWn/lvf1WmGCPw2VGpBg5utZraE84I7wli18EDF3p3zc/e9WolT35tINeZO3l7C77SjqRJeAUoT0CvMRg==} @@ -4875,6 +4520,7 @@ packages: dependencies: '@babel/highlight': 7.22.13 chalk: 2.4.2 + dev: true /@babel/code-frame@7.24.7: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} @@ -4886,11 +4532,7 @@ packages: /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - - /@babel/compat-data@7.25.4: - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} - engines: {node: '>=6.9.0'} - dev: false + dev: true /@babel/core@7.22.17: resolution: {integrity: sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==} @@ -4913,29 +4555,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - - /@babel/core@7.24.5: - resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.5) - '@babel/helpers': 7.25.6 - '@babel/parser': 7.27.0 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.27.0 - convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@10.0.0) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/eslint-parser@7.21.8(@babel/core@7.22.17)(eslint@8.31.0): resolution: {integrity: sha512-HLhI+2q+BP3sf78mFUZNCGc10KEmoUqtUT1OCdMZsN+qr4qFeLUod62/zAnF3jNQstwyasDkZnVXwfK2Bml7MQ==} @@ -4959,6 +4579,7 @@ packages: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 + dev: true /@babel/generator@7.24.7: resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} @@ -4968,16 +4589,7 @@ packages: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - - /@babel/generator@7.25.6: - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.27.0 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: false + dev: true /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} @@ -4995,17 +4607,7 @@ packages: browserslist: 4.24.4 lru-cache: 5.1.1 semver: 6.3.1 - - /@babel/helper-compilation-targets@7.25.2: - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.24.4 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false + dev: true /@babel/helper-create-class-features-plugin@7.24.0(@babel/core@7.22.17): resolution: {integrity: sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==} @@ -5028,6 +4630,7 @@ packages: /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-environment-visitor@7.22.5: resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} @@ -5039,6 +4642,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.27.0 + dev: true /@babel/helper-function-name@7.22.5: resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} @@ -5062,6 +4666,7 @@ packages: dependencies: '@babel/template': 7.24.7 '@babel/types': 7.27.0 + dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} @@ -5075,6 +4680,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.27.0 + dev: true /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} @@ -5088,16 +4694,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.27.0 - - /@babel/helper-module-imports@7.24.7: - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.27.0 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/helper-module-transforms@7.22.17(@babel/core@7.22.17): resolution: {integrity: sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ==} @@ -5111,21 +4708,7 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.25.9 - - /@babel/helper-module-transforms@7.25.2(@babel/core@7.24.5): - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.5 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} @@ -5161,16 +4744,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.27.0 - - /@babel/helper-simple-access@7.24.7: - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.27.0 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} @@ -5184,12 +4758,14 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.27.0 + dev: true /@babel/helper-split-export-declaration@7.24.7: resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.27.0 + dev: true /@babel/helper-string-parser@7.24.7: resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} @@ -5202,6 +4778,7 @@ packages: /@babel/helper-string-parser@7.27.1: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-identifier@7.24.7: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} @@ -5214,15 +4791,12 @@ packages: /@babel/helper-validator-identifier@7.27.1: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-option@7.22.15: resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.24.8: - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} - engines: {node: '>=6.9.0'} - dev: false + dev: true /@babel/helpers@7.22.15: resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==} @@ -5233,14 +4807,7 @@ packages: '@babel/types': 7.27.0 transitivePeerDependencies: - supports-color - - /@babel/helpers@7.25.6: - resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.27.0 - dev: false + dev: true /@babel/highlight@7.22.13: resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} @@ -5249,6 +4816,7 @@ packages: '@babel/helper-validator-identifier': 7.25.9 chalk: 2.4.2 js-tokens: 4.0.0 + dev: true /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} @@ -5275,14 +4843,6 @@ packages: '@babel/types': 7.27.0 dev: false - /@babel/parser@7.24.5: - resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.27.0 - dev: false - /@babel/parser@7.24.7: resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} @@ -5296,6 +4856,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.27.0 + dev: true /@babel/parser@7.27.5: resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} @@ -5303,6 +4864,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.27.3 + dev: true /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.22.17): resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} @@ -5476,6 +5038,7 @@ packages: '@babel/code-frame': 7.22.13 '@babel/parser': 7.27.0 '@babel/types': 7.27.0 + dev: true /@babel/template@7.24.7: resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} @@ -5484,15 +5047,7 @@ packages: '@babel/code-frame': 7.24.7 '@babel/parser': 7.27.0 '@babel/types': 7.27.0 - - /@babel/template@7.25.0: - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 - dev: false + dev: true /@babel/traverse@7.22.17: resolution: {integrity: sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg==} @@ -5528,21 +5083,7 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - - /@babel/traverse@7.25.6: - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.27.0 - '@babel/template': 7.25.0 - '@babel/types': 7.27.0 - debug: 4.4.1(supports-color@10.0.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/types@7.24.0: resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} @@ -5551,6 +5092,7 @@ packages: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 to-fast-properties: 2.0.0 + dev: true /@babel/types@7.24.7: resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} @@ -5573,6 +5115,7 @@ packages: dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + dev: true /@balena/dockerignore@1.0.2: resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} @@ -5600,25 +5143,6 @@ packages: resolution: {integrity: sha512-d2z4b0rEo3chI07FNN1Xds8v25CNeekecU6FC/2Fs9MxY2EipkZTThVcV2YinMn8dvRUlViKOyC50evoUxg8tw==} dev: false - /@bundled-es-modules/cookie@2.0.0: - resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} - dependencies: - cookie: 0.5.0 - dev: false - - /@bundled-es-modules/statuses@1.0.1: - resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} - dependencies: - statuses: 2.0.1 - dev: false - - /@bundled-es-modules/tough-cookie@0.1.6: - resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} - dependencies: - '@types/tough-cookie': 4.0.5 - tough-cookie: 4.1.4 - dev: false - /@changesets/apply-release-plan@6.1.4: resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} dependencies: @@ -5812,29 +5336,6 @@ packages: prettier: 2.8.8 dev: false - /@chevrotain/cst-dts-gen@10.5.0: - resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} - dependencies: - '@chevrotain/gast': 10.5.0 - '@chevrotain/types': 10.5.0 - lodash: 4.17.21 - dev: true - - /@chevrotain/gast@10.5.0: - resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==} - dependencies: - '@chevrotain/types': 10.5.0 - lodash: 4.17.21 - dev: true - - /@chevrotain/types@10.5.0: - resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==} - dev: true - - /@chevrotain/utils@10.5.0: - resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==} - dev: true - /@clack/core@0.5.0: resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} dependencies: @@ -5861,62 +5362,6 @@ packages: '@clickhouse/client-common': 1.11.1 dev: false - /@cloudflare/kv-asset-handler@0.3.4: - resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} - engines: {node: '>=16.13'} - dependencies: - mime: 3.0.0 - dev: false - - /@cloudflare/workerd-darwin-64@1.20240806.0: - resolution: {integrity: sha512-FqcVBBCO//I39K5F+HqE/v+UkqY1UrRnS653Jv+XsNNH9TpX5fTs7VCKG4kDSnmxlAaKttyIN5sMEt7lpuNExQ==} - engines: {node: '>=16'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@cloudflare/workerd-darwin-arm64@1.20240806.0: - resolution: {integrity: sha512-8c3KvmzYp/wg+82KHSOzDetJK+pThH4MTrU1OsjmsR2cUfedm5dk5Lah9/0Ld68+6A0umFACi4W2xJHs/RoBpA==} - engines: {node: '>=16'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@cloudflare/workerd-linux-64@1.20240806.0: - resolution: {integrity: sha512-/149Bpxw4e2p5QqnBc06g0mx+4sZYh9j0doilnt0wk/uqYkLp0DdXGMQVRB74sBLg2UD3wW8amn1w3KyFhK2tQ==} - engines: {node: '>=16'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@cloudflare/workerd-linux-arm64@1.20240806.0: - resolution: {integrity: sha512-lacDWY3S1rKL/xT6iMtTQJEKmTTKrBavPczInEuBFXElmrS6IwVjZwv8hhVm32piyNt/AuFu9BYoJALi9D85/g==} - engines: {node: '>=16'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@cloudflare/workerd-windows-64@1.20240806.0: - resolution: {integrity: sha512-hC6JEfTSQK6//Lg+D54TLVn1ceTPY+fv4MXqDZIYlPP53iN+dL8Xd0utn2SG57UYdlL5FRAhm/EWHcATZg1RgA==} - engines: {node: '>=16'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@cloudflare/workers-shared@0.1.0: - resolution: {integrity: sha512-SyD4iw6jM4anZaG+ujgVETV4fulF2KHBOW31eavbVN7TNpk2l4aJgwY1YSPK00IKSWsoQuH2TigR446KuT5lqQ==} - dev: false - /@codemirror/autocomplete@6.18.6: resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==} dependencies: @@ -6294,16 +5739,6 @@ packages: fast-check: 3.23.2 dev: false - /@effect/schema@0.75.5(effect@3.17.1): - resolution: {integrity: sha512-TQInulTVCuF+9EIbJpyLP6dvxbQJMphrnRqgexm/Ze39rSjfhJuufF7XvU3SxTgg3HnL7B/kpORTJbHhlE6thw==} - deprecated: this package has been merged into the main effect package - peerDependencies: - effect: ^3.9.2 - dependencies: - effect: 3.17.1 - fast-check: 3.23.2 - dev: false - /@electric-sql/client@0.4.0: resolution: {integrity: sha512-YVYSqHitqVIDC1RBTfmHMfAfqDNAKMK9/AFVTDFQQxN3Q85dIQS49zThAuJVecYiuYRJvTiqf40c4n39jZSNrQ==} optionalDependencies: @@ -6391,24 +5826,6 @@ packages: get-tsconfig: 4.7.6 dev: true - /@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19): - resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} - peerDependencies: - esbuild: '*' - dependencies: - esbuild: 0.17.19 - dev: false - - /@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19): - resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} - peerDependencies: - esbuild: '*' - dependencies: - esbuild: 0.17.19 - escape-string-regexp: 4.0.0 - rollup-plugin-node-polyfills: 0.2.1 - dev: false - /@esbuild/aix-ppc64@0.19.11: resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} engines: {node: '>=12'} @@ -6452,15 +5869,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-arm64@0.17.6: resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} engines: {node: '>=12'} @@ -6531,15 +5939,6 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-arm@0.17.6: resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==} engines: {node: '>=12'} @@ -6601,15 +6000,6 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-x64@0.17.6: resolution: {integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==} engines: {node: '>=12'} @@ -6671,15 +6061,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@esbuild/darwin-arm64@0.17.6: resolution: {integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==} engines: {node: '>=12'} @@ -6741,15 +6122,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@esbuild/darwin-x64@0.17.6: resolution: {integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==} engines: {node: '>=12'} @@ -6811,15 +6183,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/freebsd-arm64@0.17.6: resolution: {integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==} engines: {node: '>=12'} @@ -6881,15 +6244,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/freebsd-x64@0.17.6: resolution: {integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==} engines: {node: '>=12'} @@ -6951,15 +6305,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-arm64@0.17.6: resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==} engines: {node: '>=12'} @@ -7021,15 +6366,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-arm@0.17.6: resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==} engines: {node: '>=12'} @@ -7091,15 +6427,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-ia32@0.17.6: resolution: {integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==} engines: {node: '>=12'} @@ -7170,15 +6497,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-loong64@0.17.6: resolution: {integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==} engines: {node: '>=12'} @@ -7240,15 +6558,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-mips64el@0.17.6: resolution: {integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==} engines: {node: '>=12'} @@ -7310,15 +6619,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-ppc64@0.17.6: resolution: {integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==} engines: {node: '>=12'} @@ -7380,15 +6680,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-riscv64@0.17.6: resolution: {integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==} engines: {node: '>=12'} @@ -7450,15 +6741,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-s390x@0.17.6: resolution: {integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==} engines: {node: '>=12'} @@ -7520,15 +6802,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-x64@0.17.6: resolution: {integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==} engines: {node: '>=12'} @@ -7599,15 +6872,6 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/netbsd-x64@0.17.6: resolution: {integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==} engines: {node: '>=12'} @@ -7686,15 +6950,6 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/openbsd-x64@0.17.6: resolution: {integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==} engines: {node: '>=12'} @@ -7756,15 +7011,6 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: false - optional: true - /@esbuild/sunos-x64@0.17.6: resolution: {integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==} engines: {node: '>=12'} @@ -7826,15 +7072,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-arm64@0.17.6: resolution: {integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==} engines: {node: '>=12'} @@ -7896,15 +7133,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-ia32@0.17.6: resolution: {integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==} engines: {node: '>=12'} @@ -7966,15 +7194,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-x64@0.17.6: resolution: {integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==} engines: {node: '>=12'} @@ -8267,12 +7486,6 @@ packages: purgecss: 2.3.0 dev: false - /@gar/promisify@1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - requiresBuild: true - dev: false - optional: true - /@google-cloud/precise-date@4.0.0: resolution: {integrity: sha512-1TUx3KdaU3cN7nfCdNf+UVqA/PSX29Cjcox3fZZBtINlRrXVTmUkQnCKv2MbBUbCopbK4olAT1IHl76uZyCiVA==} engines: {node: '>=14.0.0'} @@ -8429,17 +7642,6 @@ packages: dev: false optional: true - /@img/sharp-darwin-arm64@0.34.2: - resolution: {integrity: sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.1.0 - dev: false - optional: true - /@img/sharp-darwin-x64@0.33.5: resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8451,17 +7653,6 @@ packages: dev: false optional: true - /@img/sharp-darwin-x64@0.34.2: - resolution: {integrity: sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.1.0 - dev: false - optional: true - /@img/sharp-libvips-darwin-arm64@1.0.4: resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} cpu: [arm64] @@ -8470,14 +7661,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-darwin-arm64@1.1.0: - resolution: {integrity: sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@img/sharp-libvips-darwin-x64@1.0.4: resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} cpu: [x64] @@ -8486,14 +7669,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-darwin-x64@1.1.0: - resolution: {integrity: sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@img/sharp-libvips-linux-arm64@1.0.4: resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} cpu: [arm64] @@ -8502,14 +7677,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-arm64@1.1.0: - resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@img/sharp-libvips-linux-arm@1.0.5: resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} cpu: [arm] @@ -8518,22 +7685,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-arm@1.1.0: - resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-linux-ppc64@1.1.0: - resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@img/sharp-libvips-linux-s390x@1.0.4: resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} cpu: [s390x] @@ -8542,14 +7693,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-s390x@1.1.0: - resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@img/sharp-libvips-linux-x64@1.0.4: resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} cpu: [x64] @@ -8558,14 +7701,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-x64@1.1.0: - resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@img/sharp-libvips-linuxmusl-arm64@1.0.4: resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} cpu: [arm64] @@ -8574,14 +7709,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-linuxmusl-arm64@1.1.0: - resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@img/sharp-libvips-linuxmusl-x64@1.0.4: resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} cpu: [x64] @@ -8590,14 +7717,6 @@ packages: dev: false optional: true - /@img/sharp-libvips-linuxmusl-x64@1.1.0: - resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@img/sharp-linux-arm64@0.33.5: resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8609,17 +7728,6 @@ packages: dev: false optional: true - /@img/sharp-linux-arm64@0.34.2: - resolution: {integrity: sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.1.0 - dev: false - optional: true - /@img/sharp-linux-arm@0.33.5: resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8631,17 +7739,6 @@ packages: dev: false optional: true - /@img/sharp-linux-arm@0.34.2: - resolution: {integrity: sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.1.0 - dev: false - optional: true - /@img/sharp-linux-s390x@0.33.5: resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8653,17 +7750,6 @@ packages: dev: false optional: true - /@img/sharp-linux-s390x@0.34.2: - resolution: {integrity: sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [s390x] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.1.0 - dev: false - optional: true - /@img/sharp-linux-x64@0.33.5: resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8675,17 +7761,6 @@ packages: dev: false optional: true - /@img/sharp-linux-x64@0.34.2: - resolution: {integrity: sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.1.0 - dev: false - optional: true - /@img/sharp-linuxmusl-arm64@0.33.5: resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8697,17 +7772,6 @@ packages: dev: false optional: true - /@img/sharp-linuxmusl-arm64@0.34.2: - resolution: {integrity: sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 - dev: false - optional: true - /@img/sharp-linuxmusl-x64@0.33.5: resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8719,17 +7783,6 @@ packages: dev: false optional: true - /@img/sharp-linuxmusl-x64@0.34.2: - resolution: {integrity: sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.1.0 - dev: false - optional: true - /@img/sharp-wasm32@0.33.5: resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8740,25 +7793,6 @@ packages: dev: false optional: true - /@img/sharp-wasm32@0.34.2: - resolution: {integrity: sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [wasm32] - requiresBuild: true - dependencies: - '@emnapi/runtime': 1.4.3 - dev: false - optional: true - - /@img/sharp-win32-arm64@0.34.2: - resolution: {integrity: sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@img/sharp-win32-ia32@0.33.5: resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8768,15 +7802,6 @@ packages: dev: false optional: true - /@img/sharp-win32-ia32@0.34.2: - resolution: {integrity: sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@img/sharp-win32-x64@0.33.5: resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8786,174 +7811,6 @@ packages: dev: false optional: true - /@img/sharp-win32-x64@0.34.2: - resolution: {integrity: sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-android-arm-eabi@2.3.5: - resolution: {integrity: sha512-7KGWJ5X/RV6sIHWt3mjNg+zykzYvbHIKmNKBHTTAOuULKpTIAoQyFD1q3XMylP2AaVh8BJtgVOODO4/Uxexlug==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-android-arm64@2.3.5: - resolution: {integrity: sha512-jHCvwYYchtTWryAGX2MvddRVZFdGrdoakGTMrvPQ0ZyM1XnLo3Q9tb35RCjTTylE1q114OKGRymM2JZ10ygiRw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-darwin-arm64@2.3.5: - resolution: {integrity: sha512-UEe38OTxjlOMo2HVplmT6pmXwks0c9lckKDUKK/MNfp0H9n4RJKXd8jco1BeG713eNR7bX01Q2c74XgLJhf58Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-darwin-x64@2.3.5: - resolution: {integrity: sha512-mMz/1N+aZjvIXPHMnfl9DmyYWCXjRsa/Uxj94pXjJGZ3GMsANRTR08GVRI2S2XWMODiV5D9zY2mQ3/eY5E5Y/A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-arm-gnueabihf@2.3.5: - resolution: {integrity: sha512-GjVQNdv8aYn+mZgW/sRFirwb0iMRX7ShBC0N8MsgrSBxnSpH2nFiUFj8hFi2DOvR5NbJ+KQpabfvP0eodozKSg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-arm64-gnu@2.3.5: - resolution: {integrity: sha512-hclvvD1eAYB6JP58mo5TfBjE+vSGSv30fNuXeaheO4yOLfnaGyCCR6E6F96uxNNCAVkVO4RXRhiSSCT6K3f3jA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-arm64-musl@2.3.5: - resolution: {integrity: sha512-RFYd49eXoUtXXUsQb9Cqiu0RKp32GrsEATj9GlMJYharDn8BZhYr6lpDb+7EZolbjg+A40JvT98nqN2EliUwgA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-x64-gnu@2.3.5: - resolution: {integrity: sha512-E0JB4fowk9cmfQGBJw8QNXy9TBewB42kyQhCYARQtPvleXqoK48DUs7mzRIawLUbyCA5ldcy2jFbj/ZXWWYNOA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-x64-musl@2.3.5: - resolution: {integrity: sha512-3+irZY69oepYAwXXgTUDIW6PbjLRmj79rzA4CSKfF3a0wBLlR+6e+1NT+nu87BtP3wSBej3y1JAnfw853AekDA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-win32-arm64-msvc@2.3.5: - resolution: {integrity: sha512-DVZMglFSE3Xqj7/Bsv/4KfhfAO970BsSdOL3LrlRvcN3Dkocuthh3rHw6U5jg92FfMw+hMN9DzlhTqtUBZWYjQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-win32-ia32-msvc@2.3.5: - resolution: {integrity: sha512-dw3XuR2myJ2leB3+KStFsHB2zIJ29TArvoU/zGw/cdCOj1dRKF7WcahWg1id+ydwoeOv+HVZ+RsS8sZR5gYblQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-win32-x64-msvc@2.3.5: - resolution: {integrity: sha512-SWzYndKhHih4zE/OYWfv9QoYaj5oDBhNSKZAlw1XFYdlUU41nTCN1nruD9RRdmjoJ/pF0sn2Mr9v+OiXStnC+A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk@2.3.5: - resolution: {integrity: sha512-vaQmDyzOFRkiZqstifk2dHTctkfizhlv7/+Ds6PFVWPGUpRUqP4PoR4yRdx2405IKWVx/ABuqQ4S8e9ix1kwzg==} - engines: {node: '>= 10'} - optionalDependencies: - '@infisical/sdk-android-arm-eabi': 2.3.5 - '@infisical/sdk-android-arm64': 2.3.5 - '@infisical/sdk-darwin-arm64': 2.3.5 - '@infisical/sdk-darwin-x64': 2.3.5 - '@infisical/sdk-linux-arm-gnueabihf': 2.3.5 - '@infisical/sdk-linux-arm64-gnu': 2.3.5 - '@infisical/sdk-linux-arm64-musl': 2.3.5 - '@infisical/sdk-linux-x64-gnu': 2.3.5 - '@infisical/sdk-linux-x64-musl': 2.3.5 - '@infisical/sdk-win32-arm64-msvc': 2.3.5 - '@infisical/sdk-win32-ia32-msvc': 2.3.5 - '@infisical/sdk-win32-x64-msvc': 2.3.5 - dev: false - - /@inquirer/confirm@3.0.0: - resolution: {integrity: sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg==} - engines: {node: '>=18'} - dependencies: - '@inquirer/core': 7.0.0 - '@inquirer/type': 1.2.0 - dev: false - - /@inquirer/core@7.0.0: - resolution: {integrity: sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA==} - engines: {node: '>=18'} - dependencies: - '@inquirer/type': 1.2.0 - '@types/mute-stream': 0.0.4 - '@types/node': 20.14.14 - '@types/wrap-ansi': 3.0.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-spinners: 2.9.2 - cli-width: 4.1.0 - figures: 3.2.0 - mute-stream: 1.0.0 - run-async: 3.0.0 - signal-exit: 4.1.0 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: false - - /@inquirer/type@1.2.0: - resolution: {integrity: sha512-/vvkUkYhrjbm+RolU7V1aUFDydZVKNKqKHR5TsE+j5DXgXFwrsOPcoGUJ02K0O7q7O53CU2DOTMYCHeGZ25WHA==} - engines: {node: '>=18'} - dev: false - /@internationalized/date@3.5.1: resolution: {integrity: sha512-LUQIfwU9e+Fmutc/DpRTGXSdgYZLBegi4wygCWDSVmUdLTaMHsQyASDiJtREwanwKuQLq0hY76fCJ9J/9I2xOQ==} dependencies: @@ -9038,6 +7895,7 @@ packages: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 + dev: true /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} @@ -9085,6 +7943,7 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.5.0 + dev: true /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -9331,31 +8190,11 @@ packages: - supports-color dev: false - /@mrleebo/prisma-ast@0.7.0: - resolution: {integrity: sha512-GTPkYf1meO2UXXIrz/SIDFWz+P4kXo2PTt36LYh/oNxV1PieYi7ZgenQk4IV0ut71Je3Z8ZoNZ8Tr7v2c1X1pg==} - engines: {node: '>=16'} - dependencies: - chevrotain: 10.5.0 - lilconfig: 2.1.0 - dev: true - /@msgpack/msgpack@3.0.0-beta2: resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} engines: {node: '>= 14'} dev: false - /@mswjs/interceptors@0.29.1: - resolution: {integrity: sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw==} - engines: {node: '>=18'} - dependencies: - '@open-draft/deferred-promise': 2.2.0 - '@open-draft/logger': 0.3.0 - '@open-draft/until': 2.1.0 - is-node-process: 1.2.0 - outvariant: 1.4.2 - strict-event-emitter: 0.5.1 - dev: false - /@neondatabase/serverless@0.9.5: resolution: {integrity: sha512-siFas6gItqv6wD/pZnvdu34wEqgG3nSE6zWZdq5j2DEsa+VvX8i/5HXJOo06qrw5axPXn+lGCxeR+NLaSPIXug==} dependencies: @@ -9379,10 +8218,6 @@ packages: resolution: {integrity: sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A==} dev: false - /@next/env@14.2.3: - resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} - dev: false - /@next/env@15.2.4: resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==} dev: false @@ -9405,15 +8240,6 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64@14.2.3: - resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-arm64@15.2.4: resolution: {integrity: sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==} engines: {node: '>= 10'} @@ -9441,15 +8267,6 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@14.2.3: - resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-x64@15.2.4: resolution: {integrity: sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==} engines: {node: '>= 10'} @@ -9477,15 +8294,6 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@14.2.3: - resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-gnu@15.2.4: resolution: {integrity: sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==} engines: {node: '>= 10'} @@ -9513,15 +8321,6 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@14.2.3: - resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-musl@15.2.4: resolution: {integrity: sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==} engines: {node: '>= 10'} @@ -9549,15 +8348,6 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@14.2.3: - resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-gnu@15.2.4: resolution: {integrity: sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==} engines: {node: '>= 10'} @@ -9585,15 +8375,6 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@14.2.3: - resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-musl@15.2.4: resolution: {integrity: sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==} engines: {node: '>= 10'} @@ -9621,15 +8402,6 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@14.2.3: - resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-arm64-msvc@15.2.4: resolution: {integrity: sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==} engines: {node: '>= 10'} @@ -9657,15 +8429,6 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@14.2.3: - resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-x64-msvc@14.1.0: resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==} engines: {node: '>= 10'} @@ -9684,15 +8447,6 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@14.2.3: - resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-x64-msvc@15.2.4: resolution: {integrity: sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==} engines: {node: '>= 10'} @@ -9726,33 +8480,12 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@npmcli/agent@2.2.2: - resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - agent-base: 7.1.1 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.5 - lru-cache: 10.4.3 - socks-proxy-agent: 8.0.4 - transitivePeerDependencies: - - supports-color - dev: false - - /@npmcli/fs@1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - requiresBuild: true - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.7.2 - dev: false - optional: true - /@npmcli/fs@3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.7.2 + dev: true /@npmcli/git@4.1.0: resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} @@ -9770,17 +8503,6 @@ packages: - bluebird dev: true - /@npmcli/move-file@1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} - deprecated: This functionality has been moved to @npmcli/fs - requiresBuild: true - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: false - optional: true - /@npmcli/package-json@4.0.1: resolution: {integrity: sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -9809,36 +8531,21 @@ packages: /@open-draft/deferred-promise@2.2.0: resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} - - /@open-draft/logger@0.3.0: - resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} - dependencies: - is-node-process: 1.2.0 - outvariant: 1.4.2 - dev: false - - /@open-draft/until@2.1.0: - resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} - dev: false + dev: true /@opentelemetry/api-logs@0.203.0: resolution: {integrity: sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ==} engines: {node: '>=8.0.0'} dependencies: '@opentelemetry/api': 1.9.0 + dev: false /@opentelemetry/api-logs@0.49.1: resolution: {integrity: sha512-kaNl/T7WzyMUQHQlVq7q0oV4Kev6+0xFwqzofryC66jgGMacd0QH5TwfpbUwSTby+SdAdprAe5UKMvBw4tKS5Q==} engines: {node: '>=14'} dependencies: '@opentelemetry/api': 1.9.0 - - /@opentelemetry/api-logs@0.51.1: - resolution: {integrity: sha512-E3skn949Pk1z2XtXu/lxf6QAZpawuTM/IUEXcAzpiUkTd73Hmvw26FiN3cJuTmkpM5hZzHwkomVdtrh/n/zzwA==} - engines: {node: '>=14'} - dependencies: - '@opentelemetry/api': 1.9.0 - dev: true + dev: false /@opentelemetry/api-logs@0.52.1: resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==} @@ -9861,10 +8568,6 @@ packages: '@opentelemetry/api': 1.9.0 dev: false - /@opentelemetry/api@1.4.1: - resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} - engines: {node: '>=8.0.0'} - /@opentelemetry/api@1.8.0: resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} engines: {node: '>=8.0.0'} @@ -9874,24 +8577,6 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - /@opentelemetry/context-async-hooks@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-Nfdxyg8YtWqVWkyrCukkundAjPhUXi93JtVQmqDT1mZRVKqA7e2r7eJCrI+F651XUBMp0hsOJSGiFk3QSpaIJw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - dev: true - - /@opentelemetry/context-async-hooks@1.25.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.4.1 - dev: true - /@opentelemetry/context-async-hooks@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==} engines: {node: '>=14'} @@ -9919,16 +8604,6 @@ packages: '@opentelemetry/api': 1.9.0 dev: false - /@opentelemetry/core@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/semantic-conventions': 1.22.0 - dev: true - /@opentelemetry/core@1.22.0(@opentelemetry/api@1.8.0): resolution: {integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==} engines: {node: '>=14'} @@ -9939,15 +8614,6 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 dev: false - /@opentelemetry/core@1.25.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/semantic-conventions': 1.25.1 - /@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==} engines: {node: '>=14'} @@ -10002,20 +8668,6 @@ packages: '@opentelemetry/sdk-logs': 0.203.0(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/exporter-logs-otlp-http@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-3QoBnIGCmEkujynUP0mK155QtOM0MSf9FNrEw7u9ieCFsoMiyatg2hPp+alEDONJ8N8wGEK+wP2q3icgXBiggw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.49.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-logs': 0.49.1(@opentelemetry/api-logs@0.49.1)(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/exporter-logs-otlp-http@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-qKgywId2DbdowPZpOBXQKp0B8DfhfIArmSic15z13Nk/JAOccBUQdPwDjDnjsM5f0ckZFMVR2t/tijTUAqDZoA==} engines: {node: '>=14'} @@ -10059,21 +8711,6 @@ packages: '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/exporter-trace-otlp-grpc@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-Zbd7f3zF7fI2587MVhBizaW21cO/SordyrZGtMtvhoxU6n4Qb02Gx71X4+PzXH620e0+JX+Pcr9bYb1HTeVyJA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@grpc/grpc-js': 1.12.6 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/exporter-trace-otlp-grpc@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==} engines: {node: '>=14'} @@ -10103,20 +8740,6 @@ packages: '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/exporter-trace-otlp-http@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-KOLtZfZvIrpGZLVvblKsiVQT7gQUZNKcUUH24Zz6Xbi7LJb9Vt6xtUZFYdR5IIjvt47PIqBKDWUQlU0o1wAsRw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/exporter-trace-otlp-http@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==} engines: {node: '>=14'} @@ -10145,21 +8768,6 @@ packages: '@opentelemetry/sdk-trace-base': 1.30.0(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/exporter-trace-otlp-proto@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-n8ON/c9pdMyYAfSFWKkgsPwjYoxnki+6Olzo+klKfW7KqLWoyEkryNkbcMIYnGGNXwdkMIrjoaP0VxXB26Oxcg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-proto-exporter-base': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/exporter-trace-otlp-proto@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==} engines: {node: '>=14'} @@ -10174,19 +8782,6 @@ packages: '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/exporter-zipkin@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-XcFs6rGvcTz0qW5uY7JZDYD0yNEXdekXAb6sFtnZgY/cHY6BQ09HMzOjv9SX+iaXplRDcHr1Gta7VQKM1XXM6g==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.22.0 - dev: true - /@opentelemetry/exporter-zipkin@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==} engines: {node: '>=14'} @@ -10241,20 +8836,6 @@ packages: - supports-color dev: false - /@opentelemetry/instrumentation-express@0.36.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-ltIE4kIMa+83QjW/p7oe7XCESF29w3FQ9/T1VgShdX7fzm56K2a0xfEX1vF8lnHRGERYxIWX9D086C6gJOjVGA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.25.1 - transitivePeerDependencies: - - supports-color - dev: true - /@opentelemetry/instrumentation-express@0.36.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-ltIE4kIMa+83QjW/p7oe7XCESF29w3FQ9/T1VgShdX7fzm56K2a0xfEX1vF8lnHRGERYxIWX9D086C6gJOjVGA==} engines: {node: '>=14'} @@ -10298,21 +8879,6 @@ packages: - supports-color dev: false - /@opentelemetry/instrumentation-fetch@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-hizhULZXlq02y8YC0vPQ4WtUWiXcwxPdEqHBy8p75jzF9rAuP/ldrVr0Oxvz5Xr9qQcdEOFLvEl0ZxbVL76WKw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-web': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.22.0 - transitivePeerDependencies: - - supports-color - dev: true - /@opentelemetry/instrumentation-fs@0.19.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-6g0FhB3B9UobAR60BGTcXg4IHZ6aaYJzp0Ki5FhnxyAPt8Ns+9SSvgcrnsN2eGmk3RWG5vYycUGOEApycQL24A==} engines: {node: '>=14'} @@ -10379,21 +8945,6 @@ packages: - supports-color dev: false - /@opentelemetry/instrumentation-http@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-Yib5zrW2s0V8wTeUK/B3ZtpyP4ldgXj9L3Ws/axXrW1dW0/mEFKifK50MxMQK9g5NNJQS9dWH7rvcEGZdWdQDA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.22.0 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - dev: true - /@opentelemetry/instrumentation-http@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==} engines: {node: '>=14'} @@ -10617,19 +9168,6 @@ packages: - supports-color dev: false - /@opentelemetry/instrumentation-undici@0.2.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-RH9WdVRtpnyp8kvya2RYqKsJouPxvHl7jKPsIfrbL8u2QCKloAGi0uEqDHoOS15ZRYPQTDXZ7d8jSpUgSQmvpA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.7.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.4.1) - transitivePeerDependencies: - - supports-color - dev: true - /@opentelemetry/instrumentation@0.203.0(@opentelemetry/api@1.9.0)(supports-color@10.0.0): resolution: {integrity: sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ==} engines: {node: ^18.19.0 || >=20.6.0} @@ -10644,23 +9182,6 @@ packages: - supports-color dev: false - /@opentelemetry/instrumentation@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.49.1 - '@types/shimmer': 1.0.2 - import-in-the-middle: 1.7.1 - require-in-the-middle: 7.1.1(supports-color@10.0.0) - semver: 7.6.3 - shimmer: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: true - /@opentelemetry/instrumentation@0.49.1(@opentelemetry/api@1.8.0): resolution: {integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ==} engines: {node: '>=14'} @@ -10695,40 +9216,6 @@ packages: - supports-color dev: false - /@opentelemetry/instrumentation@0.51.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-JIrvhpgqY6437QIqToyozrUG1h5UhwHkaGK/WAX+fkrpyPtc+RO5FkRtUd9BH0MibabHHvqsnBGKfKVijbmp8w==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.51.1 - '@types/shimmer': 1.2.0 - import-in-the-middle: 1.7.4 - require-in-the-middle: 7.1.1(supports-color@10.0.0) - semver: 7.7.2 - shimmer: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.52.1 - '@types/shimmer': 1.2.0 - import-in-the-middle: 1.11.0 - require-in-the-middle: 7.1.1(supports-color@10.0.0) - semver: 7.7.2 - shimmer: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: false - /@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==} engines: {node: '>=14'} @@ -10774,16 +9261,6 @@ packages: '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/otlp-exporter-base@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-z6sHliPqDgJU45kQatAettY9/eVF58qVPaTuejw9YWfSRqid9pXPYeegDCSdyS47KAUgAtm+nC28K3pfF27HWg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/otlp-exporter-base@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==} engines: {node: '>=14'} @@ -10806,19 +9283,6 @@ packages: '@opentelemetry/otlp-transformer': 0.57.0(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/otlp-grpc-exporter-base@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-DNDNUWmOqtKTFJAyOyHHKotVox0NQ/09ETX8fUOeEtyNVHoGekAVtBbvIA3AtK+JflP7LC0PTjlLfruPM3Wy6w==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@grpc/grpc-js': 1.12.6 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.49.1(@opentelemetry/api@1.4.1) - protobufjs: 7.3.2 - dev: true - /@opentelemetry/otlp-grpc-exporter-base@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==} engines: {node: '>=14'} @@ -10832,18 +9296,6 @@ packages: '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/otlp-proto-exporter-base@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-x1qB4EUC7KikUl2iNuxCkV8yRzrSXSyj4itfpIO674H7dhI7Zv37SFaOJTDN+8Z/F50gF2ISFH9CWQ4KCtGm2A==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.49.1(@opentelemetry/api@1.4.1) - protobufjs: 7.3.2 - dev: true - /@opentelemetry/otlp-transformer@0.203.0(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A==} engines: {node: ^18.19.0 || >=20.6.0} @@ -10860,21 +9312,6 @@ packages: protobufjs: 7.3.2 dev: false - /@opentelemetry/otlp-transformer@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-Z+koA4wp9L9e3jkFacyXTGphSWTbOKjwwXMpb0CxNb0kjTHGUxhYRN8GnkLFsFo5NbZPjP07hwAqeEG/uCratQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.49.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-logs': 0.49.1(@opentelemetry/api-logs@0.49.1)(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/otlp-transformer@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==} engines: {node: '>=14'} @@ -10907,26 +9344,6 @@ packages: protobufjs: 7.3.2 dev: false - /@opentelemetry/propagator-b3@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-qBItJm9ygg/jCB5rmivyGz1qmKZPsL/sX715JqPMFgq++Idm0x+N9sLQvWFHFt2+ZINnCSojw7FVBgFW6izcXA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - - /@opentelemetry/propagator-b3@1.25.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/propagator-b3@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==} engines: {node: '>=14'} @@ -10937,26 +9354,6 @@ packages: '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/propagator-jaeger@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-pMLgst3QIwrUfepraH5WG7xfpJ8J3CrPKrtINK0t7kBkuu96rn+HDYQ8kt3+0FXvrZI8YJE77MCQwnJWXIrgpA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - - /@opentelemetry/propagator-jaeger@1.25.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/propagator-jaeger@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==} engines: {node: '>=14'} @@ -10972,17 +9369,6 @@ packages: engines: {node: '>=14'} dev: false - /@opentelemetry/resources@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.22.0 - dev: true - /@opentelemetry/resources@1.22.0(@opentelemetry/api@1.8.0): resolution: {integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==} engines: {node: '>=14'} @@ -10994,17 +9380,6 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 dev: false - /@opentelemetry/resources@1.25.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.25.1 - dev: true - /@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==} engines: {node: '>=14'} @@ -11061,32 +9436,6 @@ packages: '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/sdk-logs@0.49.1(@opentelemetry/api-logs@0.203.0)(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.4.0 <1.9.0' - '@opentelemetry/api-logs': '>=0.39.1' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.203.0 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - - /@opentelemetry/sdk-logs@0.49.1(@opentelemetry/api-logs@0.49.1)(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.4.0 <1.9.0' - '@opentelemetry/api-logs': '>=0.39.1' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.49.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - dev: true - /@opentelemetry/sdk-logs@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==} engines: {node: '>=14'} @@ -11111,18 +9460,6 @@ packages: '@opentelemetry/resources': 1.30.0(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/sdk-metrics@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - lodash.merge: 4.6.2 - dev: true - /@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==} engines: {node: '>=14'} @@ -11157,30 +9494,6 @@ packages: '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/sdk-node@0.49.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-feBIT85ndiSHXsQ2gfGpXC/sNeX4GCHLksC4A9s/bfpUbbgbCSl0RvzZlmEpCHarNrkZMwFRi4H0xFfgvJEjrg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.49.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-grpc': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-http': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-proto': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-zipkin': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': 0.49.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-logs': 0.49.1(@opentelemetry/api-logs@0.49.1)(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-node': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.22.0 - transitivePeerDependencies: - - supports-color - dev: true - /@opentelemetry/sdk-node@0.52.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==} engines: {node: '>=14'} @@ -11205,18 +9518,6 @@ packages: - supports-color dev: false - /@opentelemetry/sdk-trace-base@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.22.0 - dev: true - /@opentelemetry/sdk-trace-base@1.22.0(@opentelemetry/api@1.8.0): resolution: {integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q==} engines: {node: '>=14'} @@ -11229,18 +9530,6 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 dev: false - /@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.25.1 - dev: true - /@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==} engines: {node: '>=14'} @@ -11289,36 +9578,6 @@ packages: '@opentelemetry/semantic-conventions': 1.36.0 dev: false - /@opentelemetry/sdk-trace-node@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-gTGquNz7ue8uMeiWPwp3CU321OstQ84r7PCDtOaCicjbJxzvO8RZMlEC4geOipTeiF88kss5n6w+//A0MhP1lQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/context-async-hooks': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-b3': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-jaeger': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - semver: 7.7.2 - dev: true - - /@opentelemetry/sdk-trace-node@1.25.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/context-async-hooks': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-b3': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-jaeger': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.4.1) - semver: 7.6.3 - dev: true - /@opentelemetry/sdk-trace-node@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==} engines: {node: '>=14'} @@ -11346,18 +9605,6 @@ packages: '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) dev: false - /@opentelemetry/sdk-trace-web@1.22.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-id5bUhWYg475xbm4hjwWA4PnWM4duNK1EyFRkZxa3BZNuCITwiKCLvDkVhlE9RK2kvuDOPmcRxgSbU1apF9/1w==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.22.0 - dev: true - /@opentelemetry/sdk-trace-web@2.0.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-R4/i0rISvAujG4Zwk3s6ySyrWG+Db3SerZVM4jZ2lEzjrNylF7nRAy1hVvWe8gTbwIxX+6w6ZvZwdtl2C7UQHQ==} engines: {node: ^18.19.0 || >=20.6.0} @@ -11372,10 +9619,12 @@ packages: /@opentelemetry/semantic-conventions@1.22.0: resolution: {integrity: sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==} engines: {node: '>=14'} + dev: false /@opentelemetry/semantic-conventions@1.25.1: resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==} engines: {node: '>=14'} + dev: false /@opentelemetry/semantic-conventions@1.28.0: resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==} @@ -11437,19 +9686,6 @@ packages: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false - /@prisma/client@5.19.0(prisma@5.19.0): - resolution: {integrity: sha512-CzOpau+q1kEWQyoQMvlnXIHqPvwmWbh48xZ4n8KWbAql0p8PC0BIgSTYW5ncxXa4JSEff0tcoxSZB874wDstdg==} - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dependencies: - prisma: 5.19.0 - dev: false - /@prisma/client@5.4.1(prisma@5.4.1): resolution: {integrity: sha512-xyD0DJ3gRNfLbPsC+YfMBBuLJtZKQfy1OD2qU/PZg+HKrr7SO+09174LMeTlWP0YF2wca9LxtVd4HnAiB5ketQ==} engines: {node: '>=16.13'} @@ -11464,109 +9700,14 @@ packages: prisma: 5.4.1 dev: false - /@prisma/debug@5.19.0: - resolution: {integrity: sha512-+b/G0ubAZlrS+JSiDhXnYV5DF/aTJ3pinktkiV/L4TtLRLZO6SVGyFELgxBsicCTWJ2ZMu5vEV/jTtYCdjFTRA==} - - /@prisma/debug@5.3.1: - resolution: {integrity: sha512-eYrxqslEKf+wpMFIIHgbcNYuZBXUdiJLA85Or3TwOhgPIN1ZoXT9CwJph3ynW8H1Xg0LkdYLwVmuULCwiMoU5A==} - dependencies: - '@types/debug': 4.1.8 - debug: 4.3.4 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@prisma/engines-version@5.19.0-31.5fe21811a6ba0b952a3bc71400666511fe3b902f: - resolution: {integrity: sha512-GimI9aZIFy/yvvR11KfXRn3pliFn1QAkdebVlsXlnoh5uk0YhLblVmeYiHfsu+wDA7BeKqYT4sFfzg8mutzuWw==} - /@prisma/engines-version@5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f: resolution: {integrity: sha512-+nUQM/y8C+1GG5Ioeqcu6itFslCfxvQSAUVSMC9XM2G2Fcq0F4Afnp6m0pXF6X6iUBWen7jZBPmM9Qlq4Nr3/A==} dev: false - /@prisma/engines@5.19.0: - resolution: {integrity: sha512-UtW+0m4HYoRSSR3LoDGKF3Ud4BSMWYlLEt4slTnuP1mI+vrV3zaDoiAPmejdAT76vCN5UqnWURbkXxf66nSylQ==} - requiresBuild: true - dependencies: - '@prisma/debug': 5.19.0 - '@prisma/engines-version': 5.19.0-31.5fe21811a6ba0b952a3bc71400666511fe3b902f - '@prisma/fetch-engine': 5.19.0 - '@prisma/get-platform': 5.19.0 - - /@prisma/engines@5.3.1: - resolution: {integrity: sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==} - requiresBuild: true - dev: true - /@prisma/engines@5.4.1: resolution: {integrity: sha512-vJTdY4la/5V3N7SFvWRmSMUh4mIQnyb/MNoDjzVbh9iLmEC+uEykj/1GPviVsorvfz7DbYSQC4RiwmlEpTEvGA==} requiresBuild: true - /@prisma/fetch-engine@5.19.0: - resolution: {integrity: sha512-oOiPNtmJX0cP/ebu7BBEouJvCw8T84/MFD/Hf2zlqjxkK4ojl38bB9i9J5LAxotL6WlYVThKdxc7HqoWnPOhqQ==} - dependencies: - '@prisma/debug': 5.19.0 - '@prisma/engines-version': 5.19.0-31.5fe21811a6ba0b952a3bc71400666511fe3b902f - '@prisma/get-platform': 5.19.0 - - /@prisma/fetch-engine@5.3.1: - resolution: {integrity: sha512-w1yk1YiK8N82Pobdq58b85l6e8akyrkxuzwV9DoiUTRf3gpsuhJJesHc4Yi0WzUC9/3znizl1UfCsI6dhkj3Vw==} - dependencies: - '@prisma/debug': 5.3.1 - '@prisma/get-platform': 5.3.1 - 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.2 - kleur: 4.1.5 - node-fetch: 2.7.0 - 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 - dev: true - - /@prisma/generator-helper@5.3.1: - resolution: {integrity: sha512-zrYS0iHLgPlOJjYnd5KvVMMvSS+ktOL39EwooS5EnyvfzwfzxlKCeOUgxTfiKYs0WUWqzEvyNAYtramYgSknsQ==} - dependencies: - '@prisma/debug': 5.3.1 - '@types/cross-spawn': 6.0.2 - cross-spawn: 7.0.3 - kleur: 4.1.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@prisma/get-platform@5.19.0: - resolution: {integrity: sha512-s9DWkZKnuP4Y8uy6yZfvqQ/9X3/+2KYf3IZUVZz5OstJdGBJrBlbmIuMl81917wp5TuK/1k2TpHNCEdpYLPKmg==} - dependencies: - '@prisma/debug': 5.19.0 - - /@prisma/get-platform@5.3.1: - resolution: {integrity: sha512-3IiZY2BUjKnAuZ0569zppZE6/rZbVAM09//c2nvPbbkGG9MqrirA8fbhhF7tfVmhyVfdmVCHnf/ujWPHJ8B46Q==} - dependencies: - '@prisma/debug': 5.3.1 - 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 - dev: true - /@prisma/instrumentation@5.11.0: resolution: {integrity: sha512-ou4nvDpNEY6+t3Dn9juOTz6tK33D0Y4XXkEZ2uPd8KH6Mqmc+4LYOOm470DP7noj7dyJjuGiM+wpPk//HKrcDg==} dependencies: @@ -11588,60 +9729,6 @@ packages: - supports-color dev: false - /@prisma/internals@5.3.1: - resolution: {integrity: sha512-zkW73hPHHNrMD21PeYgCTBfMu71vzJf+WtfydtJbS0JVJKyLfOel0iWSQg7wjNeQfccKp+NdHJ/5rTJ4NEUzgA==} - dependencies: - '@antfu/ni': 0.21.8 - '@opentelemetry/api': 1.4.1 - '@prisma/debug': 5.3.1 - '@prisma/engines': 5.3.1 - '@prisma/fetch-engine': 5.3.1 - '@prisma/generator-helper': 5.3.1 - '@prisma/get-platform': 5.3.1 - '@prisma/prisma-schema-wasm': 5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59 - archiver: 5.3.2 - arg: 5.0.2 - checkpoint-client: 1.1.27 - 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.1 - 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.7.0 - 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.4 - string-width: 4.2.3 - strip-ansi: 6.0.1 - strip-indent: 3.0.0 - temp-dir: 2.0.0 - tempy: 1.0.1 - terminal-link: 2.1.1 - tmp: 0.2.1 - ts-pattern: 4.3.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@prisma/prisma-schema-wasm@5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59: - resolution: {integrity: sha512-+zUI7NQDXfcNnU8HgrAj4jRMv8yRfITLzcfv0Urf0adKimM+hkkVG4rX38i9zWMlxekkEBw7NLFx3Gxxy8d3iQ==} - dev: true - /@protobufjs/aspromise@1.1.2: resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -11692,24 +9779,6 @@ packages: - supports-color dev: false - /@puppeteer/browsers@2.4.0: - resolution: {integrity: sha512-x8J1csfIygOwf6D6qUAZ0ASk3z63zPb7wkNeHRerCMh82qWKUrOgkuP005AJC8lDL6/evtXETGEJVcwykKT4/g==} - engines: {node: '>=18'} - hasBin: true - dependencies: - debug: 4.4.1(supports-color@10.0.0) - extract-zip: 2.0.1 - progress: 2.0.3 - proxy-agent: 6.4.0 - semver: 7.7.2 - tar-fs: 3.0.9 - unbzip2-stream: 1.4.3 - yargs: 17.7.2 - transitivePeerDependencies: - - bare-buffer - - supports-color - dev: false - /@radix-ui/colors@1.0.1: resolution: {integrity: sha512-xySw8f0ZVsAEP+e7iLl3EvcBXX7gsIlC1Zso/sPBW9gIWerBTgz6axrjU+MZ39wD+WFi5h5zdWpsg3+hwt2Qsg==} dev: false @@ -12362,7 +10431,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.4 + '@babel/runtime': 7.26.7 '@types/react': 18.3.1 react: 18.3.1 dev: false @@ -13321,7 +11390,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.27.4 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) @@ -15475,14 +13544,6 @@ packages: react: 18.2.0 dev: false - /@react-email/body@0.0.10(react@19.0.0-rc.0): - resolution: {integrity: sha512-dMJyL9aU25ieatdPtVjCyQ/WHZYHwNc+Hy/XpF8Cc18gu21cUynVEeYQzFSeigDRMeBQ3PGAyjVDPIob7YlGwA==} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/body@0.0.7(react@18.3.1): resolution: {integrity: sha512-vjJ5P1MUNWV0KNivaEWA6MGj/I3c764qQJMsKjCHlW6mkFJ4SXbm2OlQFtKAb++Bj8LDqBlnE6oW77bWcMc0NA==} peerDependencies: @@ -15517,15 +13578,6 @@ packages: react: 18.3.1 dev: false - /@react-email/button@0.0.17(react@19.0.0-rc.0): - resolution: {integrity: sha512-ioHdsk+BpGS/PqjU6JS7tUrVy9yvbUx92Z+Cem2+MbYp55oEwQ9VHf7u4f5NoM0gdhfKSehBwRdYlHt/frEMcg==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/code-block@0.0.3(react@18.3.1): resolution: {integrity: sha512-nxhl7WjjM2cOYtl0boBZfSObTrUCz2LbarcMyHkTVAsA9rbjbtWAQF7jmlefXJusk3Uol5l2c8hTh2lHLlHTRQ==} engines: {node: '>=18.0.0'} @@ -15546,16 +13598,6 @@ packages: react: 18.3.1 dev: false - /@react-email/code-block@0.0.8(react@19.0.0-rc.0): - resolution: {integrity: sha512-WbuAEpTnB262i9C3SGPmmErgZ4iU5KIpqLUjr7uBJijqldLqZc5x39e8wPWaRdF7NLcShmrc/+G7GJgI1bdC5w==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - prismjs: 1.29.0 - react: 19.0.0-rc.0 - dev: false - /@react-email/code-inline@0.0.1(react@18.3.1): resolution: {integrity: sha512-SeZKTB9Q4+TUafzeUm/8tGK3dFgywUHb1od/BrAiJCo/im65aT+oJfggJLjK2jCdSsus8odcK2kReeM3/FCNTQ==} engines: {node: '>=18.0.0'} @@ -15574,15 +13616,6 @@ packages: react: 18.3.1 dev: false - /@react-email/code-inline@0.0.4(react@19.0.0-rc.0): - resolution: {integrity: sha512-zj3oMQiiUCZbddSNt3k0zNfIBFK0ZNDIzzDyBaJKy6ZASTtWfB+1WFX0cpTX8q0gUiYK+A94rk5Qp68L6YXjXQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/column@0.0.10(react@18.3.1): resolution: {integrity: sha512-MnP8Mnwipr0X3XtdD6jMLckb0sI5/IlS6Kl/2F6/rsSWBJy5Gg6nizlekTdkwDmy0kNSe3/1nGU0Zqo98pl63Q==} engines: {node: '>=18.0.0'} @@ -15592,15 +13625,6 @@ packages: react: 18.3.1 dev: false - /@react-email/column@0.0.12(react@19.0.0-rc.0): - resolution: {integrity: sha512-Rsl7iSdDaeHZO938xb+0wR5ud0Z3MVfdtPbNKJNojZi2hApwLAQXmDrnn/AcPDM5Lpl331ZljJS8vHTWxxkvKw==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/column@0.0.9(react@18.3.1): resolution: {integrity: sha512-1ekqNBgmbS6m97/sUFOnVvQtLYljUWamw8Y44VId95v6SjiJ4ca+hMcdOteHWBH67xkRofEOWTvqDRea5SBV8w==} engines: {node: '>=18.0.0'} @@ -15672,37 +13696,6 @@ packages: - '@types/react' dev: false - /@react-email/components@0.0.24(react-dom@18.3.1)(react@19.0.0-rc.0): - resolution: {integrity: sha512-/DNmfTREaT59UFdkHoIK3BewJ214LfRxmduiil3m7POj+gougkItANu1+BMmgbUATxjf7jH1WoBxo9x/rhFEFw==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - '@react-email/body': 0.0.10(react@19.0.0-rc.0) - '@react-email/button': 0.0.17(react@19.0.0-rc.0) - '@react-email/code-block': 0.0.8(react@19.0.0-rc.0) - '@react-email/code-inline': 0.0.4(react@19.0.0-rc.0) - '@react-email/column': 0.0.12(react@19.0.0-rc.0) - '@react-email/container': 0.0.14(react@19.0.0-rc.0) - '@react-email/font': 0.0.8(react@19.0.0-rc.0) - '@react-email/head': 0.0.11(react@19.0.0-rc.0) - '@react-email/heading': 0.0.14(react@19.0.0-rc.0) - '@react-email/hr': 0.0.10(react@19.0.0-rc.0) - '@react-email/html': 0.0.10(react@19.0.0-rc.0) - '@react-email/img': 0.0.10(react@19.0.0-rc.0) - '@react-email/link': 0.0.10(react@19.0.0-rc.0) - '@react-email/markdown': 0.0.12(react@19.0.0-rc.0) - '@react-email/preview': 0.0.11(react@19.0.0-rc.0) - '@react-email/render': 1.0.1(react-dom@18.3.1)(react@19.0.0-rc.0) - '@react-email/row': 0.0.10(react@19.0.0-rc.0) - '@react-email/section': 0.0.14(react@19.0.0-rc.0) - '@react-email/tailwind': 0.1.0(react@19.0.0-rc.0) - '@react-email/text': 0.0.10(react@19.0.0-rc.0) - react: 19.0.0-rc.0 - transitivePeerDependencies: - - react-dom - dev: false - /@react-email/container@0.0.11(react@18.3.1): resolution: {integrity: sha512-jzl/EHs0ClXIRFamfH+NR/cqv4GsJJscqRhdYtnWYuRAsWpKBM1muycrrPqIVhWvWi6sFHInWTt07jX+bDc3SQ==} engines: {node: '>=18.0.0'} @@ -15721,15 +13714,6 @@ packages: react: 18.3.1 dev: false - /@react-email/container@0.0.14(react@19.0.0-rc.0): - resolution: {integrity: sha512-NgoaJJd9tTtsrveL86Ocr/AYLkGyN3prdXKd/zm5fQpfDhy/NXezyT3iF6VlwAOEUIu64ErHpAJd+P6ygR+vjg==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/font@0.0.5(react@18.3.1): resolution: {integrity: sha512-if/qKYmH3rJ2egQJoKbV8SfKCPavu+ikUq/naT/UkCr8Q0lkk309tRA0x7fXG/WeIrmcipjMzFRGTm2TxTecDw==} peerDependencies: @@ -15746,23 +13730,6 @@ packages: react: 18.3.1 dev: false - /@react-email/font@0.0.8(react@19.0.0-rc.0): - resolution: {integrity: sha512-fSBEqYyVPAyyACBBHcs3wEYzNknpHMuwcSAAKE8fOoDfGqURr/vSxKPdh4tOa9z7G4hlcEfgGrCYEa2iPT22cw==} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - - /@react-email/head@0.0.11(react@19.0.0-rc.0): - resolution: {integrity: sha512-skw5FUgyamIMK+LN+fZQ5WIKQYf0dPiRAvsUAUR2eYoZp9oRsfkIpFHr0GWPkKAYjFEj+uJjaxQ/0VzQH7svVg==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/head@0.0.7(react@18.3.1): resolution: {integrity: sha512-IcXL4jc0H1qzAXJCD9ajcRFBQdbUHkjKJyiUeogpaYSVZSq6cVDWQuGaI23TA9k+pI2TFeQimogUFb3Kgeeudw==} engines: {node: '>=18.0.0'} @@ -15805,24 +13772,6 @@ packages: - '@types/react' dev: false - /@react-email/heading@0.0.14(react@19.0.0-rc.0): - resolution: {integrity: sha512-jZM7IVuZOXa0G110ES8OkxajPTypIKlzlO1K1RIe1auk76ukQRiCg1IRV4HZlWk1GGUbec5hNxsvZa2kU8cb9w==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - - /@react-email/hr@0.0.10(react@19.0.0-rc.0): - resolution: {integrity: sha512-3AA4Yjgl3zEid/KVx6uf6TuLJHVZvUc2cG9Wm9ZpWeAX4ODA+8g9HyuC0tfnjbRsVMhMcCGiECuWWXINi+60vA==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/hr@0.0.7(react@18.3.1): resolution: {integrity: sha512-8suK0M/deXHt0DBSeKhSC4bnCBCBm37xk6KJh9M0/FIKlvdltQBem52YUiuqVl1XLB87Y6v6tvspn3SZ9fuxEA==} engines: {node: '>=18.0.0'} @@ -15841,15 +13790,6 @@ packages: react: 18.3.1 dev: false - /@react-email/html@0.0.10(react@19.0.0-rc.0): - resolution: {integrity: sha512-06uiuSKJBWQJfhCKv4MPupELei4Lepyz9Sth7Yq7Fq29CAeB1ejLgKkGqn1I+FZ72hQxPLdYF4iq4yloKv3JCg==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/html@0.0.7(react@18.3.1): resolution: {integrity: sha512-oy7OoRtoOKApVI/5Lz1OZptMKmMYJu9Xn6+lOmdBQchAuSdQtWJqxhrSj/iI/mm8HZWo6MZEQ6SFpfOuf8/P6Q==} engines: {node: '>=18.0.0'} @@ -15868,15 +13808,6 @@ packages: react: 18.3.1 dev: false - /@react-email/img@0.0.10(react@19.0.0-rc.0): - resolution: {integrity: sha512-pJ8glJjDNaJ53qoM95pvX9SK05yh0bNQY/oyBKmxlBDdUII6ixuMc3SCwYXPMl+tgkQUyDgwEBpSTrLAnjL3hA==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/img@0.0.7(react@18.3.1): resolution: {integrity: sha512-up9tM2/dJ24u/CFjcvioKbyGuPw1yeJg605QA7VkrygEhd0CoQEjjgumfugpJ+VJgIt4ZjT9xMVCK5QWTIWoaA==} engines: {node: '>=18.0.0'} @@ -15895,15 +13826,6 @@ packages: react: 18.3.1 dev: false - /@react-email/link@0.0.10(react@19.0.0-rc.0): - resolution: {integrity: sha512-tva3wvAWSR10lMJa9fVA09yRn7pbEki0ZZpHE6GD1jKbFhmzt38VgLO9B797/prqoDZdAr4rVK7LJFcdPx3GwA==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/link@0.0.7(react@18.3.1): resolution: {integrity: sha512-hXPChT3ZMyKnUSA60BLEMD2maEgyB2A37yg5bASbLMrXmsExHi6/IS1h2XiUPLDK4KqH5KFaFxi2cdNo1JOKwA==} engines: {node: '>=18.0.0'} @@ -15932,16 +13854,6 @@ packages: react: 18.3.1 dev: false - /@react-email/markdown@0.0.12(react@19.0.0-rc.0): - resolution: {integrity: sha512-wsuvj1XAb6O63aizCLNEeqVgKR3oFjAwt9vjfg2y2oh4G1dZeo8zonZM2x1fmkEkBZhzwSHraNi70jSXhA3A9w==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - md-to-react-email: 5.0.2(react@19.0.0-rc.0) - react: 19.0.0-rc.0 - dev: false - /@react-email/markdown@0.0.9(react@18.3.1): resolution: {integrity: sha512-t//19Zz+W5svKqrSrqoOLpf6dq70jbwYxX8Z+NEMi4LqylklccOaYAyKrkYyulfZwhW7KDH9d2wjVk5jfUABxQ==} engines: {node: '>=18.0.0'} @@ -15952,15 +13864,6 @@ packages: react: 18.3.1 dev: false - /@react-email/preview@0.0.11(react@19.0.0-rc.0): - resolution: {integrity: sha512-7O/CT4b16YlSGrj18htTPx3Vbhu2suCGv/cSe5c+fuSrIM/nMiBSZ3Js16Vj0XJbAmmmlVmYFZw9L20wXJ+LjQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/preview@0.0.8(react@18.3.1): resolution: {integrity: sha512-Jm0KUYBZQd2w0s2QRMQy0zfHdo3Ns+9bYSE1OybjknlvhANirjuZw9E5KfWgdzO7PyrRtB1OBOQD8//Obc4uIQ==} engines: {node: '>=18.0.0'} @@ -15999,29 +13902,6 @@ packages: react-dom: 18.2.0(react@18.3.1) dev: false - /@react-email/render@1.0.1(react-dom@18.3.1)(react@19.0.0-rc.0): - resolution: {integrity: sha512-W3gTrcmLOVYnG80QuUp22ReIT/xfLsVJ+n7ghSlG2BITB8evNABn1AO2rGQoXuK84zKtDAlxCdm3hRyIpZdGSA==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - html-to-text: 9.0.5 - js-beautify: 1.15.1 - react: 19.0.0-rc.0 - react-dom: 18.3.1(react@19.0.0-rc.0) - react-promise-suspense: 0.3.4 - dev: false - - /@react-email/row@0.0.10(react@19.0.0-rc.0): - resolution: {integrity: sha512-jPyEhG3gsLX+Eb9U+A30fh0gK6hXJwF4ghJ+ZtFQtlKAKqHX+eCpWlqB3Xschd/ARJLod8WAswg0FB+JD9d0/A==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/row@0.0.7(react@18.3.1): resolution: {integrity: sha512-h7pwrLVGk5CIx7Ai/oPxBgCCAGY7BEpCUQ7FCzi4+eThcs5IdjSwDPefLEkwaFS8KZc56UNwTAH92kNq5B7blg==} engines: {node: '>=18.0.0'} @@ -16058,15 +13938,6 @@ packages: react: 18.3.1 dev: false - /@react-email/section@0.0.14(react@19.0.0-rc.0): - resolution: {integrity: sha512-+fYWLb4tPU1A/+GE5J1+SEMA7/wR3V30lQ+OR9t2kAJqNrARDbMx0bLnYnR1QL5TiFRz0pCF05SQUobk6gHEDQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/tailwind@0.0.15(react@18.3.1): resolution: {integrity: sha512-TE3NQ7VKhhvv3Zv0Z1NtoV6AF7aOWiG4juVezMZw1hZCG0mkN6iXC63u23vPQi12y6xCp20ZUHfg67kQeDSP/g==} engines: {node: '>=18.0.0'} @@ -16085,24 +13956,6 @@ packages: react: 18.3.1 dev: false - /@react-email/tailwind@0.1.0(react@19.0.0-rc.0): - resolution: {integrity: sha512-qysVUEY+M3SKUvu35XDpzn7yokhqFOT3tPU6Mj/pgc62TL5tQFj6msEbBtwoKs2qO3WZvai0DIHdLhaOxBQSow==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - - /@react-email/text@0.0.10(react@19.0.0-rc.0): - resolution: {integrity: sha512-wNAnxeEAiFs6N+SxS0y6wTJWfewEzUETuyS2aZmT00xk50VijwyFRuhm4sYSjusMyshevomFwz5jNISCxRsGWw==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc - dependencies: - react: 19.0.0-rc.0 - dev: false - /@react-email/text@0.0.7(react@18.3.1): resolution: {integrity: sha512-eHCx0mdllGcgK9X7wiLKjNZCBRfxRVNjD3NNYRmOc3Icbl8M9JHriJIfxBuGCmGg2UAORK5P3KmaLQ8b99/pbA==} engines: {node: '>=18.0.0'} @@ -17689,11 +15542,6 @@ packages: '@sentry/core': 9.46.0 dev: false - /@sentry/babel-plugin-component-annotate@2.22.2: - resolution: {integrity: sha512-6kFAHGcs0npIC4HTt4ULs8uOfEucvMI7VW4hoyk17jhRaW8CbxzxfWCfIeRbDkE8pYwnARaq83tu025Hrk2zgA==} - engines: {node: '>= 14'} - dev: false - /@sentry/browser@9.46.0: resolution: {integrity: sha512-NOnCTQCM0NFuwbyt4DYWDNO2zOTj1mCf43hJqGDFb1XM9F++7zAmSNnCx4UrEoBTiFOy40McJwBBk9D1blSktA==} engines: {node: '>=18'} @@ -17705,23 +15553,6 @@ packages: '@sentry/core': 9.46.0 dev: false - /@sentry/bundler-plugin-core@2.22.2: - resolution: {integrity: sha512-TwEEW4FeEJ5Mamp4fGnktfVjzN77KAW0xFQsEPuxZtOAPG17zX/PGvdyRX/TE1jkZWhTzqUDIdgzqlNLjyEnUw==} - engines: {node: '>= 14'} - dependencies: - '@babel/core': 7.22.17 - '@sentry/babel-plugin-component-annotate': 2.22.2 - '@sentry/cli': 2.50.2 - dotenv: 16.4.7 - find-up: 5.0.0 - glob: 9.3.5 - magic-string: 0.30.8 - unplugin: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - /@sentry/cli-darwin@2.50.2: resolution: {integrity: sha512-0Pjpl0vQqKhwuZm19z6AlEF+ds3fJg1KWabv8WzGaSc/fwxMEwjFwOZj+IxWBJPV578cXXNvB39vYjjpCH8j7A==} engines: {node: '>=10'} @@ -17814,18 +15645,6 @@ packages: engines: {node: '>=18'} dev: false - /@sentry/esbuild-plugin@2.22.2: - resolution: {integrity: sha512-6yYnI7PNDXYyYwlbIYRPoz9+FamYWr1IZ9PQTNz4bjv8eFcItKZFO5wu25L7yaGszgClATvY17gxxUjWfsRyWQ==} - engines: {node: '>= 14'} - dependencies: - '@sentry/bundler-plugin-core': 2.22.2 - unplugin: 1.0.1 - uuid: 9.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - /@sentry/node-core@9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1)(@opentelemetry/core@1.30.1)(@opentelemetry/instrumentation@0.57.2)(@opentelemetry/resources@1.30.1)(@opentelemetry/sdk-trace-base@1.30.1)(@opentelemetry/semantic-conventions@1.36.0): resolution: {integrity: sha512-XRVu5pqoklZeh4wqhxCLZkz/ipoKhitctgEFXX9Yh1e1BoHM2pIxT52wf+W6hHM676TFmFXW3uKBjsmRM3AjgA==} engines: {node: '>=18'} @@ -17967,10 +15786,6 @@ packages: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: false - /@sinclair/typebox@0.33.17: - resolution: {integrity: sha512-75232GRx3wp3P7NP+yc4nRK3XUAnaQShxTAzapgmQrgs0QvSq0/mOJGoZXRpH15cFCKyys+4laCPbBselqJ5Ag==} - dev: false - /@sinclair/typebox@0.34.38: resolution: {integrity: sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==} @@ -17982,21 +15797,7 @@ packages: /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - - /@sindresorhus/slugify@2.2.1: - resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} - engines: {node: '>=12'} - dependencies: - '@sindresorhus/transliterate': 1.6.0 - escape-string-regexp: 5.0.0 - dev: false - - /@sindresorhus/transliterate@1.6.0: - resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} - engines: {node: '>=12'} - dependencies: - escape-string-regexp: 5.0.0 - dev: false + dev: true /@slack/logger@4.0.0: resolution: {integrity: sha512-Wz7QYfPAlG/DR+DfABddUZeNgoeY7d1J39OCR2jR+v7VBsB8ezulDK5szTnDDPDwLH5IWhLvXIHlCFZV7MSKgA==} @@ -19192,10 +16993,6 @@ packages: semver-compare: 1.0.0 dev: false - /@sqltools/formatter@1.2.5: - resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} - dev: false - /@standard-schema/spec@1.0.0: resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} @@ -19216,6 +17013,7 @@ packages: acorn: ^8.9.0 dependencies: acorn: 8.14.1 + dev: true /@swc/core-darwin-arm64@1.3.101: resolution: {integrity: sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ==} @@ -19469,46 +17267,6 @@ packages: defer-to-connect: 1.1.3 dev: true - /@t3-oss/env-core@0.10.1(typescript@5.5.4)(zod@3.25.76): - resolution: {integrity: sha512-GcKZiCfWks5CTxhezn9k5zWX3sMDIYf6Kaxy2Gx9YEQftFcz8hDRN56hcbylyAO3t4jQnQ5ifLawINsNgCDpOg==} - peerDependencies: - typescript: '>=5.0.0' - zod: ^3.0.0 - peerDependenciesMeta: - typescript: - optional: true - dependencies: - typescript: 5.5.4 - zod: 3.25.76 - dev: false - - /@t3-oss/env-core@0.11.0(typescript@5.5.4)(zod@3.25.76): - resolution: {integrity: sha512-PSalC5bG0a7XbyoLydiQdAnx3gICX6IQNctvh+TyLrdFxsxgocdj9Ui7sd061UlBzi+z4aIGjnem1kZx9QtUgQ==} - peerDependencies: - typescript: '>=5.0.0' - zod: ^3.0.0 - peerDependenciesMeta: - typescript: - optional: true - dependencies: - typescript: 5.5.4 - zod: 3.25.76 - dev: false - - /@t3-oss/env-nextjs@0.10.1(typescript@5.5.4)(zod@3.25.76): - resolution: {integrity: sha512-iy2qqJLnFh1RjEWno2ZeyTu0ufomkXruUsOZludzDIroUabVvHsrSjtkHqwHp1/pgPUzN3yBRHMILW162X7x2Q==} - peerDependencies: - typescript: '>=5.0.0' - zod: ^3.0.0 - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@t3-oss/env-core': 0.10.1(typescript@5.5.4)(zod@3.25.76) - typescript: 5.5.4 - zod: 3.25.76 - dev: false - /@tabler/icons-react@2.47.0(react@18.2.0): resolution: {integrity: sha512-iqly2FvCF/qUbgmvS8E40rVeYY7laltc5GUjRxQj59DuX0x/6CpKHTXt86YlI2whg4czvd/c8Ce8YR08uEku0g==} peerDependencies: @@ -19784,13 +17542,6 @@ packages: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} dev: true - /@tootallnate/once@1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - requiresBuild: true - dev: false - optional: true - /@tootallnate/quickjs-emscripten@0.23.0: resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} dev: false @@ -19799,28 +17550,6 @@ packages: resolution: {integrity: sha512-vqd7ZUDSrXFVT1n8b2kc3LnklncDQFPvR58yUS1kEP23/nHPAO9l1lMjUfnPrXYYk4Hj54rrLKMW5ipwk7k09A==} dev: true - /@traceloop/ai-semantic-conventions@0.10.0: - resolution: {integrity: sha512-B7XuwDpSNXtyz1SUi6Xqd/t6xg0dS9V80pLaIxbQC0n5vsHfao5MPqz7jY8WgZroCANFFiDVDE0JMJsX1vfk7Q==} - engines: {node: '>=14'} - dependencies: - '@opentelemetry/api': 1.9.0 - dev: false - - /@traceloop/instrumentation-openai@0.10.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-rp1J6FOJLNZ1M08xsz2B84STNV3AGKxCq+44w7mgadOCyI6GDw7a1lbLo+wTV0dxnt34HPBBdrvRXCFHd3JK9Q==} - engines: {node: '>=14'} - dependencies: - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.36.0 - '@traceloop/ai-semantic-conventions': 0.10.0 - js-tiktoken: 1.0.14 - tslib: 2.6.2 - transitivePeerDependencies: - - '@opentelemetry/api' - - supports-color - dev: false - /@trigger.dev/companyicons@1.5.35(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-AhY7yshwh0onlgB6EGiyjyLSzl38Cuxo4tpUJVHxs5im8gDA+fuUq7o6Vz1WetFeNXwjMqh3f+bPW7bfqR4epg==} peerDependencies: @@ -19859,12 +17588,6 @@ packages: resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} dev: true - /@types/bcrypt@5.0.2: - resolution: {integrity: sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==} - dependencies: - '@types/node': 20.14.14 - dev: true - /@types/bcryptjs@2.4.2: resolution: {integrity: sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==} dev: true @@ -19919,12 +17642,6 @@ packages: dependencies: '@types/node': 20.14.14 - /@types/cross-spawn@6.0.2: - resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} - dependencies: - '@types/node': 20.14.14 - dev: true - /@types/d3-array@3.0.8: resolution: {integrity: sha512-2xAVyAUgaXHX9fubjcCbGAUOqYfRJN1em1EKR2HfzWBpObZhwfnZKvofTN4TplMqJdFQao61I+NVSai/vnBvDQ==} dev: false @@ -19978,12 +17695,6 @@ packages: '@types/ms': 0.7.31 dev: true - /@types/debug@4.1.8: - resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} - dependencies: - '@types/ms': 0.7.31 - dev: true - /@types/diff-match-patch@1.0.36: resolution: {integrity: sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==} @@ -20009,10 +17720,6 @@ packages: dompurify: 3.2.6 dev: true - /@types/email-reply-parser@1.4.2: - resolution: {integrity: sha512-kmMoK9WMX4zXf3c0D3tkWHDl0E50V2dv6fVirdTQd/mkvE/Jixh0DZAh3kBgpltr1eaWM3W+kAf4A2c2Z2iU2A==} - dev: true - /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: @@ -20076,12 +17783,6 @@ packages: '@types/serve-static': 1.15.0 dev: true - /@types/fluent-ffmpeg@2.1.26: - resolution: {integrity: sha512-0JVF3wdQG+pN0ImwWD0bNgJiKF2OHg/7CDBHw5UIbRTvlnkgGHK6V5doE54ltvhud4o31/dEiHm23CAlxFiUQg==} - dependencies: - '@types/node': 20.14.14 - dev: true - /@types/gradient-string@1.1.2: resolution: {integrity: sha512-zIet2KvHr2dkOCPI5ggQQ+WJVyfBSFaqK9sNelhgDjlE2K3Fu2muuPJwu5aKM3xoWuc3WXudVEMUwI1QWhykEQ==} dependencies: @@ -20213,12 +17914,6 @@ packages: /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - /@types/mute-stream@0.0.4: - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - dependencies: - '@types/node': 20.14.14 - dev: false - /@types/mysql@2.15.26: resolution: {integrity: sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==} dependencies: @@ -20245,12 +17940,6 @@ packages: form-data: 3.0.4 dev: false - /@types/node-forge@1.3.10: - resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==} - dependencies: - '@types/node': 20.14.14 - dev: false - /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -20290,6 +17979,7 @@ packages: /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: false /@types/object-hash@3.0.6: resolution: {integrity: sha512-fOBV8C1FIu2ELinoILQ+ApxcUKz4ngq+IWUYrxSGjXzzjUALijilampwkMgEtJ+h2njAW3pi853QpzNVCHB73w==} @@ -20430,6 +18120,7 @@ packages: /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: false /@types/retry@0.12.2: resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} @@ -20465,9 +18156,11 @@ packages: /@types/shimmer@1.0.2: resolution: {integrity: sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==} + dev: false /@types/shimmer@1.2.0: resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} + dev: false /@types/simple-oauth2@5.0.4: resolution: {integrity: sha512-4SvTfmAa1fGUa1d07j9vIiC4o92bGh0ihPXmtS05udMMmNwVIaU2nZ706cC4wI8cJxOlHD4P/d5tzqvWYd+KxA==} @@ -20502,10 +18195,6 @@ packages: '@types/node': 18.19.20 dev: true - /@types/statuses@2.0.4: - resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} - dev: false - /@types/stream-buffers@3.0.7: resolution: {integrity: sha512-azOCy05sXVXrO+qklf0c/B07H/oHaIuDDAiHPVwlk3A9Ek+ksHyTeMajLZl3r76FxpPpxem//4Te61G1iW3Giw==} dependencies: @@ -20583,10 +18272,6 @@ packages: - webpack-cli dev: false - /@types/wrap-ansi@3.0.0: - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - dev: false - /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: @@ -20611,29 +18296,6 @@ packages: dev: false optional: true - /@typeschema/core@0.14.0: - resolution: {integrity: sha512-Ia6PtZHcL3KqsAWXjMi5xIyZ7XMH4aSnOQes8mfMLx+wGFGtGRNlwe6Y7cYvX+WfNK67OL0/HSe9t8QDygV0/w==} - peerDependencies: - '@types/json-schema': ^7.0.15 - peerDependenciesMeta: - '@types/json-schema': - optional: true - dev: false - - /@typeschema/typebox@0.14.0(@sinclair/typebox@0.33.17): - resolution: {integrity: sha512-+Td4CHkWQ17T60gEtA2SzeFp382CHEwsI7aWiqBq9YeqAwbkTrluGh6R9MNFHJzOLaYL+AG60b8fX9Rbcex0Tg==} - peerDependencies: - '@sinclair/typebox': ^0.33.7 - peerDependenciesMeta: - '@sinclair/typebox': - optional: true - dependencies: - '@sinclair/typebox': 0.33.17 - '@typeschema/core': 0.14.0 - transitivePeerDependencies: - - '@types/json-schema' - dev: false - /@typescript-eslint/eslint-plugin@5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.31.0)(typescript@5.5.4): resolution: {integrity: sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -21080,12 +18742,14 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 + dev: true /@vue/compiler-dom@3.5.16: resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} dependencies: '@vue/compiler-core': 3.5.16 '@vue/shared': 3.5.16 + dev: true /@vue/compiler-sfc@3.5.16: resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} @@ -21099,23 +18763,27 @@ packages: magic-string: 0.30.17 postcss: 8.5.4 source-map-js: 1.2.1 + dev: true /@vue/compiler-ssr@3.5.16: resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} dependencies: '@vue/compiler-dom': 3.5.16 '@vue/shared': 3.5.16 + dev: true /@vue/reactivity@3.5.16: resolution: {integrity: sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==} dependencies: '@vue/shared': 3.5.16 + dev: true /@vue/runtime-core@3.5.16: resolution: {integrity: sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==} dependencies: '@vue/reactivity': 3.5.16 '@vue/shared': 3.5.16 + dev: true /@vue/runtime-dom@3.5.16: resolution: {integrity: sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==} @@ -21124,6 +18792,7 @@ packages: '@vue/runtime-core': 3.5.16 '@vue/shared': 3.5.16 csstype: 3.1.3 + dev: true /@vue/server-renderer@3.5.16(vue@3.5.16): resolution: {integrity: sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==} @@ -21133,9 +18802,11 @@ packages: '@vue/compiler-ssr': 3.5.16 '@vue/shared': 3.5.16 vue: 3.5.16(typescript@5.5.4) + dev: true /@vue/shared@3.5.16: resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + dev: true /@web3-storage/multipart-parser@1.0.0: resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} @@ -21420,12 +19091,6 @@ packages: requiresBuild: true optional: true - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - requiresBuild: true - dev: false - optional: true - /abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -21462,6 +19127,7 @@ packages: acorn: ^8 dependencies: acorn: 8.14.1 + dev: false /acorn-import-attributes@1.9.5(acorn@8.12.1): resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} @@ -21477,6 +19143,7 @@ packages: acorn: ^8 dependencies: acorn: 8.14.1 + dev: false /acorn-jsx@5.3.2(acorn@8.12.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -21512,6 +19179,7 @@ packages: /acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} + dev: true /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} @@ -21534,11 +19202,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - /adm-zip@0.5.16: - resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} - engines: {node: '>=12.0'} - dev: false - /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -21548,14 +19211,6 @@ packages: transitivePeerDependencies: - supports-color - /agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} - dependencies: - debug: 4.4.1(supports-color@10.0.0) - transitivePeerDependencies: - - supports-color - /agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} @@ -21573,6 +19228,7 @@ packages: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 + dev: true /aggregate-error@4.0.1: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} @@ -21586,50 +19242,6 @@ packages: resolution: {integrity: sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==} dev: true - /ai@3.3.24(openai@4.56.0)(react@19.0.0-rc.0)(svelte@5.33.14)(vue@3.5.16)(zod@3.25.76): - resolution: {integrity: sha512-hhyczvEdCQeeEMWBWP4Af8k1YIzsheC+dHv6lAsti8NBiOnySFhnjS1sTiIrLyuCgciHXoFYLhlA2+/3AtBLAQ==} - engines: {node: '>=18'} - peerDependencies: - openai: ^4.42.0 - react: ^18 || ^19 - sswr: ^2.1.0 - svelte: ^3.0.0 || ^4.0.0 - zod: ^3.0.0 - peerDependenciesMeta: - openai: - optional: true - react: - optional: true - sswr: - optional: true - svelte: - optional: true - zod: - optional: true - dependencies: - '@ai-sdk/provider': 0.0.22 - '@ai-sdk/provider-utils': 1.0.17(zod@3.25.76) - '@ai-sdk/react': 0.0.53(react@19.0.0-rc.0)(zod@3.25.76) - '@ai-sdk/solid': 0.0.43(zod@3.25.76) - '@ai-sdk/svelte': 0.0.45(svelte@5.33.14)(zod@3.25.76) - '@ai-sdk/ui-utils': 0.0.40(zod@3.25.76) - '@ai-sdk/vue': 0.0.45(vue@3.5.16)(zod@3.25.76) - '@opentelemetry/api': 1.9.0 - eventsource-parser: 1.1.2 - json-schema: 0.4.0 - jsondiffpatch: 0.6.0 - nanoid: 3.3.6 - openai: 4.56.0(zod@3.25.76) - react: 19.0.0-rc.0 - secure-json-parse: 2.7.0 - svelte: 5.33.14 - zod: 3.25.76 - zod-to-json-schema: 3.23.2(zod@3.25.76) - transitivePeerDependencies: - - solid-js - - vue - dev: false - /ai@3.4.33(react@18.3.1)(svelte@5.33.14)(vue@3.5.16)(zod@3.25.76): resolution: {integrity: sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ==} engines: {node: '>=18'} @@ -21808,12 +19420,6 @@ packages: engines: {node: '>=6'} dev: false - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - /ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} @@ -21859,49 +19465,6 @@ packages: normalize-path: 3.0.0 picomatch: 2.3.1 - /app-root-path@3.1.0: - resolution: {integrity: sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==} - engines: {node: '>= 6.0.0'} - dev: false - - /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - requiresBuild: true - dev: false - optional: true - - /archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} - 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 - dev: true - - /archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} - 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 - dev: true - /archiver-utils@5.0.2: resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} engines: {node: '>= 14'} @@ -21915,19 +19478,6 @@ packages: readable-stream: 4.7.0 dev: true - /archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} - engines: {node: '>= 10'} - 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 - dev: true - /archiver@7.0.1: resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} @@ -21941,17 +19491,6 @@ packages: zip-stream: 6.0.1 dev: true - /are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - requiresBuild: true - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - dev: false - optional: true - /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -21988,13 +19527,7 @@ packages: /aria-query@5.3.2: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} - - /arktype@2.0.0-rc.17: - resolution: {integrity: sha512-1m1VG9ZGcGx8OIbeA4ghw8n1QVpu7MYcel3My2Tob17mMBaLy6+M116RRwx9GvaCyGpHhgu1RK5XfhP4wX17ug==} - dependencies: - '@ark/schema': 0.19.0 - '@ark/util': 0.18.0 - dev: false + dev: true /arktype@2.1.20: resolution: {integrity: sha512-IZCEEXaJ8g+Ijd59WtSYwtjnqXiwM8sWQ5EjGamcto7+HVN9eK0C4p0zDlCuAwWhpqr6fIBkxPuYDl4/Mcj/+Q==} @@ -22126,12 +19659,6 @@ packages: engines: {node: '>=12'} dev: true - /as-table@1.0.55: - resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} - dependencies: - printable-characters: 1.0.42 - dev: false - /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: true @@ -22180,10 +19707,6 @@ packages: resolution: {integrity: sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==} dev: true - /async@0.2.10: - resolution: {integrity: sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==} - dev: false - /async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} dev: true @@ -22312,6 +19835,7 @@ packages: /axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} + dev: true /b4a@1.6.6: resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} @@ -22401,15 +19925,6 @@ packages: dependencies: tweetnacl: 0.14.5 - /bcrypt@6.0.0: - resolution: {integrity: sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==} - engines: {node: '>= 18'} - requiresBuild: true - dependencies: - node-addon-api: 8.3.1 - node-gyp-build: 4.8.4 - dev: false - /better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -22441,6 +19956,7 @@ packages: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 + dev: true /bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} @@ -22453,10 +19969,6 @@ packages: inherits: 2.0.4 readable-stream: 3.6.0 - /blake3-wasm@2.1.5: - resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - dev: false - /body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -22537,17 +20049,6 @@ packages: update-browserslist-db: 1.0.11(browserslist@4.21.4) dev: true - /browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001707 - electron-to-chromium: 1.5.13 - node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) - dev: false - /browserslist@4.24.4: resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -22571,6 +20072,7 @@ packages: /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false /buffer-crc32@1.0.0: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} @@ -22686,34 +20188,6 @@ packages: engines: {node: '>=8'} dev: true - /cacache@15.3.0: - resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} - engines: {node: '>= 10'} - requiresBuild: true - dependencies: - '@npmcli/fs': 1.1.1 - '@npmcli/move-file': 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.1 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - dev: false - optional: true - /cacache@17.1.4: resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -22732,24 +20206,6 @@ packages: unique-filename: 3.0.0 dev: true - /cacache@18.0.4: - resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.4.5 - lru-cache: 10.4.3 - minipass: 7.1.2 - minipass-collect: 2.0.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.2.1 - unique-filename: 3.0.0 - dev: false - /cacheable-request@6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} @@ -22831,24 +20287,6 @@ packages: resolution: {integrity: sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==} dev: true - /canvas@3.1.0: - resolution: {integrity: sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==} - engines: {node: ^18.12.0 || >= 20.9.0} - requiresBuild: true - dependencies: - node-addon-api: 7.1.1 - prebuild-install: 7.1.3 - dev: false - - /capnp-ts@0.7.0: - resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} - dependencies: - debug: 4.4.1(supports-color@10.0.0) - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - dev: false - /case-anything@2.1.13: resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==} engines: {node: '>=12.13'} @@ -22930,34 +20368,10 @@ packages: engines: {node: '>= 16'} dev: true - /checkpoint-client@1.1.27: - resolution: {integrity: sha512-xstymfUalJOv6ZvTtmkwP4ORJN36ikT4PvrIoLe3wstbYf87XIXCcZrSmbFQOjyB0v1qbBnCsAscDpfdZlCkFA==} - dependencies: - ci-info: 3.8.0 - env-paths: 2.2.1 - make-dir: 4.0.0 - ms: 2.1.3 - node-fetch: 2.6.12 - uuid: 9.0.0 - transitivePeerDependencies: - - encoding - dev: true - /cheminfo-types@1.8.1: resolution: {integrity: sha512-FRcpVkox+cRovffgqNdDFQ1eUav+i/Vq/CUd1hcfEl2bevntFlzznL+jE8g4twl6ElB7gZjCko6pYpXyMn+6dA==} dev: true - /chevrotain@10.5.0: - resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==} - dependencies: - '@chevrotain/cst-dts-gen': 10.5.0 - '@chevrotain/gast': 10.5.0 - '@chevrotain/types': 10.5.0 - '@chevrotain/utils': 10.5.0 - lodash: 4.17.21 - regexp-to-ast: 0.5.0 - dev: true - /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -23016,17 +20430,6 @@ packages: engines: {node: '>=6.0'} dev: true - /chromium-bidi@0.6.5(devtools-protocol@0.0.1342118): - resolution: {integrity: sha512-RuLrmzYrxSb0s9SgpB+QN5jJucPduZQ/9SIe76MDxYJuecPW5mxMdacJ1f4EtgiV+R0p3sCkznTMvH0MPGFqjA==} - peerDependencies: - devtools-protocol: '*' - dependencies: - devtools-protocol: 0.0.1342118 - mitt: 3.0.1 - urlpattern-polyfill: 10.0.0 - zod: 3.23.8 - dev: false - /chromium-bidi@7.2.0(devtools-protocol@0.0.1464554): resolution: {integrity: sha512-gREyhyBstermK+0RbcJLbFhcQctg92AGgDe/h/taMJEOLRdtSswBAO9KmvltFSQWgM2LrwWu5SIuEUbdm3JsyQ==} peerDependencies: @@ -23040,6 +20443,7 @@ packages: /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} + dev: false /citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -23049,6 +20453,7 @@ packages: /cjs-module-lexer@1.2.3: resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + dev: false /class-variance-authority@0.5.2(typescript@5.5.4): resolution: {integrity: sha512-j7Qqw3NPbs4IpO80gvdACWmVvHiLLo5MECacUBLnJG17CrLpWaQ7/4OaWX6P0IO1j2nvZ7AuSfBS/ImtEUZJGA==} @@ -23076,6 +20481,7 @@ packages: /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} + dev: true /clean-stack@4.2.0: resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} @@ -23101,6 +20507,7 @@ packages: parse5: 5.1.1 parse5-htmlparser2-tree-adapter: 6.0.1 yargs: 16.2.0 + dev: true /cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} @@ -23124,19 +20531,6 @@ packages: '@colors/colors': 1.5.0 dev: true - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - dev: true - - /cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - dev: false - /client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -23154,6 +20548,7 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + dev: true /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} @@ -23234,13 +20629,6 @@ packages: simple-swizzle: 0.2.2 dev: false - /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - requiresBuild: true - dev: false - optional: true - /color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} dependencies: @@ -23256,6 +20644,7 @@ packages: color-convert: 2.0.1 color-string: 1.9.1 dev: false + optional: true /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -23297,10 +20686,6 @@ packages: engines: {node: ^12.20.0 || >=14} dev: false - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - /compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} dev: false @@ -23309,16 +20694,6 @@ packages: resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} dev: true - /compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} - engines: {node: '>= 10'} - dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 4.0.3 - normalize-path: 3.0.0 - readable-stream: 3.6.2 - dev: true - /compress-commons@6.0.2: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} @@ -23399,12 +20774,6 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - requiresBuild: true - dev: false - optional: true - /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -23424,10 +20793,7 @@ packages: /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: false + dev: true /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -23445,11 +20811,6 @@ packages: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: false - /cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} @@ -23526,6 +20887,7 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 typescript: 5.5.4 + dev: true /cp-file@10.0.0: resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} @@ -23574,14 +20936,6 @@ packages: hasBin: true dev: true - /crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} - engines: {node: '>= 10'} - dependencies: - crc-32: 1.2.2 - readable-stream: 3.6.2 - dev: true - /crc32-stream@6.0.0: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} @@ -23668,11 +21022,6 @@ packages: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} dev: false - /crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - dev: true - /css-in-js-utils@3.1.0: resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} dependencies: @@ -23843,10 +21192,6 @@ packages: assert-plus: 1.0.0 dev: false - /data-uri-to-buffer@2.0.2: - resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - dev: false - /data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} @@ -23887,18 +21232,10 @@ packages: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: false - /date-fns@3.6.0: - resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} - dev: false - /date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} dev: false - /dayjs@1.11.13: - resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - dev: false - /debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} dev: true @@ -24022,6 +21359,7 @@ packages: engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 + dev: true /deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} @@ -24031,6 +21369,7 @@ packages: /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} + dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -24115,30 +21454,10 @@ packages: esprima: 4.0.1 dev: false - /del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - 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 - dev: true - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - requiresBuild: true - dev: false - optional: true - /denque@2.1.0: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} @@ -24175,11 +21494,6 @@ packages: engines: {node: '>=8'} requiresBuild: true - /detect-libc@2.0.4: - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} - engines: {node: '>=8'} - dev: false - /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} dev: false @@ -24200,10 +21514,6 @@ packages: dequal: 2.0.3 dev: false - /devtools-protocol@0.0.1342118: - resolution: {integrity: sha512-75fMas7PkYNDTmDyb6PRJCH7ILmHLp+BhrZGeMsa4bCh40DTxgCz2NRy5UDzII4C5KuD0oBMZ9vXKhEl6UD/3w==} - dev: false - /devtools-protocol@0.0.1464554: resolution: {integrity: sha512-CAoP3lYfwAGQTaAXYvA6JZR0fjGUb7qec1qf4mToyoH2TZgUFeIqYcjh6f9jNuhHfuZiEdH+PONHYrLhRQX6aw==} dev: false @@ -24331,13 +21641,6 @@ packages: domhandler: 5.0.3 dev: false - /dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - dependencies: - is-obj: 2.0.0 - dev: false - /dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} @@ -24354,6 +21657,7 @@ packages: /dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} + dev: true /dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} @@ -24456,10 +21760,6 @@ packages: resolution: {integrity: sha512-MGO1k0w1RgrfdbLVwmXcDhHHuxCn2qRgR7dYsJvWFKDttvYPx6FNzCGG0c/fBBvzK2LDh3UV7Tt9awnHnvAAUQ==} dev: true - /electron-to-chromium@1.5.13: - resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} - dev: false - /electron-to-chromium@1.5.162: resolution: {integrity: sha512-hQA+Zb5QQwoSaXJWEAGEw1zhk//O7qDzib05Z4qTqZfNju/FAkrm5ZInp0JbTp4Z18A6bilopdZWEYrFSsfllA==} dev: true @@ -24467,15 +21767,6 @@ packages: /electron-to-chromium@1.5.98: resolution: {integrity: sha512-bI/LbtRBxU2GzK7KK5xxFd2y9Lf9XguHooPYbcXWy6wUoT8NMnffsvRhPmSeUHLSDKAEtKuTaEtK4Ms15zkIEA==} - /email-reply-parser@1.8.0: - resolution: {integrity: sha512-hiie/4vNxT5NYBux8m/jZccUQdtQqiq5ytwJwbA9QIkTWbTNPQasJXfsfdetZo23hBn4ZJleRDyOA5nV4+ssSQ==} - engines: {node: '>= 10.0.0'} - dependencies: - re2: 1.21.3 - transitivePeerDependencies: - - supports-color - dev: false - /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -24499,6 +21790,7 @@ packages: requiresBuild: true dependencies: iconv-lite: 0.6.3 + dev: true /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -24572,6 +21864,7 @@ packages: /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + dev: true /environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} @@ -24579,6 +21872,7 @@ packages: /err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + dev: true /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -25002,36 +22296,6 @@ packages: '@esbuild/win32-x64': 0.16.17 dev: true - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: false - /esbuild@0.17.6: resolution: {integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==} engines: {node: '>=12'} @@ -25235,6 +22499,7 @@ packages: /escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + dev: true /escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} @@ -25658,6 +22923,7 @@ packages: /esm-env@1.2.2: resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} + dev: true /espree@9.4.1: resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} @@ -25690,6 +22956,7 @@ packages: resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + dev: true /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -25753,12 +23020,9 @@ packages: '@types/unist': 2.0.6 dev: true - /estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: false - /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -25881,20 +23145,18 @@ packages: /exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} + dev: true /expand-template@2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} + dev: true /expect-type@1.2.1: resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} engines: {node: '>=12.0.0'} dev: true - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: false - /express-rate-limit@7.5.0(express@5.0.1): resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} engines: {node: '>= 16'} @@ -26033,10 +23295,6 @@ packages: /fast-decode-uri-component@1.0.1: resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - /fast-deep-equal@2.0.1: - resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} - dev: false - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -26216,13 +23474,6 @@ packages: resolution: {integrity: sha512-f9c00hphOgeQTlDyavwTtu6RiK8AIFjD6+jvXkNkpeQ7rirK3uFWVpalkoS4LAwbdX7mfZ8aoBfFVQX1Re/8aw==} dev: true - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: false - /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -26248,6 +23499,7 @@ packages: /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + dev: true /fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -26283,15 +23535,6 @@ packages: - supports-color dev: false - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: true - /find-my-way-ts@0.1.5: resolution: {integrity: sha512-4GOTMrpGQVzsCH2ruUn2vmwzV/02zF4q+ybhCIrw/Rkt3L8KWcycdC6aJMctJzwN4fXD4SD5F/4B9Sksh5rE0A==} dev: false @@ -26345,14 +23588,6 @@ packages: /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - /fluent-ffmpeg@2.1.3: - resolution: {integrity: sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==} - engines: {node: '>=18'} - dependencies: - async: 0.2.10 - which: 1.3.1 - dev: false - /follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -26443,10 +23678,6 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - /fp-ts@2.16.1: - resolution: {integrity: sha512-by7U5W8dkIzcvDofUcO42yl9JbnHTEDBrzu3pt5fKT+Z4Oy85I21K80EYJYdjQGC2qum4Vo55Ag57iiIK4FYuA==} - dev: true - /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true @@ -26512,15 +23743,6 @@ packages: universalify: 2.0.0 dev: true - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -26538,12 +23760,6 @@ packages: jsonfile: 4.0.0 universalify: 0.1.2 - /fs-jetpack@5.1.0: - resolution: {integrity: sha512-Xn4fDhLydXkuzepZVsr02jakLlmoARPy+YWIclo4kh0GyNGUHnTqeH/w/qIsVn50dFxtp8otPL2t/HcPJBbxUA==} - dependencies: - minimatch: 5.1.6 - dev: true - /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -26555,6 +23771,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minipass: 7.1.2 + dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -26598,30 +23815,6 @@ packages: /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - /gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - requiresBuild: true - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: false - optional: true - - /generative-bayesian-network@2.1.55: - resolution: {integrity: sha512-igqQZTtS4GFwkDWA5gFWQye9Lmkx184Y17+x9flFq8HC68RVuuQGPeQtBFdMMlnac7/2Bq1n+1rkp4S8ZAu7kA==} - dependencies: - adm-zip: 0.5.16 - tslib: 2.8.1 - dev: false - /generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} dependencies: @@ -26631,6 +23824,7 @@ packages: /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + dev: true /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} @@ -26683,13 +23877,6 @@ packages: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - /get-source@2.0.12: - resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} - dependencies: - data-uri-to-buffer: 2.0.2 - source-map: 0.6.1 - dev: false - /get-stream@4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} @@ -26786,6 +23973,7 @@ packages: /github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: true /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -26860,38 +24048,10 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.11.1 - dev: false - - /global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - dependencies: - ini: 2.0.0 - dev: true - /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + dev: true /globals@13.19.0: resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==} @@ -27019,11 +24179,6 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: false - /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - dev: false - /gunzip-maybe@1.4.2: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} hasBin: true @@ -27107,26 +24262,12 @@ packages: dependencies: has-symbols: 1.1.0 - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - requiresBuild: true - dev: false - optional: true - /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.2 - /hasha@5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} - dependencies: - is-stream: 2.0.1 - type-fest: 0.8.1 - dev: true - /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -27187,20 +24328,6 @@ packages: '@types/hast': 3.0.4 dev: false - /header-generator@2.1.55: - resolution: {integrity: sha512-UeR5q/hGY6o78wH9T5hBIdhTQ7kraw90jb+bhAuvcpEI6aEfzguYhNf33uxT2qbnOoSg8hFd0YCJtiEqujMPRg==} - engines: {node: '>=16.0.0'} - dependencies: - browserslist: 4.23.3 - generative-bayesian-network: 2.1.55 - ow: 0.28.2 - tslib: 2.6.2 - dev: false - - /headers-polyfill@4.0.2: - resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} - dev: false - /hexoid@1.0.0: resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} engines: {node: '>=8'} @@ -27208,6 +24335,7 @@ packages: /highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + dev: true /hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -27265,6 +24393,7 @@ packages: /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} @@ -27276,28 +24405,6 @@ packages: statuses: 2.0.1 toidentifier: 1.0.1 - /http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - requiresBuild: true - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.4.1(supports-color@10.0.0) - transitivePeerDependencies: - - supports-color - dev: false - optional: true - - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.1 - debug: 4.4.1(supports-color@10.0.0) - transitivePeerDependencies: - - supports-color - /http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -27326,26 +24433,6 @@ packages: transitivePeerDependencies: - supports-color - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.1 - debug: 4.4.1(supports-color@10.0.0) - transitivePeerDependencies: - - supports-color - dev: true - - /https-proxy-agent@7.0.5: - resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.1 - debug: 4.4.1(supports-color@10.0.0) - transitivePeerDependencies: - - supports-color - dev: false - /https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -27416,13 +24503,6 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /ignore-walk@5.0.1: - resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minimatch: 5.1.6 - dev: true - /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -27459,15 +24539,7 @@ packages: acorn-import-assertions: 1.9.0(acorn@8.14.1) cjs-module-lexer: 1.2.3 module-details-from-path: 1.0.3 - - /import-in-the-middle@1.7.4: - resolution: {integrity: sha512-Lk+qzWmiQuRPPulGQeK5qq0v32k2bHnWrRPFgqyvhw7Kkov5L6MOLOIU3pcWeujc9W4q54Cp3Q2WV16eQkc7Bg==} - dependencies: - acorn: 8.14.1 - acorn-import-attributes: 1.9.5(acorn@8.14.1) - cjs-module-lexer: 1.2.3 - module-details-from-path: 1.0.3 - dev: true + dev: false /import-meta-resolve@4.1.0: resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} @@ -27486,12 +24558,6 @@ packages: engines: {node: '>=12'} dev: true - /infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - requiresBuild: true - dev: false - optional: true - /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -27505,11 +24571,6 @@ packages: /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - /ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - dev: true - /ini@5.0.0: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -27539,11 +24600,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /install-artifact-from-github@1.3.5: - resolution: {integrity: sha512-gZHC7f/cJgXz7MXlHFBxPVMsvIbev1OQN1uKQYKVJDydGNm9oYf9JstbU4Atnh/eSvk41WtEovoRm+8IF686xg==} - hasBin: true - dev: false - /install@0.13.0: resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==} engines: {node: '>= 0.10'} @@ -27801,10 +24857,6 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: false - /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -27819,10 +24871,6 @@ packages: engines: {node: '>=16'} dev: false - /is-node-process@1.2.0: - resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} - dev: false - /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} @@ -27833,16 +24881,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - /is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: false - - /is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true - /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -27880,6 +24918,7 @@ packages: resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} dependencies: '@types/estree': 1.0.7 + dev: true /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} @@ -27970,6 +25009,7 @@ packages: /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} + dev: false /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} @@ -28001,11 +25041,6 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: false - /isomorphic-ws@5.0.0(ws@8.16.0): resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} peerDependencies: @@ -28167,12 +25202,6 @@ packages: /js-sdsl@4.2.0: resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} - /js-tiktoken@1.0.14: - resolution: {integrity: sha512-Pk3l3WOgM9joguZY2k52+jH82RtABRgB5RdGFZNUGbOKGMVlNmafcPA3b0ITcCZPu1L9UclP1tne6aw7ZI4Myg==} - dependencies: - base64-js: 1.5.1 - dev: false - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -28207,6 +25236,7 @@ packages: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true + dev: true /jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} @@ -28345,20 +25375,10 @@ packages: engines: {node: '>=0.10.0'} dev: false - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true - /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - /kysely@0.27.4: - resolution: {integrity: sha512-dyNKv2KRvYOQPLCAOCjjQuCk4YFd33BvGdf/o5bC7FiW+BB6snA81Zt+2wT9QDFzKqxKa5rrOmvlK/anehCcgA==} - engines: {node: '>=14.0.0'} - dev: false - /langsmith@0.2.15(openai@4.68.4): resolution: {integrity: sha512-homtJU41iitqIZVuuLW7iarCzD4f39KcfP9RTBWav9jifhrsDa1Ez89Ejr+4qi72iuBu8Y5xykchsGVgiEZ93w==} peerDependencies: @@ -28682,6 +25702,7 @@ packages: /locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + dev: true /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -28714,19 +25735,12 @@ 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==} - dev: true + dev: false /lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} dev: false - /lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - dev: true - /lodash.groupby@4.6.0: resolution: {integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==} dev: false @@ -28735,10 +25749,6 @@ packages: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} dev: false - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: false - /lodash.isfunction@3.0.9: resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} dev: false @@ -28774,10 +25784,6 @@ packages: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} dev: true - /lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - dev: true - /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: false @@ -28836,6 +25842,7 @@ packages: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 + dev: true /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} @@ -28892,23 +25899,11 @@ packages: hasBin: true dev: true - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - dependencies: - sourcemap-codec: 1.4.8 - dev: false - /magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - dev: false + dev: true /magicast@0.3.4: resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} @@ -28926,13 +25921,6 @@ packages: source-map-js: 1.2.1 dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.1 - dev: true - /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -28943,53 +25931,6 @@ packages: /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - /make-fetch-happen@13.0.1: - resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/agent': 2.2.2 - cacache: 18.0.4 - http-cache-semantics: 4.1.1 - is-lambda: 1.0.1 - minipass: 7.1.2 - minipass-fetch: 3.0.5 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - proc-log: 4.2.0 - promise-retry: 2.0.1 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color - dev: false - - /make-fetch-happen@9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} - requiresBuild: true - dependencies: - agentkeepalive: 4.5.0 - cacache: 15.3.0 - http-cache-semantics: 4.1.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 1.4.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 6.2.1 - ssri: 8.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - optional: true - /map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -29065,15 +26006,6 @@ packages: react: 18.3.1 dev: false - /md-to-react-email@5.0.2(react@19.0.0-rc.0): - resolution: {integrity: sha512-x6kkpdzIzUhecda/yahltfEl53mH26QdWu4abUF9+S0Jgam8P//Ciro8cdhyMHnT5MQUJYrIbO6ORM2UxPiNNA==} - peerDependencies: - react: 18.x - dependencies: - marked: 7.0.4 - react: 19.0.0-rc.0 - dev: false - /mdast-util-definitions@5.1.1: resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==} dependencies: @@ -29855,6 +26787,7 @@ packages: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} hasBin: true + dev: true /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} @@ -29872,39 +26805,18 @@ packages: /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} + dev: true /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + dev: false /mini-svg-data-uri@1.4.4: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} hasBin: true dev: true - /miniflare@3.20240806.0: - resolution: {integrity: sha512-jDsXBJOLUVpIQXHsluX3xV0piDxXolTCsxdje2Ex2LTC9PsSoBIkMwvCmnCxe9wpJJCq8rb0UMyeEn3KOF3LOw==} - engines: {node: '>=16.13'} - hasBin: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - acorn: 8.14.1 - acorn-walk: 8.3.2 - capnp-ts: 0.7.0 - exit-hook: 2.2.1 - glob-to-regexp: 0.4.1 - stoppable: 1.1.0 - undici: 5.29.0 - workerd: 1.20240806.0 - ws: 8.18.0(bufferutil@4.0.9) - youch: 3.3.3 - zod: 3.25.76 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false - /minimal-polyfills@2.2.2: resolution: {integrity: sha512-eEOUq/LH/DbLWihrxUP050Wi7H/N/I2dQT98Ep6SqOpmIbk4sXOI4wqalve66QoZa+6oljbZWU6I6T4dehQGmw==} dev: false @@ -29931,13 +26843,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: false - /minimatch@9.0.1: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} @@ -29975,56 +26880,21 @@ packages: engines: {node: '>= 8'} dependencies: minipass: 3.3.6 - - /minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - minipass: 7.1.2 - dev: false - - /minipass-fetch@1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: false - optional: true - - /minipass-fetch@3.0.5: - resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.1.2 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: false + dev: true /minipass-flush@1.0.5: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 + dev: true /minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} engines: {node: '>=8'} dependencies: minipass: 3.3.6 - - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: false + dev: true /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} @@ -30088,12 +26958,6 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdirp@2.1.6: - resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} - engines: {node: '>=10'} - hasBin: true - dev: false - /mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} @@ -30160,6 +27024,7 @@ packages: /module-details-from-path@1.0.3: resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + dev: false /morgan@1.10.0: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} @@ -30196,53 +27061,14 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /msw@2.3.5(typescript@5.5.4): - resolution: {integrity: sha512-+GUI4gX5YC5Bv33epBrD+BGdmDvBg2XGruiWnI3GbIbRmMMBeZ5gs3mJ51OWSGHgJKztZ8AtZeYMMNMVrje2/Q==} - engines: {node: '>=18'} - hasBin: true - requiresBuild: true - peerDependencies: - typescript: '>= 4.7.x' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@bundled-es-modules/cookie': 2.0.0 - '@bundled-es-modules/statuses': 1.0.1 - '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 3.0.0 - '@mswjs/interceptors': 0.29.1 - '@open-draft/until': 2.1.0 - '@types/cookie': 0.6.0 - '@types/statuses': 2.0.4 - chalk: 4.1.2 - graphql: 16.8.1 - headers-polyfill: 4.0.2 - is-node-process: 1.2.0 - outvariant: 1.4.2 - path-to-regexp: 6.2.1 - strict-event-emitter: 0.5.1 - type-fest: 4.10.3 - typescript: 5.5.4 - yargs: 17.7.2 - dev: false - /multipasta@0.2.5: resolution: {integrity: sha512-c8eMDb1WwZcE02WVjHoOmUVk7fnKU/RmUcosHACglrWAuPQsEJv+E8430sXj6jNc1jHw0zrS16aCjQh4BcEb4A==} dev: false - /mupdf@1.3.6: - resolution: {integrity: sha512-HRKjlFiD1aN9u2iX7JCIr6qU6jMnihsQY2GnNVcrXXM1BBh3es1166mjMVsdjnhUfnA2NQr4pJBmUjFCxQ/N4A==} - dev: false - /mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true - - /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + dev: true /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -30251,10 +27077,6 @@ packages: object-assign: 4.1.1 thenify-all: 1.6.0 - /nan@2.20.0: - resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} - dev: false - /nan@2.22.2: resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} requiresBuild: true @@ -30282,12 +27104,7 @@ packages: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: false + dev: true /nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} @@ -30314,13 +27131,7 @@ packages: /napi-build-utils@2.0.0: resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - - /napi_thread_safe_promise@1.2.6: - resolution: {integrity: sha512-Magj7jWzspQiYlqBt4sieiOvWmNJgL/hCWeQaKFpFam82QZJ/etvOfAxlqhPtuUspMABTEgikULHaJA3aDVTNQ==} - requiresBuild: true - dependencies: - node-addon-api: 3.2.1 - dev: false + dev: true /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -30350,11 +27161,6 @@ packages: engines: {node: '>= 0.4.0'} dev: false - /new-github-issue-url@0.2.1: - resolution: {integrity: sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA==} - engines: {node: '>=10'} - dev: true - /next@14.1.0(react-dom@18.2.0)(react@18.3.1): resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} engines: {node: '>=18.17.0'} @@ -30438,50 +27244,6 @@ packages: - babel-plugin-macros dev: false - /next@14.2.3(@babel/core@7.24.5)(@opentelemetry/api@1.4.1)(@playwright/test@1.37.0)(react-dom@18.3.1)(react@19.0.0-rc.0): - resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - sass: - optional: true - dependencies: - '@next/env': 14.2.3 - '@opentelemetry/api': 1.4.1 - '@playwright/test': 1.37.0 - '@swc/helpers': 0.5.5 - busboy: 1.6.0 - caniuse-lite: 1.0.30001707 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 19.0.0-rc.0 - react-dom: 18.3.1(react@19.0.0-rc.0) - styled-jsx: 5.1.1(@babel/core@7.24.5)(react@19.0.0-rc.0) - optionalDependencies: - '@next/swc-darwin-arm64': 14.2.3 - '@next/swc-darwin-x64': 14.2.3 - '@next/swc-linux-arm64-gnu': 14.2.3 - '@next/swc-linux-arm64-musl': 14.2.3 - '@next/swc-linux-x64-gnu': 14.2.3 - '@next/swc-linux-x64-musl': 14.2.3 - '@next/swc-win32-arm64-msvc': 14.2.3 - '@next/swc-win32-ia32-msvc': 14.2.3 - '@next/swc-win32-x64-msvc': 14.2.3 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - /next@15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.37.0)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} @@ -30538,28 +27300,12 @@ packages: engines: {node: '>=10'} dependencies: semver: 7.7.2 + dev: true /node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} dev: false - /node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - dev: false - - /node-addon-api@4.3.0: - resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} - dev: false - - /node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - dev: false - - /node-addon-api@8.3.1: - resolution: {integrity: sha512-lytcDEdxKjGJPTLEfW4mYMigRezMlyJY8W4wxJK8zE533Jlb8L8dRuObJFWg2P+AuOIxoCgKF+2Oq4d4Zd0OUA==} - engines: {node: ^18 || ^20 || >= 21} - dev: false - /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -30584,10 +27330,6 @@ packages: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} dev: false - /node-fetch-native@1.6.6: - resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} - dev: false - /node-fetch@2.6.12: resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} engines: {node: 4.x || >=6.0.0} @@ -30611,76 +27353,14 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - - /node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - dev: false - /node-gyp-build@4.8.4: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true - /node-gyp@10.2.0: - resolution: {integrity: sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.1 - glob: 10.4.5 - graceful-fs: 4.2.11 - make-fetch-happen: 13.0.1 - nopt: 7.2.0 - proc-log: 4.2.0 - semver: 7.7.2 - tar: 6.2.1 - which: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: false - - /node-gyp@8.4.1: - resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} - engines: {node: '>= 10.12.0'} - hasBin: true - requiresBuild: true - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 9.1.0 - nopt: 5.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.7.2 - tar: 6.2.1 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - optional: true - /node-releases@2.0.12: resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} dev: true - /node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} - dev: false - /node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -30693,16 +27373,6 @@ packages: resolution: {integrity: sha512-oGCfo7Ub5bJmCOAt4CMAsCrVal/JXkQtxgBcpXzdU3lQib9c5hHdr62I8vI6TtdlsLcaYAPD/HRfZNdBUobwFg==} dev: false - /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - requiresBuild: true - dependencies: - abbrev: 1.1.1 - dev: false - optional: true - /nopt@7.2.0: resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -30750,13 +27420,6 @@ packages: resolution: {integrity: sha512-TKC/8zH5pXIAMVQio2TvVDTtPRX+DJPHDqjRbxogtFiByHyzKmy96RA0JtCQJ+WouyyL4A10xomQzgbUT+1jCg==} dev: false - /npm-bundled@2.0.1: - resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - npm-normalize-package-bin: 2.0.0 - dev: true - /npm-install-checks@6.2.0: resolution: {integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -30764,11 +27427,6 @@ packages: semver: 7.7.2 dev: true - /npm-normalize-package-bin@2.0.0: - resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true - /npm-normalize-package-bin@3.0.1: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -30784,17 +27442,6 @@ packages: validate-npm-package-name: 5.0.0 dev: 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 - dependencies: - glob: 8.1.0 - ignore-walk: 5.0.1 - npm-bundled: 2.0.1 - npm-normalize-package-bin: 2.0.0 - dev: true - /npm-pick-manifest@8.0.2: resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -30834,19 +27481,6 @@ packages: dependencies: path-key: 4.0.0 - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - requiresBuild: true - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - dev: false - optional: true - /num2fraction@1.2.2: resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} dev: false @@ -31054,14 +27688,6 @@ packages: is-wsl: 3.1.0 dev: false - /open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - /open@8.4.0: resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} engines: {node: '>=12'} @@ -31087,27 +27713,6 @@ packages: - encoding dev: false - /openai@4.56.0(zod@3.25.76): - resolution: {integrity: sha512-zcag97+3bG890MNNa0DQD9dGmmTWL8unJdNkulZzWRXrl+QeD+YkBI4H58rJcwErxqGK6a0jVPZ4ReJjhDGcmw==} - hasBin: true - peerDependencies: - zod: ^3.23.8 - peerDependenciesMeta: - zod: - optional: true - dependencies: - '@types/node': 18.19.20 - '@types/node-fetch': 2.6.4 - abort-controller: 3.0.0 - agentkeepalive: 4.5.0 - form-data-encoder: 1.7.2 - formdata-node: 4.4.1 - node-fetch: 2.6.12 - zod: 3.25.76 - transitivePeerDependencies: - - encoding - dev: false - /openai@4.68.4(zod@3.25.76): resolution: {integrity: sha512-LRinV8iU9VQplkr25oZlyrsYGPGasIwYN8KFMAAFTHHLHjHhejtJ5BALuLFrkGzY4wfbKhOhuT+7lcHZ+F3iEA==} hasBin: true @@ -31231,21 +27836,6 @@ packages: resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} dev: true - /outvariant@1.4.2: - resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} - dev: false - - /ow@0.28.2: - resolution: {integrity: sha512-dD4UpyBh/9m4X2NVjA+73/ZPBRF+uF4zIMFvvQsabMiEK8x41L3rQ8EENOi35kyyoaJwNxEeJcP6Fj1H4U409Q==} - engines: {node: '>=12'} - dependencies: - '@sindresorhus/is': 4.6.0 - callsites: 3.1.0 - dot-prop: 6.0.1 - lodash.isequal: 4.5.0 - vali-date: 1.0.0 - dev: false - /p-cancelable@1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} @@ -31263,6 +27853,7 @@ packages: engines: {node: '>=8'} dependencies: p-map: 2.1.0 + dev: false /p-filter@3.0.0: resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} @@ -31324,12 +27915,14 @@ packages: /p-map@2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} + dev: false /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 + dev: true /p-map@5.5.0: resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} @@ -31364,6 +27957,7 @@ packages: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 + dev: false /p-retry@6.1.0: resolution: {integrity: sha512-fJLEQ2KqYBJRuaA/8cKMnqhulqNM+bpcjYtXNex2t3mOXKRYPitAJt9NacSf8XAFzcYahSAbKpobiWDSqHSh2g==} @@ -31395,22 +27989,6 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - /pac-proxy-agent@7.0.2: - resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==} - engines: {node: '>= 14'} - dependencies: - '@tootallnate/quickjs-emscripten': 0.23.0 - agent-base: 7.1.1 - debug: 4.4.1(supports-color@10.0.0) - get-uri: 6.0.1 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 - pac-resolver: 7.0.1 - socks-proxy-agent: 8.0.4 - transitivePeerDependencies: - - supports-color - dev: false - /pac-proxy-agent@7.2.0: resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} engines: {node: '>= 14'} @@ -31506,12 +28084,15 @@ packages: resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 + dev: true /parse5@5.1.1: resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + dev: true /parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true /parseley@0.12.1: resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} @@ -31577,10 +28158,6 @@ packages: /path-to-regexp@0.1.10: resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: false - /path-to-regexp@8.2.0: resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} engines: {node: '>=16'} @@ -31842,6 +28419,7 @@ packages: engines: {node: '>=8'} dependencies: find-up: 4.1.0 + dev: false /pkg-types@1.1.3: resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} @@ -31867,22 +28445,6 @@ packages: engines: {node: '>=16'} hasBin: true - /playwright-core@1.50.1: - resolution: {integrity: sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==} - engines: {node: '>=18'} - hasBin: true - dev: false - - /playwright@1.50.1: - resolution: {integrity: sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==} - engines: {node: '>=18'} - hasBin: true - dependencies: - playwright-core: 1.50.1 - optionalDependencies: - fsevents: 2.3.2 - dev: false - /polite-json@5.0.0: resolution: {integrity: sha512-OLS/0XeUAcE8a2fdwemNja+udKgXNnY6yKVIXqAD2zVRx1KvY6Ato/rZ2vdzbxqYwPW0u6SCNC/bAMPNzpzxbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -32249,6 +28811,7 @@ packages: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 + dev: true /postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} @@ -32321,6 +28884,7 @@ packages: simple-get: 4.0.1 tar-fs: 2.1.3 tunnel-agent: 0.6.0 + dev: true /preferred-pm@3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} @@ -32428,10 +28992,6 @@ packages: parse-ms: 2.1.0 dev: true - /printable-characters@1.0.42: - resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} - dev: false - /prism-react-renderer@2.1.0(react@18.3.1): resolution: {integrity: sha512-I5cvXHjA1PVGbGm1MsWCpvBCRrYyxEri0MC7/JbfIfYfcXAxHyO5PaUjs3A8H5GW6kJcLhTHxxMaOZZpRZD2iQ==} peerDependencies: @@ -32452,30 +29012,6 @@ packages: react: 18.2.0 dev: false - /prisma-kysely@1.8.0: - resolution: {integrity: sha512-VpNpolZ8RXRgfU+j4R+fPZmX8EE95w3vJ2tt7+FwuiQc0leNTfLK5QLf3KbbPDes2rfjh3g20AjDxefQIo5GIA==} - hasBin: true - dependencies: - '@mrleebo/prisma-ast': 0.7.0 - '@prisma/generator-helper': 5.3.1 - '@prisma/internals': 5.3.1 - typescript: 5.8.3 - zod: 3.25.76 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /prisma@5.19.0: - resolution: {integrity: sha512-Pu7lUKpVyTx8cVwM26dYh8NdvMOkMnJXzE8L6cikFuR4JwyMU5NKofQkWyxJKlTT4fNjmcnibTvklV8oVMrn+g==} - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true - dependencies: - '@prisma/engines': 5.19.0 - optionalDependencies: - fsevents: 2.3.3 - /prisma@5.4.1: resolution: {integrity: sha512-op9PmU8Bcw5dNAas82wBYTG0yHnpq9/O3bhxbDBrNzwZTwBqsVCxxYRLf6wHNh9HVaDGhgjjHlu1+BcW8qdnBg==} engines: {node: '>=16.13'} @@ -32499,11 +29035,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true @@ -32540,6 +29071,7 @@ packages: peerDependenciesMeta: bluebird: optional: true + dev: true /promise-retry@2.0.1: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} @@ -32547,13 +29079,6 @@ packages: dependencies: err-code: 2.0.3 retry: 0.12.0 - - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 dev: true /prop-types@15.8.1: @@ -32618,22 +29143,6 @@ packages: forwarded: 0.2.0 ipaddr.js: 1.9.1 - /proxy-agent@6.4.0: - resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.1 - debug: 4.4.1(supports-color@10.0.0) - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 - lru-cache: 7.18.3 - pac-proxy-agent: 7.0.2 - proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.4 - transitivePeerDependencies: - - supports-color - dev: false - /proxy-agent@6.5.0: resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} engines: {node: '>= 14'} @@ -32672,6 +29181,7 @@ packages: dependencies: end-of-stream: 1.4.4 once: 1.4.0 + dev: true /pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} @@ -32695,23 +29205,6 @@ packages: resolution: {integrity: sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==} engines: {node: '>=6'} - /puppeteer-core@23.4.0: - resolution: {integrity: sha512-fqkIP5FOcb38jfBj/OcBz1wFaI9nk40uQKSORvnXws6wCbep2dg8yxZ3ddJxBIfQsxoiEOvnrykFinUScrB/ew==} - engines: {node: '>=18'} - dependencies: - '@puppeteer/browsers': 2.4.0 - chromium-bidi: 0.6.5(devtools-protocol@0.0.1342118) - debug: 4.4.1(supports-color@10.0.0) - devtools-protocol: 0.0.1342118 - typed-query-selector: 2.12.0 - ws: 8.18.0(bufferutil@4.0.9) - transitivePeerDependencies: - - bare-buffer - - bufferutil - - supports-color - - utf-8-validate - dev: false - /puppeteer-core@24.15.0: resolution: {integrity: sha512-2iy0iBeWbNyhgiCGd/wvGrDSo73emNFjSxYOcyAqYiagkYt5q4cPfVXaVDKBsukgc2fIIfLAalBZlaxldxdDYg==} engines: {node: '>=18'} @@ -32729,26 +29222,6 @@ packages: - utf-8-validate dev: false - /puppeteer@23.4.0(typescript@5.5.4): - resolution: {integrity: sha512-FxgFFJI7NAsX8uebiEDSjS86vufz9TaqERQHShQT0lCbSRI3jUPEcz/0HdwLiYvfYNsc1zGjqY3NsGZya4PvUA==} - engines: {node: '>=18'} - hasBin: true - requiresBuild: true - dependencies: - '@puppeteer/browsers': 2.4.0 - chromium-bidi: 0.6.5(devtools-protocol@0.0.1342118) - cosmiconfig: 9.0.0(typescript@5.5.4) - devtools-protocol: 0.0.1342118 - puppeteer-core: 23.4.0 - typed-query-selector: 2.12.0 - transitivePeerDependencies: - - bare-buffer - - bufferutil - - supports-color - - typescript - - utf-8-validate - dev: false - /pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} @@ -32794,10 +29267,6 @@ packages: engines: {node: '>=0.6'} dev: false - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: false - /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -32859,17 +29328,7 @@ packages: ini: 1.3.8 minimist: 1.2.7 strip-json-comments: 2.0.1 - - /re2@1.21.3: - resolution: {integrity: sha512-GI+KoGkHT4kxTaX+9p0FgNB1XUnCndO9slG5qqeEoZ7kbf6Dk6ohQVpmwKVeSp7LPLn+g6Q3BaCopz4oHuBDuQ==} - requiresBuild: true - dependencies: - install-artifact-from-github: 1.3.5 - nan: 2.20.0 - node-gyp: 10.2.0 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /react-aria@3.31.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-q4jRCVDKO6V2o4Sgir5S2obssw/YnMx6QOy10+p0dYqROHpSnMFNkONrKT1w/nA+Nx4ptfPqZbaNra1hR1bUWg==} @@ -32992,16 +29451,6 @@ packages: scheduler: 0.23.0 dev: false - /react-dom@18.3.1(react@19.0.0-rc.0): - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} - peerDependencies: - react: ^18.3.1 - dependencies: - loose-envify: 1.4.0 - react: 19.0.0-rc.0 - scheduler: 0.23.2 - dev: false - /react-dom@19.0.0(react@19.0.0): resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: @@ -33083,37 +29532,6 @@ packages: - webpack-cli dev: false - /react-email@3.0.1(@opentelemetry/api@1.4.1)(@playwright/test@1.37.0)(react-dom@18.3.1)(react@19.0.0-rc.0): - resolution: {integrity: sha512-G4Bkx2ULIScy/0Z8nnWywHt0W1iTkaYCdh9rWNuQ3eVZ6B3ttTUDE9uUy3VNQ8dtQbmG0cpt8+XmImw7mMBW6Q==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - '@babel/core': 7.24.5 - '@babel/parser': 7.24.5 - chalk: 4.1.2 - chokidar: 3.6.0 - commander: 11.1.0 - debounce: 2.0.0 - esbuild: 0.19.11 - glob: 10.3.4 - log-symbols: 4.1.0 - mime-types: 2.1.35 - next: 14.2.3(@babel/core@7.24.5)(@opentelemetry/api@1.4.1)(@playwright/test@1.37.0)(react-dom@18.3.1)(react@19.0.0-rc.0) - normalize-path: 3.0.0 - ora: 5.4.1 - socket.io: 4.7.5 - transitivePeerDependencies: - - '@opentelemetry/api' - - '@playwright/test' - - babel-plugin-macros - - bufferutil - - react - - react-dom - - sass - - supports-color - - utf-8-validate - dev: false - /react-fast-compare@3.2.2: resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} dev: false @@ -33176,12 +29594,6 @@ packages: warning: 4.0.3 dev: false - /react-promise-suspense@0.3.4: - resolution: {integrity: sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==} - dependencies: - fast-deep-equal: 2.0.1 - dev: false - /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} @@ -33451,11 +29863,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react@19.0.0-rc.0: - resolution: {integrity: sha512-8nrDCl5uE54FHeKqKrEO0TS+10bT4cxutJGb2okiJc0FHMQ6I3FeItaqly/1nbijlhSO3HmAVyPIexIQQWYAtQ==} - engines: {node: '>=0.10.0'} - dev: false - /react@19.0.0-rc.1: resolution: {integrity: sha512-NZKln+uyPuyHchzP07I6GGYFxdAoaKhehgpCa3ltJGzwE31OYumLeshGaitA1R/fS5d9D2qpZVwTFAr6zCLM9w==} engines: {node: '>=0.10.0'} @@ -33473,6 +29880,7 @@ packages: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 + dev: false /read-pkg@3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} @@ -33491,6 +29899,7 @@ packages: normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 + dev: false /read-yaml-file@1.1.0: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} @@ -33540,6 +29949,7 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + dev: true /readable-stream@4.7.0: resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} @@ -33641,14 +30051,6 @@ packages: postcss-value-parser: 3.3.1 dev: false - /reflect-metadata@0.1.14: - resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} - dev: false - - /reflect-metadata@0.2.2: - resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - dev: false - /reforest@0.13.0(@types/react@18.2.69)(react@18.2.0): resolution: {integrity: sha512-f0It/s51f1UWCCCni0viULALDBhxWBPFnLmZRYtKcz4zYeNWqeNTdcnU/OpBry9tk+jyMQcH3MLK8UdzsAvA5w==} peerDependencies: @@ -33668,10 +30070,6 @@ packages: /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - /regexp-to-ast@0.5.0: - resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} - dev: true - /regexp.prototype.flags@1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} @@ -33886,11 +30284,6 @@ packages: resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} dev: false - /replace-string@3.1.0: - resolution: {integrity: sha512-yPpxc4ZR2makceA9hy/jHNqc7QVkd4Je/N0WRHm6bs3PtivPuPynxE5ejU/mp5EhnCv8+uZL7vhz8rkluSlx+Q==} - engines: {node: '>=8'} - dev: true - /replicate@1.0.1: resolution: {integrity: sha512-EY+rK1YR5bKHcM9pd6WyaIbv6m2aRIvHfHDh51j/LahlHTLKemTYXF6ptif2sLa+YospupAsIoxw8Ndt5nI3vg==} engines: {git: '>=2.11.0', node: '>=18.0.0', npm: '>=7.19.0', yarn: '>=1.7.0'} @@ -33943,6 +30336,7 @@ packages: resolve: 1.22.8 transitivePeerDependencies: - supports-color + dev: false /require-like@0.1.2: resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} @@ -33957,10 +30351,6 @@ packages: engines: {node: '>=0.10.5'} dev: true - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: false - /resend@3.2.0: resolution: {integrity: sha512-lDHhexiFYPoLXy7zRlJ8D5eKxoXy6Tr9/elN3+Vv7PkUoYuSSD1fpiIfa/JYXEWyiyN2UczkCTLpkT8dDPJ4Pg==} engines: {node: '>=18'} @@ -33995,6 +30385,7 @@ packages: /resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} + dev: true /resolve@1.22.4: resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} @@ -34043,10 +30434,12 @@ packages: /retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} + dev: true /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} + dev: false /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} @@ -34087,27 +30480,6 @@ packages: resolution: {integrity: sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ==} dev: false - /rollup-plugin-inject@3.0.2: - resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. - dependencies: - estree-walker: 0.6.1 - magic-string: 0.25.9 - rollup-pluginutils: 2.8.2 - dev: false - - /rollup-plugin-node-polyfills@0.2.1: - resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} - dependencies: - rollup-plugin-inject: 3.0.2 - dev: false - - /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: false - /rollup@3.10.0: resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -34173,11 +30545,6 @@ packages: engines: {node: '>=18'} dev: false - /run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} - dev: false - /run-exclusive@2.2.18: resolution: {integrity: sha512-TXr1Gkl1iEAOCCpBTRm/2m0+1KGjORcWpZZ+VGGTe7dYX8E4y8/fMvrHk0zf+kclec2R//tpvdBxgG0bDgaJfw==} dependencies: @@ -34191,6 +30558,7 @@ packages: /runtypes@6.7.0: resolution: {integrity: sha512-3TLdfFX8YHNFOhwHrSJza6uxVBmBrEjnNQlNXvXCdItS0Pdskfg5vVXUTWIN+Y23QR09jWpSl99UHkA83m4uWA==} + dev: true /rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -34259,12 +30627,6 @@ packages: dependencies: loose-envify: 1.4.0 - /scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - dependencies: - loose-envify: 1.4.0 - dev: false - /scheduler@0.25.0: resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} dev: false @@ -34314,14 +30676,6 @@ packages: parseley: 0.12.1 dev: false - /selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - dependencies: - '@types/node-forge': 1.3.10 - node-forge: 1.3.1 - dev: false - /sembear@0.5.2: resolution: {integrity: sha512-Ij1vCAdFgWABd7zTg50Xw1/p0JgESNxuLlneEAsmBrKishA06ulTTL/SHGmNy2Zud7+rKrHTKNI6moJsn1ppAQ==} dependencies: @@ -34340,6 +30694,7 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + dev: true /semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} @@ -34446,10 +30801,6 @@ packages: - supports-color dev: false - /server-only@0.0.1: - resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} - dev: false - /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false @@ -34486,14 +30837,6 @@ packages: /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - dev: false - /sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -34525,38 +30868,6 @@ packages: dev: false optional: true - /sharp@0.34.2: - resolution: {integrity: sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - requiresBuild: true - dependencies: - color: 4.2.3 - detect-libc: 2.0.4 - semver: 7.7.2 - optionalDependencies: - '@img/sharp-darwin-arm64': 0.34.2 - '@img/sharp-darwin-x64': 0.34.2 - '@img/sharp-libvips-darwin-arm64': 1.1.0 - '@img/sharp-libvips-darwin-x64': 1.1.0 - '@img/sharp-libvips-linux-arm': 1.1.0 - '@img/sharp-libvips-linux-arm64': 1.1.0 - '@img/sharp-libvips-linux-ppc64': 1.1.0 - '@img/sharp-libvips-linux-s390x': 1.1.0 - '@img/sharp-libvips-linux-x64': 1.1.0 - '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 - '@img/sharp-libvips-linuxmusl-x64': 1.1.0 - '@img/sharp-linux-arm': 0.34.2 - '@img/sharp-linux-arm64': 0.34.2 - '@img/sharp-linux-s390x': 0.34.2 - '@img/sharp-linux-x64': 0.34.2 - '@img/sharp-linuxmusl-arm64': 0.34.2 - '@img/sharp-linuxmusl-x64': 0.34.2 - '@img/sharp-wasm32': 0.34.2 - '@img/sharp-win32-arm64': 0.34.2 - '@img/sharp-win32-ia32': 0.34.2 - '@img/sharp-win32-x64': 0.34.2 - dev: false - /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -34593,6 +30904,7 @@ packages: /shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + dev: false /side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -34643,6 +30955,7 @@ packages: /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: true /simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} @@ -34650,6 +30963,7 @@ packages: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 + dev: true /simple-oauth2@5.0.0: resolution: {integrity: sha512-8291lo/z5ZdpmiOFzOs1kF3cxn22bMj5FFH+DNUppLJrpoIlM1QnFiE7KpshHu3J3i21TVcx4yW+gXYjdCKDLQ==} @@ -34684,6 +30998,7 @@ packages: /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false /skin-tone@2.0.0: resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} @@ -34701,15 +31016,6 @@ packages: engines: {node: '>=12'} dev: true - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -34825,47 +31131,6 @@ packages: - utf-8-validate dev: false - /socket.io@4.7.5: - resolution: {integrity: sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==} - engines: {node: '>=10.2.0'} - dependencies: - accepts: 1.3.8 - base64id: 2.0.0 - cors: 2.8.5 - debug: 4.3.7(supports-color@10.0.0) - engine.io: 6.5.4 - socket.io-adapter: 2.5.4 - socket.io-parser: 4.2.4(supports-color@10.0.0) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false - - /socks-proxy-agent@6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} - requiresBuild: true - dependencies: - agent-base: 6.0.2 - debug: 4.4.1(supports-color@10.0.0) - socks: 2.8.3 - transitivePeerDependencies: - - supports-color - dev: false - optional: true - - /socks-proxy-agent@8.0.4: - resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.1 - debug: 4.4.1(supports-color@10.0.0) - socks: 2.8.3 - transitivePeerDependencies: - - supports-color - dev: false - /socks-proxy-agent@8.0.5: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} @@ -34950,11 +31215,6 @@ packages: whatwg-url: 7.1.0 dev: true - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: false - /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -35001,21 +31261,6 @@ packages: resolution: {integrity: sha512-lOQK1ucVg+W6n3FhRwwSeUijxe93b51Bfz5PMRMihVf1iVkl82ePQG7V5vwrhzB11v0NtsR25PSZRGiSomJaJw==} dev: false - /sqlite3@5.1.7: - resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} - requiresBuild: true - dependencies: - bindings: 1.5.0 - node-addon-api: 7.1.1 - prebuild-install: 7.1.3 - tar: 6.2.1 - optionalDependencies: - node-gyp: 8.4.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - /sqs-consumer@7.5.0(@aws-sdk/client-sqs@3.454.0): resolution: {integrity: sha512-aY3akgMjuK1aj4E7ZVAURUUnC8aNgUBES+b4SN+6ccMmJhi37MamWl7g1JbPow8sjIp1fBPz1bXCCDJmtjOTAg==} engines: {node: '>=18.0.0'} @@ -35067,15 +31312,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minipass: 7.1.2 - - /ssri@8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true + dev: true /sswr@2.1.0(svelte@5.33.14): resolution: {integrity: sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==} @@ -35084,6 +31321,7 @@ packages: dependencies: svelte: 5.33.14 swrev: 4.0.0 + dev: true /stack-generator@2.0.10: resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} @@ -35121,13 +31359,6 @@ packages: type-fest: 0.7.1 dev: false - /stacktracey@2.1.8: - resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} - dependencies: - as-table: 1.0.55 - get-source: 2.0.12 - dev: false - /standard-as-callback@2.1.0: resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} dev: false @@ -35148,11 +31379,6 @@ packages: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} dev: true - /stoppable@1.1.0: - resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} - engines: {node: '>=4', npm: '>=6'} - dev: false - /stream-buffers@3.0.2: resolution: {integrity: sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==} engines: {node: '>= 0.10.0'} @@ -35189,10 +31415,6 @@ packages: optionalDependencies: bare-events: 2.5.4 - /strict-event-emitter@0.5.1: - resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} - dev: false - /string-hash@1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} dev: true @@ -35323,23 +31545,17 @@ packages: engines: {node: '>=8'} dependencies: min-indent: 1.0.1 + dev: false /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + dev: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /stripe@12.18.0: - resolution: {integrity: sha512-cYjgBM2SY/dTm8Lr6eMyyONaHTZHA/QjHxFUIW5WH8FevSRIGAVtXEmBkUXF1fsqe7QvvRgQSGSJZmjDacegGg==} - engines: {node: '>=12.*'} - dependencies: - '@types/node': 20.14.14 - qs: 6.11.0 - dev: false - /strnum@1.0.5: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: false @@ -35387,24 +31603,6 @@ packages: inline-style-parser: 0.2.4 dev: false - /styled-jsx@5.1.1(@babel/core@7.24.5)(react@19.0.0-rc.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - '@babel/core': 7.24.5 - client-only: 0.0.1 - react: 19.0.0-rc.0 - dev: false - /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} @@ -35483,6 +31681,7 @@ packages: /superstruct@2.0.2: resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} engines: {node: '>=14.0.0'} + dev: true /supertest@7.0.0: resolution: {integrity: sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==} @@ -35523,14 +31722,6 @@ packages: dependencies: has-flag: 4.0.0 - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /supports-hyperlinks@3.1.0: resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} engines: {node: '>=14.18'} @@ -35561,6 +31752,7 @@ packages: locate-character: 3.0.0 magic-string: 0.30.17 zimmerframe: 1.1.2 + dev: true /swr@2.2.5(react@18.2.0): resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==} @@ -35591,18 +31783,9 @@ packages: use-sync-external-store: 1.2.2(react@19.0.0) dev: false - /swr@2.2.5(react@19.0.0-rc.0): - resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 - dependencies: - client-only: 0.0.1 - react: 19.0.0-rc.0 - use-sync-external-store: 1.2.2(react@19.0.0-rc.0) - dev: false - /swrev@4.0.0: resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==} + dev: true /swrv@1.0.4(vue@3.5.16): resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==} @@ -35610,6 +31793,7 @@ packages: vue: '>=3.2.26 < 4' dependencies: vue: 3.5.16(typescript@5.5.4) + dev: true /sync-content@2.0.1: resolution: {integrity: sha512-NI1mo514yFhr8pV/5Etvgh+pSBUIpoAKoiBIUwALVlQQNAwb40bTw8hhPFaip/dvv0GhpHVOq0vq8iY02ppLTg==} @@ -35820,6 +32004,7 @@ packages: bare-path: 3.0.0 transitivePeerDependencies: - bare-buffer + dev: true /tar-fs@3.1.0: resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==} @@ -35891,35 +32076,11 @@ packages: bintrees: 1.0.2 dev: false - /temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - dev: true - - /tempy@1.0.1: - resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} - engines: {node: '>=10'} - 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 - dev: true - /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} dev: false - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - /terser-webpack-plugin@5.3.14(@swc/core@1.3.26)(esbuild@0.15.18)(webpack@5.99.9): resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} engines: {node: '>= 10.13.0'} @@ -36067,10 +32228,6 @@ packages: xtend: 4.0.2 dev: true - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: false - /tiny-case@1.0.3: resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} @@ -36186,13 +32343,6 @@ packages: os-tmpdir: 1.0.2 dev: false - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - dependencies: - rimraf: 3.0.2 - dev: true - /tmp@0.2.3: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} @@ -36253,16 +32403,6 @@ packages: punycode: 2.2.0 dev: false - /tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} - dependencies: - psl: 1.9.0 - punycode: 2.2.0 - universalify: 0.2.0 - url-parse: 1.5.10 - dev: false - /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -36348,40 +32488,6 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - /ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 20.14.14 - acorn: 8.12.1 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.5.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - /ts-pattern@4.3.0: - resolution: {integrity: sha512-pefrkcd4lmIVR0LA49Imjf9DYLK8vtWhqBPA3Ya1ir8xCW0O2yjL9dsCVvI7pCodLC5q7smNpEtDR2yVulQxOg==} - dev: true - /ts-poet@6.6.0: resolution: {integrity: sha512-4vEH/wkhcjRPFOdBwIh9ItO6jOoumVLRF4aABDX5JSNEubSqwOulihxQPqai+OkuygJm3WYMInxXQX4QwVNMuw==} dependencies: @@ -36693,22 +32799,14 @@ packages: engines: {node: '>=10'} dev: false - /type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - dev: true - /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 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'} + dev: false /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} @@ -36718,16 +32816,12 @@ packages: /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + dev: false /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: false - /type-fest@4.33.0: resolution: {integrity: sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==} engines: {node: '>=16'} @@ -36810,86 +32904,6 @@ packages: resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} dev: false - /typeorm@0.3.20(pg@8.11.5)(sqlite3@5.1.7)(ts-node@10.9.2): - resolution: {integrity: sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==} - engines: {node: '>=16.13.0'} - hasBin: true - peerDependencies: - '@google-cloud/spanner': ^5.18.0 - '@sap/hana-client': ^2.12.25 - better-sqlite3: ^7.1.2 || ^8.0.0 || ^9.0.0 - hdb-pool: ^0.1.6 - ioredis: ^5.0.4 - mongodb: ^5.8.0 - mssql: ^9.1.1 || ^10.0.1 - mysql2: ^2.2.5 || ^3.0.1 - oracledb: ^6.3.0 - pg: ^8.5.1 - pg-native: ^3.0.0 - pg-query-stream: ^4.0.0 - redis: ^3.1.1 || ^4.0.0 - sql.js: ^1.4.0 - sqlite3: ^5.0.3 - ts-node: ^10.7.0 - typeorm-aurora-data-api-driver: ^2.0.0 - peerDependenciesMeta: - '@google-cloud/spanner': - optional: true - '@sap/hana-client': - optional: true - better-sqlite3: - optional: true - hdb-pool: - optional: true - ioredis: - optional: true - mongodb: - optional: true - mssql: - optional: true - mysql2: - optional: true - oracledb: - optional: true - pg: - optional: true - pg-native: - optional: true - pg-query-stream: - optional: true - redis: - optional: true - sql.js: - optional: true - sqlite3: - optional: true - ts-node: - optional: true - typeorm-aurora-data-api-driver: - optional: true - dependencies: - '@sqltools/formatter': 1.2.5 - app-root-path: 3.1.0 - buffer: 6.0.3 - chalk: 4.1.2 - cli-highlight: 2.1.11 - dayjs: 1.11.13 - debug: 4.3.4 - dotenv: 16.4.7 - glob: 10.3.10 - mkdirp: 2.1.6 - pg: 8.11.5 - reflect-metadata: 0.2.2 - sha.js: 2.4.11 - sqlite3: 5.1.7 - ts-node: 10.9.2(@types/node@20.14.14)(typescript@5.5.4) - tslib: 2.6.2 - uuid: 9.0.1 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - dev: false - /typescript@5.1.6: resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} engines: {node: '>=14.17'} @@ -36907,12 +32921,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - /typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - /ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} @@ -36950,13 +32958,6 @@ packages: has-symbols: 1.1.0 which-boxed-primitive: 1.0.2 - /unbzip2-stream@1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - dependencies: - buffer: 5.7.1 - through: 2.3.8 - dev: false - /uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} dev: false @@ -36980,17 +32981,7 @@ packages: engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.0.0 - - /unenv-nightly@1.10.0-1717606461.a117952: - resolution: {integrity: sha512-u3TfBX02WzbHTpaEfWEKwDijDSFAHcgXkayUZ+MVDrjhLFvgAJzFGTSTmwlEhwWi2exyRQey23ah9wELMM6etg==} - dependencies: - consola: 3.4.2 - defu: 6.1.4 - mime: 3.0.0 - node-fetch-native: 1.6.6 - pathe: 1.1.2 - ufo: 1.6.1 - dev: false + dev: true /unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -37026,39 +33017,18 @@ packages: vfile: 6.0.3 dev: false - /unique-filename@1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - requiresBuild: true - dependencies: - unique-slug: 2.0.2 - dev: false - optional: true - /unique-filename@3.0.0: resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: unique-slug: 4.0.0 - - /unique-slug@2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - requiresBuild: true - dependencies: - imurmurhash: 0.1.4 - dev: false - optional: true + dev: true /unique-slug@4.0.0: resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 - - /unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - dependencies: - crypto-random-string: 2.0.0 dev: true /unist-util-generated@2.0.0: @@ -37153,11 +33123,6 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - dev: false - /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} @@ -37167,15 +33132,6 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - /unplugin@1.0.1: - resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} - dependencies: - acorn: 8.14.1 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - dev: false - /update-browserslist-db@1.0.11(browserslist@4.21.4): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true @@ -37187,17 +33143,6 @@ packages: picocolors: 1.1.1 dev: true - /update-browserslist-db@1.1.0(browserslist@4.23.3): - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.23.3 - escalade: 3.2.0 - picocolors: 1.1.1 - dev: false - /update-browserslist-db@1.1.2(browserslist@4.24.4): resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} hasBin: true @@ -37261,17 +33206,6 @@ packages: prepend-http: 2.0.0 dev: true - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - dev: false - - /urlpattern-polyfill@10.0.0: - resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} - dev: false - /urlpattern-polyfill@9.0.0: resolution: {integrity: sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==} dev: false @@ -37374,14 +33308,6 @@ packages: react: 19.0.0 dev: false - /use-sync-external-store@1.2.2(react@19.0.0-rc.0): - resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - react: 19.0.0-rc.0 - dev: false - /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -37416,6 +33342,7 @@ packages: /uuid@9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} hasBin: true + dev: false /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} @@ -37436,22 +33363,6 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - /vali-date@1.0.0: - resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} - engines: {node: '>=0.10.0'} - dev: false - - /valibot@0.42.1(typescript@5.5.4): - resolution: {integrity: sha512-3keXV29Ar5b//Hqi4MbSdV7lfVp6zuYLZuA9V1PvQUsXqogr+u5lvLPLk3A4f74VUXDnf/JfWMN6sB+koJ/FFw==} - peerDependencies: - typescript: '>=5' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - typescript: 5.5.4 - dev: false - /valibot@1.1.0(typescript@5.5.4): resolution: {integrity: sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw==} peerDependencies: @@ -37796,6 +33707,7 @@ packages: '@vue/server-renderer': 3.5.16(vue@3.5.16) '@vue/shared': 3.5.16 typescript: 5.5.4 + dev: true /w3c-keyname@2.2.6: resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==} @@ -37892,10 +33804,6 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - dev: false - /webpack@5.88.2(@swc/core@1.3.101)(esbuild@0.19.11): resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} engines: {node: '>=10.13.0'} @@ -38054,14 +33962,6 @@ packages: isexe: 2.0.0 dev: true - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - isexe: 3.1.1 - dev: false - /why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -38071,67 +33971,10 @@ packages: stackback: 0.0.2 dev: true - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - requiresBuild: true - dependencies: - string-width: 4.2.3 - dev: false - optional: true - /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} - /workerd@1.20240806.0: - resolution: {integrity: sha512-yyNtyzTMgVY0sgYijHBONqZFVXsOFGj2jDjS8MF/RbO2ZdGROvs4Hkc/9QnmqFWahE0STxXeJ1yW1yVotdF0UQ==} - engines: {node: '>=16'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240806.0 - '@cloudflare/workerd-darwin-arm64': 1.20240806.0 - '@cloudflare/workerd-linux-64': 1.20240806.0 - '@cloudflare/workerd-linux-arm64': 1.20240806.0 - '@cloudflare/workerd-windows-64': 1.20240806.0 - dev: false - - /wrangler@3.70.0: - resolution: {integrity: sha512-aMtCEXmH02SIxbxOFGGuJ8ZemmG9W+IcNRh5D4qIKgzSxqy0mt9mRoPNPSv1geGB2/8YAyeLGPf+tB4lxz+ssg==} - engines: {node: '>=16.17.0'} - hasBin: true - peerDependencies: - '@cloudflare/workers-types': ^4.20240806.0 - peerDependenciesMeta: - '@cloudflare/workers-types': - optional: true - dependencies: - '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.1.0 - '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) - '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) - blake3-wasm: 2.1.5 - chokidar: 3.6.0 - date-fns: 3.6.0 - esbuild: 0.17.19 - miniflare: 3.20240806.0 - nanoid: 3.3.8 - path-to-regexp: 6.2.1 - resolve: 1.22.8 - resolve.exports: 2.0.2 - selfsigned: 2.4.1 - source-map: 0.6.1 - unenv: /unenv-nightly@1.10.0-1717606461.a117952 - workerd: 1.20240806.0 - xxhash-wasm: 1.0.2 - optionalDependencies: - fsevents: 2.3.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false - /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -38268,10 +34111,6 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - /xxhash-wasm@1.0.2: - resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} - dev: false - /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: false @@ -38285,6 +34124,7 @@ packages: /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -38315,6 +34155,7 @@ packages: /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} + dev: true /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} @@ -38348,6 +34189,7 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.9 + dev: true /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} @@ -38380,27 +34222,6 @@ packages: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} - /youch@3.3.3: - resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} - dependencies: - cookie: 0.5.0 - mustache: 4.2.0 - stacktracey: 2.1.8 - dev: false - - /yt-dlp-wrap@2.3.12: - resolution: {integrity: sha512-P8fJ+6M1YjukyJENCTviNLiZ8mokxprR54ho3DsSKPWDcac489OjRiStGEARJr6un6ETS6goTn4CWl/b/rM3aA==} - dev: false - - /yup@1.4.0: - resolution: {integrity: sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==} - dependencies: - property-expr: 2.0.6 - tiny-case: 1.0.3 - toposort: 2.0.2 - type-fest: 2.19.0 - dev: false - /yup@1.6.1: resolution: {integrity: sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==} dependencies: @@ -38421,23 +34242,6 @@ packages: /zimmerframe@1.1.2: resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} - - /zip-node-addon@0.0.11: - resolution: {integrity: sha512-Kr5qN0UdXn/JpMyA4wri5nzugPzGRV2MA49JW4ijr1h2aPdUp1wEDl7eqmk6FzlhDE6JlSEfey3gajVcpWsqbQ==} - requiresBuild: true - dependencies: - bindings: 1.5.0 - napi_thread_safe_promise: 1.2.6 - node-addon-api: 4.3.0 - dev: false - - /zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} - engines: {node: '>= 10'} - dependencies: - archiver-utils: 3.0.4 - compress-commons: 4.1.2 - readable-stream: 3.6.2 dev: true /zip-stream@6.0.1: @@ -38455,14 +34259,6 @@ packages: zod: 3.25.76 dev: false - /zod-to-json-schema@3.23.2(zod@3.25.76): - resolution: {integrity: sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==} - peerDependencies: - zod: ^3.23.3 - dependencies: - zod: 3.25.76 - dev: false - /zod-to-json-schema@3.24.3(zod@3.25.76): resolution: {integrity: sha512-HIAfWdYIt1sssHfYZFCXp4rU1w2r8hVVXYIlmoa0r0gABLs5di3RCqPU5DDROogVz1pAdYBaz7HK5n9pSUNs3A==} peerDependencies: diff --git a/references/bun-catalog/README.md b/references/bun-catalog/README.md index 42401b1f41..416b9f07dd 100644 --- a/references/bun-catalog/README.md +++ b/references/bun-catalog/README.md @@ -8,7 +8,7 @@ You can test v3 tasks from inside the app in this project. It's designed to be u 2. In Postgres go to the "Projects" table and for the project you create change the `externalRef` to `yubjwjsfkxnylobaqvqz`. -This is so the `trigger.config.ts` file inside the v3-catalog doesn't keep getting changed by people accidentally pushing this. +This is so the `trigger.config.ts` file inside the hello-world doesn't keep getting changed by people accidentally pushing this. ## How to use @@ -24,10 +24,10 @@ pnpm run dev --filter webapp pnpm run build --filter trigger.dev ``` -3. CD into the v3-catalog directory +3. CD into the hello-world directory ```bash -cd references/v3-catalog +cd references/hello-world ``` 4. If you've never logged in to the CLI you'll see an error telling you to login. Do this: @@ -54,4 +54,4 @@ pnpm exec trigger dev 7. Go to the webapp now and inside your project you should see some tasks on the "Tasks" page. -8. Go to the "Test" page in the sidebar and select a task. Then enter a payload and click "Run test". You can tell what the payloads should be by looking at the relevant task file inside the `/references/v3-catalog/src/trigger` folder. Many of them accept an empty payload. +8. Go to the "Test" page in the sidebar and select a task. Then enter a payload and click "Run test". You can tell what the payloads should be by looking at the relevant task file inside the `/references/hello-world/src/trigger` folder. Many of them accept an empty payload. diff --git a/references/v3-catalog/.env.example b/references/v3-catalog/.env.example deleted file mode 100644 index fa02fca1d7..0000000000 --- a/references/v3-catalog/.env.example +++ /dev/null @@ -1,7 +0,0 @@ -TRIGGER_SECRET_KEY= -TRIGGER_API_URL= -OPENAI_API_KEY="My API Key" -UPLOADTHING_SECRET="My Secret" -UPLOADTHING_APP_ID="My App ID" -DATABASE_URL=postgresql://postgres:postgres@localhost:5432/v3-catalog-prisma?schema=public -DATABASE_URL_UNPOOLED=postgresql://postgres:postgres@localhost:5432/v3-catalog-prisma?schema=public diff --git a/references/v3-catalog/.gitignore b/references/v3-catalog/.gitignore deleted file mode 100644 index 6524f048dc..0000000000 --- a/references/v3-catalog/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.trigger \ No newline at end of file diff --git a/references/v3-catalog/.uploadable-env b/references/v3-catalog/.uploadable-env deleted file mode 100644 index b61445517c..0000000000 --- a/references/v3-catalog/.uploadable-env +++ /dev/null @@ -1,2 +0,0 @@ -THIS_IS_MY_KEY=1234567890 -ANOTHER_KEY=0987654321 \ No newline at end of file diff --git a/references/v3-catalog/README.md b/references/v3-catalog/README.md deleted file mode 100644 index 42401b1f41..0000000000 --- a/references/v3-catalog/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# The v3 catalog - -You can test v3 tasks from inside the app in this project. It's designed to be used for testing features and functionality of the v3 SDK. - -## One-time setup - -1. Create a v3 project in the UI of the webapp, you should now be able to select it from the dropdown. - -2. In Postgres go to the "Projects" table and for the project you create change the `externalRef` to `yubjwjsfkxnylobaqvqz`. - -This is so the `trigger.config.ts` file inside the v3-catalog doesn't keep getting changed by people accidentally pushing this. - -## How to use - -1. Make sure you're running the main webapp - -```bash -pnpm run dev --filter webapp -``` - -2. Build the v3 CLI (this needs to be done everytime a code changes is made to the CLI if you're working on it) - -```bash -pnpm run build --filter trigger.dev -``` - -3. CD into the v3-catalog directory - -```bash -cd references/v3-catalog -``` - -4. If you've never logged in to the CLI you'll see an error telling you to login. Do this: - -```bash -pnpm exec trigger login -a http://localhost:3030 -``` - -If this fails because you already are logged in you can create a new profile: - -```bash -pnpm exec trigger login -a http://localhost:3030 --profile local -``` - -Note: if you use a profile then you'll need to append `--profile local` to all commands, like `dev`. - -5. Run the v3 CLI - -```bash -pnpm exec trigger dev -``` - -6. You should see the v3 dev command spitting out messages, including that it's started a background worker. - -7. Go to the webapp now and inside your project you should see some tasks on the "Tasks" page. - -8. Go to the "Test" page in the sidebar and select a task. Then enter a payload and click "Run test". You can tell what the payloads should be by looking at the relevant task file inside the `/references/v3-catalog/src/trigger` folder. Many of them accept an empty payload. diff --git a/references/v3-catalog/package.json b/references/v3-catalog/package.json deleted file mode 100644 index b637520197..0000000000 --- a/references/v3-catalog/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "name": "references-v3-catalog", - "private": true, - "type": "module", - "zenstack": { - "schema": "./prisma/schema.zmodel" - }, - "scripts": { - "dev": "trigger dev", - "deploy": "trigger deploy --self-hosted --load-image", - "management": "tsx -r dotenv/config ./src/management.ts", - "queues": "ts-node -r dotenv/config -r tsconfig-paths/register ./src/queues.ts", - "build:client": "tsup-node ./src/clientUsage.ts --format esm,cjs", - "client": "tsx -r dotenv/config ./src/clientUsage.ts", - "triggerWithLargePayload": "tsx -r dotenv/config ./src/triggerWithLargePayload.ts", - "generate:prisma": "prisma generate --sql" - }, - "dependencies": { - "@1password/sdk": "^0.3.0", - "@effect/schema": "^0.75.5", - "@infisical/sdk": "^2.3.5", - "@opentelemetry/api": "1.4.1", - "@prisma/client": "5.19.0", - "@react-email/components": "0.0.24", - "@react-email/render": "1.0.1", - "@sentry/esbuild-plugin": "^2.22.2", - "@sinclair/typebox": "^0.33.17", - "@sindresorhus/slugify": "^2.2.1", - "@t3-oss/env-core": "^0.11.0", - "@t3-oss/env-nextjs": "^0.10.1", - "@traceloop/instrumentation-openai": "^0.10.0", - "@trigger.dev/sdk": "workspace:*", - "@typeschema/typebox": "^0.14.0", - "ai": "^3.3.24", - "arktype": "2.0.0-rc.17", - "bcrypt": "^6.0.0", - "canvas": "^3.1.0", - "dotenv": "^16.4.5", - "email-reply-parser": "^1.8.0", - "execa": "^8.0.1", - "fluent-ffmpeg": "^2.1.3", - "header-generator": "^2.1.55", - "kysely": "^0.27.4", - "msw": "^2.2.1", - "mupdf": "^1.3.6", - "openai": "^4.47.0", - "pg": "^8.11.5", - "playwright": "^1.50.1", - "puppeteer": "^23.4.0", - "react": "19.0.0-rc.0", - "react-email": "^3.0.1", - "reflect-metadata": "^0.1.13", - "runtypes": "^6.7.0", - "server-only": "^0.0.1", - "sharp": "^0.34.2", - "sqlite3": "^5.1.7", - "stripe": "^12.14.0", - "superstruct": "^2.0.2", - "typeorm": "^0.3.20", - "valibot": "^0.42.1", - "wrangler": "3.70.0", - "yt-dlp-wrap": "^2.3.12", - "yup": "^1.4.0", - "zip-node-addon": "^0.0.11", - "zod": "3.25.76" - }, - "devDependencies": { - "@opentelemetry/api": "^1.8.0", - "@opentelemetry/core": "^1.22.0", - "@opentelemetry/exporter-logs-otlp-http": "^0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "^0.49.1", - "@opentelemetry/instrumentation": "^0.49.1", - "@opentelemetry/instrumentation-express": "^0.36.1", - "@opentelemetry/instrumentation-fetch": "^0.49.1", - "@opentelemetry/instrumentation-http": "^0.49.1", - "@opentelemetry/instrumentation-undici": "0.2.0", - "@opentelemetry/resources": "^1.22.0", - "@opentelemetry/sdk-logs": "^0.49.1", - "@opentelemetry/sdk-node": "^0.49.1", - "@opentelemetry/sdk-trace-base": "^1.22.0", - "@opentelemetry/sdk-trace-node": "^1.22.0", - "@opentelemetry/semantic-conventions": "^1.22.0", - "@trigger.dev/build": "workspace:*", - "@trigger.dev/python": "workspace:*", - "@types/bcrypt": "^5.0.2", - "@types/email-reply-parser": "^1.4.2", - "@types/fluent-ffmpeg": "^2.1.26", - "@types/react": "^18.3.1", - "esbuild": "^0.19.11", - "prisma": "5.19.0", - "prisma-kysely": "^1.8.0", - "trigger.dev": "workspace:*", - "ts-node": "^10.9.2", - "tsconfig-paths": "^4.2.0" - } -} \ No newline at end of file diff --git a/references/v3-catalog/prisma/migrations/20240821142001_add_initial_schema/migration.sql b/references/v3-catalog/prisma/migrations/20240821142001_add_initial_schema/migration.sql deleted file mode 100644 index af34bdc639..0000000000 --- a/references/v3-catalog/prisma/migrations/20240821142001_add_initial_schema/migration.sql +++ /dev/null @@ -1,20 +0,0 @@ --- CreateTable -CREATE TABLE "Post" ( - "id" SERIAL NOT NULL, - "title" TEXT NOT NULL, - "content" TEXT NOT NULL, - "authorId" INTEGER NOT NULL, - - CONSTRAINT "Post_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "User" ( - "id" SERIAL NOT NULL, - "name" TEXT NOT NULL, - - CONSTRAINT "User_pkey" PRIMARY KEY ("id") -); - --- AddForeignKey -ALTER TABLE "Post" ADD CONSTRAINT "Post_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/references/v3-catalog/prisma/migrations/migration_lock.toml b/references/v3-catalog/prisma/migrations/migration_lock.toml deleted file mode 100644 index fbffa92c2b..0000000000 --- a/references/v3-catalog/prisma/migrations/migration_lock.toml +++ /dev/null @@ -1,3 +0,0 @@ -# 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 diff --git a/references/v3-catalog/prisma/schema/post.prisma b/references/v3-catalog/prisma/schema/post.prisma deleted file mode 100644 index 0daf663ad4..0000000000 --- a/references/v3-catalog/prisma/schema/post.prisma +++ /dev/null @@ -1,8 +0,0 @@ -// post.prisma -model Post { - id Int @id @default(autoincrement()) - title String - content String - authorId Int - author User @relation(fields: [authorId], references: [id]) -} diff --git a/references/v3-catalog/prisma/schema/schema.prisma b/references/v3-catalog/prisma/schema/schema.prisma deleted file mode 100644 index 0834802c1f..0000000000 --- a/references/v3-catalog/prisma/schema/schema.prisma +++ /dev/null @@ -1,23 +0,0 @@ -// This is your Prisma schema file, -// learn more about it in the docs: https://pris.ly/d/prisma-schema - -// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions? -// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init - -generator client { - provider = "prisma-client-js" - previewFeatures = ["prismaSchemaFolder", "typedSql"] -} - -datasource db { - provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DATABASE_URL_UNPOOLED") -} - -generator kysely { - provider = "prisma-kysely" - output = "../../src/kysely" - enumFileName = "enums.ts" - fileName = "types.ts" -} diff --git a/references/v3-catalog/prisma/schema/user.prisma b/references/v3-catalog/prisma/schema/user.prisma deleted file mode 100644 index 5327f39824..0000000000 --- a/references/v3-catalog/prisma/schema/user.prisma +++ /dev/null @@ -1,6 +0,0 @@ -// user.prisma -model User { - id Int @id @default(autoincrement()) - name String - posts Post[] -} diff --git a/references/v3-catalog/prisma/sql/getUsersWithPosts.sql b/references/v3-catalog/prisma/sql/getUsersWithPosts.sql deleted file mode 100644 index 8f0cb3576d..0000000000 --- a/references/v3-catalog/prisma/sql/getUsersWithPosts.sql +++ /dev/null @@ -1,10 +0,0 @@ -SELECT - u.id, - u.name, - COUNT(p.id) as "postCount" -FROM - "User" u - LEFT JOIN "Post" p ON u.id = p."authorId" -GROUP BY - u.id, - u.name; \ No newline at end of file diff --git a/references/v3-catalog/src/clientUsage.ts b/references/v3-catalog/src/clientUsage.ts deleted file mode 100644 index 9cb0b38e1b..0000000000 --- a/references/v3-catalog/src/clientUsage.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { auth, runs, tasks } from "@trigger.dev/sdk/v3"; -import type { task1, zodTask } from "./trigger/taskTypes.js"; -import { randomUUID } from "crypto"; - -async function main() { - const userId = randomUUID(); - - const anyHandle = await tasks.trigger( - "types/task-1", - { - foo: "baz", - }, - { - tags: [`user:${userId}`], - }, - { - publicAccessToken: { - expirationTime: "24hr", - }, - } - ); - - console.log("Auto JWT", anyHandle.publicAccessToken); - - const publicToken = await auth.createPublicToken({ - scopes: { - read: { - runs: true, - }, - }, - }); - - await auth.withAuth({ accessToken: anyHandle.publicAccessToken }, async () => { - const subscription = runs.subscribeToRunsWithTag( - `user:${userId}` - ); - - for await (const run of subscription) { - switch (run.taskIdentifier) { - case "types/task-1": { - console.log("Run update:", run); - console.log("Output:", run.output); - console.log("Payload:", run.payload); - break; - } - case "types/zod": { - console.log("Run update:", run); - console.log("Output:", run.output); - console.log("Payload:", run.payload); - break; - } - } - } - }); -} - -main().catch(console.error); diff --git a/references/v3-catalog/src/db.ts b/references/v3-catalog/src/db.ts deleted file mode 100644 index 5e029ca062..0000000000 --- a/references/v3-catalog/src/db.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { PrismaClient } from "@prisma/client"; -import { getUsersWithPosts } from "@prisma/client/sql"; - -export const prisma = new PrismaClient(); - -export { getUsersWithPosts }; diff --git a/references/v3-catalog/src/env.ts b/references/v3-catalog/src/env.ts deleted file mode 100644 index ddacb5bd8c..0000000000 --- a/references/v3-catalog/src/env.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { createEnv } from "@t3-oss/env-core"; -import { z } from "zod"; - -export const env = createEnv({ - server: { - UPLOADTHING_SECRET: z.string(), - UPLOADTHING_APP_ID: z.string(), - OPENAI_API_KEY: z.string(), - }, - - runtimeEnv: process.env, - emptyStringAsUndefined: true, -}); diff --git a/references/v3-catalog/src/kysely/types.ts b/references/v3-catalog/src/kysely/types.ts deleted file mode 100644 index fb51144057..0000000000 --- a/references/v3-catalog/src/kysely/types.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { ColumnType } from "kysely"; -export type Generated = T extends ColumnType - ? ColumnType - : ColumnType; -export type Timestamp = ColumnType; - -export type Post = { - id: Generated; - title: string; - content: string; - authorId: number; -}; -export type User = { - id: Generated; - name: string; -}; -export type DB = { - Post: Post; - User: User; -}; diff --git a/references/v3-catalog/src/management.ts b/references/v3-catalog/src/management.ts deleted file mode 100644 index efa486573a..0000000000 --- a/references/v3-catalog/src/management.ts +++ /dev/null @@ -1,424 +0,0 @@ -import { configure, envvars, runs, schedules, batch, auth } from "@trigger.dev/sdk/v3"; -import dotenv from "dotenv"; -import { unfriendlyIdTask } from "./trigger/other.js"; -import { spamRateLimiter, taskThatErrors } from "./trigger/retries.js"; -import { firstScheduledTask } from "./trigger/scheduled.js"; -import { simpleChildTask } from "./trigger/subtasks.js"; - -dotenv.config(); - -async function doSpamRateLimiter() { - // Trigger 10 runs - await spamRateLimiter.batchTrigger( - Array.from({ length: 10 }, (_, i) => ({ payload: { runId: "run_pxxs52j3geik6cj6j8piq" } })) - ); -} - -// doSpamRateLimiter().catch(console.error); - -async function doEnvVars() { - configure({ - secretKey: process.env.TRIGGER_ACCESS_TOKEN, - requestOptions: { - retry: { - maxAttempts: 1, - }, - }, - }); - - const response1 = await envvars.upload("yubjwjsfkxnylobaqvqz", "dev", { - variables: { - MY_ENV_VAR: "MY_ENV_VAR_VALUE", - }, - override: true, - }); - - console.log("response1", response1); - - const envVars = await envvars.list("yubjwjsfkxnylobaqvqz", "dev"); - - console.log("envVars", envVars); - - const createResponse = await envvars.create("yubjwjsfkxnylobaqvqz", "dev", { - name: "MY_ENV_VAR_CREATE", - value: "MY_ENV_VAR_VALUE_CREATE", - }); - - console.log("createResponse", createResponse); - - const retrieveResponse = await envvars.retrieve( - "yubjwjsfkxnylobaqvqz", - "dev", - "MY_ENV_VAR_CREATE" - ); - - console.log("retrieveResponse", retrieveResponse); - - const updateResponse = await envvars.update("yubjwjsfkxnylobaqvqz", "dev", "MY_ENV_VAR_CREATE", { - value: "MY_ENV_VAR_VALUE_CREATE_UPDATED", - }); - - console.log("updateResponse", updateResponse); - - const deleteResponse = await envvars.del("yubjwjsfkxnylobaqvqz", "dev", "MY_ENV_VAR_CREATE"); - - console.log("deleteResponse", deleteResponse); -} - -async function doRuns() { - const run = await simpleChildTask.trigger({ message: "Hello, World!" }); - - const retrievedRun = await runs.retrieve(run.id); - console.log("retrieved run", retrievedRun); - - const completedRun = await waitForRunToComplete(run.id); - console.log("completed run", completedRun); - - const failingRun = await taskThatErrors.trigger({ message: "Hello, World!" }); - const failedRun = await waitForRunToComplete(failingRun.id); - - console.log("failed run", failedRun); - - const replayableRun = await runs.replay(failedRun.id); - const replayedRun = await waitForRunToExecute(replayableRun.id); - - console.log("replayed run", replayedRun); - - const canceledRun = await runs.cancel(replayedRun.id); - const canceledRunResult = await waitForRunToComplete(canceledRun.id); - - console.log("canceled run", canceledRunResult); -} - -async function doListRuns() { - let pageCount = 0; - - let page = await runs.list( - { - limit: 100, - }, - { - retry: { - maxAttempts: 1, - }, - } - ); - - console.log(`run page #${++pageCount}, with ${page.data.length} runs`); - - // Convenience methods are provided for manually paginating: - while (page.hasNextPage()) { - page = await page.getNextPage(); - console.log(`run page #${++pageCount}`); - } - - while (page.hasPreviousPage()) { - page = await page.getPreviousPage(); - console.log(`run page #${--pageCount}`); - } - - for await (const run of runs.list({ - status: ["COMPLETED"], - period: "1y", - })) { - console.log(run); - } - - let withResponse = await runs - .list({ - limit: 100, - }) - .withResponse(); - - console.log( - "withResponse", - withResponse.response.status, - withResponse.response.headers, - withResponse.data.data.length - ); - - configure({ - secretKey: process.env.TRIGGER_ACCESS_TOKEN, - }); - - for await (const run of runs.list("yubjwjsfkxnylobaqvqz", { - status: ["COMPLETED"], - period: "1y", - env: ["dev", "staging", "prod"], - })) { - console.log(run.env.name, run.isTest, run.id, run.status, run.createdAt); - } -} - -async function waitForRunToComplete(runId: string) { - let run = await runs.retrieve(runId); - - while (!run.isCompleted) { - console.log("run is not completed, waiting...", run); - await new Promise((resolve) => setTimeout(resolve, 2000)); - run = await runs.retrieve(runId); - } - - console.log("run is completed", run); - - return run; -} - -async function waitForRunToExecute(runId: string) { - let run = await runs.retrieve(runId); - - while (!run.isExecuting) { - console.log("run is not executing, waiting...", run); - await new Promise((resolve) => setTimeout(resolve, 2000)); - run = await runs.retrieve(runId); - } - - console.log("run is executing", run); - - return run; -} - -async function doSchedules() { - const allSchedules = await schedules.list(); - - console.log("all schedules", allSchedules); - - // Create a schedule - const createdSchedule = await schedules.create({ - task: firstScheduledTask.id, - cron: "0 0 * * *", - externalId: "ext_1234444", - deduplicationKey: "dedup_1234444", - }); - - console.log("created schedule", createdSchedule); - - const retrievedSchedule = await schedules.retrieve(createdSchedule.id); - - console.log("retrieved schedule", retrievedSchedule); - - const updatedSchedule = await schedules.update(createdSchedule.id, { - task: firstScheduledTask.id, - cron: "0 0 1 * *", - externalId: "ext_1234444", - }); - - console.log("updated schedule", updatedSchedule); - - const deactivatedSchedule = await schedules.deactivate(createdSchedule.id); - - console.log("deactivated schedule", deactivatedSchedule); - - const activatedSchedule = await schedules.activate(createdSchedule.id); - - console.log("activated schedule", activatedSchedule); - - const deletedSchedule = await schedules.del(createdSchedule.id); - - console.log("deleted schedule", deletedSchedule); -} - -async function doScheduleLists() { - let pageCount = 0; - - let page = await schedules.list({ - perPage: 2, - }); - - console.log(`schedule page #${++pageCount}`); - - // Convenience methods are provided for manually paginating: - while (page.hasNextPage()) { - page = await page.getNextPage(); - console.log(`schedule page #${++pageCount}`); - } - - while (page.hasPreviousPage()) { - page = await page.getPreviousPage(); - console.log(`schedule page #${--pageCount}`); - } - - for await (const schedule of schedules.list({ - perPage: 2, - })) { - console.log(schedule.id, schedule.task, schedule.generator); - } -} - -async function doTriggerUnfriendlyTaskId() { - const run = await unfriendlyIdTask.trigger(); - - console.log("unfriendly id task run", run); - - const completedRun = await waitForRunToComplete(run.id); - - console.log("completed run", completedRun); -} - -async function doBatchTrigger() { - const response = await batch.triggerByTask([ - { task: simpleChildTask, payload: { message: "Hello, World!" } }, - ]); - - console.log("batch trigger response", response); - - const $batch = await batch.retrieve(response.batchId); - - console.log("batch", $batch); - - const $runs = await runs.list({ batch: response.batchId }); - - console.log("batch runs", $runs.data); -} - -async function doRescheduleRun() { - const run = await simpleChildTask.trigger({ message: "Hello, World!" }, { delay: "1h" }); - - console.log("run", run); - - const reschedule = await runs.reschedule(run.id, { - delay: "1s", - }); - - console.log("reschedule", reschedule); - - const rescheduledRun = await waitForRunToComplete(reschedule.id); - - console.log("rescheduled run", rescheduledRun); -} - -async function doOneTimeUseTrigger() { - console.log("Testing with one-time use token"); - - try { - await auth.withTriggerPublicToken(simpleChildTask.id, {}, async () => { - const run1 = await simpleChildTask.trigger({ message: "Hello, World!" }); - - console.log("run1", run1); - - const run2 = await simpleChildTask.trigger({ message: "Hello, World!" }); - - console.log("run2", run2); - }); - } catch (error) { - console.error(error); - } - - console.log("Testing with deprecated public token"); - - try { - await auth.withPublicToken( - { - scopes: { - write: { - tasks: simpleChildTask.id, - }, - }, - }, - async () => { - const run1 = await simpleChildTask.trigger({ message: "Hello, World!" }); - } - ); - } catch (error) { - console.error(error); - } - - console.log("Testing with trigger public token"); - - try { - await auth.withPublicToken( - { - scopes: { - trigger: { - tasks: simpleChildTask.id, - }, - }, - }, - async () => { - const run1 = await simpleChildTask.trigger({ message: "Hello, World!" }); - - console.log("run1", run1); - - const run2 = await simpleChildTask.trigger({ message: "Hello, World!" }); - - console.log("run2", run2); - } - ); - } catch (error) { - console.error(error); - } - - console.log("Testing with a one-time use token for the wrong task"); - - try { - await auth.withTriggerPublicToken("wrong-task-id", {}, async () => { - const run1 = await simpleChildTask.trigger({ message: "Hello, World!" }); - - console.log("run1", run1); - }); - } catch (error) { - console.error(error); - } - - console.log("Testing with a public token for the wrong task"); - - try { - await auth.withPublicToken( - { - scopes: { - write: { - tasks: "wrong-task-id", - }, - }, - }, - async () => { - const run1 = await simpleChildTask.trigger({ message: "Hello, World!" }); - - console.log("run1", run1); - } - ); - } catch (error) { - console.error(error); - } - - console.log("Testing batch trigger with one-time use token"); - - try { - await auth.withBatchTriggerPublicToken(simpleChildTask.id, {}, async () => { - const batch1 = await batch.triggerByTask([ - { task: simpleChildTask, payload: { message: "Hello, World!" } }, - ]); - - console.log("batch1", batch1); - - const batch2 = await batch.triggerByTask([ - { task: simpleChildTask, payload: { message: "Hello, World!" } }, - ]); - }); - } catch (error) { - console.error(error); - } - - console.log("Testing batch trigger with a trigger token"); - - try { - await auth.withTriggerPublicToken(simpleChildTask.id, {}, async () => { - const batch1 = await batch.triggerByTask([ - { task: simpleChildTask, payload: { message: "Hello, World!" } }, - ]); - - console.log("batch1", batch1); - }); - } catch (error) { - console.error(error); - } -} - -// doRuns().catch(console.error); -// doListRuns().catch(console.error); -// doScheduleLists().catch(console.error); -// doBatchTrigger().catch(console.error); -// doEnvVars().catch(console.error); -// doTriggerUnfriendlyTaskId().catch(console.error); -// doRescheduleRun().catch(console.error); -doOneTimeUseTrigger().catch(console.error); diff --git a/references/v3-catalog/src/queues.ts b/references/v3-catalog/src/queues.ts deleted file mode 100644 index 54bb84877b..0000000000 --- a/references/v3-catalog/src/queues.ts +++ /dev/null @@ -1,72 +0,0 @@ -import dotenv from "dotenv"; -import { setTimeout } from "timers/promises"; -import { simpleChildTask } from "./trigger/subtasks.js"; - -dotenv.config(); - -export async function run() { - await simpleChildTask.trigger({ message: "Regular queue" }); - await simpleChildTask.trigger( - { message: "Simple alt queue 1" }, - { - queue: { - name: "queue-concurrency-3", - concurrencyLimit: 1, - }, - } - ); - await simpleChildTask.trigger( - { message: "Simple alt queue 2" }, - { - queue: { - name: "queue-concurrency-3", - concurrencyLimit: 1, - }, - } - ); - - await simpleChildTask.batchTrigger([{ payload: { message: "Regular queue" } }]); - await simpleChildTask.batchTrigger([ - { - payload: { message: "Batched alt queue 1" }, - options: { - queue: { - name: "queue-concurrency-3", - concurrencyLimit: 1, - }, - }, - }, - { - payload: { message: "Batched alt queue 2" }, - options: { - queue: { - name: "queue-concurrency-3", - concurrencyLimit: 1, - }, - }, - }, - { - payload: { message: "Batched alt queue 3" }, - options: { - queue: { - name: "queue-concurrency-3", - concurrencyLimit: 1, - }, - }, - }, - ]); - - await setTimeout(10_000); - - //this should set the concurrencyLimit back to none - await simpleChildTask.trigger( - { message: "Simple alt queue 2" }, - { - queue: { - name: "queue-concurrency-3", - }, - } - ); -} - -run().catch(console.error); diff --git a/references/v3-catalog/src/telemetry.ts b/references/v3-catalog/src/telemetry.ts deleted file mode 100644 index 105c9e40ca..0000000000 --- a/references/v3-catalog/src/telemetry.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { trace } from "@opentelemetry/api"; - -export const tracer = trace.getTracer("v3-catalog", "3.0.0.dp.1"); - -export function traceAsync(name: string, fn: () => Promise): Promise { - return tracer.startActiveSpan(name, async (span) => { - try { - return await fn(); - } finally { - span.end(); - } - }); -} diff --git a/references/v3-catalog/src/tracer.ts b/references/v3-catalog/src/tracer.ts deleted file mode 100644 index f3394d766e..0000000000 --- a/references/v3-catalog/src/tracer.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { DiagConsoleLogger, DiagLogLevel, diag } from "@opentelemetry/api"; -import { InstrumentationOption, registerInstrumentations } from "@opentelemetry/instrumentation"; -import { FetchInstrumentation } from "@opentelemetry/instrumentation-fetch"; -import { HttpInstrumentation } from "@opentelemetry/instrumentation-http"; -import { UndiciInstrumentation } from "@opentelemetry/instrumentation-undici"; -import { Resource } from "@opentelemetry/resources"; -import { ConsoleSpanExporter, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base"; -import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node"; -import { SEMRESATTRS_SERVICE_NAME } from "@opentelemetry/semantic-conventions"; - -export const tracer = getTracer(); - -function getTracer() { - diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ERROR); - - const provider = new NodeTracerProvider({ - forceFlushTimeoutMillis: 500, - resource: new Resource({ - [SEMRESATTRS_SERVICE_NAME]: "v3-catalog", - }), - }); - - const loggerExporter = new ConsoleSpanExporter(); - provider.addSpanProcessor(new SimpleSpanProcessor(loggerExporter)); - - provider.register(); - - let instrumentations: InstrumentationOption[] = [ - new HttpInstrumentation(), - new FetchInstrumentation(), - new UndiciInstrumentation(), - ]; - - registerInstrumentations({ - tracerProvider: provider, - instrumentations, - }); - - return provider.getTracer("v3-catalog", "3.0.0.dp.1"); -} diff --git a/references/v3-catalog/src/trigger/batch.ts b/references/v3-catalog/src/trigger/batch.ts deleted file mode 100644 index 032c6ddaee..0000000000 --- a/references/v3-catalog/src/trigger/batch.ts +++ /dev/null @@ -1,844 +0,0 @@ -import { Equal, Expect } from "@/utils/types.js"; -import { - AnyRealtimeRun, - auth, - batch, - idempotencyKeys, - logger, - runs, - task, - tasks, - wait, -} from "@trigger.dev/sdk/v3"; -import assert from "node:assert"; -import { randomUUID } from "node:crypto"; -import { setTimeout } from "node:timers/promises"; - -export const batchParentTask = task({ - id: "batch-parent-task", - run: async (payload: { size?: number; wait?: boolean }) => { - const items = Array.from({ length: payload.size ?? 10 }, (_, i) => ({ - payload: { - id: `item${i}`, - name: `Item Name ${i}`, - description: `This is a description for item ${i}`, - value: i, - timestamp: new Date().toISOString(), - foo: { - id: `item${i}`, - name: `Item Name ${i}`, - description: `This is a description for item ${i}`, - value: i, - timestamp: new Date().toISOString(), - }, - bar: { - id: `item${i}`, - name: `Item Name ${i}`, - description: `This is a description for item ${i}`, - value: i, - timestamp: new Date().toISOString(), - }, - }, - options: { - idempotencyKey: `item${i}`, - }, - })); - - return payload.wait - ? await batchChildTask.batchTriggerAndWait(items.map((i) => ({ payload: i.payload }))) - : await batchChildTask.batchTrigger(items); - }, -}); - -export const triggerWithQueue = task({ - id: "trigger-with-queue", - run: async () => { - await batchChildTask.trigger( - {}, - { - queue: { - name: "batch-queue-foo", - concurrencyLimit: 10, - }, - } - ); - }, -}); - -export const batchParentWitFailsTask = task({ - id: "batch-parent-with-fails-task", - retry: { - maxAttempts: 1, - }, - run: async () => { - const response = await taskThatFails.batchTriggerAndWait([ - { payload: false }, - { payload: true }, - { payload: false }, - ]); - - logger.info("Batch response", { response }); - - const respone2 = await taskThatFails.batchTriggerAndWait([ - { payload: true }, - { payload: false }, - { payload: true }, - ]); - - logger.info("Batch response2", { respone2 }); - }, -}); - -export const batchChildTask = task({ - id: "batch-child-task", - retry: { - maxAttempts: 2, - }, - run: async (payload: any, { ctx }) => { - logger.info("Processing child task", { payload }); - - await wait.for({ seconds: 1 }); - - return `${payload} - processed`; - }, -}); - -export const taskThatFails = task({ - id: "task-that-fails", - retry: { - maxAttempts: 2, - }, - run: async (fail: boolean) => { - logger.info(`Will fail ${fail}`); - - if (fail) { - throw new Error("Task failed"); - } - - return { - foo: "bar", - }; - }, -}); - -export const allV2TestTask = task({ - id: "all-v2-test", - retry: { - maxAttempts: 1, - }, - run: async ({ triggerSequentially }: { triggerSequentially?: boolean }, { ctx }) => { - const response1 = await batch.trigger( - [ - { - id: "all-v2-test-child-1", - payload: { child1: "foo" }, - options: { idempotencyKey: randomUUID() }, - }, - { - id: "all-v2-test-child-2", - payload: { child2: "bar" }, - options: { idempotencyKey: randomUUID() }, - }, - { - id: "all-v2-test-child-1", - payload: { child1: "baz" }, - options: { idempotencyKey: randomUUID() }, - }, - ], - { - triggerSequentially, - } - ); - - logger.debug("Response 1", { response1 }); - - for (const run of response1.runs) { - switch (run.taskIdentifier) { - case "all-v2-test-child-1": { - const run1 = await runs.retrieve(run); - - type Run1Payload = Expect>; - type Run1Output = Expect>; - - break; - } - case "all-v2-test-child-2": { - const run2 = await runs.retrieve(run); - - type Run2Payload = Expect>; - type Run2Output = Expect>; - - break; - } - } - } - - const { - runs: [batchRun1, batchRun2, batchRun3], - } = await batch.triggerByTask( - [ - { task: allV2ChildTask1, payload: { child1: "foo" } }, - { task: allV2ChildTask2, payload: { child2: "bar" } }, - { task: allV2ChildTask1, payload: { child1: "baz" } }, - ], - { - triggerSequentially, - } - ); - - logger.debug("Batch runs", { batchRun1, batchRun2, batchRun3 }); - - const taskRun1 = await runs.retrieve(batchRun1); - - type TaskRun1Payload = Expect>; - type TaskRun1Output = Expect>; - - const taskRun2 = await runs.retrieve(batchRun2); - - type TaskRun2Payload = Expect>; - type TaskRun2Output = Expect>; - - const taskRun3 = await runs.retrieve(batchRun3); - - type TaskRun3Payload = Expect>; - type TaskRun3Output = Expect>; - - const response3 = await batch.triggerAndWait( - [ - { id: "all-v2-test-child-1", payload: { child1: "foo" } }, - { id: "all-v2-test-child-2", payload: { child2: "bar" } }, - { id: "all-v2-test-child-1", payload: { child1: "baz" } }, - ], - { - triggerSequentially, - } - ); - - logger.debug("Response 3", { response3 }); - - for (const run of response3.runs) { - if (run.ok) { - switch (run.taskIdentifier) { - case "all-v2-test-child-1": { - type Run1Output = Expect>; - - break; - } - case "all-v2-test-child-2": { - type Run2Output = Expect>; - - break; - } - } - } - } - - for (const run of response3.runs) { - switch (run.taskIdentifier) { - case "all-v2-test-child-1": { - if (run.ok) { - type Run1Output = Expect>; - } - - break; - } - case "all-v2-test-child-2": { - if (run.ok) { - type Run2Output = Expect>; - } - - break; - } - } - } - - const { - runs: [batch2Run1, batch2Run2, batch2Run3], - } = await batch.triggerByTaskAndWait( - [ - { task: allV2ChildTask1, payload: { child1: "foo" } }, - { task: allV2ChildTask2, payload: { child2: "bar" } }, - { task: allV2ChildTask1, payload: { child1: "baz" } }, - ], - { - triggerSequentially, - } - ); - - logger.debug("Batch 2 runs", { batch2Run1, batch2Run2, batch2Run3 }); - - if (batch2Run1.ok) { - type Batch2Run1Output = Expect>; - } - - if (batch2Run2.ok) { - type Batch2Run2Output = Expect>; - } - - if (batch2Run3.ok) { - type Batch2Run3Output = Expect>; - } - }, -}); - -export const allV2ChildTask1 = task({ - id: "all-v2-test-child-1", - retry: { - maxAttempts: 1, - }, - run: async (payload: { child1: string }) => { - return { - foo: "bar", - }; - }, -}); - -export const allV2ChildTask2 = task({ - id: "all-v2-test-child-2", - retry: { - maxAttempts: 1, - }, - run: async (payload: { child2: string }) => { - return { - bar: "baz", - }; - }, -}); - -export const batchV2TestTask = task({ - id: "batch-v2-test", - retry: { - maxAttempts: 1, - }, - run: async ({ - triggerSequentially, - largeBatchSize = 20, - }: { - triggerSequentially?: boolean; - largeBatchSize?: number; - }) => { - // First lets try triggering with too many items - try { - await tasks.batchTrigger( - "batch-v2-test-child", - Array.from({ length: 501 }, (_, i) => ({ - payload: { foo: `bar${i}` }, - })), - { - triggerSequentially, - } - ); - - assert.fail("Batch trigger should have failed"); - } catch (error: any) { - assert.equal( - error.message, - '400 "Batch size of 501 is too large. Maximum allowed batch size is 500."', - "Batch trigger failed with wrong error" - ); - } - - // TODO tests: - // tasks.batchTrigger - // tasks.batchTriggerAndWait - // myTask.batchTriggerAndWait - const response1 = await batchV2TestChild.batchTrigger( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - triggerSequentially, - } - ); - - logger.info("Response 1", { response1 }); - - // Check that the batch ID matches this kind of ID: batch_g5obektq4xv699mq7eb9q - assert.match(response1.batchId, /^batch_[a-z0-9]{21}$/, "response1: Batch ID is invalid"); - assert.equal(response1.runs.length, 2, "response1: Items length is invalid"); - assert.match(response1.runs[0].id, /^run_[a-z0-9]{21}$/, "response1: Run ID is invalid"); - assert.equal( - response1.runs[0].taskIdentifier, - "batch-v2-test-child", - "response1: runs[0] Task identifier is invalid" - ); - assert.equal(response1.runs[0].isCached, false, "response1: runs[0] Run is cached"); - assert.equal( - response1.runs[0].idempotencyKey, - undefined, - "response1: runs[0] Idempotent key is invalid" - ); - - assert.match( - response1.runs[1].id, - /^run_[a-z0-9]{21}$/, - "response1: runs[1] Run ID is invalid" - ); - assert.equal( - response1.runs[1].taskIdentifier, - "batch-v2-test-child", - "response1: runs[1] Task identifier is invalid" - ); - assert.equal(response1.runs[1].isCached, false, "response1: runs[1] Run is cached"); - assert.equal( - response1.runs[1].idempotencyKey, - undefined, - "response1: runs[1] Idempotent key is invalid" - ); - - await auth.withAuth({ accessToken: response1.publicAccessToken }, async () => { - const [run0, run1] = await Promise.all([ - runs.retrieve(response1.runs[0].id), - runs.retrieve(response1.runs[1].id), - ]); - - logger.debug("retrieved response 1 runs", { run0, run1 }); - - for await (const liveRun0 of runs.subscribeToRun(response1.runs[0].id)) { - logger.debug("subscribed to run0", { liveRun0 }); - - if (liveRun0.finishedAt) { - break; - } - } - - for await (const liveRun1 of runs.subscribeToRun(response1.runs[1].id)) { - logger.debug("subscribed to run1", { liveRun1 }); - - if (liveRun1.finishedAt) { - break; - } - } - }); - - // Now let's do another batch trigger, this time with 100 items, and immediately try and retrieve the last run - const response2 = await batchV2TestChild.batchTrigger( - Array.from({ length: 30 }, (_, i) => ({ - payload: { foo: `bar${i}` }, - })), - { - triggerSequentially, - } - ); - - logger.info("Response 2", { response2 }); - - assert.equal(response2.runs.length, 30, "response2: Items length is invalid"); - - const lastRunId = response2.runs[response2.runs.length - 1].id; - - const lastRun = await runs.retrieve(lastRunId); - - logger.info("Last run", { lastRun }); - - assert.equal(lastRun.id, lastRunId, "response2: Last run ID is invalid"); - - // okay, now we are going to test using the batch-level idempotency key - // we need to test that when reusing the idempotency key, we retrieve the same batch and runs and the response is correct - // we will also need to test idempotencyKeyTTL and make sure that the key is not reused after the TTL has expired - const idempotencyKey1 = randomUUID(); - - const response3 = await batchV2TestChild.batchTrigger( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - idempotencyKey: idempotencyKey1, - idempotencyKeyTTL: "5s", - triggerSequentially, - } - ); - - logger.info("Response 3", { response3 }); - - assert.equal(response3.isCached, false, "response3: Batch is cached"); - assert.ok(response3.idempotencyKey, "response3: Batch idempotency key is invalid"); - assert.equal(response3.runs.length, 2, "response3: Items length is invalid"); - assert.equal(response3.runs[0].isCached, false, "response3: runs[0] Run is cached"); - assert.equal(response3.runs[1].isCached, false, "response3: runs[1] Run is cached"); - - const response4 = await batchV2TestChild.batchTrigger( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - idempotencyKey: idempotencyKey1, - idempotencyKeyTTL: "5s", - triggerSequentially, - } - ); - - logger.info("Response 4", { response4 }); - - assert.equal(response4.batchId, response3.batchId, "response4: Batch ID is invalid"); - assert.equal(response4.isCached, true, "response4: Batch is not cached"); - assert.equal(response4.runs.length, 2, "response4: Items length is invalid"); - assert.equal(response4.runs[0].isCached, true, "response4: runs[0] Run is not cached"); - assert.equal(response4.runs[1].isCached, true, "response4: runs[1] Run is not cached"); - assert.equal( - response4.runs[0].id, - response3.runs[0].id, - "response4: runs[0] Run ID is invalid" - ); - assert.equal( - response4.runs[1].id, - response3.runs[1].id, - "response4: runs[1] Run ID is invalid" - ); - - await wait.for({ seconds: 6 }); - - const response5 = await batchV2TestChild.batchTrigger( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - idempotencyKey: idempotencyKey1, - idempotencyKeyTTL: "5s", - triggerSequentially, - } - ); - - logger.info("Response 5", { response5 }); - - assert.equal(response5.isCached, false, "response5: Batch is cached"); - assert.notEqual(response5.batchId, response3.batchId, "response5: Batch ID is invalid"); - assert.equal(response5.runs.length, 2, "response5: Items length is invalid"); - assert.equal(response5.runs[0].isCached, false, "response5: runs[0] Run is cached"); - assert.equal(response5.runs[1].isCached, false, "response5: runs[1] Run is cached"); - - // Now we need to test with idempotency keys on the individual runs - // The first test will make sure that the idempotency key is passed to the child task - const idempotencyKeyChild1 = randomUUID(); - const idempotencyKeyChild2 = randomUUID(); - - const response6 = await batchV2TestChild.batchTrigger( - [ - { - payload: { foo: "bar" }, - options: { idempotencyKey: idempotencyKeyChild1, idempotencyKeyTTL: "5s" }, - }, - { - payload: { foo: "baz" }, - options: { idempotencyKey: idempotencyKeyChild2, idempotencyKeyTTL: "15s" }, - }, - ], - { - triggerSequentially, - } - ); - - logger.info("Response 6", { response6 }); - - assert.equal(response6.runs.length, 2, "response6: Items length is invalid"); - assert.equal(response6.runs[0].isCached, false, "response6: runs[0] Run is cached"); - assert.equal(response6.runs[1].isCached, false, "response6: runs[1] Run is cached"); - assert.ok(response6.runs[0].idempotencyKey, "response6: runs[0] Idempotent key is invalid"); - assert.ok(response6.runs[1].idempotencyKey, "response6: runs[1] Idempotent key is invalid"); - - await setTimeout(1000); - - const response7 = await batchV2TestChild.batchTrigger( - [ - { payload: { foo: "bar" }, options: { idempotencyKey: idempotencyKeyChild1 } }, - { payload: { foo: "baz" }, options: { idempotencyKey: idempotencyKeyChild2 } }, - ], - { - triggerSequentially, - } - ); - - logger.info("Response 7", { response7 }); - - assert.equal(response7.runs.length, 2, "response7: Items length is invalid"); - assert.equal(response7.runs[0].isCached, true, "response7: runs[0] Run is not cached"); - assert.equal(response7.runs[1].isCached, true, "response7: runs[1] Run is not cached"); - assert.equal( - response7.runs[0].id, - response6.runs[0].id, - "response7: runs[0] Run ID is invalid" - ); - assert.equal( - response7.runs[1].id, - response6.runs[1].id, - "response7: runs[1] Run ID is invalid" - ); - - await wait.for({ seconds: 6 }); - - // Now we need to test that the first run is not cached and is a new run, and the second run is cached - const response8 = await batchV2TestChild.batchTrigger( - [ - { payload: { foo: "bar" }, options: { idempotencyKey: idempotencyKeyChild1 } }, - { payload: { foo: "baz" }, options: { idempotencyKey: idempotencyKeyChild2 } }, - ], - { - triggerSequentially, - } - ); - - logger.info("Response 8", { response8 }); - - assert.equal(response8.runs.length, 2, "response8: Items length is invalid"); - assert.equal(response8.runs[0].isCached, false, "response8: runs[0] Run is cached"); - assert.equal(response8.runs[1].isCached, true, "response8: runs[1] Run is not cached"); - assert.notEqual( - response8.runs[0].id, - response6.runs[0].id, - "response8: runs[0] Run ID is invalid" - ); - assert.equal( - response8.runs[1].id, - response6.runs[1].id, - "response8: runs[1] Run ID is invalid" - ); - - // Now we need to test with batchTriggerAndWait - const response9 = await batchV2TestChild.batchTriggerAndWait( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - triggerSequentially, - } - ); - - logger.debug("Response 9", { response9 }); - - assert.match(response9.id, /^batch_[a-z0-9]{21}$/, "response9: Batch ID is invalid"); - assert.equal(response9.runs.length, 2, "response9: Items length is invalid"); - assert.ok(response9.runs[0].ok, "response9: runs[0] is not ok"); - assert.ok(response9.runs[1].ok, "response9: runs[1] is not ok"); - assert.equal( - response9.runs[0].taskIdentifier, - "batch-v2-test-child", - "response9: runs[0] Task identifier is invalid" - ); - assert.equal( - response9.runs[1].taskIdentifier, - "batch-v2-test-child", - "response9: runs[1] Task identifier is invalid" - ); - assert.deepEqual( - response9.runs[0].output, - { foo: "bar" }, - "response9: runs[0] result is invalid" - ); - assert.deepEqual( - response9.runs[1].output, - { foo: "baz" }, - "response9: runs[1] result is invalid" - ); - - // Now batchTriggerAndWait with 21 items - const response10 = await batchV2TestChild.batchTriggerAndWait( - Array.from({ length: largeBatchSize }, (_, i) => ({ - payload: { foo: `bar${i}` }, - })), - { - triggerSequentially, - } - ); - - logger.debug("Response 10", { response10 }); - - assert.match(response10.id, /^batch_[a-z0-9]{21}$/, "response10: Batch ID is invalid"); - assert.equal(response10.runs.length, largeBatchSize, "response10: Items length is invalid"); - - // Now repeat the first few tests using `tasks.batchTrigger`: - const response11 = await tasks.batchTrigger( - "batch-v2-test-child", - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - triggerSequentially, - } - ); - - logger.debug("Response 11", { response11 }); - - assert.match(response11.batchId, /^batch_[a-z0-9]{21}$/, "response11: Batch ID is invalid"); - assert.equal(response11.runs.length, 2, "response11: Items length is invalid"); - assert.match(response11.runs[0].id, /^run_[a-z0-9]{21}$/, "response11: Run ID is invalid"); - assert.equal( - response11.runs[0].taskIdentifier, - "batch-v2-test-child", - "response11: runs[0] Task identifier is invalid" - ); - assert.equal(response11.runs[0].isCached, false, "response11: runs[0] Run is cached"); - assert.equal( - response11.runs[0].idempotencyKey, - undefined, - "response11: runs[0] Idempotent key is invalid" - ); - - // Now use tasks.batchTrigger with 100 items - const response12 = await tasks.batchTrigger( - "batch-v2-test-child", - Array.from({ length: 100 }, (_, i) => ({ - payload: { foo: `bar${i}` }, - })), - { - triggerSequentially, - } - ); - - const response12Start = performance.now(); - - logger.debug("Response 12", { response12 }); - - assert.match(response12.batchId, /^batch_[a-z0-9]{21}$/, "response12: Batch ID is invalid"); - assert.equal(response12.runs.length, 100, "response12: Items length is invalid"); - - const runsById: Map = new Map(); - - for await (const run of runs.subscribeToBatch(response12.batchId)) { - runsById.set(run.id, run); - - // Break if we have received all runs - if (runsById.size === response12.runs.length) { - break; - } - } - - const response12End = performance.now(); - - logger.debug("Response 12 time", { time: response12End - response12Start }); - - logger.debug("All runs", { runsById: Object.fromEntries(runsById) }); - - assert.equal(runsById.size, 100, "All runs were not received"); - }, -}); - -export const batchTriggerSequentiallyTask = task({ - id: "batch-trigger-sequentially", - retry: { - maxAttempts: 1, - }, - run: async ({ - count = 20, - wait = false, - triggerSequentially = true, - }: { - count: number; - wait: boolean; - triggerSequentially: boolean; - }) => { - if (wait) { - return await batchV2TestChild.batchTriggerAndWait( - Array.from({ length: count }, (_, i) => ({ - payload: { foo: `bar${i}` }, - })), - { - triggerSequentially, - } - ); - } else { - return await batchV2TestChild.batchTrigger( - Array.from({ length: count }, (_, i) => ({ - payload: { foo: `bar${i}` }, - })), - { - triggerSequentially, - } - ); - } - }, -}); - -export const batchV2TestChild = task({ - id: "batch-v2-test-child", - queue: { - concurrencyLimit: 10, - }, - run: async (payload: any) => { - return payload; - }, -}); - -export const batchAutoIdempotencyKeyTask = task({ - id: "batch-auto-idempotency-key", - retry: { - maxAttempts: 3, - }, - run: async () => { - const idempotencyKey = await idempotencyKeys.create("first-batch-1"); - - logger.debug("Idempotency key", { idempotencyKey }); - - const response1 = await batchAutoIdempotencyKeyChild.batchTrigger( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - idempotencyKey: idempotencyKey, - } - ); - - logger.debug("Response 1", { response1 }); - - const idempotencyKey2 = await idempotencyKeys.create("first-batch-2", { scope: "global" }); - - logger.debug("Idempotency key 2", { idempotencyKey2 }); - - const response2 = await batchAutoIdempotencyKeyChild.batchTrigger( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - idempotencyKey: idempotencyKey2, - } - ); - - logger.debug("Response 2", { response2 }); - - const idempotencyKey3 = await idempotencyKeys.create(randomUUID()); - - logger.debug("Idempotency key 3", { idempotencyKey3 }); - - const response3 = await batchAutoIdempotencyKeyChild.batchTrigger( - [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], - { - idempotencyKey: idempotencyKey3, - } - ); - - logger.debug("Response 3", { response3 }); - - throw new Error("Forcing a retry to see if another batch is created"); - }, -}); - -export const batchAutoIdempotencyKeyChild = task({ - id: "batch-auto-idempotency-key-child", - retry: { - maxAttempts: 3, - }, - run: async (payload: any) => { - return payload; - }, -}); - -export const batchTriggerIdempotencyKeyTest = task({ - id: "batch-trigger-idempotency-key-test", - retry: { - maxAttempts: 1, - }, - run: async () => { - // Trigger a batch of 2 items with the same idempotency key - await batchV2TestChild.batchTrigger( - [ - { payload: { foo: "bar" }, options: { idempotencyKey: "test-idempotency-key" } }, - { payload: { foo: "baz" }, options: { idempotencyKey: "test-idempotency-key" } }, - ], - { - triggerSequentially: true, - } - ); - - // Now trigger a batch of 21 items, with just the last one having an idempotency key - await batchV2TestChild.batchTrigger( - Array.from({ length: 20 }, (_, i) => ({ - payload: { foo: `bar${i}` }, - options: {}, - })).concat([ - { - payload: { foo: "baz" }, - options: { idempotencyKey: "test-idempotency-key-2" }, - }, - ]), - { - triggerSequentially: true, - } - ); - - // Now while that batch is being processed in the background, lets trigger the same task with that idempotency key - await batchV2TestChild.trigger({ foo: "baz" }, { idempotencyKey: "test-idempotency-key-2" }); - }, -}); diff --git a/references/v3-catalog/src/trigger/binaries.ts b/references/v3-catalog/src/trigger/binaries.ts deleted file mode 100644 index bd8d0867bb..0000000000 --- a/references/v3-catalog/src/trigger/binaries.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; -import ffmpeg from "fluent-ffmpeg"; -import * as path from "node:path"; -import { Readable } from "node:stream"; -import type { ReadableStream } from "node:stream/web"; - -import bcrypt from "bcrypt"; - -const saltRounds = 10; -const myPlaintextPassword = "s0//P4$$w0rD"; -const someOtherPlaintextPassword = "not_bacon"; - -bcrypt.genSalt(saltRounds, function (err, salt) { - bcrypt.hash(myPlaintextPassword, salt, function (err, hash) { - // Store hash in your password DB. - }); -}); - -import { InfisicalClient } from "@infisical/sdk"; - -const infisicalClient = new InfisicalClient({ - siteUrl: "https://example.com", -}); - -import * as mupdf from "mupdf"; - -// Helper function to load document from URL -async function loadDocumentFromUrl(url: string): Promise { - try { - const response = await fetch(url); - const buffer = await response.arrayBuffer(); - return mupdf.Document.openDocument(buffer, "application/pdf"); - } catch (error) { - throw new Error(`Failed to load document from URL: ${url}`); - } -} - -import zip from "zip-node-addon"; - -function unzip(inputPath: string, outputPath: string) { - zip.unzipFile(inputPath, outputPath); -} - -import { createClient } from "@1password/sdk"; - -function create1PasswordClient() { - return createClient({ - auth: process.env.OP_SERVICE_ACCOUNT_TOKEN ?? "", - // Set the following to your own integration name and version. - integrationName: "My 1Password Integration", - integrationVersion: "v1.0.0", - }); -} - -// Fetches a secret. -// const secret = await client.secrets.resolve("op://vault/item/field"); - -import sharp from "sharp"; -import sqlite3 from "sqlite3"; -import { createCanvas } from "canvas"; - -// Test sharp: create a 1x1 PNG buffer -const sharpBufferPromise = sharp({ - create: { - width: 1, - height: 1, - channels: 4, - background: { r: 0, g: 0, b: 0, alpha: 0 }, - }, -}) - .png() - .toBuffer(); - -// Test sqlite3: open an in-memory database -const sqliteDb = new sqlite3.Database(":memory:", (err) => { - if (err) { - console.error("sqlite3 error:", err); - } else { - console.log("sqlite3 in-memory database opened"); - } -}); - -// Test canvas: create a 100x100 canvas and draw a rectangle -const canvas = createCanvas(100, 100); -const ctx = canvas.getContext("2d"); -ctx.fillStyle = "red"; -ctx.fillRect(10, 10, 80, 80); - -export const convertVideo = task({ - id: "convert-video", - retry: { - maxAttempts: 5, - minTimeoutInMs: 1000, - maxTimeoutInMs: 10000, - factor: 2, - }, - run: async ({ url }: { url: string }) => { - const outputPath = path.join("/tmp", `output_${Date.now()}.mp4`); - - const response = await fetch(url); - - await new Promise((resolve, reject) => { - ffmpeg(Readable.fromWeb(response.body as ReadableStream)) - .videoFilters("scale=iw/2:ih/2") - .output(outputPath) - .on("end", resolve) - .on("error", reject) - .run(); - }); - - console.log(`Video converted to ${outputPath}`); - - return { success: true, outputPath }; - }, -}); diff --git a/references/v3-catalog/src/trigger/checkpoints.ts b/references/v3-catalog/src/trigger/checkpoints.ts deleted file mode 100644 index 58dc4a9c4d..0000000000 --- a/references/v3-catalog/src/trigger/checkpoints.ts +++ /dev/null @@ -1,196 +0,0 @@ -import { logger, queue, schedules, task, wait } from "@trigger.dev/sdk/v3"; - -type Payload = { - count?: number; -}; - -export const checkpointBatchResumerTester = schedules.task({ - id: "checkpoint-batch-resume-tester", - run: async () => { - await checkpointBatchResumer.triggerAndWait({ count: 1 }); - }, -}); - -/** Test that checkpoints and resuming works if the checkpoint isn't created before the resume */ -export const checkpointBatchResumer = task({ - id: "checkpoint-batch-resume", - run: async ({ count = 1 }: Payload) => { - await noop.batchTriggerAndWait(Array.from({ length: count }, (_, i) => ({}))); - logger.info(`Successfully 1/1 resumed after ${count} runs`); - // await noop.batchTriggerAndWait(Array.from({ length: count }, (_, i) => ({}))); - // logger.info(`Successfully 2/2 resumed after ${count} runs`); - }, -}); - -/** Test that checkpoints and resuming works if the checkpoint isn't created before the resume */ -export const checkpointResumer = task({ - id: "checkpoint-resume", - queue: { - concurrencyLimit: 1, - }, - run: async ({ count = 1 }: Payload) => { - logger.info(`Starting ${count} runs`); - - for (let i = 0; i < count; i++) { - await noop.triggerAndWait(); - logger.info(`Successfully ${i + 1}/${count} resumed`); - } - }, -}); - -export const nestedDependencies = task({ - id: "nested-dependencies", - run: async ({ - depth = 0, - maxDepth = 6, - batchSize = 4, - waitSeconds = 1, - failAttemptChance = 0, - failParents = false, - }: { - depth?: number; - maxDepth?: number; - batchSize?: number; - waitSeconds?: number; - failAttemptChance?: number; - failParents?: boolean; - }) => { - if (depth >= maxDepth) { - return; - } - - logger.log(`Started ${depth}/${maxDepth} depth`); - - const shouldFail = Math.random() < failAttemptChance; - if (shouldFail) { - throw new Error(`Failed at ${depth}/${maxDepth} depth`); - } - - await wait.for({ seconds: waitSeconds }); - - const triggerOrBatch = depth % 2 === 0; - - if (triggerOrBatch) { - for (let i = 0; i < batchSize; i++) { - const result = await nestedDependencies.triggerAndWait({ - depth: depth + 1, - maxDepth, - waitSeconds, - failAttemptChance, - batchSize, - }); - logger.log(`Triggered complete ${i + 1}/${batchSize}`); - - if (!result.ok && failParents) { - throw new Error(`Failed at ${depth}/${maxDepth} depth`); - } - } - } else { - const results = await nestedDependencies.batchTriggerAndWait( - Array.from({ length: batchSize }, (_, i) => ({ - payload: { - depth: depth + 1, - maxDepth, - batchSize, - waitSeconds, - failAttemptChance, - }, - })) - ); - logger.log(`Batch triggered complete`); - - if (results.runs.some((r) => !r.ok) && failParents) { - throw new Error(`Failed at ${depth}/${maxDepth} depth`); - } - } - - logger.log(`Sleep for ${waitSeconds} seconds`); - await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000)); - - logger.log(`Finished ${depth}/${maxDepth} depth`); - }, -}); - -export const fastWait = task({ - id: "fast-wait", - run: async ({ seconds = 1 }: { seconds?: number }) => { - logger.log(`Going to wait for ${seconds} seconds`); - await wait.for({ seconds }); - logger.log(`Waited for ${seconds} seconds`); - }, -}); - -export const noop = task({ - id: "noop", - run: async () => {}, -}); - -export const fixedLengthTask = task({ - id: "fixedLengthTask", - run: async ({ waitSeconds }: { waitSeconds: number }) => { - await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000)); - }, -}); - -export const permanentlyFrozen = task({ - id: "permanently-frozen", - run: async ({ waitSeconds = 160, count = 1 }: { waitSeconds?: number; count?: number }) => { - for (let i = 0; i < count; i++) { - await fixedLengthTask.triggerAndWait({ waitSeconds }); - logger.log(`Successfully complted task ${i}`); - } - }, -}); - -//sending max concurrency of these at once will test the freeze + max concurrency logic -export const bulkPermanentlyFrozen = task({ - id: "bulk-permanently-frozen", - run: async ({ - count = 1, - waitSeconds = 160, - grandChildCount = 1, - }: { - count?: number; - waitSeconds?: number; - grandChildCount?: number; - }) => { - await permanentlyFrozen.batchTrigger( - Array.from({ length: count }, (_, i) => ({ - payload: { waitSeconds, count: grandChildCount }, - })) - ); - }, -}); - -const oneAtATime = queue({ - name: "race-condition", - concurrencyLimit: 1, -}); - -export const raceConditionCheckpointDequeue = task({ - id: "race-condition-checkpoint-dequeue", - queue: oneAtATime, - run: async ({ isBatch = true }: { isBatch?: boolean }) => { - await holdConcurrency.trigger({ waitSeconds: 45 }); - - if (isBatch) { - await fixedLengthTask.batchTriggerAndWait( - Array.from({ length: 1 }, (_, i) => ({ - payload: { waitSeconds: 5 }, - })) - ); - } else { - await fixedLengthTask.triggerAndWait({ waitSeconds: 5 }); - } - - logger.log(`Successfully completed task`); - }, -}); - -export const holdConcurrency = task({ - id: "hold-concurrency", - queue: oneAtATime, - run: async ({ waitSeconds = 60 }: { waitSeconds?: number }) => { - await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000)); - }, -}); diff --git a/references/v3-catalog/src/trigger/concurrency.ts b/references/v3-catalog/src/trigger/concurrency.ts deleted file mode 100644 index 8fbfa021c5..0000000000 --- a/references/v3-catalog/src/trigger/concurrency.ts +++ /dev/null @@ -1,289 +0,0 @@ -import { logger, queue, task, wait } from "@trigger.dev/sdk/v3"; - -export const oneAtATime = task({ - id: "on-at-a-time", - queue: { - concurrencyLimit: 1, - }, - run: async (payload: { message: string }) => { - logger.info("One at a time task payload", { payload }); - - await wait.for({ seconds: 10 }); - - return { - finished: new Date().toISOString(), - }; - }, -}); - -export const testConcurrency = task({ - id: "test-concurrency-controller", - run: async ({ - count = 10, - delay = 5000, - childDelay = 1000, - }: { - count: number; - delay: number; - childDelay: number; - }) => { - logger.info(`Running ${count} tasks baby`); - - await testConcurrencyParent.batchTrigger( - Array.from({ length: count }).map((_, index) => ({ - payload: { - delay, - childDelay, - }, - })) - ); - - logger.info(`All ${count} tasks triggered`); - - // wait for about 2 seconds - await new Promise((resolve) => setTimeout(resolve, 2000)); - - // Now trigger the parent task again - await testConcurrencyParent.trigger({ - delay, - childDelay, - }); - - return { - finished: new Date().toISOString(), - }; - }, -}); - -export const testConcurrencyParent = task({ - id: "test-concurrency-parent", - run: async ({ delay = 5000, childDelay = 1000 }: { delay: number; childDelay: number }) => { - logger.info(`Delaying for ${delay}ms`); - - await new Promise((resolve) => setTimeout(resolve, delay)); - - logger.info(`Delay of ${delay}ms completed`); - - return await testConcurrencyChild.triggerAndWait({ - delay: childDelay, - }); - }, -}); - -export const testConcurrencyChild = task({ - id: "test-concurrency-child", - queue: { - concurrencyLimit: 10, - }, - run: async ({ delay = 5000 }: { delay: number }) => { - logger.info(`Delaying for ${delay}ms`); - - await new Promise((resolve) => setTimeout(resolve, delay)); - - logger.info(`Delay of ${delay}ms completed`); - - return { - completedAt: new Date(), - }; - }, -}); - -export const testReserveConcurrencyRecursiveWaits = task({ - id: "test-reserve-concurrency-recursive-waits", - retry: { - maxAttempts: 1, - }, - run: async ({ - delay = 5000, - depth = 2, - currentDepth = 0, - batchSize = 1, - useBatch, - }: { - delay: number; - depth: number; - currentDepth?: number; - batchSize?: number; - useBatch?: boolean; - }) => { - logger.info(`Running task at depth ${currentDepth} 1`); - - logger.info(`Delaying for ${delay}ms`); - - await new Promise((resolve) => setTimeout(resolve, delay)); - - logger.info(`Delay of ${delay}ms completed`); - - if (currentDepth < depth) { - logger.info(`Triggering child task at depth ${currentDepth + 1}`); - - if (useBatch) { - await testReserveConcurrencyRecursiveWaits.batchTriggerAndWait( - Array.from({ length: batchSize }).map((_, index) => ({ - payload: { - delay, - depth, - currentDepth: currentDepth + 1, - batchSize, - useBatch, - }, - })) - ); - } else { - await testReserveConcurrencyRecursiveWaits.triggerAndWait({ - delay, - depth, - currentDepth: currentDepth + 1, - batchSize, - useBatch, - }); - } - - logger.info(`Child task at depth ${currentDepth + 1} completed`); - } - - logger.info(`Task at depth ${currentDepth} completed`); - - return { - completedAt: new Date(), - }; - }, -}); - -export const testChildTaskPriorityController = task({ - id: "test-child-task-priority-controller", - run: async ({ delay = 5000 }: { delay: number }) => { - logger.info(`Delaying for ${delay}ms`); - - await new Promise((resolve) => setTimeout(resolve, delay)); - - return { - completedAt: new Date(), - }; - }, -}); - -export const testChildTaskPriorityParent = task({ - id: "test-child-task-priority-parent", - run: async ({ delay = 5000 }: { delay: number }) => { - logger.info(`Delaying for ${delay}ms`); - - await new Promise((resolve) => setTimeout(resolve, delay)); - - await testChildTaskPriorityChild.triggerAndWait({ - delay, - }); - - logger.info(`Delay of ${delay}ms completed`); - - return { - completedAt: new Date(), - }; - }, -}); - -export const testChildTaskPriorityChildCreator = task({ - id: "test-child-task-priority-child-creator", - run: async ({ delay = 5000 }: { delay: number }) => { - await testChildTaskPriorityChild.batchTrigger([ - { payload: { delay, propagate: false } }, - { payload: { delay, propagate: false } }, - { payload: { delay, propagate: false } }, - { payload: { delay, propagate: false } }, - ]); - - return { - completedAt: new Date(), - }; - }, -}); - -export const testChildTaskPriorityChild = task({ - id: "test-child-task-priority-child", - queue: { - concurrencyLimit: 1, - }, - run: async ({ delay = 5000, propagate }: { delay: number; propagate?: boolean }) => { - logger.info(`Delaying for ${delay}ms`); - - await new Promise((resolve) => setTimeout(resolve, delay)); - - if (typeof propagate === "undefined" || propagate) { - await testChildTaskPriorityGrandChild.triggerAndWait({ - delay, - }); - } - - logger.info(`Delay of ${delay}ms completed`); - - return { - completedAt: new Date(), - }; - }, -}); - -export const testChildTaskPriorityGrandChildCreator = task({ - id: "test-child-task-priority-grand-child-creator", - run: async ({ delay = 5000 }: { delay: number }) => { - await testChildTaskPriorityGrandChild.batchTrigger([ - { payload: { delay } }, - { payload: { delay } }, - { payload: { delay } }, - ]); - - logger.info(`Delay of ${delay}ms completed`); - - return { - completedAt: new Date(), - }; - }, -}); - -export const testChildTaskPriorityGrandChild = task({ - id: "test-child-task-priority-grandchild", - queue: { - concurrencyLimit: 1, - }, - run: async ({ delay = 5000 }: { delay: number }) => { - logger.info(`Delaying for ${delay}ms`); - - await new Promise((resolve) => setTimeout(resolve, delay)); - - logger.info(`Delay of ${delay}ms completed`); - - return { - completedAt: new Date(), - }; - }, -}); - -export const myQueue = queue({ - name: "my-queue", - concurrencyLimit: 1, -}); - -export const parentTask = task({ - id: "parent-task", - queue: myQueue, - run: async (payload) => { - //trigger a subtask - await subtask.triggerAndWait(payload); - }, -}); - -export const subtask = task({ - id: "subtask", - queue: myQueue, - run: async (payload) => { - //trigger a subtask - await subsubtask.triggerAndWait(payload); - }, -}); - -export const subsubtask = task({ - id: "subsubtask", - queue: myQueue, - run: async (payload) => { - //... - }, -}); diff --git a/references/v3-catalog/src/trigger/crash.ts b/references/v3-catalog/src/trigger/crash.ts deleted file mode 100644 index 8a0f9ead3d..0000000000 --- a/references/v3-catalog/src/trigger/crash.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { logger, task } from "@trigger.dev/sdk/v3"; - -type Payload = {}; - -export const crashparent = task({ - id: "crashparent", - run: async (payload: Payload, { ctx }) => { - logger.log("crashparent started"); - - const result = await crash.triggerAndWait({}); - logger.log("crashparent done", { result }); - - const results = await crash.batchTriggerAndWait([ - { payload: {} }, - { payload: {} }, - { payload: {} }, - { payload: {} }, - { payload: {} }, - ]); - logger.log("crashparent batch done", { results }); - }, -}); - -export const crash = task({ - id: "crash", - run: async (payload: Payload, { ctx }) => { - logger.log(`${ctx.run.version}`); - - process.exit(1); - - return { - foo: "bar", - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/decorators.ts b/references/v3-catalog/src/trigger/decorators.ts deleted file mode 100644 index fd7e9cf021..0000000000 --- a/references/v3-catalog/src/trigger/decorators.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { logger, task } from "@trigger.dev/sdk/v3"; -import { AppDataSource, Photo } from "./orm"; - -export const taskThatUsesDecorators = task({ - id: "taskThatUsesDecorators", - run: async (payload: { message: string }) => { - console.log("Creating a photo..."); - - const photo = new Photo(); - photo.id = 2; - photo.name = "Me and Bears"; - photo.description = "I am near polar bears"; - photo.filename = "photo-with-bears.jpg"; - photo.views = 1; - photo.isPublished = true; - - await AppDataSource.manager.save(photo); - - if (Math.random() > 0.5) { - throw new Error("Failed to create photo"); - } - }, - onSuccess: async (payload, output, { ctx }) => { - logger.log("Photo created successfully", { output, ctx }); - }, - onFailure: async (payload, error, { ctx }) => { - logger.error("Failed to create photo", { error, ctx }); - }, - onStart: async (payload, { ctx }) => { - logger.log("Starting to create photo", { ctx }); - }, -}); diff --git a/references/v3-catalog/src/trigger/email.tsx b/references/v3-catalog/src/trigger/email.tsx deleted file mode 100644 index 113bd97fcd..0000000000 --- a/references/v3-catalog/src/trigger/email.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { logger, task } from "@trigger.dev/sdk/v3"; -import { ExampleEmail } from "./emails/index.js"; -import { render } from "@react-email/render"; - -export const emailTask = task({ - id: "email", - run: async () => { - return { - subject: "Example email", - react: render(), - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/emails/index.tsx b/references/v3-catalog/src/trigger/emails/index.tsx deleted file mode 100644 index d66c79ac6b..0000000000 --- a/references/v3-catalog/src/trigger/emails/index.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Button, Html } from "@react-email/components"; -import * as React from "react"; - -export function ExampleEmail(props: {}) { - return ( - - - - ); -} diff --git a/references/v3-catalog/src/trigger/idempotencyKeys.ts b/references/v3-catalog/src/trigger/idempotencyKeys.ts deleted file mode 100644 index 8c280a9ecf..0000000000 --- a/references/v3-catalog/src/trigger/idempotencyKeys.ts +++ /dev/null @@ -1,145 +0,0 @@ -import { idempotencyKeys, logger, task, wait, AbortTaskRunError } from "@trigger.dev/sdk/v3"; - -export const idempotencyKeyParent = task({ - id: "idempotency-key-parent", - run: async (payload: { key: string }) => { - console.log("Hello from idempotency-key-parent"); - - const childTaskResponse = await idempotencyKeyChild.triggerAndWait( - { - key: payload.key, - forceError: true, - }, - { - idempotencyKey: await idempotencyKeys.create(payload.key), - } - ); - - if (childTaskResponse.ok) { - logger.log("Child task response", { output: childTaskResponse.output }); - } else { - logger.error("Child task error", { error: childTaskResponse.error }); - } - - await idempotencyKeyChild2.triggerAndWait( - { - key: payload.key, - forceError: false, - }, - { - idempotencyKey: await idempotencyKeys.create(payload.key), - } - ); - - return { - key: payload.key, - childTaskResponse, - }; - }, -}); - -export const idempotencyKeyChild = task({ - id: "idempotency-key-child", - run: async (payload: { forceError: boolean; key: string }) => { - console.log("Hello from idempotency-key-child", payload.key); - - await wait.for({ seconds: 2 }); - - if (payload.forceError) { - throw new AbortTaskRunError("This is a forced error in idempotency-key-child"); - } - - return payload; - }, -}); - -export const idempotencyKeyChild2 = task({ - id: "idempotency-key-child-2", - run: async (payload: { forceError: boolean; key: string }) => { - console.log("Hello from idempotency-key-child-2", payload.key); - - await wait.for({ seconds: 2 }); - - return payload; - }, -}); - -export const idempotencyKeyBatchParent = task({ - id: "idempotency-key-batch-parent", - run: async (payload: { keyPrefix: string; itemCount: number }) => { - console.log("Hello from idempotency-key-batch-parent"); - - const childTaskResponse = await idempotencyKeyBatchChild.batchTriggerAndWait( - await Promise.all( - Array.from({ length: payload.itemCount }).map(async (_, index) => ({ - payload: { - key: `${payload.keyPrefix}-${index}`, - forceError: index % 2 === 0, - waitSeconds: 5 * index, - }, - options: { - idempotencyKey: await idempotencyKeys.create([payload.keyPrefix, String(index)]), - }, - })) - ) - ); - - return { - keyPrefix: payload.keyPrefix, - childTaskResponse, - }; - }, -}); - -export const idempotencyKeyBatchChild = task({ - id: "idempotency-key-batch-child", - run: async (payload: { forceError: boolean; key: string; waitSeconds: number }) => { - console.log("idempotency-key-batch-child", payload.key); - - await wait.for({ seconds: payload.waitSeconds }); - - if (payload.forceError) { - throw new Error(`This is a forced error in idempotency-key-batch-child ${payload.key}`); - } - - return payload; - }, -}); - -export const idempotencyKeyParentUsage = task({ - id: "idempotency-key-parent-usage", - run: async (payload: { key: string; scope: "run" | "attempt" | "global" }, { ctx }) => { - console.log(`Hello from idempotency-key-parent-usage, attempt #${ctx.attempt.number}`); - - const idempotencyKey = await idempotencyKeys.create(payload.key, { scope: payload.scope }); - - console.log(`Generated idempotency key: ${idempotencyKey}`); - - const childTaskResponse = await idempotencyKeyChild.triggerAndWait( - { - key: idempotencyKey, - forceError: true, - }, - { - idempotencyKey, - } - ); - - if (childTaskResponse.ok) { - logger.log("Child task response", { output: childTaskResponse.output }); - } else { - logger.error("Child task error", { error: childTaskResponse.error }); - - if (ctx.attempt.number > 1) { - throw new AbortTaskRunError("Child task failed on retry, exiting parent task"); - } else { - throw new Error("Child task failed"); - } - } - - return { - key: payload.key, - childTaskResponse, - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/init.ts b/references/v3-catalog/src/trigger/init.ts deleted file mode 100644 index 982261ab23..0000000000 --- a/references/v3-catalog/src/trigger/init.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { tasks } from "@trigger.dev/sdk"; - -tasks.onStart(({ payload, ctx }) => { - console.log(`Task ${ctx.task.id} started ${ctx.run.id}`); -}); - -tasks.onFailure(({ payload, error, ctx }) => { - console.log( - `Task ${ctx.task.id} failed ${ctx.run.id}: ${ - error instanceof Error ? error.message : String(error) - }` - ); -}); - -tasks.catchError(({ payload, ctx, task, error, retry, retryAt, retryDelayInMs }) => { - console.log("handling error", { error, retry, retryAt, retryDelayInMs }); -}); diff --git a/references/v3-catalog/src/trigger/javascript-esm.mjs b/references/v3-catalog/src/trigger/javascript-esm.mjs deleted file mode 100644 index 8603acf6e2..0000000000 --- a/references/v3-catalog/src/trigger/javascript-esm.mjs +++ /dev/null @@ -1,8 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; - -export const myJavascriptTaskESM = task({ - id: "my-javascript-task-esm", - run: async (payload) => { - console.log("Hello from JavaScript task in esm!"); - }, -}); diff --git a/references/v3-catalog/src/trigger/javascript.cjs b/references/v3-catalog/src/trigger/javascript.cjs deleted file mode 100644 index 178d36e124..0000000000 --- a/references/v3-catalog/src/trigger/javascript.cjs +++ /dev/null @@ -1,10 +0,0 @@ -const { task } = require("@trigger.dev/sdk/v3"); - -const myJavascriptTask = task({ - id: "my-javascript-task", - run: async (payload) => { - console.log("Hello from JavaScript task!"); - }, -}); - -module.exports = { myJavascriptTask }; diff --git a/references/v3-catalog/src/trigger/lazyAttempts.ts b/references/v3-catalog/src/trigger/lazyAttempts.ts deleted file mode 100644 index c84207b601..0000000000 --- a/references/v3-catalog/src/trigger/lazyAttempts.ts +++ /dev/null @@ -1,394 +0,0 @@ -import { logger, task, wait } from "@trigger.dev/sdk/v3"; - -export const lazyImmediate = task({ - id: "lazy-immediate", - run: async (payload: { forceError?: boolean }) => { - logger.info("Log something", { payload }); - logger.info("Log something else", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyWait = task({ - id: "lazy-wait", - run: async (payload: { forceError?: boolean; delayInSeconds?: number }) => { - logger.info("Log something", { payload }); - - await wait.for({ seconds: payload.delayInSeconds ?? 1 }); - - logger.info("Log something else", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazySingleDependency = task({ - id: "lazy-single-dependency", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const result = await lazyWait.triggerAndWait({ - delayInSeconds: payload.delayInSeconds, - forceError: payload.forceChildError, - }); - logger.info("Single result", { result }); - - logger.info("Log something else", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyBatchDependency = task({ - id: "lazy-batch-dependency", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const results = await lazyWait.batchTriggerAndWait([ - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - ]); - logger.info("Batch results", { results }); - - logger.info("Log something else", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyConsecutiveWaits = task({ - id: "lazy-consecutive-waits", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - await wait.for({ seconds: payload.delayInSeconds ?? 1 }); - - logger.info("Log something else", { payload }); - - await wait.for({ seconds: payload.delayInSeconds ?? 1 }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyConsecutiveDependencies = task({ - id: "lazy-consecutive-dependencies", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const result = await lazyWait.triggerAndWait({ - delayInSeconds: payload.delayInSeconds, - forceError: payload.forceChildError, - }); - logger.info("Single result #1", { result }); - - logger.info("Log something else", { payload }); - - const result2 = await lazyWait.triggerAndWait({ - delayInSeconds: payload.delayInSeconds, - forceError: payload.forceChildError, - }); - logger.info("Single result #2", { result2 }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyConsecutiveBatchDependencies = task({ - id: "lazy-consecutive-batch-dependencies", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const results = await lazyWait.batchTriggerAndWait([ - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - ]); - logger.info("Batch results #1", { results }); - - logger.info("Log something else", { payload }); - - const results2 = await lazyWait.batchTriggerAndWait([ - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - ]); - logger.info("Batch results #2", { results2 }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyWaitThenSingleDependency = task({ - id: "lazy-wait-then-single-dependency", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - await wait.for({ seconds: payload.delayInSeconds ?? 1 }); - - logger.info("Log something else", { payload }); - - const result = await lazyWait.triggerAndWait({ - delayInSeconds: payload.delayInSeconds, - forceError: payload.forceChildError, - }); - logger.info("Single result", { result }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyWaitThenBatchDependency = task({ - id: "lazy-wait-then-batch-dependency", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - await wait.for({ seconds: payload.delayInSeconds ?? 1 }); - - logger.info("Log something else", { payload }); - - const results = await lazyWait.batchTriggerAndWait([ - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - ]); - logger.info("Batch results", { results }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazySingleDependencyThenWait = task({ - id: "lazy-single-dependency-then-wait", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const result = await lazyWait.triggerAndWait({ - delayInSeconds: payload.delayInSeconds, - forceError: payload.forceChildError, - }); - logger.info("Single result", { result }); - - logger.info("Log something else", { payload }); - - await wait.for({ seconds: payload.delayInSeconds ?? 1 }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazySingleDependencyThenBatch = task({ - id: "lazy-single-dependency-then-batch", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const result = await lazyWait.triggerAndWait({ - delayInSeconds: payload.delayInSeconds, - forceError: payload.forceChildError, - }); - logger.info("Single result", { result }); - - logger.info("Log something else", { payload }); - - const results = await lazyWait.batchTriggerAndWait([ - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - ]); - logger.info("Batch results", { results }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyBatchDependencyThenWait = task({ - id: "lazy-batch-dependency-then-wait", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const results = await lazyWait.batchTriggerAndWait([ - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - ]); - logger.info("Batch results", { results }); - - logger.info("Log something else", { payload }); - - await wait.for({ seconds: payload.delayInSeconds ?? 1 }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); - -export const lazyBatchDependencyThenSingle = task({ - id: "lazy-batch-dependency-then-single", - run: async (payload: { - forceError?: boolean; - forceChildError?: boolean; - delayInSeconds?: number; - }) => { - logger.info("Log something", { payload }); - - const results = await lazyWait.batchTriggerAndWait([ - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - { payload: { delayInSeconds: payload.delayInSeconds, forceError: payload.forceChildError } }, - ]); - logger.info("Batch results", { results }); - - logger.info("Log something else", { payload }); - - const result = await lazyWait.triggerAndWait({ - delayInSeconds: payload.delayInSeconds, - forceError: payload.forceChildError, - }); - logger.info("Single result", { result }); - - logger.info("Log something else again", { payload }); - - if (payload.forceError) { - throw new Error("Forced error"); - } - - return { - message: "This is a message", - payload, - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/logging.ts b/references/v3-catalog/src/trigger/logging.ts deleted file mode 100644 index 77ded013d1..0000000000 --- a/references/v3-catalog/src/trigger/logging.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { logger, task, wait } from "@trigger.dev/sdk/v3"; -import slugify from "@sindresorhus/slugify"; - -export const loggingTask = task({ - id: "logging-task", - run: async () => { - console.error("This is a console error message"); - logger.error("This is an error message"); - - console.warn("This is a warning message"); - logger.warn("This is a warning message"); - - console.log("This is a console log message"); - logger.log("This is a log message"); - - logger.info("This is an info message"); - - console.debug("This is a console debug message"); - logger.debug("This is a debug message"); - }, -}); - -export const lotsOfLogs = task({ - id: "lots-of-logs", - run: async ({ count = 400, delay = 10 }: { count?: number; delay?: number }) => { - for (let i = 0; i < count; i++) { - logger.info( - `Log #${i}. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?`, - {} - ); - await sleepMs(delay); - } - }, -}); - -function sleepMs(ms: number) { - return new Promise((resolve) => setTimeout(resolve, ms)); -} diff --git a/references/v3-catalog/src/trigger/longRunning.ts b/references/v3-catalog/src/trigger/longRunning.ts deleted file mode 100644 index b6b3fc7f50..0000000000 --- a/references/v3-catalog/src/trigger/longRunning.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { logger, task, wait } from "@trigger.dev/sdk/v3"; - -export const longRunning = task({ - id: "long-running", - run: async (payload: { message: string }, { ctx }) => { - logger.info("Long running", { payload }); - - await new Promise((resolve) => setTimeout(resolve, 200000)); // 200 seconds - - await wait.for({ seconds: 10 }); - - await new Promise((resolve) => setTimeout(resolve, 200000)); // 200 seconds - }, -}); - -export const longRunningParent = task({ - id: "long-running-parent", - run: async (payload: { message: string }) => { - logger.info("Long running parent", { payload }); - - const result = await longRunning.triggerAndWait({ message: "child" }); - - return { - finished: new Date().toISOString(), - result, - }; - }, -}); - -export const longRunningWithDotInName = task({ - id: "long.running.with.dot", - run: async (payload: { message: string }) => { - logger.info("Long running payloadd", { payload }); - - // Wait for 3 minutes - await new Promise((resolve) => setTimeout(resolve, 3 * 60 * 1000)); - - return { - finished: new Date().toISOString(), - }; - }, -}); - -export const longRunningWithLotsOfLogs = task({ - id: "long-running-lots-of-logs", - run: async (payload: { message: string }) => { - const largeObject = Array.from({ length: 256 }, (_, i) => i).reduce((acc, i) => { - acc[i] = "a".repeat(100); - return acc; - }, {} as any); - - // Log 10000 times over 3 minutes - for (let i = 0; i < 20000; i++) { - logger.info("Log number " + i, { largeObject }); - await new Promise((resolve) => setTimeout(resolve, 18)); - } - - return { - finished: new Date().toISOString(), - }; - }, -}); - -export const longRunningWith100kLogs = task({ - id: "100k-logs", - run: async (payload: { message: string }) => { - // Log 100000 times over 60 seconds - for (let i = 0; i < 100000; i++) { - console.log("Log number " + i); - - if (i % 512 === 0) { - // wait every 512 logs - await new Promise((resolve) => setTimeout(resolve, 1000)); - } - } - - return { - finished: new Date().toISOString(), - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/maxDuration.ts b/references/v3-catalog/src/trigger/maxDuration.ts deleted file mode 100644 index 612b1916a6..0000000000 --- a/references/v3-catalog/src/trigger/maxDuration.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { logger, task, usage, wait } from "@trigger.dev/sdk/v3"; -import { setTimeout } from "timers/promises"; - -export const maxDurationTask = task({ - id: "max-duration", - maxDuration: 15, // 15 seconds - run: async (payload: { sleepFor: number }, { signal }) => { - await setTimeout(payload.sleepFor * 1000, { signal }); - - return usage.getCurrent(); - }, -}); - -export const maxDurationParentTask = task({ - id: "max-duration-parent", - run: async (payload: any, { ctx, signal }) => { - const result = await maxDurationTask.triggerAndWait({ sleepFor: 10 }, { maxDuration: 600 }); - - return result; - }, -}); diff --git a/references/v3-catalog/src/trigger/nullByte.ts b/references/v3-catalog/src/trigger/nullByte.ts deleted file mode 100644 index 448537fe7b..0000000000 --- a/references/v3-catalog/src/trigger/nullByte.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; -import { setTimeout } from "timers/promises"; - -export const nullByteCrash = task({ - id: "null-byte-parent", - run: async (payload: any, { ctx }) => { - const nullByteUnicode = "\u0000"; - - await setTimeout(5000); - - await nullByteChild.triggerAndWait({ - message: `Null byte: ${nullByteUnicode}`, - }); - }, -}); - -export const nullByteChild = task({ - id: "null-byte-child", - run: async (payload: any, { ctx }) => {}, -}); diff --git a/references/v3-catalog/src/trigger/openai.mts b/references/v3-catalog/src/trigger/openai.mts deleted file mode 100644 index 8482c33727..0000000000 --- a/references/v3-catalog/src/trigger/openai.mts +++ /dev/null @@ -1,36 +0,0 @@ -import { env } from "@/env.js"; -import { logger, task } from "@trigger.dev/sdk/v3"; -import { createStreamableValue } from "ai/rsc"; - -import OpenAI from "openai"; - -const openai = new OpenAI({ - apiKey: env.OPENAI_API_KEY, -}); - -export const openaiTask = task({ - id: "openai-task", - retry: { - maxAttempts: 1, - }, - run: async (payload: { prompt: string }) => { - const streamableStatus = createStreamableValue("thread.init"); - - const chatCompletion = await openai.chat.completions.create({ - messages: [{ role: "user", content: payload.prompt }], - model: "gpt-3.5-turbo", - }); - - return chatCompletion.choices[0].message.content; - }, - handleError: async (payload, err, { ctx, retryAt }) => { - if (err instanceof OpenAI.APIError) { - logger.log("OpenAI API error", { err }); - - return { - error: new Error("Custom OpenAI API error"), - retryDelayInMs: 10000, - }; - } - }, -}); diff --git a/references/v3-catalog/src/trigger/orm/index.ts b/references/v3-catalog/src/trigger/orm/index.ts deleted file mode 100644 index 7668220495..0000000000 --- a/references/v3-catalog/src/trigger/orm/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import "reflect-metadata"; -import { DataSource } from "typeorm"; -import { Entity, Column, PrimaryColumn } from "typeorm"; - -@Entity() -export class Photo { - @PrimaryColumn() - id!: number; - - @Column() - name!: string; - - @Column() - description!: string; - - @Column() - filename!: string; - - @Column() - views!: number; - - @Column() - isPublished!: boolean; -} - -export const AppDataSource = new DataSource({ - type: "postgres", - host: "localhost", - port: 5432, - username: "postgres", - password: "postgres", - database: "v3-catalog", - entities: [Photo], - synchronize: true, - logging: false, -}); diff --git a/references/v3-catalog/src/trigger/other.ts b/references/v3-catalog/src/trigger/other.ts deleted file mode 100644 index 1aee8136a4..0000000000 --- a/references/v3-catalog/src/trigger/other.ts +++ /dev/null @@ -1,166 +0,0 @@ -import { logger, task, wait } from "@trigger.dev/sdk/v3"; -import { setTimeout } from "node:timers/promises"; - -export const loggingTask = task({ - id: "logging-task-2", - run: async () => { - console.log("Hello world"); - }, -}); - -export const waitForever = task({ - id: "wait-forever", - run: async (payload: { freeze?: boolean }) => { - if (payload.freeze) { - await wait.for({ years: 9999 }); - } else { - await logger.trace("Waiting..", async () => { - await setTimeout(2147483647); - }); - } - }, -}); - -export const consecutiveWaits = task({ - id: "consecutive-waits", - run: async (payload: { seconds?: number; debug?: boolean }) => { - logger.log("logs before"); - await wait.for({ seconds: payload.seconds ?? 5 }); - if (payload.debug) { - await wait.for({ seconds: 30 }); - } - await wait.for({ seconds: payload.seconds ?? 5 }); - if (payload.debug) { - await wait.for({ seconds: 30 }); - } - logger.log("logs after"); - }, -}); - -export const waitAminute = task({ - id: "wait-a-minute", - run: async (payload: { seconds?: number }) => { - logger.log("waitAminute: before"); - await wait.for({ seconds: payload.seconds ?? 60 }); - logger.log("waitAminute: after"); - }, -}); - -export const triggerAndWaitDep = task({ - id: "trigger-and-wait-dep", - run: async (payload: { seconds?: number }) => { - logger.log("logs before"); - await waitAminute.triggerAndWait({ seconds: payload.seconds }); - logger.log("logs after"); - }, -}); - -export const testingErrors = task({ - id: "testing-errors", - run: async ({ numberOfFailures = 10 }: { numberOfFailures?: number }, { ctx }) => { - logger.log("logs before"); - - if (ctx.attempt.number < numberOfFailures) { - throw new Error(`Attempt ${ctx.attempt.number} failed`); - } - - logger.log("logs after"); - }, -}); - -export const batchTriggerAndWaitDep = task({ - id: "batch-trigger-and-wait-dep", - run: async (payload: { seconds?: number }) => { - logger.log("logs before"); - await waitAminute.batchTriggerAndWait([ - { payload: { seconds: payload.seconds } }, - { payload: { seconds: payload.seconds } }, - ]); - logger.log("logs after"); - }, -}); - -export const consecutiveDependencies = task({ - id: "consecutive-dependencies", - run: async (payload: { seconds?: number }) => { - logger.log("logs before"); - await waitAminute.triggerAndWait({ seconds: payload.seconds }); - await waitAminute.triggerAndWait({ seconds: payload.seconds }); - logger.log("logs after"); - }, -}); - -export const consecutiveWaitAndDependency = task({ - id: "consecutive-wait-and-dependency", - run: async (payload: { seconds?: number }) => { - logger.log("logs before"); - await wait.for({ seconds: payload.seconds ?? 5 }); - await waitAminute.triggerAndWait({ seconds: payload.seconds }); - logger.log("logs after"); - }, -}); - -export const consecutiveDependencyAndWait = task({ - id: "consecutive-dependency-and-wait", - run: async (payload: { seconds?: number }) => { - logger.log("logs before"); - await waitAminute.triggerAndWait({ seconds: payload.seconds }); - await wait.for({ seconds: payload.seconds ?? 5 }); - logger.log("logs after"); - }, -}); - -export const unfriendlyIdTask = task({ - id: "hello/world:task-1", - run: async () => { - console.log("Hello world"); - }, -}); - -export const oomTask = task({ - id: "oom-task", - machine: { - preset: "micro", - }, - run: async () => { - logger.info("running out of memory below this line"); - - let a = "a"; - - try { - while (true) { - a += a; - } - } catch (error) { - logger.error(error instanceof Error ? error.message : "Unknown error", { error }); - - let b = []; - while (true) { - b.push(a.replace(/a/g, "b")); - } - } - }, -}); - -export const returnZeroCharacters = task({ - id: "return-zero-characters", - run: async (payload: { forceError?: boolean }) => { - if (payload.forceError) { - throw new Error("All zeros: \u0000\x00\0"); - } - - return { - unicode: "\u0000", - hex: "\x00", - octal: "\0", - }; - }, -}); - -export const testEnvVars = task({ - id: "test-env-vars", - run: async (payload: any) => { - console.log(`env.FOO: ${process.env.FOO}`); - console.log(`env.BAR: ${process.env.BAR}`); - }, -}); diff --git a/references/v3-catalog/src/trigger/performance.ts b/references/v3-catalog/src/trigger/performance.ts deleted file mode 100644 index e9f0d8ed4a..0000000000 --- a/references/v3-catalog/src/trigger/performance.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { logger, task } from "@trigger.dev/sdk/v3"; - -export const performance = task({ - id: "performance", - run: async ({ count, subtaskDuration = 30_000 }: { count: number; subtaskDuration?: number }) => { - const payloads = Array.from({ length: count }, (_, i) => ({ - payload: { - durationMs: subtaskDuration, - }, - })); - - await longTask.batchTrigger(payloads); - }, -}); - -export const longTask = task({ - id: "long-task", - run: async ({ durationMs }: { durationMs: number }) => { - //sleep for durationMs - await new Promise((resolve) => setTimeout(resolve, durationMs)); - logger.info("long task done"); - }, -}); diff --git a/references/v3-catalog/src/trigger/playwrightTask.ts b/references/v3-catalog/src/trigger/playwrightTask.ts deleted file mode 100644 index 95f342dc0c..0000000000 --- a/references/v3-catalog/src/trigger/playwrightTask.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { logger, task, locals, tasks, wait } from "@trigger.dev/sdk"; -import { chromium, type Browser } from "playwright"; - -/** - * Example task demonstrating Playwright browser automation with Trigger.dev - * - * To use other browsers (firefox, webkit): - * 1. Import them from playwright: `import { chromium, firefox, webkit } from "playwright";` - * 2. Launch them in the middleware instead of chromium: `const browser = await firefox.launch();` - * 3. Configure the playwright extension in your project: - * ``` - * // In your build configuration - * import { playwright } from "@trigger.dev/core/v3/build"; - * - * extensions: [ - * // Only add browsers your tasks will use - * playwright({ browsers: ["chromium", "firefox", "webkit"] }) - * ] - * ``` - */ - -export const playwrightTestTask = task({ - id: "playwright-test", - retry: { - maxAttempts: 1, - }, - run: async () => { - const playwrightVersion = require("playwright/package.json").version; - - logger.log("Starting Playwright automation task", { version: playwrightVersion }); - - // Use the browser from locals - const browser = getBrowser(); - const prefix = getPrefixFn(browser); - - logger.log(prefix("Browser acquired from locals")); - - // The onWait lifecycle hook will automatically close the browser - // This ensures that checkpoint and restore will be successful - await wait.for({ seconds: 10 }); - - // We have to get a new browser instance because the existing one was closed - const newBrowser = getBrowser(); - - logger.log(prefix("New browser acquired from locals")); - - const page = await newBrowser.newPage(); - logger.log(prefix("New page created")); - - await page.goto("https://google.com"); - logger.log(prefix("Navigated to google.com")); - - const screenshot = await page.screenshot({ path: "screenshot.png" }); - logger.log(prefix("Screenshot taken"), { size: screenshot.byteLength }); - - await page.close(); - logger.log(prefix("Page closed")); - }, -}); - -const getPrefixFn = (browser: Browser) => { - const browserType = browser.browserType(); - const browserName = browserType.name(); - return (msg: string) => `[${browserName}]: ${msg}`; -}; - -// Locals key for Playwright browser -const PlaywrightBrowserLocal = locals.create<{ browser: Browser }>("playwright-browser"); - -export function getBrowser() { - return locals.getOrThrow(PlaywrightBrowserLocal).browser; -} - -export function setBrowser(browser: Browser) { - locals.set(PlaywrightBrowserLocal, { browser }); -} - -tasks.middleware("playwright-browser", async ({ ctx, payload, task, next }) => { - // Only using chromium for now, can be extended for other browsers - const browser = await chromium.launch(); - setBrowser(browser); - - const prefix = getPrefixFn(browser); - logger.log(prefix("Browser launched (middleware)")); - - try { - await next(); - } finally { - await browser.close(); - logger.log(prefix("Browser closed (middleware)")); - } -}); - -tasks.onWait("playwright-browser", async ({ ctx, payload, task }) => { - const browser = getBrowser(); - const prefix = getPrefixFn(browser); - - await browser.close(); - logger.log(prefix("Browser closed (onWait)")); -}); - -tasks.onResume("playwright-browser", async ({ ctx, payload, task }) => { - // Only using chromium for now, can be extended for other browsers - // Make sure this is the same browser as the one used in the middleware - const browser = await chromium.launch(); - setBrowser(browser); - - const prefix = getPrefixFn(browser); - logger.log(prefix("Browser launched (onResume)")); -}); diff --git a/references/v3-catalog/src/trigger/prismaTasks.ts b/references/v3-catalog/src/trigger/prismaTasks.ts deleted file mode 100644 index d7af35141a..0000000000 --- a/references/v3-catalog/src/trigger/prismaTasks.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { getUsersWithPosts, prisma } from "@/db.js"; -import { logger, task } from "@trigger.dev/sdk/v3"; - -export const prismaTask = task({ - id: "prisma-task", - run: async () => { - const users = await prisma.user.findMany(); - - await prisma.user.create({ - data: { - name: "Alice", - }, - }); - - const usersWithPosts = await prisma.$queryRawTyped(getUsersWithPosts()); - - logger.info("Users with posts", { usersWithPosts }); - - return users; - }, -}); diff --git a/references/v3-catalog/src/trigger/puppeteerTask.ts b/references/v3-catalog/src/trigger/puppeteerTask.ts deleted file mode 100644 index 362179898d..0000000000 --- a/references/v3-catalog/src/trigger/puppeteerTask.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; -import puppeteer from "puppeteer"; - -export const puppeteerTask = task({ - id: "puppeteer-task", - machine: { - preset: "large-1x" - }, - run: async () => { - const browser = await puppeteer.launch(); - const page = await browser.newPage(); - await page.goto("https://google.com"); - await page.screenshot({ path: "screenshot.png" }); - await browser.close(); - }, -}); diff --git a/references/v3-catalog/src/trigger/queues.ts b/references/v3-catalog/src/trigger/queues.ts deleted file mode 100644 index e84ce25a53..0000000000 --- a/references/v3-catalog/src/trigger/queues.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { logger, runs, task, wait, auth } from "@trigger.dev/sdk/v3"; - -export const queuesController = task({ - id: "queues/controller", - run: async ( - { - numberOfQueues = 20, - length = 20, - waitSeconds = 3, - }: { - numberOfQueues?: number; - length?: number; - waitSeconds?: number; - }, - { ctx } - ) => { - const publicToken = await auth.createPublicToken({ - scopes: { - read: { - runs: true, - }, - }, - }); - - logger.debug("Public token", { publicToken }); - - await Promise.all([ - queuesTest.trigger( - { waitSeconds }, - { - idempotencyKey: ctx.run.id, - } - ), - queuesTest.trigger( - { waitSeconds }, - { - idempotencyKey: ctx.run.id, - } - ), - queuesTest.trigger( - { waitSeconds }, - { - idempotencyKey: ctx.run.id, - } - ), - queuesTest.trigger( - { waitSeconds }, - { - idempotencyKey: ctx.run.id, - } - ), - queuesTest.trigger( - { waitSeconds }, - { - idempotencyKey: ctx.run.id, - } - ), - ]); - }, -}); - -export const queuesTest = task({ - id: "queues/test", - run: async (payload: { waitSeconds?: number }, { ctx }) => { - await wait.for({ seconds: payload.waitSeconds ?? 1 }); - }, -}); - -export const namedQueueTask = task({ - id: "queues/named-queue", - queue: { - name: "controller", - concurrencyLimit: 9, - }, - run: async () => { - logger.info("named-queue 2"); - }, -}); - -export const inspectApiTraffic = task({ - id: "queues/inspect-api-traffic", - run: async (payload: unknown, { ctx }) => { - // Retrieve the run 100 times - for (let i = 0; i < 100; i++) { - await runs.retrieve(ctx.run.id); - } - - const response = await runs.retrieve(ctx.run.id).asResponse(); - - // Log out the headers - const headers = Object.fromEntries(response.headers.entries()); - - logger.info("Headers", { headers }); - }, -}); diff --git a/references/v3-catalog/src/trigger/retries.ts b/references/v3-catalog/src/trigger/retries.ts deleted file mode 100644 index 4fb0a89150..0000000000 --- a/references/v3-catalog/src/trigger/retries.ts +++ /dev/null @@ -1,256 +0,0 @@ -import { logger, retry, runs, task, wait } from "@trigger.dev/sdk/v3"; -import { cache } from "./utils/cache.js"; -import { join } from "node:path"; -import { mkdir, writeFile } from "node:fs/promises"; - -export const taskWithRetries = task({ - id: "task-with-retries", - retry: { - maxAttempts: 3, - }, - run: async (payload: any, { ctx }) => { - const result = await retry.onThrow( - async ({ attempt }) => { - if (attempt < 4) throw new Error("failedd"); - - return { - foo: "bar", - }; - }, - { maxAttempts: 4, randomize: false, factor: 4 } - ); - - const user = await cache("user", async () => { - return logger.trace("fetch-user", async (span) => { - await new Promise((resolve) => setTimeout(resolve, 1000)); - - span.setAttribute("user.id", "1"); - - return { - id: "1", - name: "John Doe", - fetchedAt: new Date(), - }; - }); - }); - - logger.info("Fetched user", { user }); - - if (ctx.attempt.number <= 2) { - throw new Error(`Attempt ${ctx.attempt.number} failed: ${payload}`); - } - - return { - result: "success", - payload, - }; - }, -}); - -export const taskThatErrors = task({ - id: "task-that-errors", - run: async (payload: any, { ctx }) => { - connectToDatabase(); - }, -}); - -function connectToDatabase() { - initializeConnection(); -} - -function initializeConnection() { - throw new Error("Access denied. You do not have the necessary permissions."); -} - -export const taskWithFetchRetries = task({ - id: "task-with-fetch-retries", - run: async (payload: any, { ctx }) => { - logger.info("Fetching data", { foo: [1, 2, 3], bar: [{ hello: "world" }] }); - - //if the fetch fails, it will retry - const headersResponse = await retry.fetch("http://my.host/test-headers", { - retry: { - byStatus: { - "429": { - strategy: "headers", - limitHeader: "x-ratelimit-limit", - remainingHeader: "x-ratelimit-remaining", - resetHeader: "x-ratelimit-reset", - resetFormat: "unix_timestamp_in_ms", - }, - }, - }, - }); - const json = await headersResponse.json(); - - logger.info("Fetched headers response", { json }); - - const backoffResponse = await retry.fetch("http://my.host/test-backoff", { - timeoutInMs: 1000, - retry: { - byStatus: { - "500-599": { - strategy: "backoff", - maxAttempts: 5, - factor: 2, - minTimeoutInMs: 1_000, - maxTimeoutInMs: 30_000, - randomize: false, - }, - }, - }, - }); - - const json2 = await backoffResponse.json(); - - // This should use the defaults. - await retry.fetch("http://my.host/test-connection-errors"); - - logger.info("Fetched backoff response", { json2 }); - - const timeoutResponse = await retry.fetch("https://httpbin.org/delay/2", { - timeoutInMs: 1000, - retry: { - timeout: { - maxAttempts: 5, - factor: 1.8, - minTimeoutInMs: 500, - maxTimeoutInMs: 30_000, - randomize: false, - }, - }, - }); - - return { - result: "successss", - payload, - json, - json2, - }; - }, -}); - -export const taskWithRateLimitRetries = task({ - id: "task-with-rate-limit-retries", - retry: { - maxAttempts: 5, - minTimeoutInMs: 500, - maxTimeoutInMs: 30_000, - factor: 1.8, - }, - run: async (payload: { runId: string }, { ctx }) => { - for (let i = 0; i < 100; i++) { - const { response } = await runs.retrieve(payload.runId).withResponse(); - - const limit = response.headers.get("x-ratelimit-limit"); - const remaining = response.headers.get("x-ratelimit-remaining"); - const reset = response.headers.get("x-ratelimit-reset"); - - console.log( - `Rate limit: ${remaining}/${limit} remaining. Reset at ${new Date( - parseInt(reset!, 10) - ).toISOString()}` - ); - - if (remaining === "0") { - // break out of the loop - break; - } - } - - console.log("Rate limit almost breached, triggering child task to test rate limit."); - - // Now we want to trigger a subtask to test the rate limit - await childTaskWithRateLimitRetries.trigger({ runId: payload.runId }); - }, -}); - -export const childTaskWithRateLimitRetries = task({ - id: "child-task-with-rate-limit-retries", - run: async (payload: { runId: string }, { ctx }) => { - return runs.retrieve(payload.runId); - }, -}); - -export const taskRetriesAfterRateLimitError = task({ - id: "task-retries-after-rate-limit-error", - retry: { - maxAttempts: 5, - minTimeoutInMs: 500, - maxTimeoutInMs: 30_000, - factor: 1.8, - }, - run: async (payload: { runId: string }, { ctx }) => { - for (let i = 0; i < 100; i++) { - const { response } = await runs.retrieve(payload.runId).withResponse(); - - const limit = response.headers.get("x-ratelimit-limit"); - const remaining = response.headers.get("x-ratelimit-remaining"); - const reset = response.headers.get("x-ratelimit-reset"); - - console.log( - `Rate limit: ${remaining}/${limit} remaining. Reset at ${new Date( - parseInt(reset!, 10) - ).toISOString()}` - ); - - if (remaining === "0") { - // break out of the loop - break; - } - } - - console.log("Rate limit almost breached, triggering child task to test rate limit."); - - // Now we are going to cause a rate limit error to test the retry mechanism - await runs.retrieve(payload.runId, { - retry: { - maxAttempts: 1, - }, - }); - }, -}); - -export const spamRateLimiter = task({ - id: "spam-rate-limiter", - retry: { - maxAttempts: 5, - minTimeoutInMs: 500, - maxTimeoutInMs: 30_000, - factor: 1.8, - }, - run: async (payload: { runId: string }, { ctx }) => { - const requestStats = { - total: 0, - }; - - while (requestStats.total < 100) { - const { response } = await runs.retrieve(payload.runId).withResponse(); - - const remaining = response.headers.get("x-ratelimit-remaining"); - - await logRequest("runs/spam-run-test-3", ctx.run.id, remaining!); - - requestStats.total++; - } - - return requestStats; - }, -}); - -// Write out a log entry for the request -async function logRequest(dir: string, file: string, remaining: string, ts: Date = new Date()) { - const log = { - ts, - remaining, - }; - - const $dir = join(process.cwd(), dir); - - // Create the dir if it doesn't exist - await mkdir($dir, { recursive: true }); - - // Make sure to swap '/path/to/request/logs/' with an actual directory path - const filePath = join($dir, `${file}-${log.ts.toISOString()}.json`); - await writeFile(filePath, JSON.stringify(log, null, 2)); -} diff --git a/references/v3-catalog/src/trigger/returnTypes.ts b/references/v3-catalog/src/trigger/returnTypes.ts deleted file mode 100644 index ccac7aa2fb..0000000000 --- a/references/v3-catalog/src/trigger/returnTypes.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; - -export const returnAllTypes = task({ - id: "return-all-types", - run: async () => { - const resultString = await returnString.triggerAndWait(); - const resultNumber = await returnNumber.triggerAndWait(); - const resultTrue = await returnTrue.triggerAndWait(); - const resultFalse = await returnFalse.triggerAndWait(); - const resultNull = await returnNull.triggerAndWait(); - const resultUndefined = await returnUndefined.triggerAndWait(); - const resultObject = await returnObject.triggerAndWait(); - const resultArray = await returnArray.triggerAndWait(); - - return { - resultString, - resultNumber, - resultTrue, - resultFalse, - resultNull, - resultUndefined, - resultObject, - resultArray, - }; - }, -}); - -export const returnString = task({ - id: "return-string", - run: async () => { - return "This is a string"; - }, -}); - -export const returnNumber = task({ - id: "return-number", - run: async () => { - return 42; - }, -}); - -export const returnTrue = task({ - id: "return-true", - run: async () => { - return true; - }, -}); - -export const returnFalse = task({ - id: "return-false", - run: async () => { - return false; - }, -}); - -export const returnNull = task({ - id: "return-null", - run: async () => { - return null; - }, -}); - -export const returnUndefined = task({ - id: "return-undefined", - run: async () => { - return undefined; - }, -}); - -export const returnObject = task({ - id: "return-object", - run: async () => { - return { key: "value" }; - }, -}); - -export const returnArray = task({ - id: "return-array", - run: async () => { - return [1, 2, 3]; - }, -}); diff --git a/references/v3-catalog/src/trigger/runMetadata.ts b/references/v3-catalog/src/trigger/runMetadata.ts deleted file mode 100644 index 40ccbe50c5..0000000000 --- a/references/v3-catalog/src/trigger/runMetadata.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { logger, task, metadata, AbortTaskRunError } from "@trigger.dev/sdk/v3"; - -export const runMetadataTask = task({ - id: "run-metadata-task", - run: async (payload: any) => { - metadata.set("numberOfChildren", 2); - - await runMetadataChildTask.triggerAndWait(payload, { - metadata: { - hello: "world", - date: new Date(), - anotherThing: { - a: 1, - b: 2, - }, - }, - }); - }, -}); - -export const runMetadataChildTask = task({ - id: "run-metadata-child-task", - run: async (payload: any, { ctx }) => { - metadata.parent.increment("numberOfChildren", 1); - metadata.root.increment("numberOfChildren", 1); - - logger.info("metadata", { metadata: metadata.current() }); - - metadata.set("child", "task"); - - logger.info("metadata", { metadata: metadata.current() }); - - metadata.set("child-2", "task-2"); - - logger.info("metadata", { current: metadata.current() }); - - metadata.del("hello"); - - logger.info("metadata", { metadata: metadata.current() }); - - metadata.replace({ - there: { - is: { - something: "here", - }, - }, - }); - - await runMetadataChildTask2.triggerAndWait(payload, { - metadata: metadata.current(), - }); - - return metadata.current(); - }, - onStart: async () => { - logger.info("metadata", { metadata: metadata.current() }); - }, - onSuccess: async () => { - logger.info("metadata", { metadata: metadata.current() }); - }, -}); - -export const runMetadataChildTask2 = task({ - id: "run-metadata-child-task-2", - run: async (payload: any, { ctx }) => { - metadata.root.increment("numberOfChildren", 1); - }, -}); - -export const myTask = task({ - id: "my-task", - run: async (payload: any) => {}, -}); diff --git a/references/v3-catalog/src/trigger/scheduled.ts b/references/v3-catalog/src/trigger/scheduled.ts deleted file mode 100644 index 394a7d59a1..0000000000 --- a/references/v3-catalog/src/trigger/scheduled.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { logger, schedules, task } from "@trigger.dev/sdk/v3"; - -export const firstScheduledTask = schedules.task({ - id: "first-scheduled-task", - //every other minute - only run in production and staging environments (skip development) - cron: { - pattern: "0 */2 * * *", - environments: ["PRODUCTION", "STAGING"], - }, - run: async (payload, { ctx }) => { - const distanceInMs = - payload.timestamp.getTime() - (payload.lastTimestamp ?? new Date()).getTime(); - - logger.log(payload.timezone); - - logger.log("First scheduled tasks", { payload, distanceInMs }); - - const formatted = payload.timestamp.toLocaleString("en-US", { - timeZone: payload.timezone, - }); - - logger.log(formatted); - }, -}); - -export const secondScheduledTask = schedules.task({ - id: "second-scheduled-task", - cron: { - pattern: "0 5 * * *", - timezone: "Asia/Tokyo", - environments: ["PRODUCTION"], // Only run in production - }, - run: async (payload) => {}, -}); - -export const manageSchedules = task({ - id: "manage-schedules", - run: async (payload) => { - const createdSchedule = await schedules.create({ - //The id of the scheduled task you want to attach to. - task: firstScheduledTask.id, - //The schedule in CRON format. - cron: "* * * * *", - deduplicationKey: `create-schedule-1718277290717`, - timezone: "Asia/Tokyo", - }); - logger.log("Created schedule", createdSchedule); - - const editedSchedule = await schedules.update(createdSchedule.id, { - //The id of the scheduled task you want to attach to. - task: firstScheduledTask.id, - //The schedule in CRON format. - cron: "* * * * *", - timezone: "Europe/Athens", - }); - logger.log("Edited schedule", editedSchedule); - - const sched = await schedules.retrieve(createdSchedule.id); - logger.log("Retrieved schedule", sched); - - const allSchedules = await schedules.list(); - logger.log("All schedules", { allSchedules }); - - const { timezones } = await schedules.timezones(); - logger.log("Timezones", { timezones }); - - const withoutUtc = await schedules.timezones({ excludeUtc: true }); - logger.log("Timezones without UTC", { withoutUtc }); - }, -}); diff --git a/references/v3-catalog/src/trigger/sdkUsage.ts b/references/v3-catalog/src/trigger/sdkUsage.ts deleted file mode 100644 index 3a75afecb1..0000000000 --- a/references/v3-catalog/src/trigger/sdkUsage.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { task, tasks, runs, logger, schedules, envvars } from "@trigger.dev/sdk/v3"; - -export const sdkUsage = task({ - id: "sdk-usage", - run: async (payload: any, { ctx }) => { - const $runs = await runs.list({ - limit: 10, - status: "COMPLETED", - }); - - const $firstRun = await runs.retrieve($runs.data[0].id); - - const handle = await tasks.trigger("sdk-child", { - run: $firstRun, - }); - - const replayedRun = await runs.replay($firstRun.id); - - await runs.cancel(replayedRun.id); - - const delayed = await tasks.trigger( - "sdk-child", - { - delay: "1h", - }, - { - delay: "1h", - } - ); - - await runs.reschedule(delayed.id, { - delay: "1m", - }); - - for await (const run of runs.list({ - limit: 10, - period: "1d", - })) { - logger.log(run.id, { run }); - } - - const batchHandle = await sdkChild.batchTrigger([ - { - payload: {}, - }, - ]); - - const waitResult = await sdkChild.triggerAndWait({ - payload: {}, - }); - - await sdkChild.batchTriggerAndWait([ - { - payload: {}, - }, - ]); - - await tasks.batchTrigger("sdk-child", [ - { - payload: {}, - }, - ]); - - const schedule = await schedules.create({ - cron: "0 0 * * *", // every day at midnight - deduplicationKey: ctx.run.id, - externalId: ctx.run.id, - task: "sdk-schedule", - }); - - await schedules.retrieve(schedule.id); - - await schedules.del(schedule.id); - - await envvars.upload({ - variables: { - INSIDE_RUN: "true", - }, - override: true, - }); - - await envvars.list({ - retry: { - maxAttempts: 3, - }, - }); - - await envvars.create( - { - name: "INSIDE_RUN_2", - value: "true", - }, - { - retry: { - maxAttempts: 3, - }, - } - ); - - await envvars.retrieve("INSIDE_RUN_2"); - - await envvars.update( - "INSIDE_RUN_2", - { - value: "false", - }, - { - retry: { - maxAttempts: 3, - }, - } - ); - }, -}); - -export const sdkChild = task({ - id: "sdk-child", - run: async (payload: any) => { - return payload; - }, -}); - -export const sdkSchedule = schedules.task({ - id: "sdk-schedule", - run: async (payload: any) => {}, -}); - -export const autoResolvePayloadAndOutput = task({ - id: "auto-resolve-payload-and-output", - run: async (payload: any, { ctx }) => { - // Generate a large JSON payload (bigger than 128KB) - const childPayload = Array.from({ length: 10000 }, () => ({ - key: "value", - date: new Date(), - })); - - const handle = await tasks.trigger("sdk-child", childPayload); - - const childRun = await runs.retrieve(handle.id); - - if (childRun.payload) { - console.log("Child run payload exists", { - payloadPresignedUrl: childRun.payloadPresignedUrl, - }); - } else { - console.log("Child run payload does not exist", { - payloadPresignedUrl: childRun.payloadPresignedUrl, - }); - } - - await runs.poll(handle.id); - - const finishedRun = await runs.retrieve(handle.id); - - if (finishedRun.output) { - console.log("Finished run output exists", { - outputPresignedUrl: finishedRun.outputPresignedUrl, - }); - } else { - console.log("Finished run payload does not exist", { - outputPresignedUrl: finishedRun.outputPresignedUrl, - }); - } - }, -}); diff --git a/references/v3-catalog/src/trigger/simple.ts b/references/v3-catalog/src/trigger/simple.ts deleted file mode 100644 index 9172317e7a..0000000000 --- a/references/v3-catalog/src/trigger/simple.ts +++ /dev/null @@ -1,255 +0,0 @@ -import "server-only"; -import { logger, SubtaskUnwrapError, task, tasks, wait } from "@trigger.dev/sdk/v3"; -import { traceAsync } from "@/telemetry.js"; -import { HeaderGenerator } from "header-generator"; -import { setTimeout as setTimeoutP } from "node:timers/promises"; - -let headerGenerator = new HeaderGenerator({ - browsers: [{ name: "firefox", minVersion: 90 }, { name: "chrome", minVersion: 110 }, "safari"], - devices: ["desktop"], - operatingSystems: ["windows"], -}); - -export const fetchPostTask = task({ - id: "fetch-post-task", - machine: { preset: "small-1x" }, - run: async (payload: { url: string }) => { - const headers = headerGenerator.getHeaders({ - operatingSystems: ["linux"], - locales: ["en-US", "en"], - }); - - logger.log("fetch-post-task", { headers }); - - const response = await fetch(payload.url, { - method: "GET", - headers, - }); - - return response.json() as Promise<{ url: string; method: string }>; - }, -}); - -export const anyPayloadTask = task({ - id: "any-payload-task", - run: async (payload: any) => { - try { - const { url, method } = await tasks - .triggerAndWait("fetch-post-task", { - url: "https://jsonplaceholder.typicode.comasdqdasd/posts/1", - }) - .unwrap(); - - console.log("Result from fetch-post-task 211111sss", { output: { url, method } }); - } catch (error) { - if (error instanceof SubtaskUnwrapError) { - console.error("Error in fetch-post-task", { - runId: error.runId, - taskId: error.taskId, - cause: error.cause, - }); - } - } - - return { - payload, - }; - }, -}); - -export const taskWithSpecialCharacters = task({ - id: "admin:special-characters", - run: async (payload: { url: string }) => { - await traceAsync("taskWithSpecialCharacters", async () => { - await new Promise((resolve) => setTimeout(resolve, 1000)); - }); - - return { - message: "This task has special characters in its ID", - }; - }, -}); - -export const createJsonHeroDoc = task({ - id: "create-jsonhero-doc", - queue: { - concurrencyLimit: 1, - }, - run: async (payload: { title: string; content: any }, { ctx }) => { - // Sleep for 5 seconds - await wait.for({ seconds: 30 }); - - const response = await fetch("https://jsonhero.io/api/create.json", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - title: `${payload.title} v2`, - content: { - payload: payload.content, - __triggerContext: ctx, - }, - readOnly: true, - }), - }); - - const json: any = await response.json(); - - return json as { id: string; title: string; location: string }; - }, -}); - -export const immediateReturn = task({ - id: "immediateReturn", - run: async (payload: any, { ctx }) => { - console.info("some"); - console.warn("random"); - console.error("logs"); - - await new Promise((resolve) => setTimeout(resolve, 20000)); - }, -}); - -export const simulateErrorTester = task({ - id: "simulateErrorTester", - run: async (payload: { message: string }) => { - await simulateError.batchTrigger([ - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - { payload: { message: payload.message }, options: { maxAttempts: 1 } }, - ]); - }, -}); - -export const simulateError = task({ - id: "simulateError", - retry: { - maxAttempts: 1, - }, - run: async (payload: { message: string }) => { - thisFunctionWillThrow(); - }, -}); - -function thisFunctionWillThrow() { - throw new Error("This function will throw"); -} - -// export const parentTask = task({ -// id: "parent-task", -// run: async (payload: { message: string }, { ctx }) => { -// logger.info("Parent task payload", { payload }); - -// console.info("This is an info message"); -// logger.info("This is an info message from logger.info"); -// console.log(JSON.stringify({ ctx, message: "This is the parent task contexts" })); -// logger.log(JSON.stringify({ ctx, message: "This is the parent task context from logger.log" })); -// console.warn("You've been warned buddy"); -// logger.warn("You've been warned buddy from logger.warn"); -// console.error("This is an error message"); -// logger.error("This is an error message from logger.error"); - -// await wait.for({ seconds: 5 }); - -// const childTaskResponse = await childTask -// .triggerAndWait({ -// message: payload.message, -// forceError: false, -// }) -// .unwrap(); - -// logger.info("Child task response", { childTaskResponse }); - -// await childTask.trigger({ -// message: `${payload.message} - 2.a`, -// forceError: true, -// }); - -// await new Promise((resolve) => setTimeout(resolve, 1000)); - -// return { -// message: payload.message, -// childTaskResponse, -// }; -// }, -// }); - -// export const childTask = task({ -// id: "child-task", -// run: async ( -// payload: { message: string; forceError: boolean; delayInSeconds?: number }, -// { ctx } -// ) => { -// logger.info("Child task payload", { payload }); -// logger.info("Child task payload 2", { payload }); -// logger.info("Child task payload 3", { payload }); -// logger.info("Child task payload 4", { payload }); -// logger.info("Child task payload 5", { payload }); - -// await wait.for({ seconds: payload.delayInSeconds ?? 5 }); - -// logger.info("Child task payload 6", { payload }); -// logger.info("Child task payload 7", { payload }); -// logger.info("Child task payload 8", { payload }); - -// const response = await fetch("https://jsonhero.io/api/create.json", { -// method: "POST", -// headers: { -// "Content-Type": "application/json", -// }, -// body: JSON.stringify({ -// title: "childTask payload and ctxr", -// content: { -// payload, -// ctx, -// }, -// readOnly: true, -// }), -// }); - -// const json: any = await response.json(); - -// logger.info("JSONHero response", { json }); - -// if (payload.forceError) { -// throw new Error(`Forced error: ${payload.message}`); -// } - -// return { -// message: "This is the child task", -// parentMessage: payload.message, -// }; -// }, -// }); - -export const retryTask = task({ - id: "retry-task", - run: async (payload: any) => { - throw new Error("This task will always fail"); - }, -}); - -export const maximumQueueDepthParent = task({ - id: "maximum-queue-depth-parent", - run: async (payload: any) => { - await maximumQueueDepthChild.trigger({}); - await maximumQueueDepthChild.trigger({}); - await maximumQueueDepthChild.trigger({}); - }, -}); - -export const maximumQueueDepthChild = task({ - id: "maximum-queue-depth-child", - queue: { - concurrencyLimit: 1, - }, - run: async (payload: any) => { - await setTimeoutP(10_000); - }, -}); diff --git a/references/v3-catalog/src/trigger/stripe.ts b/references/v3-catalog/src/trigger/stripe.ts deleted file mode 100644 index 124b845e60..0000000000 --- a/references/v3-catalog/src/trigger/stripe.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; - -import { Stripe } from "stripe"; - -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { - apiVersion: "2022-11-15", -}); - -export const stripeTask = task({ - id: "stripe-task", - run: async () => { - // Do a simple stripe query call - const response = await stripe.customers.list({ - limit: 3, - }); - - return response; - }, -}); diff --git a/references/v3-catalog/src/trigger/subdir/another/byeWorld.ts b/references/v3-catalog/src/trigger/subdir/another/byeWorld.ts deleted file mode 100644 index cd3a7980a8..0000000000 --- a/references/v3-catalog/src/trigger/subdir/another/byeWorld.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; - -export const byeWorldSubdir = task({ - id: "bye-world-subdir-2", - run: async (payload: { message: string }) => { - return { - bye: "worlds", - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/subdir/helloWorld.ts b/references/v3-catalog/src/trigger/subdir/helloWorld.ts deleted file mode 100644 index d24b968511..0000000000 --- a/references/v3-catalog/src/trigger/subdir/helloWorld.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; - -export const helloWorldSubdir = task({ - id: "hello-world-subdir-2", - run: async (payload: { message: string }) => { - return { - hello: "worlds", - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/subtasks.ts b/references/v3-catalog/src/trigger/subtasks.ts deleted file mode 100644 index 9e976c7725..0000000000 --- a/references/v3-catalog/src/trigger/subtasks.ts +++ /dev/null @@ -1,282 +0,0 @@ -import { logger, task, wait, tasks, tags } from "@trigger.dev/sdk/v3"; -import { taskWithRetries } from "./retries.js"; - -export const simpleParentTask = task({ - id: "simple-parent-task", - run: async (payload: { message: string }) => { - await simpleChildTask.trigger({ - message: `${payload.message} - 2.b`, - }); - - await tasks.trigger("simple-child-task", { - message: `${payload.message} - 2.c`, - }); - - await simpleChildTask.triggerAndWait({ - message: `${payload.message} - 2.b`, - }); - - return { - hello: "world", - }; - }, -}); - -export const simpleChildTask = task({ - id: "simple-child-task", - run: async (payload: { message: string }, { ctx }) => { - logger.log("Simple child task payload", { payload, ctx }); - - logger.log("Context tags", { tags: ctx.run.tags }); - await tags.add("product:1"); - - await wait.for({ seconds: 10 }); - - return { - foo: "bar", - }; - }, -}); - -export const subtasksWithRetries = task({ - id: "subtasks-with-retries", - run: async (payload: { message: string }) => { - await taskWithRetries.triggerAndWait({ - message: `${payload.message} - 2.b`, - }); - - await taskWithRetries.batchTrigger([ - { - payload: { - message: `${payload.message} - 2.c`, - }, - }, - { - payload: { - message: `${payload.message} - 2.cc`, - }, - }, - ]); - - await taskWithRetries.batchTriggerAndWait([ - { - payload: { - message: `${payload.message} - 2.d`, - }, - }, - { - payload: { - message: `${payload.message} - 2.dd`, - }, - }, - ]); - - await taskWithRetries.triggerAndWait({ - message: `${payload.message} - 2.e`, - }); - - await taskWithRetries.batchTriggerAndWait([ - { - payload: { - message: `${payload.message} - 2.f`, - }, - }, - { - payload: { - message: `${payload.message} - 2.ff`, - }, - }, - ]); - - return { - hello: "world", - }; - }, -}); - -export const multipleTriggerWaits = task({ - id: "multiple-trigger-waits", - run: async ({ message = "test" }: { message?: string }) => { - await simpleChildTask.triggerAndWait({ message: `${message} - 1.a` }); - await simpleChildTask.triggerAndWait({ message: `${message} - 2.a` }); - - await simpleChildTask.batchTriggerAndWait([ - { payload: { message: `${message} - 3.a` } }, - { payload: { message: `${message} - 3.b` } }, - ]); - await simpleChildTask.batchTriggerAndWait([ - { payload: { message: `${message} - 4.a` } }, - { payload: { message: `${message} - 4.b` } }, - ]); - - return { - hello: "world", - }; - }, -}); - -export const triggerAndWaitLoops = task({ - id: "trigger-wait-loops", - run: async ({ message = "test" }: { message?: string }) => { - for (let i = 0; i < 2; i++) { - await simpleChildTask.triggerAndWait({ message: `${message} - ${i}` }); - } - - for (let i = 0; i < 2; i++) { - await simpleChildTask.batchTriggerAndWait([ - { payload: { message: `${message} - ${i}.a` } }, - { payload: { message: `${message} - ${i}.b` } }, - ]); - } - - const handle = await taskWithNoPayload.trigger(); - await taskWithNoPayload.triggerAndWait(); - - // Don't do this! - // await Promise.all( - // [{ message: `${message} - 1` }, { message: `${message} - 2` }].map((payload) => - // simpleChildTask.triggerAndWait({ payload }) - // ) - // ); - }, -}); - -export const taskWithNoPayload = task({ - id: "task-with-no-payload", - run: async () => { - logger.log("Task with no payload"); - - return { hello: "world" }; - }, -}); - -export const simpleTaskParentWithSubtasks = task({ - id: "simple-task-parent-with-subtask", - run: async ({ message = "test" }: { message?: string }) => { - await new Promise((resolve) => setTimeout(resolve, 5000)); - - await simpleChildTask.triggerAndWait({ message: `${message} - 1` }); - - return { - hello: "world", - }; - }, -}); - -export const deeplyNestedTaskParent = task({ - id: "deeply-nested-task-parent", - run: async ({ message = "test" }: { message?: string }) => { - await deeplyNestedTaskChild.triggerAndWait({ message: `${message} - 1` }); - - return { - hello: "world", - }; - }, -}); - -export const deeplyNestedTaskChild = task({ - id: "deeply-nested-task-child", - run: async ({ message = "test" }: { message?: string }) => { - await new Promise((resolve) => setTimeout(resolve, 5000)); - - await deeplyNestedTaskGrandchild.triggerAndWait({ message: `${message} - 2` }); - - return { - hello: "world", - }; - }, -}); - -export const deeplyNestedTaskGrandchild = task({ - id: "deeply-nested-task-grandchild", - run: async ({ message = "test" }: { message?: string }) => { - await deeplyNestedTaskGreatGrandchild.batchTriggerAndWait( - Array.from({ length: 100 }, (_, i) => ({ payload: { message: `${message} - ${i}` } })) - ); - - return { - hello: "world", - }; - }, -}); - -export const deeplyNestedTaskGreatGrandchild = task({ - id: "deeply-nested-task-great-grandchild", - run: async ({ message = "test" }: { message?: string }) => { - await new Promise((resolve) => setTimeout(resolve, 10000)); - - return { - hello: "world", - }; - }, -}); - -export const dependencyCancellationParent = task({ - id: "dependency-cancellation-parent", - run: async ({ message = "test" }: { message?: string }) => { - const handle = await dependencyCancellationChild.triggerAndWait({ message: `${message} - 1` }); - - return { - hello: "world", - }; - }, -}); - -export const dependencyCancellationChild = task({ - id: "dependency-cancellation-child", - run: async ({ message = "test" }: { message?: string }) => { - await dependencyCancellationGrandchild.triggerAndWait({ message: `${message} - 2` }); - - return { - hello: "world", - }; - }, -}); - -export const dependencyCancellationGrandchild = task({ - id: "dependency-cancellation-grandchild", - run: async ({ message = "test" }: { message?: string }) => { - await wait.for({ seconds: 30 }); - - return { - hello: "world", - }; - }, -}); - -export const batchDependencyCancellationParent = task({ - id: "batch-dependency-cancellation-parent", - run: async ({ message = "test" }: { message?: string }) => { - const handle = await batchDependencyCancellationChild.batchTriggerAndWait( - Array.from({ length: 10 }, (_, i) => ({ payload: { message: `${message} - ${i}` } })) - ); - - return { - hello: "world", - }; - }, -}); - -export const batchDependencyCancellationChild = task({ - id: "batch-dependency-cancellation-child", - run: async ({ message = "test" }: { message?: string }) => { - const handle = await batchDependencyCancellationGrandChild.batchTriggerAndWait( - Array.from({ length: 10 }, (_, i) => ({ payload: { message: `${message} - ${i}` } })) - ); - - return { - hello: "world", - }; - }, -}); - -export const batchDependencyCancellationGrandChild = task({ - id: "batch-dependency-cancellation-grandchild", - run: async ({ message = "test" }: { message?: string }) => { - await wait.for({ seconds: 30 }); - - return { - hello: "world", - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/superjson.ts b/references/v3-catalog/src/trigger/superjson.ts deleted file mode 100644 index 1e25be9a5a..0000000000 --- a/references/v3-catalog/src/trigger/superjson.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { logger, task } from "@trigger.dev/sdk/v3"; - -export const superParentTask = task({ - id: "super-parent-task", - run: async () => { - const result = await superChildTask.triggerAndWait({ - foo: "bar", - whenToDo: new Date(), - buffer: Buffer.from("foo"), - }); - - if (result.ok) { - logger.log(`typeof result.date = ${typeof result.output.date}`); - logger.log(`typeof result.output.regex = ${typeof result.output.regex}`); - logger.log(`typeof result.output.bigint = ${typeof result.output.bigint}`); - logger.log(`typeof result.output.set = ${typeof result.output.set}`); - logger.log(`typeof result.output.map = ${typeof result.output.map}`); - logger.log(`typeof result.output.error = ${typeof result.output.error}`); - logger.log(`typeof result.output.url = ${typeof result.output.url}`); - } - - return "## super-parent-task completed"; - }, -}); - -export const superChildTask = task({ - id: "super-child-task", - run: async (payload: { whenToDo: Date; foo: string; buffer: Buffer }) => { - logger.log("super-child-task payload: ", { payload }); - logger.log(`typeof payload.whenToDo = ${typeof payload.whenToDo}`); - logger.log(`typeof payload.foo = ${typeof payload.foo}`); - logger.log(`typeof payload.buffer = ${payload.buffer.toString("utf-8")}`); - - return { - date: new Date(), - regex: /foo/, - bigint: BigInt(123), - set: new Set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]), - map: new Map([ - ["foo", "bar"], - ["baz", "qux"], - ]), - error: new Error("foo"), - url: new URL("https://trigger.dev"), - }; - }, -}); - -export const superHugePayloadTask = task({ - id: "super-huge-payload-task", - run: async () => { - const largePayload = createLargeObject(1000, 128); - - const result = await superHugeOutputTask.triggerAndWait(largePayload); - - logger.log("Result from superHugeOutputTask: ", { result }); - - const batchResult = await superHugeOutputTask.batchTriggerAndWait([ - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - { payload: largePayload }, - { - payload: { - small: "object", - }, - }, - ]); - - logger.log("Result from superHugeOutputTask batchTriggerAndWait: ", { batchResult }); - - return { - result, - }; - }, -}); - -export const superHugeOutputTask = task({ - id: "super-huge-output-task", - run: async (payload: any) => { - return payload; - }, -}); - -export const superStringTask = task({ - id: "super-string-parent-task", - run: async () => { - const result = await superStringChildTask.triggerAndWait({ - foo: "bar", - }); - - return result; - }, -}); - -export const superStringChildTask = task({ - id: "super-string-child-task", - run: async (payload: any) => { - return "## super-string-child-task completed"; - }, -}); - -export const superBadOutputTask = task({ - id: "super-bad-output-task", - run: async () => { - // Returning something that cannot be serialized - - return () => {}; - }, -}); - -function createLargeObject(size: number, length: number) { - return Array.from({ length }, (_, i) => [i.toString(), i.toString().padStart(size, "0")]).reduce( - (acc, [key, value]) => { - acc[key] = value; - return acc; - }, - {} as Record - ); -} diff --git a/references/v3-catalog/src/trigger/tags.ts b/references/v3-catalog/src/trigger/tags.ts deleted file mode 100644 index 88440430d0..0000000000 --- a/references/v3-catalog/src/trigger/tags.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { logger, runs, task, tasks } from "@trigger.dev/sdk/v3"; -import { simpleChildTask } from "./subtasks.js"; - -type Payload = { - tags: string | string[]; -}; - -export const triggerRunsWithTags = task({ - id: "trigger-runs-with-tags", - run: async (payload: Payload, { ctx }) => { - logger.info(`${ctx.run.version}`); - - const { id } = await simpleChildTask.trigger( - { message: "trigger from triggerRunsWithTags foobar" }, - { tags: payload.tags } - ); - - //runs in the past 5 seconds, as a date - const from = new Date(); - from.setSeconds(from.getSeconds() - 5); - const result2 = await runs.list({ tag: payload.tags, from }); - logger.log("list with Date()", { length: result2.data.length, data: result2.data }); - - //runs in the past 5 seconds, as a number timestamp - const result3 = await runs.list({ tag: payload.tags, from: from.getTime() - 5000 }); - logger.log("list with timestamp", { length: result3.data.length, data: result3.data }); - - logger.log("run usage", { - costInCents: result2.data[0].costInCents, - baseCostInCents: result2.data[0].baseCostInCents, - durationMs: result2.data[0].durationMs, - }); - - await simpleChildTask.triggerAndWait( - { message: "triggerAndWait from triggerRunsWithTags" }, - { tags: payload.tags } - ); - - await simpleChildTask.batchTrigger([ - { - payload: { message: "batchTrigger 1 from triggerRunsWithTags" }, - options: { tags: payload.tags }, - }, - { - payload: { message: "batchTrigger 2 from triggerRunsWithTags" }, - options: { tags: payload.tags }, - }, - ]); - - const results = await simpleChildTask.batchTriggerAndWait([ - { - payload: { message: "batchTriggerAndWait 1 from triggerRunsWithTags" }, - options: { tags: payload.tags }, - }, - { - payload: { message: "batchTriggerAndWait 2 from triggerRunsWithTags" }, - options: { tags: payload.tags }, - }, - ]); - - await tasks.trigger( - "simple-child-task", - { message: "tasks.trigger from triggerRunsWithTags" }, - { tags: payload.tags } - ); - await tasks.triggerAndWait( - "simple-child-task", - { message: "tasks.triggerAndWait from triggerRunsWithTags" }, - { tags: payload.tags } - ); - await tasks.batchTrigger("simple-child-task", [ - { - payload: { message: "tasks.batchTrigger 1 from triggerRunsWithTags" }, - options: { tags: payload.tags }, - }, - { - payload: { message: "tasks.batchTrigger 2 from triggerRunsWithTags" }, - options: { tags: payload.tags }, - }, - ]); - - const run = await runs.retrieve(id); - logger.log("run", run); - logger.log("run usage", { - costInCents: run.costInCents, - baseCostInCents: run.baseCostInCents, - durationMs: run.durationMs, - }); - - return { - tags: run.tags, - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/taskHierarchy.ts b/references/v3-catalog/src/trigger/taskHierarchy.ts deleted file mode 100644 index f35af93601..0000000000 --- a/references/v3-catalog/src/trigger/taskHierarchy.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { runs, task } from "@trigger.dev/sdk/v3"; -import { setTimeout } from "node:timers/promises"; - -export const rootTask = task({ - id: "task-hierarchy/root-task", - run: async ( - { useWaits = true, useBatch = false }: { useWaits: boolean; useBatch: boolean }, - { ctx } - ) => { - console.log("root-task"); - - if (useWaits) { - if (useBatch) { - await childTask.batchTriggerAndWait([{ payload: { useWaits, useBatch } }]); - } else { - await childTask.triggerAndWait({ useWaits, useBatch }); - } - } else { - if (useBatch) { - await childTask.batchTrigger([ - { payload: { useWaits, useBatch } }, - { payload: { useWaits, useBatch } }, - ]); - } else { - await childTask.trigger({ useWaits, useBatch }); - } - } - - if (!useWaits) { - await setTimeout(10_000); // Wait for 10 seconds, all the runs will be finished by then - } - - await logRunHierarchy(ctx.run.id); - }, -}); - -export const childTask = task({ - id: "task-hierarchy/child-task", - run: async ({ useWaits = true, useBatch = false }: { useWaits: boolean; useBatch: boolean }) => { - console.log("child-task"); - - if (useWaits) { - if (useBatch) { - await grandChildTask.batchTriggerAndWait([{ payload: { useWaits, useBatch } }]); - } else { - await grandChildTask.triggerAndWait({ useWaits, useBatch }); - } - } else { - if (useBatch) { - await grandChildTask.batchTrigger([{ payload: { useWaits, useBatch } }]); - } else { - await grandChildTask.trigger({ useWaits, useBatch }); - } - } - }, -}); - -export const grandChildTask = task({ - id: "task-hierarchy/grand-child-task", - run: async ({ useWaits = true, useBatch = false }: { useWaits: boolean; useBatch: boolean }) => { - console.log("grand-child-task"); - - if (useWaits) { - if (useBatch) { - await greatGrandChildTask.batchTriggerAndWait([{ payload: { useWaits, useBatch } }]); - } else { - await greatGrandChildTask.triggerAndWait({ useWaits, useBatch }); - } - } else { - if (useBatch) { - await greatGrandChildTask.batchTrigger([{ payload: { useWaits, useBatch } }]); - } else { - await greatGrandChildTask.trigger({ useWaits, useBatch }); - } - } - }, -}); - -export const greatGrandChildTask = task({ - id: "task-hierarchy/great-grand-child-task", - run: async ({ useWaits = true, useBatch = false }: { useWaits: boolean; useBatch: boolean }) => { - console.log("great-grand-child-task"); - }, -}); - -async function logRunHierarchy( - runId: string, - parentTaskIdentifier?: string, - triggerFunction?: string -) { - const runData = await runs.retrieve(runId); - - const indent = " ".repeat(runData.depth * 2); - const triggerInfo = triggerFunction ? ` (triggered by ${triggerFunction})` : ""; - const parentInfo = parentTaskIdentifier ? ` (parent task: ${parentTaskIdentifier})` : ""; - - console.log( - `${indent}Level ${runData.depth}: [${runData.taskIdentifier}] run ${runData.id}${triggerInfo}${parentInfo}` - ); - - for (const childRun of runData.relatedRuns.children ?? []) { - await logRunHierarchy(childRun.id, runData.taskIdentifier, childRun.triggerFunction); - } -} diff --git a/references/v3-catalog/src/trigger/taskTypes.ts b/references/v3-catalog/src/trigger/taskTypes.ts deleted file mode 100644 index 06e0104a55..0000000000 --- a/references/v3-catalog/src/trigger/taskTypes.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { task, schemaTask, type TaskPayload } from "@trigger.dev/sdk/v3"; -import { z } from "zod"; - -export const task1 = task({ - id: "types/task-1", - run: async (payload: { foo: string }) => { - return { hello: "world" }; - }, -}); - -export const zodTask = schemaTask({ - id: "types/zod", - schema: z.object({ - bar: z.string(), - baz: z.string().default("foo"), - }), - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -type ZodPayload = TaskPayload; - -import * as yup from "yup"; - -export const yupTask = schemaTask({ - id: "types/yup", - schema: yup.object({ - bar: yup.string().required(), - baz: yup.string().default("foo"), - }), - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -type YupPayload = TaskPayload; - -import { object, string } from "superstruct"; - -export const superstructTask = schemaTask({ - id: "types/superstruct", - schema: object({ - bar: string(), - baz: string(), - }), - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -type SuperstructPayload = TaskPayload; - -import { type } from "arktype"; - -export const arktypeTask = schemaTask({ - id: "types/arktype", - schema: type({ - bar: "string", - baz: "string", - }).assert, - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -type ArktypePayload = TaskPayload; - -import * as Schema from "@effect/schema/Schema"; - -const effectSchemaParser = Schema.decodeUnknownSync( - Schema.Struct({ bar: Schema.String, baz: Schema.String }) -); - -export const effectTask = schemaTask({ - id: "types/effect", - schema: effectSchemaParser, - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -type EffectPayload = TaskPayload; - -import * as T from "runtypes"; - -export const runtypesTask = schemaTask({ - id: "types/runtypes", - schema: T.Record({ - bar: T.String, - baz: T.String, - }), - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -type RuntypesPayload = TaskPayload; - -import * as v from "valibot"; - -const valibotParser = v.parser( - v.object({ - bar: v.string(), - baz: v.string(), - }) -); - -export const valibotTask = schemaTask({ - id: "types/valibot", - schema: valibotParser, - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -import { Type } from "@sinclair/typebox"; -import { wrap } from "@typeschema/typebox"; - -export const typeboxTask = schemaTask({ - id: "types/typebox", - schema: wrap( - Type.Object({ - bar: Type.String(), - baz: Type.String(), - }) - ), - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -export const customParserTask = schemaTask({ - id: "types/custom-parser", - schema: (data: unknown) => { - // This is a custom parser, and should do actual parsing (not just casting) - if (typeof data !== "object") { - throw new Error("Invalid data"); - } - - const { bar, baz } = data as { bar: string; baz: string }; - - return { bar, baz }; - }, - run: async (payload) => { - console.log(payload.bar, payload.baz); - }, -}); - -type CustomParserPayload = TaskPayload; diff --git a/references/v3-catalog/src/trigger/triggerKitchenSink.ts b/references/v3-catalog/src/trigger/triggerKitchenSink.ts deleted file mode 100644 index f8c3fd69ba..0000000000 --- a/references/v3-catalog/src/trigger/triggerKitchenSink.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { tasks, task } from "@trigger.dev/sdk/v3"; - -export const triggerKitchenSink = task({ - id: "trigger-kitchen-sink", - run: async (payload: { message: string }) => { - await triggerKitchenSinkChild.trigger({ - message: `${payload.message} - 2.b`, - }); - - await tasks.trigger("trigger-kitchen-sink-child", { - message: `${payload.message} - 2.c`, - }); - - await triggerKitchenSinkChild.triggerAndWait({ - message: `${payload.message} - 2.b`, - }); - - await tasks.triggerAndWait("trigger-kitchen-sink-child", { - message: `${payload.message} - 2.c`, - }); - - await triggerKitchenSinkChild.batchTrigger([ - { - payload: { - message: `${payload.message} - 2.c`, - }, - }, - { - payload: { - message: `${payload.message} - 2.cc`, - }, - }, - ]); - - await tasks.batchTrigger("trigger-kitchen-sink-child", [ - { - payload: { - message: `${payload.message} - 2.c`, - }, - }, - { - payload: { - message: `${payload.message} - 2.cc`, - }, - }, - ]); - - await triggerKitchenSinkChild.batchTriggerAndWait([ - { - payload: { - message: `${payload.message} - 2.d`, - }, - }, - { - payload: { - message: `${payload.message} - 2.dd`, - }, - }, - ]); - - await tasks.batchTriggerAndWait("trigger-kitchen-sink-child", [ - { - payload: { - message: `${payload.message} - 2.d`, - }, - }, - { - payload: { - message: `${payload.message} - 2.dd`, - }, - }, - ]); - - return { - hello: "world", - }; - }, -}); - -export const triggerKitchenSinkChild = task({ - id: "trigger-kitchen-sink-child", - run: async (payload: { message: string }) => { - return { - foo: payload.message, - }; - }, -}); diff --git a/references/v3-catalog/src/trigger/usage.ts b/references/v3-catalog/src/trigger/usage.ts deleted file mode 100644 index 442dc3a8fa..0000000000 --- a/references/v3-catalog/src/trigger/usage.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { logger, task, wait, usage } from "@trigger.dev/sdk/v3"; - -export const usagePlayground = task({ - id: "usage-playground", - machine: { - preset: "medium-2x", - }, - run: async (payload: { duration: number }, { ctx }) => { - if (ctx.machine) { - logger.info("Machine preset", { preset: ctx.machine }); - } - - logger.info("Cost and duration", { cost: ctx.run.costInCents, duration: ctx.run.durationMs }); - - await logger.trace("Doing some work...", async () => { - await new Promise((resolve) => setTimeout(resolve, payload.duration)); - }); - - let currentUsage = usage.getCurrent(); - - logger.info("Current Cost and duration (before wait)", { currentUsage }); - - await wait.for({ seconds: 5 }); - - currentUsage = usage.getCurrent(); - - logger.info("Current Cost and duration (after wait)", { currentUsage }); - - throw new Error(`This is an error at ${new Date().toISOString()}`); - }, -}); diff --git a/references/v3-catalog/src/trigger/utils/cache.ts b/references/v3-catalog/src/trigger/utils/cache.ts deleted file mode 100644 index 11f727f738..0000000000 --- a/references/v3-catalog/src/trigger/utils/cache.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { InMemoryCache, createCache } from "@trigger.dev/sdk/v3"; - -export const cache = createCache(new InMemoryCache()); - -export const fakeTask = { - id: "this-task-doesnt-exist", -}; diff --git a/references/v3-catalog/src/trigger/weird-file-names.ts b/references/v3-catalog/src/trigger/weird-file-names.ts deleted file mode 100644 index 4b65909a98..0000000000 --- a/references/v3-catalog/src/trigger/weird-file-names.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; - -export const weirdFileName = task({ - id: "weird-file-name", - run: async (payload: { url: string }) => {}, -}); diff --git a/references/v3-catalog/src/trigger/wrangler.mts b/references/v3-catalog/src/trigger/wrangler.mts deleted file mode 100644 index 113fc8d1ac..0000000000 --- a/references/v3-catalog/src/trigger/wrangler.mts +++ /dev/null @@ -1,36 +0,0 @@ -import { logger, task } from "@trigger.dev/sdk/v3"; -import { exec } from "node:child_process"; - -export const wranglerTask = task({ - id: "wrangler-task", - run: async () => { - // Try and resolve wranger from the node_modules/.bin directory - const wranglerPath = await import.meta.resolve?.("wrangler", import.meta.url); - - if (!wranglerPath) { - throw new Error("Wrangler not found in node_modules directory"); - } - - logger.log(`Running wrangler from ${wranglerPath}`, { - meta: import.meta, - }); - - // remove the file:// prefix - const wranglerPathWithoutFilePrefix = wranglerPath.replace("file://", ""); - - const version = await new Promise((resolve, reject) => { - exec(`node ${wranglerPathWithoutFilePrefix} --version`, (error, stdout, stderr) => { - if (error) { - reject(error); - return; - } - - resolve(stdout.trim()); - }); - }); - - return { - version, - }; - }, -}); diff --git a/references/v3-catalog/src/trigger2/helloWorld.ts b/references/v3-catalog/src/trigger2/helloWorld.ts deleted file mode 100644 index 8081bc6e7c..0000000000 --- a/references/v3-catalog/src/trigger2/helloWorld.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { task } from "@trigger.dev/sdk/v3"; - -const helloWorld = task({ - id: "helloWorld", - async run() { - console.log("Hello World!"); - }, -}); diff --git a/references/v3-catalog/src/triggerWithLargePayload.ts b/references/v3-catalog/src/triggerWithLargePayload.ts deleted file mode 100644 index e6dd9a32de..0000000000 --- a/references/v3-catalog/src/triggerWithLargePayload.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { tasks, runs } from "@trigger.dev/sdk/v3"; -import { anyPayloadTask } from "./trigger/simple.js"; - -async function main() { - const payload = createLargePayload(100000); - - const anyHandle = await tasks.trigger("any-payload-task", payload); - - const anyRun = await runs.poll(anyHandle); - - if (anyRun.outputPresignedUrl) { - const response = await fetch(anyRun.outputPresignedUrl); - - console.log("## Output"); - console.log(await response.text()); - } - - if (anyRun.payloadPresignedUrl) { - const response = await fetch(anyRun.payloadPresignedUrl); - - console.log("## Payload"); - console.log(await response.text()); - } -} - -main().catch(console.error); - -// Creates a large object payload, with many keys and values -function createLargePayload(size: number) { - const payload: Record = {}; - - for (let i = 0; i < size; i++) { - payload[`key-${i}`] = `value-${i}`; - } - - return payload; -} diff --git a/references/v3-catalog/src/utils/types.ts b/references/v3-catalog/src/utils/types.ts deleted file mode 100644 index ff534f0ccd..0000000000 --- a/references/v3-catalog/src/utils/types.ts +++ /dev/null @@ -1,8 +0,0 @@ -export type Expect = T; -export type ExpectTrue = T; -export type ExpectFalse = T; - -export type Equal = (() => T extends X ? 1 : 2) extends () => T extends Y ? 1 : 2 - ? true - : false; -export type NotEqual = true extends Equal ? false : true; diff --git a/references/v3-catalog/trigger.config.ts b/references/v3-catalog/trigger.config.ts deleted file mode 100644 index 62698d14fb..0000000000 --- a/references/v3-catalog/trigger.config.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { InfisicalClient } from "@infisical/sdk"; -import { sentryEsbuildPlugin } from "@sentry/esbuild-plugin"; -import { OpenAIInstrumentation } from "@traceloop/instrumentation-openai"; -import { esbuildPlugin } from "@trigger.dev/build"; -import { audioWaveform } from "@trigger.dev/build/extensions/audioWaveform"; -import { additionalFiles, ffmpeg, syncEnvVars } from "@trigger.dev/build/extensions/core"; -import { puppeteer } from "@trigger.dev/build/extensions/puppeteer"; -import { playwright } from "@trigger.dev/build/extensions/playwright"; -import { prismaExtension } from "@trigger.dev/build/extensions/prisma"; -import { emitDecoratorMetadata } from "@trigger.dev/build/extensions/typescript"; -import { defineConfig } from "@trigger.dev/sdk/v3"; - -export default defineConfig({ - runtime: "node", - project: "yubjwjsfkxnylobaqvqz", - machine: "medium-1x", - instrumentations: [new OpenAIInstrumentation()], - maxDuration: 3600, - dirs: ["./src/trigger"], - retries: { - enabledInDev: false, - default: { - maxAttempts: 10, - minTimeoutInMs: 5_000, - maxTimeoutInMs: 30_000, - factor: 2, - randomize: true, - }, - }, - enableConsoleLogging: false, - logLevel: "info", - build: { - conditions: ["react-server"], - experimental_autoDetectExternal: true, - experimental_keepNames: true, - experimental_minify: true, - extensions: [ - additionalFiles({ - files: ["./wrangler/wrangler.toml"], - }), - ffmpeg(), - emitDecoratorMetadata(), - audioWaveform(), - prismaExtension({ - schema: "prisma/schema/schema.prisma", - migrate: true, - directUrlEnvVarName: "DATABASE_URL_UNPOOLED", - clientGenerator: "client", - typedSql: true, - }), - esbuildPlugin( - sentryEsbuildPlugin({ - org: "triggerdev", - project: "taskhero-examples-basic", - authToken: process.env.SENTRY_AUTH_TOKEN, - telemetry: false, - }), - { placement: "last", target: "deploy" } - ), - syncEnvVars(async (ctx) => { - if ( - !process.env.INFISICAL_CLIENT_ID || - !process.env.INFISICAL_CLIENT_SECRET || - !process.env.INFISICAL_PROJECT_ID - ) { - return; - } - - const client = new InfisicalClient({ - clientId: process.env.INFISICAL_CLIENT_ID, - clientSecret: process.env.INFISICAL_CLIENT_SECRET, - }); - - const secrets = await client.listSecrets({ - environment: ctx.environment, - projectId: process.env.INFISICAL_PROJECT_ID, - }); - - return secrets.map((secret) => ({ - name: secret.secretKey, - value: secret.secretValue, - })); - }), - puppeteer(), - playwright(), - ], - external: ["re2"], - }, -}); diff --git a/references/v3-catalog/tsconfig.json b/references/v3-catalog/tsconfig.json deleted file mode 100644 index 0c8769d35a..0000000000 --- a/references/v3-catalog/tsconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "target": "esnext", - "module": "NodeNext", - "moduleResolution": "NodeNext", - "esModuleInterop": true, - "strict": true, - "outDir": "dist", - "skipLibCheck": true, - "customConditions": ["@triggerdotdev/source", "react-server"], - "jsx": "preserve", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "lib": ["DOM", "DOM.Iterable"], - "paths": { - "@/*": ["./src/*"] - } - }, - "include": [ - "./src/**/*.ts", - "trigger.config.ts", - "src/trigger/email.tsx", - "src/trigger/openai.mts", - "src/trigger/wrangler.mts" - ] -} diff --git a/references/v3-catalog/wrangler/wrangler.toml b/references/v3-catalog/wrangler/wrangler.toml deleted file mode 100644 index 219c87cfa5..0000000000 --- a/references/v3-catalog/wrangler/wrangler.toml +++ /dev/null @@ -1,7 +0,0 @@ -name = "proxy" -main = "src/index.ts" -compatibility_date = "2023-10-30" -compatibility_flags = ["nodejs_compat"] - -[env.staging] -[env.prod]