diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1d8d9c71..354018f6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,10 +32,10 @@ jobs: run: pnpm install --frozen-lockfile - name: Install Playwright browsers - run: pnpm exec playwright install chromium --with-deps + run: pnpm --filter @domainstack/web exec playwright install chromium --with-deps - name: Run typechecks - run: pnpm typecheck + run: pnpm check-types continue-on-error: true - name: Run lints diff --git a/.gitignore b/.gitignore index f66aad3a..3d29c657 100644 --- a/.gitignore +++ b/.gitignore @@ -1,45 +1,50 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. -# dependencies -/node_modules -/.pnp -.pnp.* -.yarn/* -.pnpm-store/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/versions +# Dependencies +node_modules +.pnp +.pnp.js +.pnpm-store -# testing -/coverage -/__screenshots__ -**/*/__screenshots__ -/test-results +# Testing +coverage +__screenshots__ +test-results -# next.js -/.next/ -/out/ +# Turbo +.turbo -# production -/build +# Next.js +.next +out -# misc +# Production +build +dist + +# Misc .DS_Store *.pem -# debug +# Debug npm-debug.log* yarn-debug.log* yarn-error.log* .pnpm-debug.log* -# env files (can opt-in for committing if needed) -.env*.local +# Local env files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local -# vercel +# Vercel .vercel -# typescript +# TypeScript *.tsbuildinfo next-env.d.ts + +# SWC +.swc diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 11fbc24e..00000000 --- a/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -public-hoist-pattern[]=@sparticuz/chromium -public-hoist-pattern[]=puppeteer-core diff --git a/AGENTS.md b/AGENTS.md index 5acbed4a..7d7bd250 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,8 +17,8 @@ For full workflow details: `bd prime` **CRITICAL:** Before declaring victory on any task and before committing to git, the following three commands must pass with NO WARNINGS: 1. `pnpm lint` — Must pass with zero warnings -2. `pnpm typecheck` — Must pass with zero warnings -3. `pnpm test:run` — Must pass with zero warnings +2. `pnpm check-types` — Must pass with zero warnings +3. `pnpm test` — Must pass with zero warnings Do not proceed with commits until all three checks are clean. @@ -27,7 +27,7 @@ Do not proceed with commits until all three checks are clean. ### Development - `pnpm dev` — Start Next.js dev server at http://localhost:3000 - `pnpm build` — Compile production bundle -- `pnpm typecheck` — Run `tsc --noEmit` for type diagnostics +- `pnpm check-types` — Run `tsc --noEmit` for type diagnostics ### Linting & Formatting - `pnpm lint` — Run Biome lint (`--write` to auto-fix; add `--unsafe` to sort Tailwind classes, etc) @@ -35,9 +35,9 @@ Do not proceed with commits until all three checks are clean. ### Testing - `pnpm test` — Run Vitest in watch mode -- `pnpm test:run` — Run all tests once -- `pnpm test:run path/to/file.test.ts` — Run a single test file -- `pnpm test:run -t "test name"` — Run tests matching a pattern +- `pnpm test` — Run all tests once +- `pnpm test path/to/file.test.ts` — Run a single test file +- `pnpm test -t "test name"` — Run tests matching a pattern - `pnpm test:coverage` — Run tests with coverage report ### Database @@ -329,18 +329,35 @@ describe("myFunction", () => { ## Project Structure -- `app/` — Next.js App Router (default to server components) -- `components/` — Reusable UI primitives -- `hooks/` — Shared React hooks -- `lib/` — Domain utilities and shared modules -- `lib/db/` — Drizzle schema and repository layer -- `lib/domain/` — Core domain lookup implementations -- `lib/inngest/` — Background job functions -- `lib/workflow/` — Workflow utilities (deduplication, SWR, errors) -- `server/routers/` — tRPC router definitions -- `workflows/` — Vercel Workflow definitions -- `emails/` — React Email templates -- `trpc/` — tRPC client setup +This is a **Turborepo monorepo** with the following structure: + +``` +domainstack.io/ +├── apps/ +│ └── web/ # Next.js application (@domainstack/web) +│ ├── app/ # Next.js App Router +│ ├── components/ # Reusable UI primitives +│ ├── hooks/ # Shared React hooks +│ ├── lib/ # Domain utilities and shared modules +│ │ ├── db/ # Drizzle schema and repository layer +│ │ ├── inngest/ # Background job functions +│ │ └── workflow/ # Workflow utilities (deduplication, SWR, errors) +│ ├── server/routers/ # tRPC router definitions +│ ├── workflows/ # Vercel Workflow definitions +│ ├── emails/ # React Email templates +│ ├── trpc/ # tRPC client setup +│ ├── package.json # App dependencies +│ ├── tsconfig.json # Extends root tsconfig +│ └── vercel.json # Vercel deployment config +├── packages/ # Shared packages (future extraction) +├── turbo.json # Turborepo task configuration +├── pnpm-workspace.yaml # pnpm workspace definition +├── package.json # Root workspace config +├── tsconfig.json # Base TypeScript config +└── biome.json # Linting/formatting config +``` + +All commands run from the **monorepo root** via Turborepo. ## Key Patterns diff --git a/CLAUDE.md b/CLAUDE.md new file mode 120000 index 00000000..47dc3e3d --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/README.md b/README.md index f4f51d87..9b72cfa1 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,8 @@ - [**Logo.dev**](https://www.logo.dev) - [**IPLocate.io**](https://www.iplocate.io/) - **PostHog** (analytics) -- **Puppeteer** (screenshots) -- **Vitest** + **Playwright**, **Biome** +- **Turborepo** (monorepo) +- **Vitest** + **Playwright** (testing), **Biome** (linting) ## Development @@ -53,10 +53,10 @@ pnpm install ### 2. Configure environment variables -Create `.env.local` and populate [required variables](.env.example): +Create `.env.local` in the `apps/web` directory and populate [required variables](apps/web/.env.example): ```bash -cp .env.example .env.local +cp apps/web/.env.example apps/web/.env.local ``` At minimum, you'll need `DATABASE_URL` pointing to a Postgres database. diff --git a/.env.example b/apps/web/.env.example similarity index 100% rename from .env.example rename to apps/web/.env.example diff --git a/apps/web/.gitignore b/apps/web/.gitignore new file mode 100644 index 00000000..c8a73361 --- /dev/null +++ b/apps/web/.gitignore @@ -0,0 +1,2 @@ +.vercel +.env*.local diff --git a/app/(auth)/layout.tsx b/apps/web/app/(auth)/layout.tsx similarity index 100% rename from app/(auth)/layout.tsx rename to apps/web/app/(auth)/layout.tsx diff --git a/app/(auth)/login/loading.tsx b/apps/web/app/(auth)/login/loading.tsx similarity index 100% rename from app/(auth)/login/loading.tsx rename to apps/web/app/(auth)/login/loading.tsx diff --git a/app/(auth)/login/page.tsx b/apps/web/app/(auth)/login/page.tsx similarity index 100% rename from app/(auth)/login/page.tsx rename to apps/web/app/(auth)/login/page.tsx diff --git a/app/(landing)/loading.tsx b/apps/web/app/(landing)/loading.tsx similarity index 100% rename from app/(landing)/loading.tsx rename to apps/web/app/(landing)/loading.tsx diff --git a/app/(landing)/page.tsx b/apps/web/app/(landing)/page.tsx similarity index 100% rename from app/(landing)/page.tsx rename to apps/web/app/(landing)/page.tsx diff --git a/app/(static)/help/page.tsx b/apps/web/app/(static)/help/page.tsx similarity index 100% rename from app/(static)/help/page.tsx rename to apps/web/app/(static)/help/page.tsx diff --git a/app/(static)/layout.tsx b/apps/web/app/(static)/layout.tsx similarity index 100% rename from app/(static)/layout.tsx rename to apps/web/app/(static)/layout.tsx diff --git a/app/(static)/mcp/page.tsx b/apps/web/app/(static)/mcp/page.tsx similarity index 100% rename from app/(static)/mcp/page.tsx rename to apps/web/app/(static)/mcp/page.tsx diff --git a/app/(static)/privacy/page.tsx b/apps/web/app/(static)/privacy/page.tsx similarity index 100% rename from app/(static)/privacy/page.tsx rename to apps/web/app/(static)/privacy/page.tsx diff --git a/app/(static)/terms/page.tsx b/apps/web/app/(static)/terms/page.tsx similarity index 100% rename from app/(static)/terms/page.tsx rename to apps/web/app/(static)/terms/page.tsx diff --git a/app/@modal/(.)bookmarklet/page.tsx b/apps/web/app/@modal/(.)bookmarklet/page.tsx similarity index 100% rename from app/@modal/(.)bookmarklet/page.tsx rename to apps/web/app/@modal/(.)bookmarklet/page.tsx diff --git a/app/@modal/(.)dashboard/add-domain/page.tsx b/apps/web/app/@modal/(.)dashboard/add-domain/page.tsx similarity index 100% rename from app/@modal/(.)dashboard/add-domain/page.tsx rename to apps/web/app/@modal/(.)dashboard/add-domain/page.tsx diff --git a/app/@modal/(.)login/page.tsx b/apps/web/app/@modal/(.)login/page.tsx similarity index 100% rename from app/@modal/(.)login/page.tsx rename to apps/web/app/@modal/(.)login/page.tsx diff --git a/app/@modal/(.)settings/account/page.tsx b/apps/web/app/@modal/(.)settings/account/page.tsx similarity index 100% rename from app/@modal/(.)settings/account/page.tsx rename to apps/web/app/@modal/(.)settings/account/page.tsx diff --git a/app/@modal/(.)settings/layout.tsx b/apps/web/app/@modal/(.)settings/layout.tsx similarity index 100% rename from app/@modal/(.)settings/layout.tsx rename to apps/web/app/@modal/(.)settings/layout.tsx diff --git a/app/@modal/(.)settings/notifications/page.tsx b/apps/web/app/@modal/(.)settings/notifications/page.tsx similarity index 100% rename from app/@modal/(.)settings/notifications/page.tsx rename to apps/web/app/@modal/(.)settings/notifications/page.tsx diff --git a/app/@modal/(.)settings/page.tsx b/apps/web/app/@modal/(.)settings/page.tsx similarity index 100% rename from app/@modal/(.)settings/page.tsx rename to apps/web/app/@modal/(.)settings/page.tsx diff --git a/app/@modal/(.)settings/subscription/page.tsx b/apps/web/app/@modal/(.)settings/subscription/page.tsx similarity index 100% rename from app/@modal/(.)settings/subscription/page.tsx rename to apps/web/app/@modal/(.)settings/subscription/page.tsx diff --git a/app/@modal/default.tsx b/apps/web/app/@modal/default.tsx similarity index 100% rename from app/@modal/default.tsx rename to apps/web/app/@modal/default.tsx diff --git a/app/[domain]/loading.tsx b/apps/web/app/[domain]/loading.tsx similarity index 100% rename from app/[domain]/loading.tsx rename to apps/web/app/[domain]/loading.tsx diff --git a/app/[domain]/page.tsx b/apps/web/app/[domain]/page.tsx similarity index 100% rename from app/[domain]/page.tsx rename to apps/web/app/[domain]/page.tsx diff --git a/app/api/auth/[...all]/route.ts b/apps/web/app/api/auth/[...all]/route.ts similarity index 100% rename from app/api/auth/[...all]/route.ts rename to apps/web/app/api/auth/[...all]/route.ts diff --git a/app/api/avatar/[userId]/route.ts b/apps/web/app/api/avatar/[userId]/route.ts similarity index 100% rename from app/api/avatar/[userId]/route.ts rename to apps/web/app/api/avatar/[userId]/route.ts diff --git a/app/api/calendar/user/route.ts b/apps/web/app/api/calendar/user/route.ts similarity index 100% rename from app/api/calendar/user/route.ts rename to apps/web/app/api/calendar/user/route.ts diff --git a/app/api/cron/check-certificate-expiry/route.ts b/apps/web/app/api/cron/check-certificate-expiry/route.ts similarity index 100% rename from app/api/cron/check-certificate-expiry/route.ts rename to apps/web/app/api/cron/check-certificate-expiry/route.ts diff --git a/app/api/cron/check-domain-expiry/route.ts b/apps/web/app/api/cron/check-domain-expiry/route.ts similarity index 100% rename from app/api/cron/check-domain-expiry/route.ts rename to apps/web/app/api/cron/check-domain-expiry/route.ts diff --git a/app/api/cron/check-subscription-expiry/route.ts b/apps/web/app/api/cron/check-subscription-expiry/route.ts similarity index 100% rename from app/api/cron/check-subscription-expiry/route.ts rename to apps/web/app/api/cron/check-subscription-expiry/route.ts diff --git a/app/api/cron/cleanup-stale-domains/route.ts b/apps/web/app/api/cron/cleanup-stale-domains/route.ts similarity index 100% rename from app/api/cron/cleanup-stale-domains/route.ts rename to apps/web/app/api/cron/cleanup-stale-domains/route.ts diff --git a/app/api/cron/monitor-domains/route.ts b/apps/web/app/api/cron/monitor-domains/route.ts similarity index 100% rename from app/api/cron/monitor-domains/route.ts rename to apps/web/app/api/cron/monitor-domains/route.ts diff --git a/app/api/cron/reverify-domains/route.ts b/apps/web/app/api/cron/reverify-domains/route.ts similarity index 100% rename from app/api/cron/reverify-domains/route.ts rename to apps/web/app/api/cron/reverify-domains/route.ts diff --git a/app/api/cron/sync-blocklist/route.ts b/apps/web/app/api/cron/sync-blocklist/route.ts similarity index 100% rename from app/api/cron/sync-blocklist/route.ts rename to apps/web/app/api/cron/sync-blocklist/route.ts diff --git a/app/api/healthz/route.ts b/apps/web/app/api/healthz/route.ts similarity index 100% rename from app/api/healthz/route.ts rename to apps/web/app/api/healthz/route.ts diff --git a/app/api/inngest/route.ts b/apps/web/app/api/inngest/route.ts similarity index 100% rename from app/api/inngest/route.ts rename to apps/web/app/api/inngest/route.ts diff --git a/app/api/og/route.tsx b/apps/web/app/api/og/route.tsx similarity index 100% rename from app/api/og/route.tsx rename to apps/web/app/api/og/route.tsx diff --git a/app/api/screenshot/route.ts b/apps/web/app/api/screenshot/route.ts similarity index 100% rename from app/api/screenshot/route.ts rename to apps/web/app/api/screenshot/route.ts diff --git a/app/api/transport/[transport]/route.ts b/apps/web/app/api/transport/[transport]/route.ts similarity index 100% rename from app/api/transport/[transport]/route.ts rename to apps/web/app/api/transport/[transport]/route.ts diff --git a/app/api/trpc/[trpc]/route.ts b/apps/web/app/api/trpc/[trpc]/route.ts similarity index 100% rename from app/api/trpc/[trpc]/route.ts rename to apps/web/app/api/trpc/[trpc]/route.ts diff --git a/app/apple-icon.png b/apps/web/app/apple-icon.png similarity index 100% rename from app/apple-icon.png rename to apps/web/app/apple-icon.png diff --git a/app/bookmarklet/page.tsx b/apps/web/app/bookmarklet/page.tsx similarity index 100% rename from app/bookmarklet/page.tsx rename to apps/web/app/bookmarklet/page.tsx diff --git a/app/dashboard/add-domain/loading.tsx b/apps/web/app/dashboard/add-domain/loading.tsx similarity index 100% rename from app/dashboard/add-domain/loading.tsx rename to apps/web/app/dashboard/add-domain/loading.tsx diff --git a/app/dashboard/add-domain/page.tsx b/apps/web/app/dashboard/add-domain/page.tsx similarity index 100% rename from app/dashboard/add-domain/page.tsx rename to apps/web/app/dashboard/add-domain/page.tsx diff --git a/app/dashboard/layout.tsx b/apps/web/app/dashboard/layout.tsx similarity index 100% rename from app/dashboard/layout.tsx rename to apps/web/app/dashboard/layout.tsx diff --git a/app/dashboard/loading.tsx b/apps/web/app/dashboard/loading.tsx similarity index 100% rename from app/dashboard/loading.tsx rename to apps/web/app/dashboard/loading.tsx diff --git a/app/dashboard/page.tsx b/apps/web/app/dashboard/page.tsx similarity index 100% rename from app/dashboard/page.tsx rename to apps/web/app/dashboard/page.tsx diff --git a/app/error.tsx b/apps/web/app/error.tsx similarity index 100% rename from app/error.tsx rename to apps/web/app/error.tsx diff --git a/app/favicon.ico b/apps/web/app/favicon.ico similarity index 100% rename from app/favicon.ico rename to apps/web/app/favicon.ico diff --git a/app/global-error.tsx b/apps/web/app/global-error.tsx similarity index 100% rename from app/global-error.tsx rename to apps/web/app/global-error.tsx diff --git a/app/globals.css b/apps/web/app/globals.css similarity index 86% rename from app/globals.css rename to apps/web/app/globals.css index 8fc1febc..20e7382b 100644 --- a/app/globals.css +++ b/apps/web/app/globals.css @@ -209,15 +209,6 @@ } @layer utilities { - /* Scrollbar hiding utility for horizontal scroll containers */ - .scrollbar-hide { - -ms-overflow-style: none; - scrollbar-width: none; - } - .scrollbar-hide::-webkit-scrollbar { - display: none; - } - /* Variable-driven accent glow */ .accent-glow { background: var(--section-accent-glow, var(--glow-slate)); @@ -261,3 +252,73 @@ } } } + +@utility no-scrollbar { + -ms-overflow-style: none; + scrollbar-width: none; + + &::-webkit-scrollbar { + display: none; + } +} + +/* Custom variants: https://github.com/shadcn-ui/ui/blob/main/packages/shadcn/src/tailwind.css */ +@custom-variant data-open { + &:where([data-state="open"]), + &:where([data-open]:not([data-open="false"])) { + @slot; + } +} + +@custom-variant data-closed { + &:where([data-state="closed"]), + &:where([data-closed]:not([data-closed="false"])) { + @slot; + } +} + +@custom-variant data-checked { + &:where([data-state="checked"]), + &:where([data-checked]:not([data-checked="false"])) { + @slot; + } +} + +@custom-variant data-unchecked { + &:where([data-state="unchecked"]), + &:where([data-unchecked]:not([data-unchecked="false"])) { + @slot; + } +} + +@custom-variant data-selected { + &:where([data-selected="true"]) { + @slot; + } +} + +@custom-variant data-disabled { + &:where([data-disabled="true"]), + &:where([data-disabled]:not([data-disabled="false"])) { + @slot; + } +} + +@custom-variant data-active { + &:where([data-state="active"]), + &:where([data-active]:not([data-active="false"])) { + @slot; + } +} + +@custom-variant data-horizontal { + &:where([data-orientation="horizontal"]) { + @slot; + } +} + +@custom-variant data-vertical { + &:where([data-orientation="vertical"]) { + @slot; + } +} diff --git a/app/icon.svg b/apps/web/app/icon.svg similarity index 100% rename from app/icon.svg rename to apps/web/app/icon.svg diff --git a/app/layout.tsx b/apps/web/app/layout.tsx similarity index 100% rename from app/layout.tsx rename to apps/web/app/layout.tsx diff --git a/app/manifest.ts b/apps/web/app/manifest.ts similarity index 100% rename from app/manifest.ts rename to apps/web/app/manifest.ts diff --git a/app/not-found.tsx b/apps/web/app/not-found.tsx similarity index 100% rename from app/not-found.tsx rename to apps/web/app/not-found.tsx diff --git a/app/opensearch.xml/route.ts b/apps/web/app/opensearch.xml/route.ts similarity index 100% rename from app/opensearch.xml/route.ts rename to apps/web/app/opensearch.xml/route.ts diff --git a/app/providers.tsx b/apps/web/app/providers.tsx similarity index 100% rename from app/providers.tsx rename to apps/web/app/providers.tsx diff --git a/app/robots.ts b/apps/web/app/robots.ts similarity index 100% rename from app/robots.ts rename to apps/web/app/robots.ts diff --git a/app/settings/(tabs)/account/page.tsx b/apps/web/app/settings/(tabs)/account/page.tsx similarity index 100% rename from app/settings/(tabs)/account/page.tsx rename to apps/web/app/settings/(tabs)/account/page.tsx diff --git a/app/settings/(tabs)/layout.tsx b/apps/web/app/settings/(tabs)/layout.tsx similarity index 100% rename from app/settings/(tabs)/layout.tsx rename to apps/web/app/settings/(tabs)/layout.tsx diff --git a/app/settings/(tabs)/loading.tsx b/apps/web/app/settings/(tabs)/loading.tsx similarity index 100% rename from app/settings/(tabs)/loading.tsx rename to apps/web/app/settings/(tabs)/loading.tsx diff --git a/app/settings/(tabs)/notifications/page.tsx b/apps/web/app/settings/(tabs)/notifications/page.tsx similarity index 100% rename from app/settings/(tabs)/notifications/page.tsx rename to apps/web/app/settings/(tabs)/notifications/page.tsx diff --git a/app/settings/(tabs)/subscription/page.tsx b/apps/web/app/settings/(tabs)/subscription/page.tsx similarity index 100% rename from app/settings/(tabs)/subscription/page.tsx rename to apps/web/app/settings/(tabs)/subscription/page.tsx diff --git a/app/settings/layout.tsx b/apps/web/app/settings/layout.tsx similarity index 100% rename from app/settings/layout.tsx rename to apps/web/app/settings/layout.tsx diff --git a/components.json b/apps/web/components.json similarity index 100% rename from components.json rename to apps/web/components.json diff --git a/components/analytics/posthog-identity.tsx b/apps/web/components/analytics/posthog-identity.tsx similarity index 100% rename from components/analytics/posthog-identity.tsx rename to apps/web/components/analytics/posthog-identity.tsx diff --git a/components/auth/login-content.tsx b/apps/web/components/auth/login-content.tsx similarity index 100% rename from components/auth/login-content.tsx rename to apps/web/components/auth/login-content.tsx diff --git a/components/auth/login-skeleton.tsx b/apps/web/components/auth/login-skeleton.tsx similarity index 100% rename from components/auth/login-skeleton.tsx rename to apps/web/components/auth/login-skeleton.tsx diff --git a/components/auth/oauth-button.tsx b/apps/web/components/auth/oauth-button.tsx similarity index 100% rename from components/auth/oauth-button.tsx rename to apps/web/components/auth/oauth-button.tsx diff --git a/components/bookmarklet/bookmarklet-content.tsx b/apps/web/components/bookmarklet/bookmarklet-content.tsx similarity index 100% rename from components/bookmarklet/bookmarklet-content.tsx rename to apps/web/components/bookmarklet/bookmarklet-content.tsx diff --git a/components/calendar-instructions.tsx b/apps/web/components/calendar-instructions.tsx similarity index 100% rename from components/calendar-instructions.tsx rename to apps/web/components/calendar-instructions.tsx diff --git a/components/consent/cookie-prompt-geofenced.tsx b/apps/web/components/consent/cookie-prompt-geofenced.tsx similarity index 100% rename from components/consent/cookie-prompt-geofenced.tsx rename to apps/web/components/consent/cookie-prompt-geofenced.tsx diff --git a/components/consent/cookie-prompt.tsx b/apps/web/components/consent/cookie-prompt.tsx similarity index 100% rename from components/consent/cookie-prompt.tsx rename to apps/web/components/consent/cookie-prompt.tsx diff --git a/components/create-issue-button.tsx b/apps/web/components/create-issue-button.tsx similarity index 100% rename from components/create-issue-button.tsx rename to apps/web/components/create-issue-button.tsx diff --git a/components/dashboard/add-domain/add-domain-content.tsx b/apps/web/components/dashboard/add-domain/add-domain-content.tsx similarity index 100% rename from components/dashboard/add-domain/add-domain-content.tsx rename to apps/web/components/dashboard/add-domain/add-domain-content.tsx diff --git a/components/dashboard/add-domain/add-domain-modal-client.tsx b/apps/web/components/dashboard/add-domain/add-domain-modal-client.tsx similarity index 100% rename from components/dashboard/add-domain/add-domain-modal-client.tsx rename to apps/web/components/dashboard/add-domain/add-domain-modal-client.tsx diff --git a/components/dashboard/add-domain/add-domain-page-client.tsx b/apps/web/components/dashboard/add-domain/add-domain-page-client.tsx similarity index 100% rename from components/dashboard/add-domain/add-domain-page-client.tsx rename to apps/web/components/dashboard/add-domain/add-domain-page-client.tsx diff --git a/components/dashboard/add-domain/add-domain-skeleton.tsx b/apps/web/components/dashboard/add-domain/add-domain-skeleton.tsx similarity index 100% rename from components/dashboard/add-domain/add-domain-skeleton.tsx rename to apps/web/components/dashboard/add-domain/add-domain-skeleton.tsx diff --git a/components/dashboard/add-domain/share-instructions-dialog.tsx b/apps/web/components/dashboard/add-domain/share-instructions-dialog.tsx similarity index 100% rename from components/dashboard/add-domain/share-instructions-dialog.tsx rename to apps/web/components/dashboard/add-domain/share-instructions-dialog.tsx diff --git a/components/dashboard/add-domain/step-confirmation.tsx b/apps/web/components/dashboard/add-domain/step-confirmation.tsx similarity index 100% rename from components/dashboard/add-domain/step-confirmation.tsx rename to apps/web/components/dashboard/add-domain/step-confirmation.tsx diff --git a/components/dashboard/add-domain/step-enter-domain.tsx b/apps/web/components/dashboard/add-domain/step-enter-domain.tsx similarity index 100% rename from components/dashboard/add-domain/step-enter-domain.tsx rename to apps/web/components/dashboard/add-domain/step-enter-domain.tsx diff --git a/components/dashboard/add-domain/step-instructions-error.tsx b/apps/web/components/dashboard/add-domain/step-instructions-error.tsx similarity index 100% rename from components/dashboard/add-domain/step-instructions-error.tsx rename to apps/web/components/dashboard/add-domain/step-instructions-error.tsx diff --git a/components/dashboard/add-domain/step-verify-ownership.tsx b/apps/web/components/dashboard/add-domain/step-verify-ownership.tsx similarity index 100% rename from components/dashboard/add-domain/step-verify-ownership.tsx rename to apps/web/components/dashboard/add-domain/step-verify-ownership.tsx diff --git a/components/dashboard/add-domain/verification-failed.tsx b/apps/web/components/dashboard/add-domain/verification-failed.tsx similarity index 100% rename from components/dashboard/add-domain/verification-failed.tsx rename to apps/web/components/dashboard/add-domain/verification-failed.tsx diff --git a/components/dashboard/archived-domains-list.tsx b/apps/web/components/dashboard/archived-domains-list.tsx similarity index 100% rename from components/dashboard/archived-domains-list.tsx rename to apps/web/components/dashboard/archived-domains-list.tsx diff --git a/components/dashboard/badge-with-tooltip.tsx b/apps/web/components/dashboard/badge-with-tooltip.tsx similarity index 100% rename from components/dashboard/badge-with-tooltip.tsx rename to apps/web/components/dashboard/badge-with-tooltip.tsx diff --git a/components/dashboard/bulk-actions-toolbar.tsx b/apps/web/components/dashboard/bulk-actions-toolbar.tsx similarity index 100% rename from components/dashboard/bulk-actions-toolbar.tsx rename to apps/web/components/dashboard/bulk-actions-toolbar.tsx diff --git a/components/dashboard/calendar-feed-popover.tsx b/apps/web/components/dashboard/calendar-feed-popover.tsx similarity index 100% rename from components/dashboard/calendar-feed-popover.tsx rename to apps/web/components/dashboard/calendar-feed-popover.tsx diff --git a/components/dashboard/confirm-action-dialog.tsx b/apps/web/components/dashboard/confirm-action-dialog.tsx similarity index 100% rename from components/dashboard/confirm-action-dialog.tsx rename to apps/web/components/dashboard/confirm-action-dialog.tsx diff --git a/components/dashboard/dashboard-banner-dismissable.tsx b/apps/web/components/dashboard/dashboard-banner-dismissable.tsx similarity index 100% rename from components/dashboard/dashboard-banner-dismissable.tsx rename to apps/web/components/dashboard/dashboard-banner-dismissable.tsx diff --git a/components/dashboard/dashboard-banner.tsx b/apps/web/components/dashboard/dashboard-banner.tsx similarity index 100% rename from components/dashboard/dashboard-banner.tsx rename to apps/web/components/dashboard/dashboard-banner.tsx diff --git a/components/dashboard/dashboard-client.tsx b/apps/web/components/dashboard/dashboard-client.tsx similarity index 100% rename from components/dashboard/dashboard-client.tsx rename to apps/web/components/dashboard/dashboard-client.tsx diff --git a/components/dashboard/dashboard-content.tsx b/apps/web/components/dashboard/dashboard-content.tsx similarity index 100% rename from components/dashboard/dashboard-content.tsx rename to apps/web/components/dashboard/dashboard-content.tsx diff --git a/components/dashboard/dashboard-error.tsx b/apps/web/components/dashboard/dashboard-error.tsx similarity index 100% rename from components/dashboard/dashboard-error.tsx rename to apps/web/components/dashboard/dashboard-error.tsx diff --git a/components/dashboard/dashboard-filters.tsx b/apps/web/components/dashboard/dashboard-filters.tsx similarity index 100% rename from components/dashboard/dashboard-filters.tsx rename to apps/web/components/dashboard/dashboard-filters.tsx diff --git a/components/dashboard/dashboard-grid-card-skeleton.tsx b/apps/web/components/dashboard/dashboard-grid-card-skeleton.tsx similarity index 100% rename from components/dashboard/dashboard-grid-card-skeleton.tsx rename to apps/web/components/dashboard/dashboard-grid-card-skeleton.tsx diff --git a/components/dashboard/dashboard-grid-card.tsx b/apps/web/components/dashboard/dashboard-grid-card.tsx similarity index 100% rename from components/dashboard/dashboard-grid-card.tsx rename to apps/web/components/dashboard/dashboard-grid-card.tsx diff --git a/components/dashboard/dashboard-grid.tsx b/apps/web/components/dashboard/dashboard-grid.tsx similarity index 100% rename from components/dashboard/dashboard-grid.tsx rename to apps/web/components/dashboard/dashboard-grid.tsx diff --git a/components/dashboard/dashboard-header.tsx b/apps/web/components/dashboard/dashboard-header.tsx similarity index 100% rename from components/dashboard/dashboard-header.tsx rename to apps/web/components/dashboard/dashboard-header.tsx diff --git a/components/dashboard/dashboard-skeleton.tsx b/apps/web/components/dashboard/dashboard-skeleton.tsx similarity index 100% rename from components/dashboard/dashboard-skeleton.tsx rename to apps/web/components/dashboard/dashboard-skeleton.tsx diff --git a/components/dashboard/dashboard-table-column-menu.tsx b/apps/web/components/dashboard/dashboard-table-column-menu.tsx similarity index 100% rename from components/dashboard/dashboard-table-column-menu.tsx rename to apps/web/components/dashboard/dashboard-table-column-menu.tsx diff --git a/components/dashboard/dashboard-table-columns.tsx b/apps/web/components/dashboard/dashboard-table-columns.tsx similarity index 100% rename from components/dashboard/dashboard-table-columns.tsx rename to apps/web/components/dashboard/dashboard-table-columns.tsx diff --git a/components/dashboard/dashboard-table-pagination.tsx b/apps/web/components/dashboard/dashboard-table-pagination.tsx similarity index 100% rename from components/dashboard/dashboard-table-pagination.tsx rename to apps/web/components/dashboard/dashboard-table-pagination.tsx diff --git a/components/dashboard/dashboard-table.tsx b/apps/web/components/dashboard/dashboard-table.tsx similarity index 100% rename from components/dashboard/dashboard-table.tsx rename to apps/web/components/dashboard/dashboard-table.tsx diff --git a/components/dashboard/domain-health-badge.tsx b/apps/web/components/dashboard/domain-health-badge.tsx similarity index 100% rename from components/dashboard/domain-health-badge.tsx rename to apps/web/components/dashboard/domain-health-badge.tsx diff --git a/components/dashboard/domain-status-badge.tsx b/apps/web/components/dashboard/domain-status-badge.tsx similarity index 100% rename from components/dashboard/domain-status-badge.tsx rename to apps/web/components/dashboard/domain-status-badge.tsx diff --git a/components/dashboard/filter-chips.tsx b/apps/web/components/dashboard/filter-chips.tsx similarity index 100% rename from components/dashboard/filter-chips.tsx rename to apps/web/components/dashboard/filter-chips.tsx diff --git a/components/dashboard/filter-dropdowns.tsx b/apps/web/components/dashboard/filter-dropdowns.tsx similarity index 100% rename from components/dashboard/filter-dropdowns.tsx rename to apps/web/components/dashboard/filter-dropdowns.tsx diff --git a/components/dashboard/filter-search-input.tsx b/apps/web/components/dashboard/filter-search-input.tsx similarity index 100% rename from components/dashboard/filter-search-input.tsx rename to apps/web/components/dashboard/filter-search-input.tsx diff --git a/components/dashboard/grid-sort-dropdown.tsx b/apps/web/components/dashboard/grid-sort-dropdown.tsx similarity index 100% rename from components/dashboard/grid-sort-dropdown.tsx rename to apps/web/components/dashboard/grid-sort-dropdown.tsx diff --git a/components/dashboard/health-summary.tsx b/apps/web/components/dashboard/health-summary.tsx similarity index 100% rename from components/dashboard/health-summary.tsx rename to apps/web/components/dashboard/health-summary.tsx diff --git a/components/dashboard/mobile-filters-collapsible.tsx b/apps/web/components/dashboard/mobile-filters-collapsible.tsx similarity index 100% rename from components/dashboard/mobile-filters-collapsible.tsx rename to apps/web/components/dashboard/mobile-filters-collapsible.tsx diff --git a/components/dashboard/provider-cell.tsx b/apps/web/components/dashboard/provider-cell.tsx similarity index 100% rename from components/dashboard/provider-cell.tsx rename to apps/web/components/dashboard/provider-cell.tsx diff --git a/components/dashboard/provider-tooltip-content.tsx b/apps/web/components/dashboard/provider-tooltip-content.tsx similarity index 100% rename from components/dashboard/provider-tooltip-content.tsx rename to apps/web/components/dashboard/provider-tooltip-content.tsx diff --git a/components/dashboard/quota-bar.tsx b/apps/web/components/dashboard/quota-bar.tsx similarity index 100% rename from components/dashboard/quota-bar.tsx rename to apps/web/components/dashboard/quota-bar.tsx diff --git a/components/dashboard/sort-indicator.tsx b/apps/web/components/dashboard/sort-indicator.tsx similarity index 100% rename from components/dashboard/sort-indicator.tsx rename to apps/web/components/dashboard/sort-indicator.tsx diff --git a/components/dashboard/subscription-ending-banner.tsx b/apps/web/components/dashboard/subscription-ending-banner.tsx similarity index 100% rename from components/dashboard/subscription-ending-banner.tsx rename to apps/web/components/dashboard/subscription-ending-banner.tsx diff --git a/components/dashboard/unverified-table-row.tsx b/apps/web/components/dashboard/unverified-table-row.tsx similarity index 100% rename from components/dashboard/unverified-table-row.tsx rename to apps/web/components/dashboard/unverified-table-row.tsx diff --git a/components/dashboard/upgrade-banner.tsx b/apps/web/components/dashboard/upgrade-banner.tsx similarity index 100% rename from components/dashboard/upgrade-banner.tsx rename to apps/web/components/dashboard/upgrade-banner.tsx diff --git a/components/dashboard/upgrade-card.tsx b/apps/web/components/dashboard/upgrade-card.tsx similarity index 100% rename from components/dashboard/upgrade-card.tsx rename to apps/web/components/dashboard/upgrade-card.tsx diff --git a/components/dashboard/upgrade-row.tsx b/apps/web/components/dashboard/upgrade-row.tsx similarity index 100% rename from components/dashboard/upgrade-row.tsx rename to apps/web/components/dashboard/upgrade-row.tsx diff --git a/components/dashboard/verified-table-row.tsx b/apps/web/components/dashboard/verified-table-row.tsx similarity index 100% rename from components/dashboard/verified-table-row.tsx rename to apps/web/components/dashboard/verified-table-row.tsx diff --git a/components/domain/certificate-alert.tsx b/apps/web/components/domain/certificate-alert.tsx similarity index 100% rename from components/domain/certificate-alert.tsx rename to apps/web/components/domain/certificate-alert.tsx diff --git a/components/domain/certificates/certificates-section-skeleton.tsx b/apps/web/components/domain/certificates/certificates-section-skeleton.tsx similarity index 100% rename from components/domain/certificates/certificates-section-skeleton.tsx rename to apps/web/components/domain/certificates/certificates-section-skeleton.tsx diff --git a/components/domain/certificates/certificates-section.test.tsx b/apps/web/components/domain/certificates/certificates-section.test.tsx similarity index 100% rename from components/domain/certificates/certificates-section.test.tsx rename to apps/web/components/domain/certificates/certificates-section.test.tsx diff --git a/components/domain/certificates/certificates-section.tsx b/apps/web/components/domain/certificates/certificates-section.tsx similarity index 100% rename from components/domain/certificates/certificates-section.tsx rename to apps/web/components/domain/certificates/certificates-section.tsx diff --git a/components/domain/dns/dns-group.tsx b/apps/web/components/domain/dns/dns-group.tsx similarity index 100% rename from components/domain/dns/dns-group.tsx rename to apps/web/components/domain/dns/dns-group.tsx diff --git a/components/domain/dns/dns-record-list.test.tsx b/apps/web/components/domain/dns/dns-record-list.test.tsx similarity index 100% rename from components/domain/dns/dns-record-list.test.tsx rename to apps/web/components/domain/dns/dns-record-list.test.tsx diff --git a/components/domain/dns/dns-record-list.tsx b/apps/web/components/domain/dns/dns-record-list.tsx similarity index 100% rename from components/domain/dns/dns-record-list.tsx rename to apps/web/components/domain/dns/dns-record-list.tsx diff --git a/components/domain/dns/dns-section-skeleton.tsx b/apps/web/components/domain/dns/dns-section-skeleton.tsx similarity index 100% rename from components/domain/dns/dns-section-skeleton.tsx rename to apps/web/components/domain/dns/dns-section-skeleton.tsx diff --git a/components/domain/dns/dns-section.test.tsx b/apps/web/components/domain/dns/dns-section.test.tsx similarity index 100% rename from components/domain/dns/dns-section.test.tsx rename to apps/web/components/domain/dns/dns-section.test.tsx diff --git a/components/domain/dns/dns-section.tsx b/apps/web/components/domain/dns/dns-section.tsx similarity index 100% rename from components/domain/dns/dns-section.tsx rename to apps/web/components/domain/dns/dns-section.tsx diff --git a/components/domain/dns/ttl-badge.tsx b/apps/web/components/domain/dns/ttl-badge.tsx similarity index 100% rename from components/domain/dns/ttl-badge.tsx rename to apps/web/components/domain/dns/ttl-badge.tsx diff --git a/components/domain/export-button.tsx b/apps/web/components/domain/export-button.tsx similarity index 100% rename from components/domain/export-button.tsx rename to apps/web/components/domain/export-button.tsx diff --git a/components/domain/headers/headers-section-skeleton.tsx b/apps/web/components/domain/headers/headers-section-skeleton.tsx similarity index 100% rename from components/domain/headers/headers-section-skeleton.tsx rename to apps/web/components/domain/headers/headers-section-skeleton.tsx diff --git a/components/domain/headers/headers-section.test.tsx b/apps/web/components/domain/headers/headers-section.test.tsx similarity index 100% rename from components/domain/headers/headers-section.test.tsx rename to apps/web/components/domain/headers/headers-section.test.tsx diff --git a/components/domain/headers/headers-section.tsx b/apps/web/components/domain/headers/headers-section.tsx similarity index 100% rename from components/domain/headers/headers-section.tsx rename to apps/web/components/domain/headers/headers-section.tsx diff --git a/components/domain/hosting/hosting-map-client.tsx b/apps/web/components/domain/hosting/hosting-map-client.tsx similarity index 100% rename from components/domain/hosting/hosting-map-client.tsx rename to apps/web/components/domain/hosting/hosting-map-client.tsx diff --git a/components/domain/hosting/hosting-map-skeleton.tsx b/apps/web/components/domain/hosting/hosting-map-skeleton.tsx similarity index 100% rename from components/domain/hosting/hosting-map-skeleton.tsx rename to apps/web/components/domain/hosting/hosting-map-skeleton.tsx diff --git a/components/domain/hosting/hosting-section-skeleton.tsx b/apps/web/components/domain/hosting/hosting-section-skeleton.tsx similarity index 100% rename from components/domain/hosting/hosting-section-skeleton.tsx rename to apps/web/components/domain/hosting/hosting-section-skeleton.tsx diff --git a/components/domain/hosting/hosting-section.test.tsx b/apps/web/components/domain/hosting/hosting-section.test.tsx similarity index 100% rename from components/domain/hosting/hosting-section.test.tsx rename to apps/web/components/domain/hosting/hosting-section.test.tsx diff --git a/components/domain/hosting/hosting-section.tsx b/apps/web/components/domain/hosting/hosting-section.tsx similarity index 100% rename from components/domain/hosting/hosting-section.tsx rename to apps/web/components/domain/hosting/hosting-section.tsx diff --git a/components/domain/key-value-grid.tsx b/apps/web/components/domain/key-value-grid.tsx similarity index 100% rename from components/domain/key-value-grid.tsx rename to apps/web/components/domain/key-value-grid.tsx diff --git a/components/domain/key-value-skeleton.tsx b/apps/web/components/domain/key-value-skeleton.tsx similarity index 100% rename from components/domain/key-value-skeleton.tsx rename to apps/web/components/domain/key-value-skeleton.tsx diff --git a/components/domain/key-value.tsx b/apps/web/components/domain/key-value.tsx similarity index 100% rename from components/domain/key-value.tsx rename to apps/web/components/domain/key-value.tsx diff --git a/components/domain/pill-count.tsx b/apps/web/components/domain/pill-count.tsx similarity index 100% rename from components/domain/pill-count.tsx rename to apps/web/components/domain/pill-count.tsx diff --git a/components/domain/registrar-links.tsx b/apps/web/components/domain/registrar-links.tsx similarity index 100% rename from components/domain/registrar-links.tsx rename to apps/web/components/domain/registrar-links.tsx diff --git a/components/domain/registration/raw-data-dialog.tsx b/apps/web/components/domain/registration/raw-data-dialog.tsx similarity index 100% rename from components/domain/registration/raw-data-dialog.tsx rename to apps/web/components/domain/registration/raw-data-dialog.tsx diff --git a/components/domain/registration/registration-section-skeleton.tsx b/apps/web/components/domain/registration/registration-section-skeleton.tsx similarity index 100% rename from components/domain/registration/registration-section-skeleton.tsx rename to apps/web/components/domain/registration/registration-section-skeleton.tsx diff --git a/components/domain/registration/registration-section.test.tsx b/apps/web/components/domain/registration/registration-section.test.tsx similarity index 100% rename from components/domain/registration/registration-section.test.tsx rename to apps/web/components/domain/registration/registration-section.test.tsx diff --git a/components/domain/registration/registration-section.tsx b/apps/web/components/domain/registration/registration-section.tsx similarity index 100% rename from components/domain/registration/registration-section.tsx rename to apps/web/components/domain/registration/registration-section.tsx diff --git a/components/domain/relative-age.tsx b/apps/web/components/domain/relative-age.tsx similarity index 100% rename from components/domain/relative-age.tsx rename to apps/web/components/domain/relative-age.tsx diff --git a/components/domain/relative-expiry.tsx b/apps/web/components/domain/relative-expiry.tsx similarity index 100% rename from components/domain/relative-expiry.tsx rename to apps/web/components/domain/relative-expiry.tsx diff --git a/components/domain/report-client.tsx b/apps/web/components/domain/report-client.tsx similarity index 100% rename from components/domain/report-client.tsx rename to apps/web/components/domain/report-client.tsx diff --git a/components/domain/report-header.tsx b/apps/web/components/domain/report-header.tsx similarity index 100% rename from components/domain/report-header.tsx rename to apps/web/components/domain/report-header.tsx diff --git a/components/domain/report-nav.tsx b/apps/web/components/domain/report-nav.tsx similarity index 100% rename from components/domain/report-nav.tsx rename to apps/web/components/domain/report-nav.tsx diff --git a/components/domain/report-section-error-boundary.tsx b/apps/web/components/domain/report-section-error-boundary.tsx similarity index 100% rename from components/domain/report-section-error-boundary.tsx rename to apps/web/components/domain/report-section-error-boundary.tsx diff --git a/components/domain/report-section-skeleton.tsx b/apps/web/components/domain/report-section-skeleton.tsx similarity index 100% rename from components/domain/report-section-skeleton.tsx rename to apps/web/components/domain/report-section-skeleton.tsx diff --git a/components/domain/report-section.tsx b/apps/web/components/domain/report-section.tsx similarity index 100% rename from components/domain/report-section.tsx rename to apps/web/components/domain/report-section.tsx diff --git a/components/domain/report-skeleton.tsx b/apps/web/components/domain/report-skeleton.tsx similarity index 97% rename from components/domain/report-skeleton.tsx rename to apps/web/components/domain/report-skeleton.tsx index 2f6ef755..d1749237 100644 --- a/components/domain/report-skeleton.tsx +++ b/apps/web/components/domain/report-skeleton.tsx @@ -63,7 +63,7 @@ function SectionNavSkeleton() { )} > {/* Skeleton tabs - horizontally scrollable on mobile, centered on desktop */} -
+
{[125, 140, 130, 145, 135, 130].map((width, index) => ( ctx.headers[name.toLowerCase()]; const anyDns = (arr: string[], suf: string) => arr.some((h) => h === suf || h.endsWith(`.${suf}`)); diff --git a/lib/providers/parser.test.ts b/apps/web/lib/providers/parser.test.ts similarity index 100% rename from lib/providers/parser.test.ts rename to apps/web/lib/providers/parser.test.ts diff --git a/lib/providers/parser.ts b/apps/web/lib/providers/parser.ts similarity index 100% rename from lib/providers/parser.ts rename to apps/web/lib/providers/parser.ts diff --git a/lib/providers/rules.ts b/apps/web/lib/providers/rules.ts similarity index 100% rename from lib/providers/rules.ts rename to apps/web/lib/providers/rules.ts diff --git a/lib/puppeteer.ts b/apps/web/lib/puppeteer.ts similarity index 100% rename from lib/puppeteer.ts rename to apps/web/lib/puppeteer.ts diff --git a/lib/ratelimit/api.test.ts b/apps/web/lib/ratelimit/api.test.ts similarity index 100% rename from lib/ratelimit/api.test.ts rename to apps/web/lib/ratelimit/api.test.ts diff --git a/lib/ratelimit/api.ts b/apps/web/lib/ratelimit/api.ts similarity index 100% rename from lib/ratelimit/api.ts rename to apps/web/lib/ratelimit/api.ts diff --git a/lib/ratelimit/client.ts b/apps/web/lib/ratelimit/client.ts similarity index 95% rename from lib/ratelimit/client.ts rename to apps/web/lib/ratelimit/client.ts index 85b48d9e..2f972d61 100644 --- a/lib/ratelimit/client.ts +++ b/apps/web/lib/ratelimit/client.ts @@ -20,7 +20,7 @@ export type RateLimitError = { * - Fetch Response objects with status 429 * - Error objects with message containing rate limit indicators */ -export function isRateLimitError(error: unknown): boolean { +function isRateLimitError(error: unknown): boolean { if (!error) return false; // Check for fetch Response with status 429 @@ -61,7 +61,7 @@ export function isRateLimitError(error: unknown): boolean { * - Error cause with retryAfter property * - Falls back to 60 seconds if unparseable */ -export function extractRateLimitError(error: unknown): RateLimitError | null { +function extractRateLimitError(error: unknown): RateLimitError | null { if (!isRateLimitError(error)) return null; let retryAfter = 60; // Default fallback @@ -114,7 +114,7 @@ export function extractRateLimitError(error: unknown): RateLimitError | null { * } * ``` */ -export function showRateLimitToast(error: unknown): boolean { +export function showRateLimitError(error: unknown): boolean { const rateLimitError = extractRateLimitError(error); if (!rateLimitError) return false; diff --git a/lib/ratelimit/index.ts b/apps/web/lib/ratelimit/index.ts similarity index 100% rename from lib/ratelimit/index.ts rename to apps/web/lib/ratelimit/index.ts diff --git a/lib/ratelimit/trpc-link.ts b/apps/web/lib/ratelimit/trpc-link.ts similarity index 92% rename from lib/ratelimit/trpc-link.ts rename to apps/web/lib/ratelimit/trpc-link.ts index be719d27..63d3530f 100644 --- a/lib/ratelimit/trpc-link.ts +++ b/apps/web/lib/ratelimit/trpc-link.ts @@ -3,7 +3,7 @@ import type { TRPCLink } from "@trpc/client"; import { observable } from "@trpc/server/observable"; import type { AppRouter } from "@/server/routers/_app"; -import { showRateLimitToast } from "./client"; +import { showRateLimitError } from "./client"; /** * tRPC link that intercepts rate limit errors and shows a toast. @@ -28,7 +28,7 @@ export const rateLimitLink: TRPCLink = () => { }, error(err) { // Show toast for rate limit errors - showRateLimitToast(err); + showRateLimitError(err); // Still pass the error through for handlers to process observer.error(err); }, diff --git a/lib/redis/index.ts b/apps/web/lib/redis/index.ts similarity index 100% rename from lib/redis/index.ts rename to apps/web/lib/redis/index.ts diff --git a/lib/registration-utils.test.ts b/apps/web/lib/registration-utils.test.ts similarity index 100% rename from lib/registration-utils.test.ts rename to apps/web/lib/registration-utils.test.ts diff --git a/lib/registration-utils.ts b/apps/web/lib/registration-utils.ts similarity index 100% rename from lib/registration-utils.ts rename to apps/web/lib/registration-utils.ts diff --git a/lib/resend.ts b/apps/web/lib/resend.ts similarity index 100% rename from lib/resend.ts rename to apps/web/lib/resend.ts diff --git a/lib/resolver.test.ts b/apps/web/lib/resolver.test.ts similarity index 100% rename from lib/resolver.test.ts rename to apps/web/lib/resolver.test.ts diff --git a/lib/resolver.ts b/apps/web/lib/resolver.ts similarity index 100% rename from lib/resolver.ts rename to apps/web/lib/resolver.ts diff --git a/lib/revalidation.test.ts b/apps/web/lib/revalidation.test.ts similarity index 100% rename from lib/revalidation.test.ts rename to apps/web/lib/revalidation.test.ts diff --git a/lib/revalidation.ts b/apps/web/lib/revalidation.ts similarity index 100% rename from lib/revalidation.ts rename to apps/web/lib/revalidation.ts diff --git a/lib/safe-fetch.test.ts b/apps/web/lib/safe-fetch.test.ts similarity index 100% rename from lib/safe-fetch.test.ts rename to apps/web/lib/safe-fetch.test.ts diff --git a/lib/safe-fetch.ts b/apps/web/lib/safe-fetch.ts similarity index 100% rename from lib/safe-fetch.ts rename to apps/web/lib/safe-fetch.ts diff --git a/lib/seo.test.ts b/apps/web/lib/seo.test.ts similarity index 100% rename from lib/seo.test.ts rename to apps/web/lib/seo.test.ts diff --git a/lib/seo.ts b/apps/web/lib/seo.ts similarity index 100% rename from lib/seo.ts rename to apps/web/lib/seo.ts diff --git a/lib/simple-hash.test.ts b/apps/web/lib/simple-hash.test.ts similarity index 100% rename from lib/simple-hash.test.ts rename to apps/web/lib/simple-hash.test.ts diff --git a/lib/simple-hash.ts b/apps/web/lib/simple-hash.ts similarity index 100% rename from lib/simple-hash.ts rename to apps/web/lib/simple-hash.ts diff --git a/lib/slugify.ts b/apps/web/lib/slugify.ts similarity index 100% rename from lib/slugify.ts rename to apps/web/lib/slugify.ts diff --git a/lib/storage.test.ts b/apps/web/lib/storage.test.ts similarity index 100% rename from lib/storage.test.ts rename to apps/web/lib/storage.test.ts diff --git a/lib/storage.ts b/apps/web/lib/storage.ts similarity index 100% rename from lib/storage.ts rename to apps/web/lib/storage.ts diff --git a/lib/tls-utils.test.ts b/apps/web/lib/tls-utils.test.ts similarity index 100% rename from lib/tls-utils.test.ts rename to apps/web/lib/tls-utils.test.ts diff --git a/lib/tls-utils.ts b/apps/web/lib/tls-utils.ts similarity index 100% rename from lib/tls-utils.ts rename to apps/web/lib/tls-utils.ts diff --git a/lib/trpc/client.ts b/apps/web/lib/trpc/client.ts similarity index 100% rename from lib/trpc/client.ts rename to apps/web/lib/trpc/client.ts diff --git a/lib/ttl.test.ts b/apps/web/lib/ttl.test.ts similarity index 100% rename from lib/ttl.test.ts rename to apps/web/lib/ttl.test.ts diff --git a/lib/ttl.ts b/apps/web/lib/ttl.ts similarity index 100% rename from lib/ttl.ts rename to apps/web/lib/ttl.ts diff --git a/lib/types/domain/certificates.ts b/apps/web/lib/types/domain/certificates.ts similarity index 100% rename from lib/types/domain/certificates.ts rename to apps/web/lib/types/domain/certificates.ts diff --git a/lib/types/domain/dns.ts b/apps/web/lib/types/domain/dns.ts similarity index 100% rename from lib/types/domain/dns.ts rename to apps/web/lib/types/domain/dns.ts diff --git a/lib/types/domain/domain-response.ts b/apps/web/lib/types/domain/domain-response.ts similarity index 100% rename from lib/types/domain/domain-response.ts rename to apps/web/lib/types/domain/domain-response.ts diff --git a/lib/types/domain/headers.ts b/apps/web/lib/types/domain/headers.ts similarity index 100% rename from lib/types/domain/headers.ts rename to apps/web/lib/types/domain/headers.ts diff --git a/lib/types/domain/hosting.ts b/apps/web/lib/types/domain/hosting.ts similarity index 100% rename from lib/types/domain/hosting.ts rename to apps/web/lib/types/domain/hosting.ts diff --git a/lib/types/domain/icon.ts b/apps/web/lib/types/domain/icon.ts similarity index 83% rename from lib/types/domain/icon.ts rename to apps/web/lib/types/domain/icon.ts index 2d4af43b..289148a1 100644 --- a/lib/types/domain/icon.ts +++ b/apps/web/lib/types/domain/icon.ts @@ -21,8 +21,3 @@ export type FaviconResponse = IconResponse; * Semantic alias for provider logo responses. */ export type ProviderLogoResponse = IconResponse; - -/** - * Semantic alias for screenshot responses. - */ -export type ScreenshotResponse = IconResponse; diff --git a/lib/types/domain/provider-ref.ts b/apps/web/lib/types/domain/provider-ref.ts similarity index 100% rename from lib/types/domain/provider-ref.ts rename to apps/web/lib/types/domain/provider-ref.ts diff --git a/lib/types/domain/registration.ts b/apps/web/lib/types/domain/registration.ts similarity index 100% rename from lib/types/domain/registration.ts rename to apps/web/lib/types/domain/registration.ts diff --git a/lib/types/domain/seo.ts b/apps/web/lib/types/domain/seo.ts similarity index 100% rename from lib/types/domain/seo.ts rename to apps/web/lib/types/domain/seo.ts diff --git a/lib/types/notifications.ts b/apps/web/lib/types/notifications.ts similarity index 100% rename from lib/types/notifications.ts rename to apps/web/lib/types/notifications.ts diff --git a/lib/types/provider.ts b/apps/web/lib/types/provider.ts similarity index 100% rename from lib/types/provider.ts rename to apps/web/lib/types/provider.ts diff --git a/lib/types/tracked-domain.ts b/apps/web/lib/types/tracked-domain.ts similarity index 100% rename from lib/types/tracked-domain.ts rename to apps/web/lib/types/tracked-domain.ts diff --git a/lib/types/verification.ts b/apps/web/lib/types/verification.ts similarity index 100% rename from lib/types/verification.ts rename to apps/web/lib/types/verification.ts diff --git a/lib/utils.ts b/apps/web/lib/utils.ts similarity index 100% rename from lib/utils.ts rename to apps/web/lib/utils.ts diff --git a/lib/verification-instructions.ts b/apps/web/lib/verification-instructions.ts similarity index 100% rename from lib/verification-instructions.ts rename to apps/web/lib/verification-instructions.ts diff --git a/lib/verification-state-machine.test.ts b/apps/web/lib/verification-state-machine.test.ts similarity index 100% rename from lib/verification-state-machine.test.ts rename to apps/web/lib/verification-state-machine.test.ts diff --git a/lib/verification-state-machine.ts b/apps/web/lib/verification-state-machine.ts similarity index 100% rename from lib/verification-state-machine.ts rename to apps/web/lib/verification-state-machine.ts diff --git a/lib/verification.test.ts b/apps/web/lib/verification.test.ts similarity index 100% rename from lib/verification.test.ts rename to apps/web/lib/verification.test.ts diff --git a/lib/verification.ts b/apps/web/lib/verification.ts similarity index 100% rename from lib/verification.ts rename to apps/web/lib/verification.ts diff --git a/lib/workflow/concurrency.test.ts b/apps/web/lib/workflow/concurrency.test.ts similarity index 100% rename from lib/workflow/concurrency.test.ts rename to apps/web/lib/workflow/concurrency.test.ts diff --git a/lib/workflow/concurrency.ts b/apps/web/lib/workflow/concurrency.ts similarity index 100% rename from lib/workflow/concurrency.ts rename to apps/web/lib/workflow/concurrency.ts diff --git a/lib/workflow/deduplication.test.ts b/apps/web/lib/workflow/deduplication.test.ts similarity index 100% rename from lib/workflow/deduplication.test.ts rename to apps/web/lib/workflow/deduplication.test.ts diff --git a/lib/workflow/deduplication.ts b/apps/web/lib/workflow/deduplication.ts similarity index 100% rename from lib/workflow/deduplication.ts rename to apps/web/lib/workflow/deduplication.ts diff --git a/lib/workflow/errors.test.ts b/apps/web/lib/workflow/errors.test.ts similarity index 100% rename from lib/workflow/errors.test.ts rename to apps/web/lib/workflow/errors.test.ts diff --git a/lib/workflow/errors.ts b/apps/web/lib/workflow/errors.ts similarity index 100% rename from lib/workflow/errors.ts rename to apps/web/lib/workflow/errors.ts diff --git a/lib/workflow/observability.test.ts b/apps/web/lib/workflow/observability.test.ts similarity index 100% rename from lib/workflow/observability.test.ts rename to apps/web/lib/workflow/observability.test.ts diff --git a/lib/workflow/observability.ts b/apps/web/lib/workflow/observability.ts similarity index 100% rename from lib/workflow/observability.ts rename to apps/web/lib/workflow/observability.ts diff --git a/lib/workflow/swr.test.ts b/apps/web/lib/workflow/swr.test.ts similarity index 100% rename from lib/workflow/swr.test.ts rename to apps/web/lib/workflow/swr.test.ts diff --git a/lib/workflow/swr.ts b/apps/web/lib/workflow/swr.ts similarity index 100% rename from lib/workflow/swr.ts rename to apps/web/lib/workflow/swr.ts diff --git a/lib/workflow/types.ts b/apps/web/lib/workflow/types.ts similarity index 100% rename from lib/workflow/types.ts rename to apps/web/lib/workflow/types.ts diff --git a/mocks/handlers.ts b/apps/web/mocks/handlers.ts similarity index 100% rename from mocks/handlers.ts rename to apps/web/mocks/handlers.ts diff --git a/mocks/react.tsx b/apps/web/mocks/react.tsx similarity index 100% rename from mocks/react.tsx rename to apps/web/mocks/react.tsx diff --git a/mocks/server.ts b/apps/web/mocks/server.ts similarity index 100% rename from mocks/server.ts rename to apps/web/mocks/server.ts diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts new file mode 100644 index 00000000..c4b7818f --- /dev/null +++ b/apps/web/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +import "./.next/dev/types/routes.d.ts"; + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.ts b/apps/web/next.config.ts similarity index 97% rename from next.config.ts rename to apps/web/next.config.ts index b9a9d5df..53fa0e6d 100644 --- a/next.config.ts +++ b/apps/web/next.config.ts @@ -18,7 +18,7 @@ let nextConfig: NextConfig = { ], outputFileTracingIncludes: { "/.well-known/workflow/v1/step": [ - "node_modules/@sparticuz/chromium/bin/**", + "../../node_modules/@sparticuz/chromium/bin/**", ], }, logging: { diff --git a/apps/web/package.json b/apps/web/package.json new file mode 100644 index 00000000..de475441 --- /dev/null +++ b/apps/web/package.json @@ -0,0 +1,129 @@ +{ + "name": "@domainstack/web", + "version": "0.0.0-beta.1", + "private": true, + "type": "module", + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "analyze": "next experimental-analyze", + "check-types": "next typegen && tsc --noEmit", + "lint": "biome check", + "format": "biome format --write", + "db:generate": "drizzle-kit generate", + "db:push": "drizzle-kit push", + "db:migrate": "drizzle-kit migrate", + "db:studio": "drizzle-kit studio", + "test": "vitest run", + "test:coverage": "vitest run --coverage", + "workflow": "workflow inspect runs --web", + "knip": "knip" + }, + "dependencies": { + "@base-ui/react": "^1.0.0", + "@bprogress/next": "^3.2.12", + "@ghostery/adblocker-puppeteer": "^2.13.4", + "@icons-pack/react-simple-icons": "^13.8.0", + "@lobehub/icons": "^4.0.3", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/instrumentation-pino": "^0.56.0", + "@phosphor-icons/react": "^2.1.10", + "@polar-sh/better-auth": "^1.6.4", + "@polar-sh/sdk": "^0.42.2", + "@posthog/nextjs-config": "^1.7.6", + "@react-email/components": "^1.0.4", + "@readme/http-status-codes": "^9.0.6", + "@sparticuz/chromium": "143.0.4", + "@tanstack/react-query-devtools": "^5.91.2", + "@tanstack/react-query-next-experimental": "^5.91.0", + "@tanstack/react-query": "^5.90.19", + "@tanstack/react-table": "^8.21.3", + "@trpc/client": "^11.8.1", + "@trpc/server": "^11.8.1", + "@trpc/tanstack-react-query": "^11.8.1", + "@upstash/ratelimit": "^2.0.8", + "@upstash/redis": "^1.36.1", + "@vercel/analytics": "^1.6.1", + "@vercel/blob": "^2.0.0", + "@vercel/edge-config": "^1.4.3", + "@vercel/functions": "^3.3.6", + "@vercel/otel": "^2.1.0", + "better-auth": "^1.4.15", + "cheerio": "^1.1.2", + "clipboard-copy": "^4.0.1", + "clsx": "^2.1.1", + "cva": "1.0.0-beta.4", + "date-fns": "^4.1.0", + "dotenv": "^17.2.3", + "drizzle-orm": "^0.45.1", + "file-type": "^21.3.0", + "geist": "^1.5.1", + "ical-generator": "10.0.1-develop.12", + "icojs": "^0.20.1", + "image-size": "^2.0.2", + "inngest": "^3.49.3", + "ipaddr.js": "^2.3.0", + "maplibre-gl": "^5.16.0", + "mcp-handler": "^1.0.7", + "media-chrome": "^4.17.2", + "motion": "^12.27.0", + "ms": "3.0.0-canary.202508261828", + "next-themes": "^0.4.6", + "next": "16.1.3", + "nuqs": "^2.8.6", + "pg": "^8.17.1", + "pino": "^10.2.0", + "posthog-js": "^1.328.0", + "posthog-node": "^5.21.1", + "puppeteer-core": "24.35.0", + "rdapper": "^0.13.0", + "react-dom": "19.2.3", + "react-error-boundary": "^6.1.0", + "react-hotkeys-hook": "^5.2.3", + "react": "19.2.3", + "resend": "^6.7.0", + "server-only": "0.0.1", + "sharp": "^0.34.5", + "sonner": "^2.0.7", + "superjson": "^2.2.6", + "tailwind-merge": "^3.4.0", + "use-local-storage-state": "^19.5.0", + "uuid": "^13.0.0", + "vaul-base": "^1.0.0", + "workflow": "4.0.1-beta.48", + "ws": "^8.19.0", + "zod": "^4.3.5" + }, + "devDependencies": { + "@electric-sql/pglite": "^0.3.15", + "@tailwindcss/postcss": "^4.1.18", + "@tailwindcss/typography": "^0.5.19", + "@testing-library/dom": "10.4.1", + "@testing-library/jest-dom": "6.9.1", + "@testing-library/react": "16.3.1", + "@testing-library/user-event": "14.6.1", + "@types/node": "25.0.9", + "@types/pg": "^8.16.0", + "@types/react": "19.2.8", + "@types/react-dom": "19.2.3", + "@types/ws": "^8.18.1", + "@vitejs/plugin-react": "^5.1.2", + "@vitest/browser": "^4.0.17", + "@vitest/browser-playwright": "^4.0.17", + "@vitest/coverage-v8": "^4.0.17", + "babel-plugin-react-compiler": "19.1.0-rc.3", + "bufferutil": "^4.1.0", + "drizzle-kit": "^0.31.8", + "knip": "^5.82.0", + "msw": "^2.12.7", + "pino-pretty": "^13.1.3", + "playwright": "^1.57.0", + "puppeteer": "24.35.0", + "tailwindcss": "^4.1.18", + "tw-animate-css": "^1.4.0", + "vite-tsconfig-paths": "^6.0.4", + "vitest": "^4.0.17", + "vitest-browser-react": "^2.0.2" + } +} diff --git a/postcss.config.mjs b/apps/web/postcss.config.mjs similarity index 100% rename from postcss.config.mjs rename to apps/web/postcss.config.mjs diff --git a/proxy.ts b/apps/web/proxy.ts similarity index 100% rename from proxy.ts rename to apps/web/proxy.ts diff --git a/public/web-app-manifest-192x192.png b/apps/web/public/web-app-manifest-192x192.png similarity index 100% rename from public/web-app-manifest-192x192.png rename to apps/web/public/web-app-manifest-192x192.png diff --git a/public/web-app-manifest-512x512.png b/apps/web/public/web-app-manifest-512x512.png similarity index 100% rename from public/web-app-manifest-512x512.png rename to apps/web/public/web-app-manifest-512x512.png diff --git a/server/routers/_app.ts b/apps/web/server/routers/_app.ts similarity index 100% rename from server/routers/_app.ts rename to apps/web/server/routers/_app.ts diff --git a/server/routers/domain.test.ts b/apps/web/server/routers/domain.test.ts similarity index 100% rename from server/routers/domain.test.ts rename to apps/web/server/routers/domain.test.ts diff --git a/server/routers/domain.ts b/apps/web/server/routers/domain.ts similarity index 100% rename from server/routers/domain.ts rename to apps/web/server/routers/domain.ts diff --git a/server/routers/notifications.test.ts b/apps/web/server/routers/notifications.test.ts similarity index 100% rename from server/routers/notifications.test.ts rename to apps/web/server/routers/notifications.test.ts diff --git a/server/routers/notifications.ts b/apps/web/server/routers/notifications.ts similarity index 100% rename from server/routers/notifications.ts rename to apps/web/server/routers/notifications.ts diff --git a/server/routers/provider.ts b/apps/web/server/routers/provider.ts similarity index 100% rename from server/routers/provider.ts rename to apps/web/server/routers/provider.ts diff --git a/server/routers/registrar.ts b/apps/web/server/routers/registrar.ts similarity index 100% rename from server/routers/registrar.ts rename to apps/web/server/routers/registrar.ts diff --git a/server/routers/tracking.test.ts b/apps/web/server/routers/tracking.test.ts similarity index 100% rename from server/routers/tracking.test.ts rename to apps/web/server/routers/tracking.test.ts diff --git a/server/routers/tracking.ts b/apps/web/server/routers/tracking.ts similarity index 100% rename from server/routers/tracking.ts rename to apps/web/server/routers/tracking.ts diff --git a/server/routers/user.test.ts b/apps/web/server/routers/user.test.ts similarity index 100% rename from server/routers/user.test.ts rename to apps/web/server/routers/user.test.ts diff --git a/server/routers/user.ts b/apps/web/server/routers/user.ts similarity index 100% rename from server/routers/user.ts rename to apps/web/server/routers/user.ts diff --git a/trpc/client.tsx b/apps/web/trpc/client.tsx similarity index 100% rename from trpc/client.tsx rename to apps/web/trpc/client.tsx diff --git a/trpc/init.ts b/apps/web/trpc/init.ts similarity index 100% rename from trpc/init.ts rename to apps/web/trpc/init.ts diff --git a/trpc/query-client.ts b/apps/web/trpc/query-client.ts similarity index 100% rename from trpc/query-client.ts rename to apps/web/trpc/query-client.ts diff --git a/trpc/server.ts b/apps/web/trpc/server.ts similarity index 100% rename from trpc/server.ts rename to apps/web/trpc/server.ts diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json new file mode 100644 index 00000000..79ad6996 --- /dev/null +++ b/apps/web/tsconfig.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "../../tsconfig.json", + "compilerOptions": { + "types": [ + "@testing-library/jest-dom", + "vitest/globals", + "vitest-browser-react" + ], + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": ["node_modules"] +} diff --git a/vercel.json b/apps/web/vercel.json similarity index 88% rename from vercel.json rename to apps/web/vercel.json index 4f17e7c2..fc90d654 100644 --- a/vercel.json +++ b/apps/web/vercel.json @@ -2,14 +2,12 @@ "$schema": "https://openapi.vercel.sh/vercel.json", "build": { "env": { - "ENABLE_EXPERIMENTAL_COREPACK": "1", - "NPM_CONFIG_NODE_LINKER": "hoisted", "PUPPETEER_SKIP_DOWNLOAD": "1" } }, "functions": { "app/.well-known/workflow/v1/step/route.js": { - "memory": 3009 + "maxDuration": 800 } }, "crons": [ diff --git a/vitest.config.ts b/apps/web/vitest.config.ts similarity index 100% rename from vitest.config.ts rename to apps/web/vitest.config.ts diff --git a/vitest.setup.browser.ts b/apps/web/vitest.setup.browser.ts similarity index 100% rename from vitest.setup.browser.ts rename to apps/web/vitest.setup.browser.ts diff --git a/vitest.setup.node.ts b/apps/web/vitest.setup.node.ts similarity index 100% rename from vitest.setup.node.ts rename to apps/web/vitest.setup.node.ts diff --git a/workflows/auto-verify/index.ts b/apps/web/workflows/auto-verify/index.ts similarity index 100% rename from workflows/auto-verify/index.ts rename to apps/web/workflows/auto-verify/index.ts diff --git a/workflows/auto-verify/workflow.ts b/apps/web/workflows/auto-verify/workflow.ts similarity index 100% rename from workflows/auto-verify/workflow.ts rename to apps/web/workflows/auto-verify/workflow.ts diff --git a/workflows/certificate-expiry/index.ts b/apps/web/workflows/certificate-expiry/index.ts similarity index 100% rename from workflows/certificate-expiry/index.ts rename to apps/web/workflows/certificate-expiry/index.ts diff --git a/workflows/certificate-expiry/workflow.ts b/apps/web/workflows/certificate-expiry/workflow.ts similarity index 100% rename from workflows/certificate-expiry/workflow.ts rename to apps/web/workflows/certificate-expiry/workflow.ts diff --git a/workflows/certificates/index.ts b/apps/web/workflows/certificates/index.ts similarity index 100% rename from workflows/certificates/index.ts rename to apps/web/workflows/certificates/index.ts diff --git a/workflows/certificates/workflow.ts b/apps/web/workflows/certificates/workflow.ts similarity index 98% rename from workflows/certificates/workflow.ts rename to apps/web/workflows/certificates/workflow.ts index e0adc856..0ae559f1 100644 --- a/workflows/certificates/workflow.ts +++ b/apps/web/workflows/certificates/workflow.ts @@ -6,7 +6,7 @@ import { persistCertificatesStep, processChainStep, } from "@/workflows/shared/certificates"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; export interface CertificatesWorkflowInput { domain: string; diff --git a/workflows/detect-changes/index.ts b/apps/web/workflows/detect-changes/index.ts similarity index 100% rename from workflows/detect-changes/index.ts rename to apps/web/workflows/detect-changes/index.ts diff --git a/workflows/detect-changes/workflow.ts b/apps/web/workflows/detect-changes/workflow.ts similarity index 100% rename from workflows/detect-changes/workflow.ts rename to apps/web/workflows/detect-changes/workflow.ts diff --git a/workflows/dns/index.ts b/apps/web/workflows/dns/index.ts similarity index 100% rename from workflows/dns/index.ts rename to apps/web/workflows/dns/index.ts diff --git a/workflows/dns/workflow.ts b/apps/web/workflows/dns/workflow.ts similarity index 97% rename from workflows/dns/workflow.ts rename to apps/web/workflows/dns/workflow.ts index 531a9005..33415f5b 100644 --- a/workflows/dns/workflow.ts +++ b/apps/web/workflows/dns/workflow.ts @@ -4,7 +4,7 @@ import { fetchDnsRecordsStep, persistDnsRecordsStep, } from "@/workflows/shared/dns"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; export interface DnsWorkflowInput { domain: string; diff --git a/workflows/domain-expiry/index.ts b/apps/web/workflows/domain-expiry/index.ts similarity index 100% rename from workflows/domain-expiry/index.ts rename to apps/web/workflows/domain-expiry/index.ts diff --git a/workflows/domain-expiry/workflow.ts b/apps/web/workflows/domain-expiry/workflow.ts similarity index 100% rename from workflows/domain-expiry/workflow.ts rename to apps/web/workflows/domain-expiry/workflow.ts diff --git a/workflows/favicon/index.ts b/apps/web/workflows/favicon/index.ts similarity index 100% rename from workflows/favicon/index.ts rename to apps/web/workflows/favicon/index.ts diff --git a/workflows/favicon/workflow.ts b/apps/web/workflows/favicon/workflow.ts similarity index 100% rename from workflows/favicon/workflow.ts rename to apps/web/workflows/favicon/workflow.ts diff --git a/workflows/headers/index.ts b/apps/web/workflows/headers/index.ts similarity index 100% rename from workflows/headers/index.ts rename to apps/web/workflows/headers/index.ts diff --git a/workflows/headers/workflow.ts b/apps/web/workflows/headers/workflow.ts similarity index 97% rename from workflows/headers/workflow.ts rename to apps/web/workflows/headers/workflow.ts index e3bc8e38..39316224 100644 --- a/workflows/headers/workflow.ts +++ b/apps/web/workflows/headers/workflow.ts @@ -5,7 +5,7 @@ import { type HeadersError, persistHeadersStep, } from "@/workflows/shared/headers"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; export interface HeadersWorkflowInput { domain: string; diff --git a/workflows/hosting-orchestration/index.ts b/apps/web/workflows/hosting-orchestration/index.ts similarity index 100% rename from workflows/hosting-orchestration/index.ts rename to apps/web/workflows/hosting-orchestration/index.ts diff --git a/workflows/hosting-orchestration/workflow.ts b/apps/web/workflows/hosting-orchestration/workflow.ts similarity index 99% rename from workflows/hosting-orchestration/workflow.ts rename to apps/web/workflows/hosting-orchestration/workflow.ts index e76d7cb7..844dc168 100644 --- a/workflows/hosting-orchestration/workflow.ts +++ b/apps/web/workflows/hosting-orchestration/workflow.ts @@ -14,7 +14,7 @@ import { lookupGeoIpStep, persistHostingStep, } from "@/workflows/shared/hosting"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; export interface HostingOrchestrationWorkflowInput { domain: string; diff --git a/workflows/hosting/index.ts b/apps/web/workflows/hosting/index.ts similarity index 100% rename from workflows/hosting/index.ts rename to apps/web/workflows/hosting/index.ts diff --git a/workflows/hosting/workflow.ts b/apps/web/workflows/hosting/workflow.ts similarity index 98% rename from workflows/hosting/workflow.ts rename to apps/web/workflows/hosting/workflow.ts index 5aabef84..aa87ab16 100644 --- a/workflows/hosting/workflow.ts +++ b/apps/web/workflows/hosting/workflow.ts @@ -7,7 +7,7 @@ import { lookupGeoIpStep, persistHostingStep, } from "@/workflows/shared/hosting"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; export interface HostingWorkflowInput { domain: string; diff --git a/workflows/initialize-snapshot/index.ts b/apps/web/workflows/initialize-snapshot/index.ts similarity index 100% rename from workflows/initialize-snapshot/index.ts rename to apps/web/workflows/initialize-snapshot/index.ts diff --git a/workflows/initialize-snapshot/workflow.ts b/apps/web/workflows/initialize-snapshot/workflow.ts similarity index 100% rename from workflows/initialize-snapshot/workflow.ts rename to apps/web/workflows/initialize-snapshot/workflow.ts diff --git a/workflows/provider-logo/index.ts b/apps/web/workflows/provider-logo/index.ts similarity index 100% rename from workflows/provider-logo/index.ts rename to apps/web/workflows/provider-logo/index.ts diff --git a/workflows/provider-logo/workflow.ts b/apps/web/workflows/provider-logo/workflow.ts similarity index 100% rename from workflows/provider-logo/workflow.ts rename to apps/web/workflows/provider-logo/workflow.ts diff --git a/workflows/registration/index.ts b/apps/web/workflows/registration/index.ts similarity index 100% rename from workflows/registration/index.ts rename to apps/web/workflows/registration/index.ts diff --git a/workflows/registration/workflow.ts b/apps/web/workflows/registration/workflow.ts similarity index 98% rename from workflows/registration/workflow.ts rename to apps/web/workflows/registration/workflow.ts index b1160380..a86308bd 100644 --- a/workflows/registration/workflow.ts +++ b/apps/web/workflows/registration/workflow.ts @@ -6,7 +6,7 @@ import { persistRegistrationStep, type RegistrationError, } from "@/workflows/shared/registration"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; export interface RegistrationWorkflowInput { domain: string; diff --git a/workflows/reverify-ownership/index.ts b/apps/web/workflows/reverify-ownership/index.ts similarity index 100% rename from workflows/reverify-ownership/index.ts rename to apps/web/workflows/reverify-ownership/index.ts diff --git a/workflows/reverify-ownership/workflow.ts b/apps/web/workflows/reverify-ownership/workflow.ts similarity index 100% rename from workflows/reverify-ownership/workflow.ts rename to apps/web/workflows/reverify-ownership/workflow.ts diff --git a/workflows/screenshot/index.ts b/apps/web/workflows/screenshot/index.ts similarity index 100% rename from workflows/screenshot/index.ts rename to apps/web/workflows/screenshot/index.ts diff --git a/workflows/screenshot/workflow.ts b/apps/web/workflows/screenshot/workflow.ts similarity index 95% rename from workflows/screenshot/workflow.ts rename to apps/web/workflows/screenshot/workflow.ts index b4e7d113..085234ad 100644 --- a/workflows/screenshot/workflow.ts +++ b/apps/web/workflows/screenshot/workflow.ts @@ -102,7 +102,14 @@ async function captureScreenshot(domain: string): Promise { const { getBrowser, createPage } = await import("@/lib/puppeteer"); // Get a browser instance, may reuse an existing one if available - const browser = await getBrowser(); + let browser: import("@/lib/puppeteer").Browser | null = null; + try { + browser = await getBrowser(); + } catch (err) { + throw new FatalError( + `Failed to get browser instance: ${err instanceof Error ? err.message : String(err)}`, + ); + } let page: import("@/lib/puppeteer").Page | null = null; try { diff --git a/workflows/section-revalidate/index.ts b/apps/web/workflows/section-revalidate/index.ts similarity index 100% rename from workflows/section-revalidate/index.ts rename to apps/web/workflows/section-revalidate/index.ts diff --git a/workflows/section-revalidate/workflow.ts b/apps/web/workflows/section-revalidate/workflow.ts similarity index 99% rename from workflows/section-revalidate/workflow.ts rename to apps/web/workflows/section-revalidate/workflow.ts index df80c0c6..34c3550d 100644 --- a/workflows/section-revalidate/workflow.ts +++ b/apps/web/workflows/section-revalidate/workflow.ts @@ -23,7 +23,7 @@ import { normalizeAndBuildResponseStep, persistRegistrationStep, } from "@/workflows/shared/registration"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; import { buildSeoResponseStep, fetchHtmlStep, diff --git a/workflows/seo/index.ts b/apps/web/workflows/seo/index.ts similarity index 100% rename from workflows/seo/index.ts rename to apps/web/workflows/seo/index.ts diff --git a/workflows/seo/workflow.ts b/apps/web/workflows/seo/workflow.ts similarity index 98% rename from workflows/seo/workflow.ts rename to apps/web/workflows/seo/workflow.ts index 2bc8c439..f78af0db 100644 --- a/workflows/seo/workflow.ts +++ b/apps/web/workflows/seo/workflow.ts @@ -1,7 +1,7 @@ import type { SeoResponse } from "@/lib/types/domain/seo"; import type { WorkflowResult } from "@/lib/workflow/types"; import { checkBlocklist } from "@/workflows/shared/check-blocklist"; -import { scheduleRevalidationBatchStep } from "@/workflows/shared/revalidation/schedule-batch"; +import { scheduleRevalidationBatchStep } from "@/workflows/shared/schedule-batch"; import { buildSeoResponseStep, fetchHtmlStep, diff --git a/workflows/shared/certificates/fetch.ts b/apps/web/workflows/shared/certificates/fetch.ts similarity index 100% rename from workflows/shared/certificates/fetch.ts rename to apps/web/workflows/shared/certificates/fetch.ts diff --git a/workflows/shared/certificates/index.ts b/apps/web/workflows/shared/certificates/index.ts similarity index 100% rename from workflows/shared/certificates/index.ts rename to apps/web/workflows/shared/certificates/index.ts diff --git a/workflows/shared/certificates/persist.ts b/apps/web/workflows/shared/certificates/persist.ts similarity index 100% rename from workflows/shared/certificates/persist.ts rename to apps/web/workflows/shared/certificates/persist.ts diff --git a/workflows/shared/certificates/types.ts b/apps/web/workflows/shared/certificates/types.ts similarity index 100% rename from workflows/shared/certificates/types.ts rename to apps/web/workflows/shared/certificates/types.ts diff --git a/workflows/shared/check-blocklist.ts b/apps/web/workflows/shared/check-blocklist.ts similarity index 100% rename from workflows/shared/check-blocklist.ts rename to apps/web/workflows/shared/check-blocklist.ts diff --git a/workflows/shared/dns/fetch.test.ts b/apps/web/workflows/shared/dns/fetch.test.ts similarity index 100% rename from workflows/shared/dns/fetch.test.ts rename to apps/web/workflows/shared/dns/fetch.test.ts diff --git a/workflows/shared/dns/fetch.ts b/apps/web/workflows/shared/dns/fetch.ts similarity index 100% rename from workflows/shared/dns/fetch.ts rename to apps/web/workflows/shared/dns/fetch.ts diff --git a/workflows/shared/dns/index.ts b/apps/web/workflows/shared/dns/index.ts similarity index 100% rename from workflows/shared/dns/index.ts rename to apps/web/workflows/shared/dns/index.ts diff --git a/workflows/shared/dns/persist.test.ts b/apps/web/workflows/shared/dns/persist.test.ts similarity index 100% rename from workflows/shared/dns/persist.test.ts rename to apps/web/workflows/shared/dns/persist.test.ts diff --git a/workflows/shared/dns/persist.ts b/apps/web/workflows/shared/dns/persist.ts similarity index 100% rename from workflows/shared/dns/persist.ts rename to apps/web/workflows/shared/dns/persist.ts diff --git a/workflows/shared/dns/types.ts b/apps/web/workflows/shared/dns/types.ts similarity index 100% rename from workflows/shared/dns/types.ts rename to apps/web/workflows/shared/dns/types.ts diff --git a/workflows/shared/fetch-icon.ts b/apps/web/workflows/shared/fetch-icon.ts similarity index 100% rename from workflows/shared/fetch-icon.ts rename to apps/web/workflows/shared/fetch-icon.ts diff --git a/workflows/shared/headers/fetch.test.ts b/apps/web/workflows/shared/headers/fetch.test.ts similarity index 100% rename from workflows/shared/headers/fetch.test.ts rename to apps/web/workflows/shared/headers/fetch.test.ts diff --git a/workflows/shared/headers/fetch.ts b/apps/web/workflows/shared/headers/fetch.ts similarity index 100% rename from workflows/shared/headers/fetch.ts rename to apps/web/workflows/shared/headers/fetch.ts diff --git a/workflows/shared/headers/index.ts b/apps/web/workflows/shared/headers/index.ts similarity index 100% rename from workflows/shared/headers/index.ts rename to apps/web/workflows/shared/headers/index.ts diff --git a/workflows/shared/headers/persist.test.ts b/apps/web/workflows/shared/headers/persist.test.ts similarity index 100% rename from workflows/shared/headers/persist.test.ts rename to apps/web/workflows/shared/headers/persist.test.ts diff --git a/workflows/shared/headers/persist.ts b/apps/web/workflows/shared/headers/persist.ts similarity index 100% rename from workflows/shared/headers/persist.ts rename to apps/web/workflows/shared/headers/persist.ts diff --git a/workflows/shared/headers/types.ts b/apps/web/workflows/shared/headers/types.ts similarity index 100% rename from workflows/shared/headers/types.ts rename to apps/web/workflows/shared/headers/types.ts diff --git a/workflows/shared/hosting/detect.test.ts b/apps/web/workflows/shared/hosting/detect.test.ts similarity index 100% rename from workflows/shared/hosting/detect.test.ts rename to apps/web/workflows/shared/hosting/detect.test.ts diff --git a/workflows/shared/hosting/detect.ts b/apps/web/workflows/shared/hosting/detect.ts similarity index 100% rename from workflows/shared/hosting/detect.ts rename to apps/web/workflows/shared/hosting/detect.ts diff --git a/workflows/shared/hosting/index.ts b/apps/web/workflows/shared/hosting/index.ts similarity index 100% rename from workflows/shared/hosting/index.ts rename to apps/web/workflows/shared/hosting/index.ts diff --git a/workflows/shared/hosting/persist.ts b/apps/web/workflows/shared/hosting/persist.ts similarity index 100% rename from workflows/shared/hosting/persist.ts rename to apps/web/workflows/shared/hosting/persist.ts diff --git a/workflows/shared/hosting/types.ts b/apps/web/workflows/shared/hosting/types.ts similarity index 100% rename from workflows/shared/hosting/types.ts rename to apps/web/workflows/shared/hosting/types.ts diff --git a/workflows/shared/notifications.ts b/apps/web/workflows/shared/notifications.ts similarity index 100% rename from workflows/shared/notifications.ts rename to apps/web/workflows/shared/notifications.ts diff --git a/workflows/shared/registration/fetch.test.ts b/apps/web/workflows/shared/registration/fetch.test.ts similarity index 100% rename from workflows/shared/registration/fetch.test.ts rename to apps/web/workflows/shared/registration/fetch.test.ts diff --git a/workflows/shared/registration/fetch.ts b/apps/web/workflows/shared/registration/fetch.ts similarity index 100% rename from workflows/shared/registration/fetch.ts rename to apps/web/workflows/shared/registration/fetch.ts diff --git a/workflows/shared/registration/index.ts b/apps/web/workflows/shared/registration/index.ts similarity index 100% rename from workflows/shared/registration/index.ts rename to apps/web/workflows/shared/registration/index.ts diff --git a/workflows/shared/registration/normalize.test.ts b/apps/web/workflows/shared/registration/normalize.test.ts similarity index 100% rename from workflows/shared/registration/normalize.test.ts rename to apps/web/workflows/shared/registration/normalize.test.ts diff --git a/workflows/shared/registration/normalize.ts b/apps/web/workflows/shared/registration/normalize.ts similarity index 100% rename from workflows/shared/registration/normalize.ts rename to apps/web/workflows/shared/registration/normalize.ts diff --git a/workflows/shared/registration/persist.test.ts b/apps/web/workflows/shared/registration/persist.test.ts similarity index 100% rename from workflows/shared/registration/persist.test.ts rename to apps/web/workflows/shared/registration/persist.test.ts diff --git a/workflows/shared/registration/persist.ts b/apps/web/workflows/shared/registration/persist.ts similarity index 100% rename from workflows/shared/registration/persist.ts rename to apps/web/workflows/shared/registration/persist.ts diff --git a/workflows/shared/registration/types.ts b/apps/web/workflows/shared/registration/types.ts similarity index 100% rename from workflows/shared/registration/types.ts rename to apps/web/workflows/shared/registration/types.ts diff --git a/workflows/shared/revalidation/schedule-batch.ts b/apps/web/workflows/shared/schedule-batch.ts similarity index 100% rename from workflows/shared/revalidation/schedule-batch.ts rename to apps/web/workflows/shared/schedule-batch.ts diff --git a/workflows/shared/send-email.ts b/apps/web/workflows/shared/send-email.ts similarity index 100% rename from workflows/shared/send-email.ts rename to apps/web/workflows/shared/send-email.ts diff --git a/workflows/shared/seo/fetch.test.ts b/apps/web/workflows/shared/seo/fetch.test.ts similarity index 100% rename from workflows/shared/seo/fetch.test.ts rename to apps/web/workflows/shared/seo/fetch.test.ts diff --git a/workflows/shared/seo/fetch.ts b/apps/web/workflows/shared/seo/fetch.ts similarity index 100% rename from workflows/shared/seo/fetch.ts rename to apps/web/workflows/shared/seo/fetch.ts diff --git a/workflows/shared/seo/index.ts b/apps/web/workflows/shared/seo/index.ts similarity index 100% rename from workflows/shared/seo/index.ts rename to apps/web/workflows/shared/seo/index.ts diff --git a/workflows/shared/seo/normalize.ts b/apps/web/workflows/shared/seo/normalize.ts similarity index 100% rename from workflows/shared/seo/normalize.ts rename to apps/web/workflows/shared/seo/normalize.ts diff --git a/workflows/shared/seo/persist.ts b/apps/web/workflows/shared/seo/persist.ts similarity index 100% rename from workflows/shared/seo/persist.ts rename to apps/web/workflows/shared/seo/persist.ts diff --git a/workflows/shared/seo/types.ts b/apps/web/workflows/shared/seo/types.ts similarity index 100% rename from workflows/shared/seo/types.ts rename to apps/web/workflows/shared/seo/types.ts diff --git a/workflows/shared/verify-domain.ts b/apps/web/workflows/shared/verify-domain.ts similarity index 100% rename from workflows/shared/verify-domain.ts rename to apps/web/workflows/shared/verify-domain.ts diff --git a/workflows/subscription-expiry/index.ts b/apps/web/workflows/subscription-expiry/index.ts similarity index 100% rename from workflows/subscription-expiry/index.ts rename to apps/web/workflows/subscription-expiry/index.ts diff --git a/workflows/subscription-expiry/workflow.ts b/apps/web/workflows/subscription-expiry/workflow.ts similarity index 100% rename from workflows/subscription-expiry/workflow.ts rename to apps/web/workflows/subscription-expiry/workflow.ts diff --git a/workflows/verification/index.ts b/apps/web/workflows/verification/index.ts similarity index 100% rename from workflows/verification/index.ts rename to apps/web/workflows/verification/index.ts diff --git a/workflows/verification/workflow.ts b/apps/web/workflows/verification/workflow.ts similarity index 100% rename from workflows/verification/workflow.ts rename to apps/web/workflows/verification/workflow.ts diff --git a/biome.json b/biome.json index eac57954..4101daa3 100644 --- a/biome.json +++ b/biome.json @@ -8,16 +8,21 @@ "files": { "ignoreUnknown": true, "includes": [ - "**", - "!node_modules", - "!.next", - "!dist", - "!build", - "!coverage", - "!drizzle", - "!public", + "apps/**", + "packages/**", + "*.ts", + "*.js", + "*.json", + "!**/node_modules", + "!**/.next", + "!**/dist", + "!**/build", + "!**/coverage", + "!**/drizzle", + "!**/public", "!.github", - "!.vscode" + "!.vscode", + "!.turbo" ] }, "formatter": { diff --git a/lib/workflow/index.ts b/lib/workflow/index.ts deleted file mode 100644 index 9a158adf..00000000 --- a/lib/workflow/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Workflow utilities barrel export. - * - * Centralizes exports from all workflow utility modules for convenient importing. - * - * @example - * ```ts - * import { - * withSwrCache, - * classifyFetchError, - * getDeduplicationKey, - * isConcurrencyConflict, - * } from "@/lib/workflow"; - * ``` - */ - -// Re-export workflow SDK error types for convenience -export { FatalError, RetryableError } from "workflow"; -// Concurrency handling -export { - handleStepConcurrencyError, - isConcurrencyConflict, - isWorkflowConflictError, - logConcurrencyConflict, - wasAlreadyHandled, - withConcurrencyHandling, -} from "./concurrency"; -// Workflow deduplication -export type { DeduplicationOptions } from "./deduplication"; -export { - getDeduplicationKey, - getPendingRunCount, - hasPendingRun, - startWithDeduplication, -} from "./deduplication"; -// Error classification -export type { ErrorClassification } from "./errors"; -export { - classifyDatabaseError, - classifyFetchError, - getErrorClassification, - withFetchErrorHandling, -} from "./errors"; -// Observability (failure tracking, metrics, etc.) -export type { TrackFailureOptions } from "./observability"; -export { - trackWorkflowFailure, - trackWorkflowFailureAsync, -} from "./observability"; -// SWR caching -export type { SwrOptions, SwrResult } from "./swr"; -export { withSwrCache } from "./swr"; -// Types -export type { - PersistResult, - RegistrationPersistResult, - WorkflowResult, -} from "./types"; diff --git a/package.json b/package.json index 97b6a693..1fb66810 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "domainstack.io", + "name": "domainstack", "version": "0.0.0-beta.1", "private": true, "license": "MIT", @@ -12,153 +12,30 @@ }, "type": "module", "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "analyze": "next experimental-analyze", - "typecheck": "next typegen && tsc --noEmit", - "lint": "biome check", - "format": "biome format --write", - "db:generate": "drizzle-kit generate", - "db:push": "drizzle-kit push", - "db:migrate": "drizzle-kit migrate", - "db:studio": "drizzle-kit studio", - "test": "vitest", - "test:run": "vitest run", - "test:coverage": "vitest run --coverage", - "workflow": "workflow inspect runs --web", - "knip": "knip" + "dev": "turbo run dev", + "build": "turbo run build", + "start": "turbo run start", + "check-types": "turbo run check-types", + "lint": "turbo run lint", + "format": "turbo run format", + "test": "turbo run test", + "test:coverage": "turbo run test:coverage", + "db:generate": "turbo run db:generate", + "db:push": "turbo run db:push", + "db:migrate": "turbo run db:migrate", + "db:studio": "turbo run db:studio" }, "dependencies": { - "@base-ui/react": "^1.0.0", - "@bprogress/next": "^3.2.12", - "@ghostery/adblocker-puppeteer": "^2.13.4", - "@icons-pack/react-simple-icons": "^13.8.0", - "@lobehub/icons": "^4.0.3", - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/instrumentation-pino": "^0.56.0", - "@phosphor-icons/react": "^2.1.10", - "@polar-sh/better-auth": "^1.6.4", - "@polar-sh/sdk": "^0.42.2", - "@posthog/nextjs-config": "^1.7.6", - "@react-email/components": "^1.0.4", - "@readme/http-status-codes": "^9.0.6", "@sparticuz/chromium": "143.0.4", - "@tanstack/react-query": "^5.90.19", - "@tanstack/react-query-devtools": "^5.91.2", - "@tanstack/react-query-next-experimental": "^5.91.0", - "@tanstack/react-table": "^8.21.3", - "@trpc/client": "^11.8.1", - "@trpc/server": "^11.8.1", - "@trpc/tanstack-react-query": "^11.8.1", - "@upstash/ratelimit": "^2.0.8", - "@upstash/redis": "^1.36.1", - "@vercel/analytics": "^1.6.1", - "@vercel/blob": "^2.0.0", - "@vercel/edge-config": "^1.4.3", - "@vercel/functions": "^3.3.6", - "@vercel/otel": "^2.1.0", - "better-auth": "^1.4.14", - "cheerio": "^1.1.2", - "clipboard-copy": "^4.0.1", - "clsx": "^2.1.1", - "cva": "1.0.0-beta.4", - "date-fns": "^4.1.0", - "dotenv": "^17.2.3", - "drizzle-orm": "^0.45.1", - "file-type": "^21.3.0", - "geist": "^1.5.1", - "ical-generator": "10.0.1-develop.12", - "icojs": "^0.20.1", - "image-size": "^2.0.2", - "inngest": "^3.49.3", - "ipaddr.js": "^2.3.0", - "maplibre-gl": "^5.16.0", - "mcp-handler": "^1.0.7", - "media-chrome": "^4.17.2", - "motion": "^12.26.2", - "ms": "3.0.0-canary.202508261828", - "next": "16.1.3", - "next-themes": "^0.4.6", - "nuqs": "^2.8.6", - "pg": "^8.17.1", - "pino": "^10.2.0", - "posthog-js": "^1.327.0", - "posthog-node": "^5.21.1", - "puppeteer-core": "24.35.0", - "rdapper": "^0.13.0", - "react": "19.2.3", - "react-dom": "19.2.3", - "react-error-boundary": "^6.1.0", - "react-hotkeys-hook": "^5.2.3", - "resend": "^6.7.0", - "server-only": "0.0.1", - "sharp": "^0.34.5", - "sonner": "^2.0.7", - "superjson": "^2.2.6", - "tailwind-merge": "^3.4.0", - "use-local-storage-state": "^19.5.0", - "uuid": "^13.0.0", - "vaul-base": "^1.0.0", - "workflow": "4.0.1-beta.48", - "ws": "^8.19.0", - "zod": "^4.3.5" + "puppeteer-core": "24.35.0" }, "devDependencies": { "@biomejs/biome": "2.3.11", - "@electric-sql/pglite": "^0.3.15", - "@tailwindcss/postcss": "^4.1.18", - "@tailwindcss/typography": "^0.5.19", - "@testing-library/dom": "10.4.1", - "@testing-library/jest-dom": "6.9.1", - "@testing-library/react": "16.3.1", - "@testing-library/user-event": "14.6.1", - "@types/node": "25.0.9", - "@types/pg": "^8.16.0", - "@types/react": "19.2.8", - "@types/react-dom": "19.2.3", - "@types/ws": "^8.18.1", - "@vitejs/plugin-react": "^5.1.2", - "@vitest/browser": "^4.0.17", - "@vitest/browser-playwright": "^4.0.17", - "@vitest/coverage-v8": "^4.0.17", - "babel-plugin-react-compiler": "19.1.0-rc.3", - "bufferutil": "^4.1.0", - "drizzle-kit": "^0.31.8", - "knip": "^5.81.0", - "msw": "^2.12.7", - "pino-pretty": "^13.1.3", - "playwright": "^1.57.0", - "puppeteer": "24.35.0", - "tailwindcss": "^4.1.18", - "tw-animate-css": "^1.4.0", - "typescript": "5.9.3", - "vite-tsconfig-paths": "^6.0.4", - "vitest": "^4.0.17", - "vitest-browser-react": "^2.0.2" + "turbo": "^2.7.5", + "typescript": "5.9.3" }, "engines": { "node": ">=24.x" }, - "packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48", - "pnpm": { - "onlyBuiltDependencies": [ - "@posthog/cli", - "@swc/core", - "bufferutil", - "core-js", - "esbuild", - "msw", - "protobufjs", - "puppeteer", - "sharp" - ], - "overrides": { - "next": "16.1.3", - "react": "19.2.3", - "react-dom": "19.2.3", - "@types/react": "19.2.8", - "@types/react-dom": "19.2.3" - } - } + "packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0d138b98..f7525e2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,25 @@ overrides: importers: .: + dependencies: + '@sparticuz/chromium': + specifier: 143.0.4 + version: 143.0.4 + puppeteer-core: + specifier: 24.35.0 + version: 24.35.0(bufferutil@4.1.0) + devDependencies: + '@biomejs/biome': + specifier: 2.3.11 + version: 2.3.11 + turbo: + specifier: ^2.7.5 + version: 2.7.5 + typescript: + specifier: 5.9.3 + version: 5.9.3 + + apps/web: dependencies: '@base-ui/react': specifier: ^1.0.0 @@ -29,7 +48,7 @@ importers: version: 13.8.0(react@19.2.3) '@lobehub/icons': specifier: ^4.0.3 - version: 4.0.3(@lobehub/ui@4.21.2)(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 4.0.3(@lobehub/ui@4.22.1)(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@opentelemetry/api': specifier: ^1.9.0 version: 1.9.0 @@ -41,13 +60,13 @@ importers: version: 2.1.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@polar-sh/better-auth': specifier: ^1.6.4 - version: 1.6.4(@polar-sh/sdk@0.42.2)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(better-auth@1.4.14(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17))(react-dom@19.2.3(react@19.2.3))(react-is@18.3.1)(react@19.2.3)(redux@5.0.1)(zod@4.3.5) + version: 1.6.4(@polar-sh/sdk@0.42.2)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(better-auth@1.4.15(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17))(react-dom@19.2.3(react@19.2.3))(react-is@18.3.1)(react@19.2.3)(redux@5.0.1)(zod@4.3.5) '@polar-sh/sdk': specifier: ^0.42.2 version: 0.42.2 '@posthog/nextjs-config': specifier: ^1.7.6 - version: 1.7.6(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(webpack@5.104.0(@swc/core@1.15.3)(esbuild@0.25.12)) + version: 1.7.6(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(webpack@5.104.1(@swc/core@1.15.3)(esbuild@0.25.12)) '@react-email/components': specifier: ^1.0.4 version: 1.0.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -95,13 +114,13 @@ importers: version: 1.4.3(@opentelemetry/api@1.9.0)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)) '@vercel/functions': specifier: ^3.3.6 - version: 3.3.6(@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.962.0)) + version: 3.3.6(@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.971.0)) '@vercel/otel': specifier: ^2.1.0 version: 2.1.0(@opentelemetry/api-logs@0.210.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.4.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@2.4.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.4.0(@opentelemetry/api@1.9.0)) better-auth: - specifier: ^1.4.14 - version: 1.4.14(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17) + specifier: ^1.4.15 + version: 1.4.15(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17) cheerio: specifier: ^1.1.2 version: 1.1.2 @@ -122,7 +141,7 @@ importers: version: 17.2.3 drizzle-orm: specifier: ^0.45.1 - version: 0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8) + version: 0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1) file-type: specifier: ^21.3.0 version: 21.3.0 @@ -154,8 +173,8 @@ importers: specifier: ^4.17.2 version: 4.17.2(react@19.2.3) motion: - specifier: ^12.26.2 - version: 12.26.2(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + specifier: ^12.27.0 + version: 12.27.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) ms: specifier: 3.0.0-canary.202508261828 version: 3.0.0-canary.202508261828 @@ -175,8 +194,8 @@ importers: specifier: ^10.2.0 version: 10.2.0 posthog-js: - specifier: ^1.327.0 - version: 1.327.0 + specifier: ^1.328.0 + version: 1.328.0 posthog-node: specifier: ^5.21.1 version: 5.21.1 @@ -227,7 +246,7 @@ importers: version: 1.0.0(@base-ui/react@1.0.0(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) workflow: specifier: 4.0.1-beta.48 - version: 4.0.1-beta.48(@aws-sdk/client-sts@3.962.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(magicast@0.5.1)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + version: 4.0.1-beta.48(@aws-sdk/client-sts@3.971.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(magicast@0.5.1)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) ws: specifier: ^8.19.0 version: 8.19.0(bufferutil@4.1.0) @@ -235,9 +254,6 @@ importers: specifier: ^4.3.5 version: 4.3.5 devDependencies: - '@biomejs/biome': - specifier: 2.3.11 - version: 2.3.11 '@electric-sql/pglite': specifier: ^0.3.15 version: 0.3.15 @@ -276,16 +292,16 @@ importers: version: 8.18.1 '@vitejs/plugin-react': specifier: ^5.1.2 - version: 5.1.2(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.2(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)) '@vitest/browser': specifier: ^4.0.17 - version: 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17) + version: 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17) '@vitest/browser-playwright': specifier: ^4.0.17 - version: 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(playwright@1.57.0)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17) + version: 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(playwright@1.57.0)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17) '@vitest/coverage-v8': specifier: ^4.0.17 - version: 4.0.17(@vitest/browser@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17))(vitest@4.0.17) + version: 4.0.17(@vitest/browser@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17))(vitest@4.0.17) babel-plugin-react-compiler: specifier: 19.1.0-rc.3 version: 19.1.0-rc.3 @@ -296,8 +312,8 @@ importers: specifier: ^0.31.8 version: 0.31.8 knip: - specifier: ^5.81.0 - version: 5.81.0(@types/node@25.0.9)(typescript@5.9.3) + specifier: ^5.82.0 + version: 5.82.0(@types/node@25.0.9)(typescript@5.9.3) msw: specifier: ^2.12.7 version: 2.12.7(@types/node@25.0.9)(typescript@5.9.3) @@ -316,24 +332,18 @@ importers: tw-animate-css: specifier: ^1.4.0 version: 1.4.0 - typescript: - specifier: 5.9.3 - version: 5.9.3 vite-tsconfig-paths: specifier: ^6.0.4 - version: 6.0.4(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 6.0.4(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)) vitest: specifier: ^4.0.17 - version: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(jsdom@27.3.0(bufferutil@4.1.0))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + version: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.46.0)(yaml@2.8.2) vitest-browser-react: specifier: ^2.0.2 version: 2.0.2(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17) packages: - '@acemir/cssom@0.9.31': - resolution: {integrity: sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==} - '@adobe/css-tools@4.4.4': resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} @@ -379,15 +389,6 @@ packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@asamuzakjp/css-color@4.1.1': - resolution: {integrity: sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==} - - '@asamuzakjp/dom-selector@6.7.6': - resolution: {integrity: sha512-hBaJER6A9MpdG3WgdlOolHmbOYvSk46y7IQN/1+iqiCuUu6iWdQrs9DGKF8ocqsEqWujWf/V7b7vaDgiUmIvUg==} - - '@asamuzakjp/nwsapi@2.3.9': - resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} - '@aws-crypto/sha256-browser@5.2.0': resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} @@ -401,45 +402,45 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-sso@3.958.0': - resolution: {integrity: sha512-6qNCIeaMzKzfqasy2nNRuYnMuaMebCcCPP4J2CVGkA8QYMbIVKPlkn9bpB20Vxe6H/r3jtCCLQaOJjVTx/6dXg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/client-sso@3.971.0': + resolution: {integrity: sha512-Xx+w6DQqJxDdymYyIxyKJnRzPvVJ4e/Aw0czO7aC9L/iraaV7AG8QtRe93OGW6aoHSh72CIiinnpJJfLsQqP4g==} + engines: {node: '>=20.0.0'} - '@aws-sdk/client-sts@3.962.0': - resolution: {integrity: sha512-7I7cYAQBRMXgq2x6J9rn3OoPBFdoRozC3tKjlP1u06voWklEEruz66uLwrMo9OeKyoifXbpqFNst73m95WhhhQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/client-sts@3.971.0': + resolution: {integrity: sha512-9brQv6Yd9izRgNCgXTJ+9kfOUiz1H/tzFU3JXPyPCaz25gcykS5iulP2F1Ui1v9DPVti72RGJV0xLmHn5Fny5Q==} + engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.957.0': - resolution: {integrity: sha512-DrZgDnF1lQZv75a52nFWs6MExihJF2GZB6ETZRqr6jMwhrk2kbJPUtvgbifwcL7AYmVqHQDJBrR/MqkwwFCpiw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/core@3.970.0': + resolution: {integrity: sha512-klpzObldOq8HXzDjDlY6K8rMhYZU6mXRz6P9F9N+tWnjoYFfeBMra8wYApydElTUYQKP1O7RLHwH1OKFfKcqIA==} + engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.957.0': - resolution: {integrity: sha512-475mkhGaWCr+Z52fOOVb/q2VHuNvqEDixlYIkeaO6xJ6t9qR0wpLt4hOQaR6zR1wfZV0SlE7d8RErdYq/PByog==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-env@3.970.0': + resolution: {integrity: sha512-rtVzXzEtAfZBfh+lq3DAvRar4c3jyptweOAJR2DweyXx71QSMY+O879hjpMwES7jl07a3O1zlnFIDo4KP/96kQ==} + engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.957.0': - resolution: {integrity: sha512-8dS55QHRxXgJlHkEYaCGZIhieCs9NU1HU1BcqQ4RfUdSsfRdxxktqUKgCnBnOOn0oD3PPA8cQOCAVgIyRb3Rfw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-http@3.970.0': + resolution: {integrity: sha512-CjDbWL7JxjLc9ZxQilMusWSw05yRvUJKRpz59IxDpWUnSMHC9JMMUUkOy5Izk8UAtzi6gupRWArp4NG4labt9Q==} + engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.962.0': - resolution: {integrity: sha512-h0kVnXLW2d3nxbcrR/Pfg3W/+YoCguasWz7/3nYzVqmdKarGrpJzaFdoZtLgvDSZ8VgWUC4lWOTcsDMV0UNqUQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-ini@3.971.0': + resolution: {integrity: sha512-c0TGJG4xyfTZz3SInXfGU8i5iOFRrLmy4Bo7lMyH+IpngohYMYGYl61omXqf2zdwMbDv+YJ9AviQTcCaEUKi8w==} + engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.962.0': - resolution: {integrity: sha512-kHYH6Av2UifG3mPkpPUNRh/PuX6adaAcpmsclJdHdxlixMCRdh8GNeEihq480DC0GmfqdpoSf1w2CLmLLPIS6w==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-login@3.971.0': + resolution: {integrity: sha512-yhbzmDOsk0RXD3rTPhZra4AWVnVAC4nFWbTp+sUty1hrOPurUmhuz8bjpLqYTHGnlMbJp+UqkQONhS2+2LzW2g==} + engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.962.0': - resolution: {integrity: sha512-CS78NsWRxLa+nWqeWBEYMZTLacMFIXs1C5WJuM9kD05LLiWL32ksljoPsvNN24Bc7rCSQIIMx/U3KGvkDVZMVg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-node@3.971.0': + resolution: {integrity: sha512-epUJBAKivtJqalnEBRsYIULKYV063o/5mXNJshZfyvkAgNIzc27CmmKRXTN4zaNOZg8g/UprFp25BGsi19x3nQ==} + engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.957.0': - resolution: {integrity: sha512-/KIz9kadwbeLy6SKvT79W81Y+hb/8LMDyeloA2zhouE28hmne+hLn0wNCQXAAupFFlYOAtZR2NTBs7HBAReJlg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-process@3.970.0': + resolution: {integrity: sha512-0XeT8OaT9iMA62DFV9+m6mZfJhrD0WNKf4IvsIpj2Z7XbaYfz3CoDDvNoALf3rPY9NzyMHgDxOspmqdvXP00mw==} + engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.958.0': - resolution: {integrity: sha512-CBYHJ5ufp8HC4q+o7IJejCUctJXWaksgpmoFpXerbjAso7/Fg7LLUu9inXVOxlHKLlvYekDXjIUBXDJS2WYdgg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-sso@3.971.0': + resolution: {integrity: sha512-dY0hMQ7dLVPQNJ8GyqXADxa9w5wNfmukgQniLxGVn+dMRx3YLViMp5ZpTSQpFhCWNF0oKQrYAI5cHhUJU1hETw==} + engines: {node: '>=20.0.0'} '@aws-sdk/credential-provider-web-identity@3.609.0': resolution: {integrity: sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==} @@ -447,69 +448,69 @@ packages: peerDependencies: '@aws-sdk/client-sts': ^3.609.0 - '@aws-sdk/credential-provider-web-identity@3.958.0': - resolution: {integrity: sha512-dgnvwjMq5Y66WozzUzxNkCFap+umHUtqMMKlr8z/vl9NYMLem/WUbWNpFFOVFWquXikc+ewtpBMR4KEDXfZ+KA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-web-identity@3.971.0': + resolution: {integrity: sha512-F1AwfNLr7H52T640LNON/h34YDiMuIqW/ZreGzhRR6vnFGaSPtNSKAKB2ssAMkLM8EVg8MjEAYD3NCUiEo+t/w==} + engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-host-header@3.957.0': - resolution: {integrity: sha512-BBgKawVyfQZglEkNTuBBdC3azlyqNXsvvN4jPkWAiNYcY0x1BasaJFl+7u/HisfULstryweJq/dAvIZIxzlZaA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-host-header@3.969.0': + resolution: {integrity: sha512-AWa4rVsAfBR4xqm7pybQ8sUNJYnjyP/bJjfAw34qPuh3M9XrfGbAHG0aiAfQGrBnmS28jlO6Kz69o+c6PRw1dw==} + engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-logger@3.957.0': - resolution: {integrity: sha512-w1qfKrSKHf9b5a8O76yQ1t69u6NWuBjr5kBX+jRWFx/5mu6RLpqERXRpVJxfosbep7k3B+DSB5tZMZ82GKcJtQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-logger@3.969.0': + resolution: {integrity: sha512-xwrxfip7Y2iTtCMJ+iifN1E1XMOuhxIHY9DreMCvgdl4r7+48x2S1bCYPWH3eNY85/7CapBWdJ8cerpEl12sQQ==} + engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-recursion-detection@3.957.0': - resolution: {integrity: sha512-D2H/WoxhAZNYX+IjkKTdOhOkWQaK0jjJrDBj56hKjU5c9ltQiaX/1PqJ4dfjHntEshJfu0w+E6XJ+/6A6ILBBA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-recursion-detection@3.969.0': + resolution: {integrity: sha512-2r3PuNquU3CcS1Am4vn/KHFwLi8QFjMdA/R+CRDXT4AFO/0qxevF/YStW3gAKntQIgWgQV8ZdEtKAoJvLI4UWg==} + engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.957.0': - resolution: {integrity: sha512-50vcHu96XakQnIvlKJ1UoltrFODjsq2KvtTgHiPFteUS884lQnK5VC/8xd1Msz/1ONpLMzdCVproCQqhDTtMPQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-user-agent@3.970.0': + resolution: {integrity: sha512-dnSJGGUGSFGEX2NzvjwSefH+hmZQ347AwbLhAsi0cdnISSge+pcGfOFrJt2XfBIypwFe27chQhlfuf/gWdzpZg==} + engines: {node: '>=20.0.0'} - '@aws-sdk/nested-clients@3.958.0': - resolution: {integrity: sha512-/KuCcS8b5TpQXkYOrPLYytrgxBhv81+5pChkOlhegbeHttjM69pyUpQVJqyfDM/A7wPLnDrzCAnk4zaAOkY0Nw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/nested-clients@3.971.0': + resolution: {integrity: sha512-TWaILL8GyYlhGrxxnmbkazM4QsXatwQgoWUvo251FXmUOsiXDFDVX3hoGIfB3CaJhV2pJPfebHUNJtY6TjZ11g==} + engines: {node: '>=20.0.0'} - '@aws-sdk/region-config-resolver@3.957.0': - resolution: {integrity: sha512-V8iY3blh8l2iaOqXWW88HbkY5jDoWjH56jonprG/cpyqqCnprvpMUZWPWYJoI8rHRf2bqzZeql1slxG6EnKI7A==} - engines: {node: '>=18.0.0'} + '@aws-sdk/region-config-resolver@3.969.0': + resolution: {integrity: sha512-scj9OXqKpcjJ4jsFLtqYWz3IaNvNOQTFFvEY8XMJXTv+3qF5I7/x9SJtKzTRJEBF3spjzBUYPtGFbs9sj4fisQ==} + engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.958.0': - resolution: {integrity: sha512-UCj7lQXODduD1myNJQkV+LYcGYJ9iiMggR8ow8Hva1g3A/Na5imNXzz6O67k7DAee0TYpy+gkNw+SizC6min8Q==} - engines: {node: '>=18.0.0'} + '@aws-sdk/token-providers@3.971.0': + resolution: {integrity: sha512-4hKGWZbmuDdONMJV0HJ+9jwTDb0zLfKxcCLx2GEnBY31Gt9GeyIQ+DZ97Bb++0voawj6pnZToFikXTyrEq2x+w==} + engines: {node: '>=20.0.0'} '@aws-sdk/types@3.609.0': resolution: {integrity: sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/types@3.957.0': - resolution: {integrity: sha512-wzWC2Nrt859ABk6UCAVY/WYEbAd7FjkdrQL6m24+tfmWYDNRByTJ9uOgU/kw9zqLCAwb//CPvrJdhqjTznWXAg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/types@3.969.0': + resolution: {integrity: sha512-7IIzM5TdiXn+VtgPdVLjmE6uUBUtnga0f4RiSEI1WW10RPuNvZ9U+pL3SwDiRDAdoGrOF9tSLJOFZmfuwYuVYQ==} + engines: {node: '>=20.0.0'} - '@aws-sdk/util-endpoints@3.957.0': - resolution: {integrity: sha512-xwF9K24mZSxcxKS3UKQFeX/dPYkEps9wF1b+MGON7EvnbcucrJGyQyK1v1xFPn1aqXkBTFi+SZaMRx5E5YCVFw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/util-endpoints@3.970.0': + resolution: {integrity: sha512-TZNZqFcMUtjvhZoZRtpEGQAdULYiy6rcGiXAbLU7e9LSpIYlRqpLa207oMNfgbzlL2PnHko+eVg8rajDiSOYCg==} + engines: {node: '>=20.0.0'} '@aws-sdk/util-locate-window@3.965.2': resolution: {integrity: sha512-qKgO7wAYsXzhwCHhdbaKFyxd83Fgs8/1Ka+jjSPrv2Ll7mB55Wbwlo0kkfMLh993/yEc8aoDIAc1Fz9h4Spi4Q==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-user-agent-browser@3.957.0': - resolution: {integrity: sha512-exueuwxef0lUJRnGaVkNSC674eAiWU07ORhxBnevFFZEKisln+09Qrtw823iyv5I1N8T+wKfh95xvtWQrNKNQw==} + '@aws-sdk/util-user-agent-browser@3.969.0': + resolution: {integrity: sha512-bpJGjuKmFr0rA6UKUCmN8D19HQFMLXMx5hKBXqBlPFdalMhxJSjcxzX9DbQh0Fn6bJtxCguFmRGOBdQqNOt49g==} - '@aws-sdk/util-user-agent-node@3.957.0': - resolution: {integrity: sha512-ycbYCwqXk4gJGp0Oxkzf2KBeeGBdTxz559D41NJP8FlzSej1Gh7Rk40Zo6AyTfsNWkrl/kVi1t937OIzC5t+9Q==} - engines: {node: '>=18.0.0'} + '@aws-sdk/util-user-agent-node@3.971.0': + resolution: {integrity: sha512-Eygjo9mFzQYjbGY3MYO6CsIhnTwAMd3WmuFalCykqEmj2r5zf0leWrhPaqvA5P68V5JdGfPYgj7vhNOd6CtRBQ==} + engines: {node: '>=20.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: aws-crt: optional: true - '@aws-sdk/xml-builder@3.957.0': - resolution: {integrity: sha512-Ai5iiQqS8kJ5PjzMhWcLKN0G2yasAkvpnPlq2EnqlIMdB48HsizElt62qcktdxp4neRMyGkFq4NzgmDbXnhRiA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/xml-builder@3.969.0': + resolution: {integrity: sha512-BSe4Lx/qdRQQdX8cSSI7Et20vqBspzAjBy8ZmXVoyLkol3y4sXBXzn+BiLtR+oh60ExQn6o2DU4QjdOZbXaKIQ==} + engines: {node: '>=20.0.0'} '@aws/lambda-invoke-store@0.2.3': resolution: {integrity: sha512-oLvsaPMTBejkkmHhjf09xTgk71mOqyr/409NKhRIL08If7AhVfUsJhVsx386uJaqNd42v9kWamQ9lFbkoC2dYw==} @@ -627,8 +628,8 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@better-auth/core@1.4.14': - resolution: {integrity: sha512-2zskCRAd+oaMwgf4joC/tJVuKl+BUB9OhH6nhDHJsoe69Xkxaf/XyRpKpU7Cjeth8SVAUNKaCInF21zBBrj6Ow==} + '@better-auth/core@1.4.15': + resolution: {integrity: sha512-uAvq8YA7SaS7v+TrvH/Kwt7LAJihzUqB3FX8VweDsqu3gn5t51M+Bve+V1vVWR9qBAtC6cN68V6b+scxZxDY4A==} peerDependencies: '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 @@ -637,10 +638,10 @@ packages: kysely: ^0.28.5 nanostores: ^1.0.1 - '@better-auth/telemetry@1.4.14': - resolution: {integrity: sha512-tIOvLT9vwPhbxT4rJIsHjxqcjlTX/eHHs0gXrKM90Dot71DqM9Cwse9C5IHQxJ1WLfPhc62laby4fbgcu5XSIA==} + '@better-auth/telemetry@1.4.15': + resolution: {integrity: sha512-7NW/2PS4RN85rv+ozpAezP/kSLPZeWkxqcA6RA/CFXqWp2YR2e5q5E6Hym1qBgVBkoAQa3lWFdX3b+jEs+vvrQ==} peerDependencies: - '@better-auth/core': 1.4.14 + '@better-auth/core': 1.4.15 '@better-auth/utils@0.3.0': resolution: {integrity: sha512-W+Adw6ZA6mgvnSnhOki270rwJ42t4XzSK6YWGF//BbVXL6SwCLWfyzBc1lN2m/4RM28KubdBKQ4X5VMoLRNPQw==} @@ -744,38 +745,6 @@ packages: '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} - - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/css-syntax-patches-for-csstree@1.0.25': - resolution: {integrity: sha512-g0Kw9W3vjx5BEBAF8c5Fm2NcB/Fs8jJXh85aXqwEXiL+tqtOut07TWgyaGzAAfTM+gKckrrncyeGEZPcaRgm2Q==} - engines: {node: '>=18'} - - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} - '@date-fns/tz@1.4.1': resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==} @@ -1655,8 +1624,8 @@ packages: react: 19.2.3 react-dom: 19.2.3 - '@lobehub/ui@4.21.2': - resolution: {integrity: sha512-ruF5o457tSh3Wmwc1vQgiqVlBeyFTW302OzeuwcSEetP/RIl9zB4QohOF/VbOKagizqpwfn0gkcXoUbfAu315Q==} + '@lobehub/ui@4.22.1': + resolution: {integrity: sha512-cltEAtE1vFaQDbb29cx92SjrgZd240CeMMTMnqY0etZwEWfH6zgAKcXsM1k6V21Y5AdbuTlVupUnRGrEqrZouA==} peerDependencies: '@lobehub/fluent-emoji': ^4.0.0 '@lobehub/icons': ^4.0.0 @@ -1728,10 +1697,6 @@ packages: '@napi-rs/wasm-runtime@1.1.1': resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} - '@neondatabase/serverless@1.0.2': - resolution: {integrity: sha512-I5sbpSIAHiB+b6UttofhrN/UJXII+4tZPAq1qugzwCwLIL8EZLV7F/JyHUrEIiGgQpEXzpnjlJ+zwcEhheGvCw==} - engines: {node: '>=19.0.0'} - '@next/env@16.1.3': resolution: {integrity: sha512-BLP14oBOvZWXgfdJf9ao+VD8O30uE+x7PaV++QtACLX329WcRSJRO5YJ+Bcvu0Q+c/lei41TjSiFf6pXqnpbQA==} @@ -2327,8 +2292,8 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/semantic-conventions@1.38.0': - resolution: {integrity: sha512-kocjix+/sSggfJhwXqClZ3i9Y/MI0fp7b+g7kCRm6psy2dsf8uApTRclwG18h8Avm7C9+fnt+O36PspJ/OzoWg==} + '@opentelemetry/semantic-conventions@1.39.0': + resolution: {integrity: sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==} engines: {node: '>=14'} '@opentelemetry/sql-common@0.41.2': @@ -2497,8 +2462,8 @@ packages: peerDependencies: next: 16.1.3 - '@posthog/types@1.327.0': - resolution: {integrity: sha512-nVXKK5c/pzJfYOAHQzmsk0SOSzugGmJvXNC2GIQMAD2V076p8C4nVBy5gnPG5iA2wHEyKXyZ8qeIKvb8TQZS1g==} + '@posthog/types@1.328.0': + resolution: {integrity: sha512-T8RPYpgPxwtAMqtfj8+3VSw3Xca2hIYb3BN3ohPAZhN8eQOtkC00jEKy+bOcniy1BJCbbhpmGtxqQCpzr4/EXQ==} '@posthog/webpack-plugin@1.2.6': resolution: {integrity: sha512-aiT4R4UAyB+ZN7vM9FgpVERCn6fnzYOKPMzXOFHhHn/XaMJ9cgTII8vAO2lmv8EdVmpl1raSM2mnBjXRY1ZkGA==} @@ -2776,6 +2741,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-portal@1.1.10': + resolution: {integrity: sha512-4kY9IVa6+9nJPsYmngK5Uk2kUmZnv7ChhHAFeQ5oaj8jrR1bIi3xww8nH71pz1/Ve4d/cXO3YxT8eikt1B0a8w==} + peerDependencies: + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3 + react: 19.2.3 + react-dom: 19.2.3 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-portal@1.1.9': resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} peerDependencies: @@ -3745,8 +3723,8 @@ packages: resolution: {integrity: sha512-qJpzYC64kaj3S0fueiu3kXm8xPrR3PcXDPEgnaNMRn0EjNSZFoFjvbUp0YUDsRhN1CB90EnHJtbxWKevnH99UQ==} engines: {node: '>=18.0.0'} - '@smithy/core@3.20.5': - resolution: {integrity: sha512-0Tz77Td8ynHaowXfOdrD0F1IH4tgWGUhwmLwmpFyTbr+U9WHXNNp9u/k2VjBXGnSe7BwjBERRpXsokGTXzNjhA==} + '@smithy/core@3.20.7': + resolution: {integrity: sha512-aO7jmh3CtrmPsIJxUwYIzI5WVlMK8BMCPQ4D4nTzqTqBhbzvxHNzBMGcEg13yg/z9R2Qsz49NUFl0F0lVbTVFw==} engines: {node: '>=18.0.0'} '@smithy/credential-provider-imds@4.2.8': @@ -3777,12 +3755,12 @@ packages: resolution: {integrity: sha512-RO0jeoaYAB1qBRhfVyq0pMgBoUK34YEJxVxyjOWYZiOKOq2yMZ4MnVXMZCUDenpozHue207+9P5ilTV1zeda0A==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.4.6': - resolution: {integrity: sha512-dpq3bHqbEOBqGBjRVHVFP3eUSPpX0BYtg1D5d5Irgk6orGGAuZfY22rC4sErhg+ZfY/Y0kPqm1XpAmDZg7DeuA==} + '@smithy/middleware-endpoint@4.4.8': + resolution: {integrity: sha512-TV44qwB/T0OMMzjIuI+JeS0ort3bvlPJ8XIH0MSlGADraXpZqmyND27ueuAL3E14optleADWqtd7dUgc2w+qhQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.4.22': - resolution: {integrity: sha512-vwWDMaObSMjw6WCC/3Ae9G7uul5Sk95jr07CDk1gkIMpaDic0phPS1MpVAZ6+YkF7PAzRlpsDjxPwRlh/S11FQ==} + '@smithy/middleware-retry@4.4.24': + resolution: {integrity: sha512-yiUY1UvnbUFfP5izoKLtfxDSTRv724YRRwyiC/5HYY6vdsVDcDOXKSXmkJl/Hovcxt5r+8tZEUAdrOaCJwrl9Q==} engines: {node: '>=18.0.0'} '@smithy/middleware-serde@4.2.9': @@ -3833,8 +3811,8 @@ packages: resolution: {integrity: sha512-6A4vdGj7qKNRF16UIcO8HhHjKW27thsxYci+5r/uVRkdcBEkOEiY8OMPuydLX4QHSrJqGHPJzPRwwVTqbLZJhg==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.10.7': - resolution: {integrity: sha512-Uznt0I9z3os3Z+8pbXrOSCTXCA6vrjyN7Ub+8l2pRDum44vLv8qw0qGVkJN0/tZBZotaEFHrDPKUoPNueTr5Vg==} + '@smithy/smithy-client@4.10.9': + resolution: {integrity: sha512-Je0EvGXVJ0Vrrr2lsubq43JGRIluJ/hX17aN/W/A0WfE+JpoMdI8kwk2t9F0zTX9232sJDGcoH4zZre6m6f/sg==} engines: {node: '>=18.0.0'} '@smithy/types@3.7.2': @@ -3873,12 +3851,12 @@ packages: resolution: {integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.3.21': - resolution: {integrity: sha512-DtmVJarzqtjghtGjCw/PFJolcJkP7GkZgy+hWTAN3YLXNH+IC82uMoMhFoC3ZtIz5mOgCm5+hOGi1wfhVYgrxw==} + '@smithy/util-defaults-mode-browser@4.3.23': + resolution: {integrity: sha512-mMg+r/qDfjfF/0psMbV4zd7F/i+rpyp7Hjh0Wry7eY15UnzTEId+xmQTGDU8IdZtDfbGQxuWNfgBZKBj+WuYbA==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.2.24': - resolution: {integrity: sha512-JelBDKPAVswVY666rezBvY6b0nF/v9TXjUbNwDNAyme7qqKYEX687wJv0uze8lBIZVbg30wlWnlYfVSjjpKYFA==} + '@smithy/util-defaults-mode-node@4.2.26': + resolution: {integrity: sha512-EQqe/WkbCinah0h1lMWh9ICl0Ob4lyl20/10WTB35SC9vDQfD8zWsOT+x2FIOXKAoZQ8z/y0EFMoodbcqWJY/w==} engines: {node: '>=18.0.0'} '@smithy/util-endpoints@3.2.8': @@ -4392,8 +4370,8 @@ packages: '@types/mysql@2.15.27': resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==} - '@types/node@22.19.6': - resolution: {integrity: sha512-qm+G8HuG6hOHQigsi7VGuLjUVu6TtBo/F05zvX04Mw2uCg9Dv0Qxy3Qw7j41SidlTcl5D/5yg0SEZqOB+EqZnQ==} + '@types/node@22.19.7': + resolution: {integrity: sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw==} '@types/node@25.0.9': resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==} @@ -4974,22 +4952,22 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.9.14: - resolution: {integrity: sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==} + baseline-browser-mapping@2.9.15: + resolution: {integrity: sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg==} hasBin: true basic-ftp@5.1.0: resolution: {integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==} engines: {node: '>=10.0.0'} - better-auth@1.4.14: - resolution: {integrity: sha512-gDpOmWOilhnLIBuv/7/6HoaXLtCDR7iUEjkvYCunJhUWZng53kZ2jivxtekhYC0j4+VSG6AZTihPIaoKrlztlA==} + better-auth@1.4.15: + resolution: {integrity: sha512-XZr4GnFPbjvf8wip8AAjTrpGNn3Sba600zT+DgsR3NNCMWCt9aD8+nuRah6BHwHWnVP1nfnby07tPmti72SRBw==} peerDependencies: '@lynx-js/react': '*' '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 '@sveltejs/kit': ^2.0.0 - '@tanstack/react-start-server': ^1.0.0 - '@tanstack/solid-start-server': ^1.0.0 + '@tanstack/react-start': ^1.0.0 + '@tanstack/solid-start': ^1.0.0 better-sqlite3: ^12.0.0 drizzle-kit: '>=0.31.4' drizzle-orm: '>=0.41.0' @@ -5011,9 +4989,9 @@ packages: optional: true '@sveltejs/kit': optional: true - '@tanstack/react-start-server': + '@tanstack/react-start': optional: true - '@tanstack/solid-start-server': + '@tanstack/solid-start': optional: true better-sqlite3: optional: true @@ -5052,9 +5030,6 @@ packages: zod: optional: true - bidi-js@1.0.3: - resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} - bignumber.js@9.3.1: resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} @@ -5400,10 +5375,6 @@ packages: css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - css-tree@3.1.0: - resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} @@ -5416,10 +5387,6 @@ packages: engines: {node: '>=4'} hasBin: true - cssstyle@5.3.7: - resolution: {integrity: sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==} - engines: {node: '>=20'} - csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -5591,10 +5558,6 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - data-urls@6.0.0: - resolution: {integrity: sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==} - engines: {node: '>=20'} - date-fns-jalali@4.1.0-0: resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==} @@ -5619,9 +5582,6 @@ packages: decimal.js-light@2.5.1: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} - decimal.js@10.6.0: - resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - decode-bmp@0.2.1: resolution: {integrity: sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA==} engines: {node: '>=8.6.0'} @@ -5926,8 +5886,8 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-toolkit@1.43.0: - resolution: {integrity: sha512-SKCT8AsWvYzBBuUqMk4NPwFlSdqLpJwmy6AP322ERn8W2YLIB6JBXnwMI2Qsh2gfphT3q7EKAxKb23cvFHFwKA==} + es-toolkit@1.44.0: + resolution: {integrity: sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==} esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -6199,8 +6159,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@12.26.2: - resolution: {integrity: sha512-lflOQEdjquUi9sCg5Y1LrsZDlsjrHw7m0T9Yedvnk7Bnhqfkc89/Uha10J3CFhkL+TCZVCRw9eUGyM/lyYhXQA==} + framer-motion@12.27.0: + resolution: {integrity: sha512-gJtqOKEDJH/jrn0PpsWp64gdOjBvGX8hY6TWstxjDot/85daIEtJHl1UsiwHSXiYmJF2QXUoXP6/3gGw5xY2YA==} peerDependencies: '@emotion/is-prop-valid': '*' react: 19.2.3 @@ -6425,10 +6385,6 @@ packages: resolution: {integrity: sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==} engines: {node: '>=16.9.0'} - html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -6690,9 +6646,6 @@ packages: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} - is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} @@ -6779,15 +6732,6 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - jsdom@27.3.0: - resolution: {integrity: sha512-GtldT42B8+jefDUC4yUKAvsaOrH7PDHmZxZXNgF2xMmymjUbRYJvpAybZAKEmXDGTM0mCsz8duOa4vTm5AY2Kg==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - peerDependencies: - canvas: ^3.0.0 - peerDependenciesMeta: - canvas: - optional: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -6836,8 +6780,8 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - knip@5.81.0: - resolution: {integrity: sha512-EM9YdNg6zU2DWMJuc9zD8kPUpj0wvPspa63Qe9DPGygzL956uYThfoUQk5aNpPmMr9hs/k+Xm7FLuWFKERFkrQ==} + knip@5.82.0: + resolution: {integrity: sha512-LNOR/TcauMdJLGZ9jdniIUpt0yy8aG/v8g31UJlb6qBvMNFY31w02hnwS8KMHEGy/X+pfxqsOLMFdm0NAJ3wWg==} engines: {node: '>=18.18.0'} hasBin: true peerDependencies: @@ -6847,8 +6791,8 @@ packages: knitwork@1.3.0: resolution: {integrity: sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==} - kysely@0.28.9: - resolution: {integrity: sha512-3BeXMoiOhpOwu62CiVpO6lxfq4eS6KMYfQdMsN/2kUCRNuF2YiEr7u0HLHaQU+O4Xu8YXE3bHVkwaQ85i72EuA==} + kysely@0.28.10: + resolution: {integrity: sha512-ksNxfzIW77OcZ+QWSAPC7yDqUSaIVwkTWnTPNiIy//vifNbwsSgQ57OkkncHxxpcBHM3LRfLAZVEh7kjq5twVA==} engines: {node: '>=20.0.0'} langium@3.3.1: @@ -7132,9 +7076,6 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - mdn-data@2.12.2: - resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} - media-chrome@4.17.2: resolution: {integrity: sha512-o/IgiHx0tdSVwRxxqF5H12FK31A/A8T71sv3KdAvh7b6XeBS9dXwqvIFwlR9kdEuqg3n7xpmRIuL83rmYq8FTg==} @@ -7358,14 +7299,14 @@ packages: module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} - motion-dom@12.26.2: - resolution: {integrity: sha512-KLMT1BroY8oKNeliA3JMNJ+nbCIsTKg6hJpDb4jtRAJ7nCKnnpg/LTq/NGqG90Limitz3kdAnAVXecdFVGlWTw==} + motion-dom@12.27.0: + resolution: {integrity: sha512-oDjl0WoAsWIWKl3GCDxmh7GITrNjmLX+w5+jwk4+pzLu3VnFvsOv2E6+xCXeH72O65xlXsr84/otiOYQKW/nQA==} motion-utils@12.24.10: resolution: {integrity: sha512-x5TFgkCIP4pPsRLpKoI86jv/q8t8FQOiM/0E8QKBzfMozWHfkKap2gA1hOki+B5g3IsBNpxbUnfOum1+dgvYww==} - motion@12.26.2: - resolution: {integrity: sha512-2Q6g0zK1gUJKhGT742DAe42LgietcdiJ3L3OcYAHCQaC1UkLnn6aC8S/obe4CxYTLAgid2asS1QdQ/blYfo5dw==} + motion@12.27.0: + resolution: {integrity: sha512-5/WbUMUV0QPOlgimOKJRhKwE+/pIHBI38SVgEpsfadOa5lYDgkgJAEav7KqNahdX3i3xkvogD5JR4K41w+9Hzw==} peerDependencies: '@emotion/is-prop-valid': '*' react: 19.2.3 @@ -7611,9 +7552,6 @@ packages: parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - parse5@8.0.0: - resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} - parseley@0.12.1: resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} @@ -7802,12 +7740,8 @@ packages: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} - postgres@3.4.8: - resolution: {integrity: sha512-d+JFcLM17njZaOLkv6SCev7uoLaBtfK86vMUXhW1Z4glPWh4jozno9APvW/XKFJ3CCxVoC7OL38BqRydtu5nGg==} - engines: {node: '>=12'} - - posthog-js@1.327.0: - resolution: {integrity: sha512-vu6lp9UMelxSxqEdHvzQho1aA/57vWX4rM79Df4/HzkfDRV3w7NG+rVbKQUQq/8fVmvtSMpOpUMh+aeVo+jkXw==} + posthog-js@1.328.0: + resolution: {integrity: sha512-1TzO1WOq53vnn+4W7Evda4QyBOcLI1svoMJy1x4CyiR1RgCHh2hhcmCcKeRJh8CAUV8H69qLo6dGvjMY8ENkrg==} posthog-node@5.21.1: resolution: {integrity: sha512-xFRlaZTrVfIVrRfEZsI/DM6pdJqeX6iaRlo46nexhB1wfRcuIy1mtp76nkZSw3DDRXBczTo41K7raO2yS3dxzA==} @@ -7874,10 +7808,6 @@ packages: pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - puppeteer-core@24.35.0: resolution: {integrity: sha512-vt1zc2ME0kHBn7ZDOqLvgvrYD5bqNv5y2ZNXzYnCv8DEtZGw/zKhljlrGuImxptZ4rq+QI9dFGrUIYqG4/IQzA==} engines: {node: '>=18'} @@ -8359,10 +8289,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} - scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} @@ -8679,9 +8605,6 @@ packages: peerDependencies: react: 19.2.3 - symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - tabbable@6.4.0: resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} @@ -8731,8 +8654,8 @@ packages: uglify-js: optional: true - terser@5.45.0: - resolution: {integrity: sha512-hQ9c+JZEnMug8eqzuU48sCeq95f00lLDAaJ5gWhRkFXsfy3+SUkZXiF/Z66ZO6EomSmgqXnkhVrWXKaQ8K41Ug==} + terser@5.46.0: + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} engines: {node: '>=10'} hasBin: true @@ -8826,10 +8749,6 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@6.0.0: - resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} - engines: {node: '>=20'} - trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -8860,15 +8779,44 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.21.0: - resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} - engines: {node: '>=18.0.0'} - hasBin: true - tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + turbo-darwin-64@2.7.5: + resolution: {integrity: sha512-nN3wfLLj4OES/7awYyyM7fkU8U8sAFxsXau2bYJwAWi6T09jd87DgHD8N31zXaJ7LcpyppHWPRI2Ov9MuZEwnQ==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@2.7.5: + resolution: {integrity: sha512-wCoDHMiTf3FgLAbZHDDx/unNNonSGhsF5AbbYODbxnpYyoKDpEYacUEPjZD895vDhNvYCH0Nnk24YsP4n/cD6g==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@2.7.5: + resolution: {integrity: sha512-KKPvhOmJMmzWj/yjeO4LywkQ85vOJyhru7AZk/+c4B6OUh/odQ++SiIJBSbTG2lm1CuV5gV5vXZnf/2AMlu3Zg==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@2.7.5: + resolution: {integrity: sha512-8PIva4L6BQhiPikUTds9lSFSHXVDAsEvV6QUlgwPsXrtXVQMVi6Sv9p+IxtlWQFvGkdYJUgX9GnK2rC030Xcmw==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@2.7.5: + resolution: {integrity: sha512-rupskv/mkIUgQXzX/wUiK00mKMorQcK8yzhGFha/D5lm05FEnLx8dsip6rWzMcVpvh+4GUMA56PgtnOgpel2AA==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@2.7.5: + resolution: {integrity: sha512-G377Gxn6P42RnCzfMyDvsqQV7j69kVHKlhz9J4RhtJOB5+DyY4yYh/w0oTIxZQ4JRMmhjwLu3w9zncMoQ6nNDw==} + cpu: [arm64] + os: [win32] + + turbo@2.7.5: + resolution: {integrity: sha512-7Imdmg37joOloTnj+DPrab9hIaQcDdJ5RwSzcauo/wMOSAgO+A/I/8b3hsGGs6PWQz70m/jkPgdqWsfNKtwwDQ==} + hasBin: true + tw-animate-css@1.4.0: resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} @@ -9213,10 +9161,6 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - w3c-xmlserializer@5.0.0: - resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} - engines: {node: '>=18'} - walk-up-path@4.0.0: resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} engines: {node: 20 || >=22} @@ -9244,10 +9188,6 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@8.0.1: - resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} - engines: {node: '>=20'} - webpack-sources@3.3.3: resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} @@ -9255,8 +9195,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.104.0: - resolution: {integrity: sha512-5DeICTX8BVgNp6afSPYXAFjskIgWGlygQH58bcozPOXgo2r/6xx39Y1+cULZ3gTxUYQP88jmwLj2anu4Xaq84g==} + webpack@5.104.1: + resolution: {integrity: sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -9277,10 +9217,6 @@ packages: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - whatwg-url@15.1.0: - resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==} - engines: {node: '>=20'} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -9353,13 +9289,6 @@ packages: resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} engines: {node: '>= 6.0'} - xml-name-validator@5.0.0: - resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} - engines: {node: '>=18'} - - xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -9430,9 +9359,6 @@ packages: snapshots: - '@acemir/cssom@0.9.31': - optional: true - '@adobe/css-tools@4.4.4': {} '@alloc/quick-lru@5.2.0': {} @@ -9488,33 +9414,12 @@ snapshots: package-manager-detector: 1.6.0 tinyexec: 1.0.2 - '@asamuzakjp/css-color@4.1.1': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - lru-cache: 11.2.4 - optional: true - - '@asamuzakjp/dom-selector@6.7.6': - dependencies: - '@asamuzakjp/nwsapi': 2.3.9 - bidi-js: 1.0.3 - css-tree: 3.1.0 - is-potential-custom-element-name: 1.0.1 - lru-cache: 11.2.4 - optional: true - - '@asamuzakjp/nwsapi@2.3.9': - optional: true - '@aws-crypto/sha256-browser@5.2.0': dependencies: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@aws-sdk/util-locate-window': 3.965.2 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -9522,7 +9427,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -9531,45 +9436,45 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-sso@3.958.0': + '@aws-sdk/client-sso@3.971.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.957.0 - '@aws-sdk/middleware-host-header': 3.957.0 - '@aws-sdk/middleware-logger': 3.957.0 - '@aws-sdk/middleware-recursion-detection': 3.957.0 - '@aws-sdk/middleware-user-agent': 3.957.0 - '@aws-sdk/region-config-resolver': 3.957.0 - '@aws-sdk/types': 3.957.0 - '@aws-sdk/util-endpoints': 3.957.0 - '@aws-sdk/util-user-agent-browser': 3.957.0 - '@aws-sdk/util-user-agent-node': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/middleware-host-header': 3.969.0 + '@aws-sdk/middleware-logger': 3.969.0 + '@aws-sdk/middleware-recursion-detection': 3.969.0 + '@aws-sdk/middleware-user-agent': 3.970.0 + '@aws-sdk/region-config-resolver': 3.969.0 + '@aws-sdk/types': 3.969.0 + '@aws-sdk/util-endpoints': 3.970.0 + '@aws-sdk/util-user-agent-browser': 3.969.0 + '@aws-sdk/util-user-agent-node': 3.971.0 '@smithy/config-resolver': 4.4.6 - '@smithy/core': 3.20.5 + '@smithy/core': 3.20.7 '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.2.8 '@smithy/invalid-dependency': 4.2.8 '@smithy/middleware-content-length': 4.2.8 - '@smithy/middleware-endpoint': 4.4.6 - '@smithy/middleware-retry': 4.4.22 + '@smithy/middleware-endpoint': 4.4.8 + '@smithy/middleware-retry': 4.4.24 '@smithy/middleware-serde': 4.2.9 '@smithy/middleware-stack': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/node-http-handler': 4.4.8 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.21 - '@smithy/util-defaults-mode-node': 4.2.24 + '@smithy/util-defaults-mode-browser': 4.3.23 + '@smithy/util-defaults-mode-node': 4.2.26 '@smithy/util-endpoints': 3.2.8 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -9578,42 +9483,42 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.962.0': + '@aws-sdk/client-sts@3.971.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.957.0 - '@aws-sdk/credential-provider-node': 3.962.0 - '@aws-sdk/middleware-host-header': 3.957.0 - '@aws-sdk/middleware-logger': 3.957.0 - '@aws-sdk/middleware-recursion-detection': 3.957.0 - '@aws-sdk/middleware-user-agent': 3.957.0 - '@aws-sdk/region-config-resolver': 3.957.0 - '@aws-sdk/types': 3.957.0 - '@aws-sdk/util-endpoints': 3.957.0 - '@aws-sdk/util-user-agent-browser': 3.957.0 - '@aws-sdk/util-user-agent-node': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/credential-provider-node': 3.971.0 + '@aws-sdk/middleware-host-header': 3.969.0 + '@aws-sdk/middleware-logger': 3.969.0 + '@aws-sdk/middleware-recursion-detection': 3.969.0 + '@aws-sdk/middleware-user-agent': 3.970.0 + '@aws-sdk/region-config-resolver': 3.969.0 + '@aws-sdk/types': 3.969.0 + '@aws-sdk/util-endpoints': 3.970.0 + '@aws-sdk/util-user-agent-browser': 3.969.0 + '@aws-sdk/util-user-agent-node': 3.971.0 '@smithy/config-resolver': 4.4.6 - '@smithy/core': 3.20.5 + '@smithy/core': 3.20.7 '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.2.8 '@smithy/invalid-dependency': 4.2.8 '@smithy/middleware-content-length': 4.2.8 - '@smithy/middleware-endpoint': 4.4.6 - '@smithy/middleware-retry': 4.4.22 + '@smithy/middleware-endpoint': 4.4.8 + '@smithy/middleware-retry': 4.4.24 '@smithy/middleware-serde': 4.2.9 '@smithy/middleware-stack': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/node-http-handler': 4.4.8 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.21 - '@smithy/util-defaults-mode-node': 4.2.24 + '@smithy/util-defaults-mode-browser': 4.3.23 + '@smithy/util-defaults-mode-node': 4.2.26 '@smithy/util-endpoints': 3.2.8 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -9622,54 +9527,54 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.957.0': + '@aws-sdk/core@3.970.0': dependencies: - '@aws-sdk/types': 3.957.0 - '@aws-sdk/xml-builder': 3.957.0 - '@smithy/core': 3.20.5 + '@aws-sdk/types': 3.969.0 + '@aws-sdk/xml-builder': 3.969.0 + '@smithy/core': 3.20.7 '@smithy/node-config-provider': 4.3.8 '@smithy/property-provider': 4.2.8 '@smithy/protocol-http': 5.3.8 '@smithy/signature-v4': 5.3.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 '@smithy/util-base64': 4.3.0 '@smithy/util-middleware': 4.2.8 '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.957.0': + '@aws-sdk/credential-provider-env@3.970.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/types': 3.969.0 '@smithy/property-provider': 4.2.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.957.0': + '@aws-sdk/credential-provider-http@3.970.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/types': 3.969.0 '@smithy/fetch-http-handler': 5.3.9 '@smithy/node-http-handler': 4.4.8 '@smithy/property-provider': 4.2.8 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 '@smithy/util-stream': 4.5.10 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.962.0': + '@aws-sdk/credential-provider-ini@3.971.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/credential-provider-env': 3.957.0 - '@aws-sdk/credential-provider-http': 3.957.0 - '@aws-sdk/credential-provider-login': 3.962.0 - '@aws-sdk/credential-provider-process': 3.957.0 - '@aws-sdk/credential-provider-sso': 3.958.0 - '@aws-sdk/credential-provider-web-identity': 3.958.0 - '@aws-sdk/nested-clients': 3.958.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/credential-provider-env': 3.970.0 + '@aws-sdk/credential-provider-http': 3.970.0 + '@aws-sdk/credential-provider-login': 3.971.0 + '@aws-sdk/credential-provider-process': 3.970.0 + '@aws-sdk/credential-provider-sso': 3.971.0 + '@aws-sdk/credential-provider-web-identity': 3.971.0 + '@aws-sdk/nested-clients': 3.971.0 + '@aws-sdk/types': 3.969.0 '@smithy/credential-provider-imds': 4.2.8 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -9678,11 +9583,11 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.962.0': + '@aws-sdk/credential-provider-login@3.971.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/nested-clients': 3.958.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/nested-clients': 3.971.0 + '@aws-sdk/types': 3.969.0 '@smithy/property-provider': 4.2.8 '@smithy/protocol-http': 5.3.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -9691,15 +9596,15 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.962.0': + '@aws-sdk/credential-provider-node@3.971.0': dependencies: - '@aws-sdk/credential-provider-env': 3.957.0 - '@aws-sdk/credential-provider-http': 3.957.0 - '@aws-sdk/credential-provider-ini': 3.962.0 - '@aws-sdk/credential-provider-process': 3.957.0 - '@aws-sdk/credential-provider-sso': 3.958.0 - '@aws-sdk/credential-provider-web-identity': 3.958.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/credential-provider-env': 3.970.0 + '@aws-sdk/credential-provider-http': 3.970.0 + '@aws-sdk/credential-provider-ini': 3.971.0 + '@aws-sdk/credential-provider-process': 3.970.0 + '@aws-sdk/credential-provider-sso': 3.971.0 + '@aws-sdk/credential-provider-web-identity': 3.971.0 + '@aws-sdk/types': 3.969.0 '@smithy/credential-provider-imds': 4.2.8 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -9708,21 +9613,21 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.957.0': + '@aws-sdk/credential-provider-process@3.970.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/types': 3.969.0 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.958.0': + '@aws-sdk/credential-provider-sso@3.971.0': dependencies: - '@aws-sdk/client-sso': 3.958.0 - '@aws-sdk/core': 3.957.0 - '@aws-sdk/token-providers': 3.958.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/client-sso': 3.971.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/token-providers': 3.971.0 + '@aws-sdk/types': 3.969.0 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 '@smithy/types': 4.12.0 @@ -9730,19 +9635,19 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.962.0)': + '@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.971.0)': dependencies: - '@aws-sdk/client-sts': 3.962.0 + '@aws-sdk/client-sts': 3.971.0 '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.11 '@smithy/types': 3.7.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-web-identity@3.958.0': + '@aws-sdk/credential-provider-web-identity@3.971.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/nested-clients': 3.958.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/nested-clients': 3.971.0 + '@aws-sdk/types': 3.969.0 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 '@smithy/types': 4.12.0 @@ -9750,72 +9655,72 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/middleware-host-header@3.957.0': + '@aws-sdk/middleware-host-header@3.969.0': dependencies: - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@smithy/protocol-http': 5.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.957.0': + '@aws-sdk/middleware-logger@3.969.0': dependencies: - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.957.0': + '@aws-sdk/middleware-recursion-detection@3.969.0': dependencies: - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@aws/lambda-invoke-store': 0.2.3 '@smithy/protocol-http': 5.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.957.0': + '@aws-sdk/middleware-user-agent@3.970.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/types': 3.957.0 - '@aws-sdk/util-endpoints': 3.957.0 - '@smithy/core': 3.20.5 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/types': 3.969.0 + '@aws-sdk/util-endpoints': 3.970.0 + '@smithy/core': 3.20.7 '@smithy/protocol-http': 5.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.958.0': + '@aws-sdk/nested-clients@3.971.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.957.0 - '@aws-sdk/middleware-host-header': 3.957.0 - '@aws-sdk/middleware-logger': 3.957.0 - '@aws-sdk/middleware-recursion-detection': 3.957.0 - '@aws-sdk/middleware-user-agent': 3.957.0 - '@aws-sdk/region-config-resolver': 3.957.0 - '@aws-sdk/types': 3.957.0 - '@aws-sdk/util-endpoints': 3.957.0 - '@aws-sdk/util-user-agent-browser': 3.957.0 - '@aws-sdk/util-user-agent-node': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/middleware-host-header': 3.969.0 + '@aws-sdk/middleware-logger': 3.969.0 + '@aws-sdk/middleware-recursion-detection': 3.969.0 + '@aws-sdk/middleware-user-agent': 3.970.0 + '@aws-sdk/region-config-resolver': 3.969.0 + '@aws-sdk/types': 3.969.0 + '@aws-sdk/util-endpoints': 3.970.0 + '@aws-sdk/util-user-agent-browser': 3.969.0 + '@aws-sdk/util-user-agent-node': 3.971.0 '@smithy/config-resolver': 4.4.6 - '@smithy/core': 3.20.5 + '@smithy/core': 3.20.7 '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.2.8 '@smithy/invalid-dependency': 4.2.8 '@smithy/middleware-content-length': 4.2.8 - '@smithy/middleware-endpoint': 4.4.6 - '@smithy/middleware-retry': 4.4.22 + '@smithy/middleware-endpoint': 4.4.8 + '@smithy/middleware-retry': 4.4.24 '@smithy/middleware-serde': 4.2.9 '@smithy/middleware-stack': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/node-http-handler': 4.4.8 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.21 - '@smithy/util-defaults-mode-node': 4.2.24 + '@smithy/util-defaults-mode-browser': 4.3.23 + '@smithy/util-defaults-mode-node': 4.2.26 '@smithy/util-endpoints': 3.2.8 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -9824,19 +9729,19 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.957.0': + '@aws-sdk/region-config-resolver@3.969.0': dependencies: - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@smithy/config-resolver': 4.4.6 '@smithy/node-config-provider': 4.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/token-providers@3.958.0': + '@aws-sdk/token-providers@3.971.0': dependencies: - '@aws-sdk/core': 3.957.0 - '@aws-sdk/nested-clients': 3.958.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/core': 3.970.0 + '@aws-sdk/nested-clients': 3.971.0 + '@aws-sdk/types': 3.969.0 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 '@smithy/types': 4.12.0 @@ -9849,14 +9754,14 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@aws-sdk/types@3.957.0': + '@aws-sdk/types@3.969.0': dependencies: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.957.0': + '@aws-sdk/util-endpoints@3.970.0': dependencies: - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@smithy/types': 4.12.0 '@smithy/url-parser': 4.2.8 '@smithy/util-endpoints': 3.2.8 @@ -9866,22 +9771,22 @@ snapshots: dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.957.0': + '@aws-sdk/util-user-agent-browser@3.969.0': dependencies: - '@aws-sdk/types': 3.957.0 + '@aws-sdk/types': 3.969.0 '@smithy/types': 4.12.0 bowser: 2.13.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.957.0': + '@aws-sdk/util-user-agent-node@3.971.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.957.0 - '@aws-sdk/types': 3.957.0 + '@aws-sdk/middleware-user-agent': 3.970.0 + '@aws-sdk/types': 3.969.0 '@smithy/node-config-provider': 4.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.957.0': + '@aws-sdk/xml-builder@3.969.0': dependencies: '@smithy/types': 4.12.0 fast-xml-parser: 5.2.5 @@ -10030,20 +9935,20 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@better-auth/core@1.4.14(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.9)(nanostores@1.1.0)': + '@better-auth/core@1.4.15(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.10)(nanostores@1.1.0)': dependencies: '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 '@standard-schema/spec': 1.1.0 better-call: 1.1.8(zod@4.3.5) jose: 6.1.3 - kysely: 0.28.9 + kysely: 0.28.10 nanostores: 1.1.0 zod: 4.3.5 - '@better-auth/telemetry@1.4.14(@better-auth/core@1.4.14(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.9)(nanostores@1.1.0))': + '@better-auth/telemetry@1.4.15(@better-auth/core@1.4.15(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.10)(nanostores@1.1.0))': dependencies: - '@better-auth/core': 1.4.14(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.9)(nanostores@1.1.0) + '@better-auth/core': 1.4.15(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.10)(nanostores@1.1.0) '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 @@ -10127,34 +10032,6 @@ snapshots: '@chevrotain/utils@11.0.3': {} - '@csstools/color-helpers@5.1.0': - optional: true - - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - optional: true - - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - optional: true - - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - optional: true - - '@csstools/css-syntax-patches-for-csstree@1.0.25': - optional: true - - '@csstools/css-tokenizer@3.0.4': - optional: true - '@date-fns/tz@1.4.1': {} '@dnd-kit/accessibility@3.1.1(react@19.2.3)': @@ -10716,7 +10593,7 @@ snapshots: '@inngest/ai@0.1.7': dependencies: - '@types/node': 22.19.6 + '@types/node': 22.19.7 typescript: 5.9.3 '@inquirer/ansi@1.0.2': {} @@ -10823,7 +10700,7 @@ snapshots: '@lobehub/emojilib': 1.0.0 antd-style: 4.1.0(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) emoji-regex: 10.6.0 - es-toolkit: 1.43.0 + es-toolkit: 1.44.0 lucide-react: 0.562.0(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) @@ -10833,9 +10710,9 @@ snapshots: - antd - supports-color - '@lobehub/icons@4.0.3(@lobehub/ui@4.21.2)(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@lobehub/icons@4.0.3(@lobehub/ui@4.22.1)(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@lobehub/ui': 4.21.2(@lobehub/fluent-emoji@4.1.0(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@lobehub/icons@4.0.3)(@types/mdast@4.0.4)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(micromark-util-types@2.0.2)(micromark@4.0.2)(motion@12.26.2(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@lobehub/ui': 4.22.1(@lobehub/fluent-emoji@4.1.0(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@lobehub/icons@4.0.3)(@types/mdast@4.0.4)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(micromark-util-types@2.0.2)(micromark@4.0.2)(motion@12.27.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) antd: 6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) antd-style: 4.1.0(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) lucide-react: 0.469.0(react@19.2.3) @@ -10846,7 +10723,7 @@ snapshots: - '@types/react' - supports-color - '@lobehub/ui@4.21.2(@lobehub/fluent-emoji@4.1.0(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@lobehub/icons@4.0.3)(@types/mdast@4.0.4)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(micromark-util-types@2.0.2)(micromark@4.0.2)(motion@12.26.2(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@lobehub/ui@4.22.1(@lobehub/fluent-emoji@4.1.0(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@lobehub/icons@4.0.3)(@types/mdast@4.0.4)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(micromark-util-types@2.0.2)(micromark@4.0.2)(motion@12.27.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@ant-design/cssinjs': 2.0.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@base-ui/react': 1.0.0(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -10860,7 +10737,7 @@ snapshots: '@floating-ui/react': 0.27.16(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@giscus/react': 3.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@lobehub/fluent-emoji': 4.1.0(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@lobehub/icons': 4.0.3(@lobehub/ui@4.21.2)(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@lobehub/icons': 4.0.3(@lobehub/ui@4.22.1)(@types/react@19.2.8)(antd@6.2.0(date-fns@4.1.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@mdx-js/mdx': 3.1.1 '@mdx-js/react': 3.1.1(@types/react@19.2.8)(react@19.2.3) '@pierre/diffs': 1.0.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -10876,7 +10753,7 @@ snapshots: clsx: 2.1.1 dayjs: 1.11.19 emoji-mart: 5.6.0 - es-toolkit: 1.43.0 + es-toolkit: 1.44.0 fast-deep-equal: 3.1.3 immer: 11.1.3 katex: 0.16.27 @@ -10884,7 +10761,7 @@ snapshots: lucide-react: 0.562.0(react@19.2.3) marked: 17.0.1 mermaid: 11.12.2 - motion: 12.26.2(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + motion: 12.27.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) numeral: 2.0.6 polished: 4.3.1 query-string: 9.3.1 @@ -11054,12 +10931,6 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@neondatabase/serverless@1.0.2': - dependencies: - '@types/node': 22.19.6 - '@types/pg': 8.16.0 - optional: true - '@next/env@16.1.3': {} '@next/swc-darwin-arm64@16.1.3': @@ -11244,12 +11115,12 @@ snapshots: '@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/exporter-logs-otlp-grpc@0.210.0(@opentelemetry/api@1.9.0)': dependencies: @@ -11363,14 +11234,14 @@ snapshots: '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/instrumentation-amqplib@0.57.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11378,7 +11249,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@types/aws-lambda': 8.10.159 transitivePeerDependencies: - supports-color @@ -11388,7 +11259,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11405,7 +11276,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11414,7 +11285,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@types/connect': 3.4.38 transitivePeerDependencies: - supports-color @@ -11423,7 +11294,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11446,7 +11317,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11455,7 +11326,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11485,7 +11356,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11494,7 +11365,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11503,7 +11374,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 forwarded-parse: 2.1.2 transitivePeerDependencies: - supports-color @@ -11513,7 +11384,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.2 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11521,7 +11392,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11529,7 +11400,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11538,7 +11409,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11553,7 +11424,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@types/memcached': 2.2.10 transitivePeerDependencies: - supports-color @@ -11562,7 +11433,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11571,7 +11442,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11579,7 +11450,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -11588,7 +11459,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@types/mysql': 2.15.27 transitivePeerDependencies: - supports-color @@ -11597,7 +11468,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11605,7 +11476,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11614,7 +11485,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.210.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11622,7 +11493,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@types/oracledb': 6.5.2 transitivePeerDependencies: - supports-color @@ -11632,7 +11503,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) '@types/pg': 8.15.6 '@types/pg-pool': 2.0.7 @@ -11653,7 +11524,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.2 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11662,7 +11533,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11670,7 +11541,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11692,7 +11563,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@types/tedious': 4.0.14 transitivePeerDependencies: - supports-color @@ -11702,7 +11573,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11788,14 +11659,14 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/resource-detector-azure@0.18.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/resource-detector-container@0.8.1(@opentelemetry/api@1.9.0)': dependencies: @@ -11817,13 +11688,13 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/resources@2.4.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/sdk-logs@0.208.0(@opentelemetry/api@1.9.0)': dependencies: @@ -11877,7 +11748,7 @@ snapshots: '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-node': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: - supports-color @@ -11886,14 +11757,14 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/sdk-trace-base@2.4.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/sdk-trace-node@2.4.0(@opentelemetry/api@1.9.0)': dependencies: @@ -11902,7 +11773,7 @@ snapshots: '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions@1.38.0': {} + '@opentelemetry/semantic-conventions@1.39.0': {} '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.0)': dependencies: @@ -11990,11 +11861,11 @@ snapshots: '@pinojs/redact@0.4.0': {} - '@polar-sh/better-auth@1.6.4(@polar-sh/sdk@0.42.2)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(better-auth@1.4.14(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17))(react-dom@19.2.3(react@19.2.3))(react-is@18.3.1)(react@19.2.3)(redux@5.0.1)(zod@4.3.5)': + '@polar-sh/better-auth@1.6.4(@polar-sh/sdk@0.42.2)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(better-auth@1.4.15(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17))(react-dom@19.2.3(react@19.2.3))(react-is@18.3.1)(react@19.2.3)(redux@5.0.1)(zod@4.3.5)': dependencies: '@polar-sh/checkout': 0.1.14(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react-is@18.3.1)(react@19.2.3)(redux@5.0.1) '@polar-sh/sdk': 0.42.2 - better-auth: 1.4.14(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17) + better-auth: 1.4.15(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17) zod: 4.3.5 transitivePeerDependencies: - '@stripe/react-stripe-js' @@ -12090,24 +11961,24 @@ snapshots: dependencies: cross-spawn: 7.0.6 - '@posthog/nextjs-config@1.7.6(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(webpack@5.104.0(@swc/core@1.15.3)(esbuild@0.25.12))': + '@posthog/nextjs-config@1.7.6(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(webpack@5.104.1(@swc/core@1.15.3)(esbuild@0.25.12))': dependencies: '@posthog/cli': 0.5.24 '@posthog/core': 1.10.0 - '@posthog/webpack-plugin': 1.2.6(webpack@5.104.0(@swc/core@1.15.3)(esbuild@0.25.12)) + '@posthog/webpack-plugin': 1.2.6(webpack@5.104.1(@swc/core@1.15.3)(esbuild@0.25.12)) next: 16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) semver: 7.7.3 transitivePeerDependencies: - debug - webpack - '@posthog/types@1.327.0': {} + '@posthog/types@1.328.0': {} - '@posthog/webpack-plugin@1.2.6(webpack@5.104.0(@swc/core@1.15.3)(esbuild@0.25.12))': + '@posthog/webpack-plugin@1.2.6(webpack@5.104.1(@swc/core@1.15.3)(esbuild@0.25.12))': dependencies: '@posthog/cli': 0.5.24 '@posthog/core': 1.10.0 - webpack: 5.104.0(@swc/core@1.15.3)(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.3)(esbuild@0.25.12) transitivePeerDependencies: - debug @@ -12409,6 +12280,16 @@ snapshots: '@types/react': 19.2.8 '@types/react-dom': 19.2.3(@types/react@19.2.8) + '@radix-ui/react-portal@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + dependencies: + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + optionalDependencies: + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -13377,7 +13258,7 @@ snapshots: '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 - '@smithy/core@3.20.5': + '@smithy/core@3.20.7': dependencies: '@smithy/middleware-serde': 4.2.9 '@smithy/protocol-http': 5.3.8 @@ -13432,9 +13313,9 @@ snapshots: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.4.6': + '@smithy/middleware-endpoint@4.4.8': dependencies: - '@smithy/core': 3.20.5 + '@smithy/core': 3.20.7 '@smithy/middleware-serde': 4.2.9 '@smithy/node-config-provider': 4.3.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -13443,12 +13324,12 @@ snapshots: '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 - '@smithy/middleware-retry@4.4.22': + '@smithy/middleware-retry@4.4.24': dependencies: '@smithy/node-config-provider': 4.3.8 '@smithy/protocol-http': 5.3.8 '@smithy/service-error-classification': 4.2.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -13527,10 +13408,10 @@ snapshots: '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/smithy-client@4.10.7': + '@smithy/smithy-client@4.10.9': dependencies: - '@smithy/core': 3.20.5 - '@smithy/middleware-endpoint': 4.4.6 + '@smithy/core': 3.20.7 + '@smithy/middleware-endpoint': 4.4.8 '@smithy/middleware-stack': 4.2.8 '@smithy/protocol-http': 5.3.8 '@smithy/types': 4.12.0 @@ -13579,20 +13460,20 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.3.21': + '@smithy/util-defaults-mode-browser@4.3.23': dependencies: '@smithy/property-provider': 4.2.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.2.24': + '@smithy/util-defaults-mode-node@4.2.26': dependencies: '@smithy/config-resolver': 4.4.6 '@smithy/credential-provider-imds': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/property-provider': 4.2.8 - '@smithy/smithy-client': 4.10.7 + '@smithy/smithy-client': 4.10.9 '@smithy/types': 4.12.0 tslib: 2.8.1 @@ -14118,7 +13999,7 @@ snapshots: dependencies: '@types/node': 25.0.9 - '@types/node@22.19.6': + '@types/node@22.19.7': dependencies: undici-types: 6.21.0 @@ -14227,11 +14108,11 @@ snapshots: '@opentelemetry/api': 1.9.0 next: 16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@vercel/functions@3.3.6(@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.962.0))': + '@vercel/functions@3.3.6(@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.971.0))': dependencies: '@vercel/oidc': 3.1.0 optionalDependencies: - '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.962.0) + '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.971.0) '@vercel/oidc@3.0.5': {} @@ -14252,7 +14133,7 @@ snapshots: '@vercel/oidc': 3.1.0 mixpart: 0.0.5-alpha.1 - '@vitejs/plugin-react@5.1.2(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))': + '@vitejs/plugin-react@5.1.2(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.28.6 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.6) @@ -14260,33 +14141,33 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.53 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@vitest/browser-playwright@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(playwright@1.57.0)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17)': + '@vitest/browser-playwright@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(playwright@1.57.0)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17)': dependencies: - '@vitest/browser': 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17) - '@vitest/mocker': 4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/browser': 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17) + '@vitest/mocker': 4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)) playwright: 1.57.0 tinyrainbow: 3.0.3 - vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(jsdom@27.3.0(bufferutil@4.1.0))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.46.0)(yaml@2.8.2) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17)': + '@vitest/browser@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17)': dependencies: - '@vitest/mocker': 4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)) '@vitest/utils': 4.0.17 magic-string: 0.30.21 pixelmatch: 7.1.0 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.0.3 - vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(jsdom@27.3.0(bufferutil@4.1.0))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.46.0)(yaml@2.8.2) ws: 8.19.0(bufferutil@4.1.0) transitivePeerDependencies: - bufferutil @@ -14294,7 +14175,7 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-v8@4.0.17(@vitest/browser@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17))(vitest@4.0.17)': + '@vitest/coverage-v8@4.0.17(@vitest/browser@4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17))(vitest@4.0.17)': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.0.17 @@ -14306,9 +14187,9 @@ snapshots: obug: 2.1.1 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(jsdom@27.3.0(bufferutil@4.1.0))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.46.0)(yaml@2.8.2) optionalDependencies: - '@vitest/browser': 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17) + '@vitest/browser': 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17) '@vitest/expect@4.0.17': dependencies: @@ -14319,14 +14200,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.17 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.12.7(@types/node@25.0.9)(typescript@5.9.3) - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2) '@vitest/pretty-format@4.0.17': dependencies: @@ -14426,10 +14307,10 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@workflow/astro@4.0.0-beta.22(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)': + '@workflow/astro@4.0.0-beta.22(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)': dependencies: '@swc/core': 1.15.3 - '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/rollup': 4.0.0-beta.7 '@workflow/swc-plugin': 4.0.1-beta.13(@swc/core@1.15.3) '@workflow/vite': 4.0.0-beta.2 @@ -14441,10 +14322,10 @@ snapshots: - '@swc/helpers' - supports-color - '@workflow/builders@4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)': + '@workflow/builders@4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)': dependencies: '@swc/core': 1.15.3 - '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/errors': 4.0.1-beta.13 '@workflow/swc-plugin': 4.0.1-beta.13(@swc/core@1.15.3) builtin-modules: 5.0.0 @@ -14460,13 +14341,13 @@ snapshots: - '@swc/helpers' - supports-color - '@workflow/cli@4.0.1-beta.48(@aws-sdk/client-sts@3.962.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@workflow/cli@4.0.1-beta.48(@aws-sdk/client-sts@3.971.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: '@oclif/core': 4.0.0(typescript@5.9.3) '@oclif/plugin-help': 6.2.31(typescript@5.9.3) '@swc/core': 1.15.3 - '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) - '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) + '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/errors': 4.0.1-beta.13 '@workflow/swc-plugin': 4.0.1-beta.13(@swc/core@1.15.3) '@workflow/utils': 4.0.1-beta.10 @@ -14505,13 +14386,13 @@ snapshots: - supports-color - typescript - '@workflow/core@4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)': + '@workflow/core@4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)': dependencies: - '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.962.0) + '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.971.0) '@jridgewell/trace-mapping': 0.3.31 '@standard-schema/spec': 1.0.0 '@types/ms': 2.1.0 - '@vercel/functions': 3.3.6(@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.962.0)) + '@vercel/functions': 3.3.6(@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.971.0)) '@workflow/errors': 4.0.1-beta.13 '@workflow/utils': 4.0.1-beta.10 '@workflow/world': 4.0.1-beta.13(zod@4.1.11) @@ -14535,11 +14416,11 @@ snapshots: '@workflow/utils': 4.0.1-beta.10 ms: 2.1.3 - '@workflow/next@4.0.1-beta.44(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))': + '@workflow/next@4.0.1-beta.44(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))': dependencies: '@swc/core': 1.15.3 - '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) - '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) + '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/swc-plugin': 4.0.1-beta.13(@swc/core@1.15.3) semver: 7.7.3 watchpack: 2.4.4 @@ -14551,11 +14432,11 @@ snapshots: - '@swc/helpers' - supports-color - '@workflow/nitro@4.0.1-beta.43(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)': + '@workflow/nitro@4.0.1-beta.43(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)': dependencies: '@swc/core': 1.15.3 - '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) - '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) + '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/rollup': 4.0.0-beta.7 '@workflow/swc-plugin': 4.0.1-beta.13(@swc/core@1.15.3) '@workflow/vite': 4.0.0-beta.2 @@ -14567,10 +14448,10 @@ snapshots: - '@swc/helpers' - supports-color - '@workflow/nuxt@4.0.1-beta.32(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)(magicast@0.5.1)': + '@workflow/nuxt@4.0.1-beta.32(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)(magicast@0.5.1)': dependencies: '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@workflow/nitro': 4.0.1-beta.43(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/nitro': 4.0.1-beta.43(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@aws-sdk/client-sts' - '@opentelemetry/api' @@ -14586,10 +14467,10 @@ snapshots: transitivePeerDependencies: - '@swc/helpers' - '@workflow/sveltekit@4.0.0-beta.37(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)': + '@workflow/sveltekit@4.0.0-beta.37(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)': dependencies: '@swc/core': 1.15.3 - '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/builders': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/rollup': 4.0.0-beta.7 '@workflow/swc-plugin': 4.0.1-beta.13(@swc/core@1.15.3) '@workflow/vite': 4.0.0-beta.2 @@ -14933,14 +14814,14 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.9.14: {} + baseline-browser-mapping@2.9.15: {} basic-ftp@5.1.0: {} - better-auth@1.4.14(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17): + better-auth@1.4.15(drizzle-kit@0.31.8)(drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1))(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(pg@8.17.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17): dependencies: - '@better-auth/core': 1.4.14(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.9)(nanostores@1.1.0) - '@better-auth/telemetry': 1.4.14(@better-auth/core@1.4.14(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.9)(nanostores@1.1.0)) + '@better-auth/core': 1.4.15(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.10)(nanostores@1.1.0) + '@better-auth/telemetry': 1.4.15(@better-auth/core@1.4.15(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.5))(jose@6.1.3)(kysely@0.28.10)(nanostores@1.1.0)) '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 '@noble/ciphers': 2.1.1 @@ -14948,17 +14829,17 @@ snapshots: better-call: 1.1.8(zod@4.3.5) defu: 6.1.4 jose: 6.1.3 - kysely: 0.28.9 + kysely: 0.28.10 nanostores: 1.1.0 zod: 4.3.5 optionalDependencies: drizzle-kit: 0.31.8 - drizzle-orm: 0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8) + drizzle-orm: 0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1) next: 16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) pg: 8.17.1 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(jsdom@27.3.0(bufferutil@4.1.0))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.46.0)(yaml@2.8.2) better-call@1.1.8(zod@4.3.5): dependencies: @@ -14969,11 +14850,6 @@ snapshots: optionalDependencies: zod: 4.3.5 - bidi-js@1.0.3: - dependencies: - require-from-string: 2.0.2 - optional: true - bignumber.js@9.3.1: {} bmp-js@0.1.0: {} @@ -15017,7 +14893,7 @@ snapshots: browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.14 + baseline-browser-mapping: 2.9.15 caniuse-lite: 1.0.30001764 electron-to-chromium: 1.5.267 node-releases: 2.0.27 @@ -15329,26 +15205,12 @@ snapshots: domutils: 3.2.2 nth-check: 2.1.1 - css-tree@3.1.0: - dependencies: - mdn-data: 2.12.2 - source-map-js: 1.2.1 - optional: true - css-what@6.2.2: {} css.escape@1.5.1: {} cssesc@3.0.0: {} - cssstyle@5.3.7: - dependencies: - '@asamuzakjp/css-color': 4.1.1 - '@csstools/css-syntax-patches-for-csstree': 1.0.25 - css-tree: 3.1.0 - lru-cache: 11.2.4 - optional: true - csstype@3.2.3: {} cva@1.0.0-beta.4(typescript@5.9.3): @@ -15543,12 +15405,6 @@ snapshots: data-uri-to-buffer@6.0.2: {} - data-urls@6.0.0: - dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 15.1.0 - optional: true - date-fns-jalali@4.1.0-0: {} date-fns@4.1.0: {} @@ -15565,9 +15421,6 @@ snapshots: decimal.js-light@2.5.1: {} - decimal.js@10.6.0: - optional: true - decode-bmp@0.2.1: dependencies: '@canvas/image-data': 1.1.0 @@ -15678,16 +15531,14 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@neondatabase/serverless@1.0.2)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.9)(pg@8.17.1)(postgres@3.4.8): + drizzle-orm@0.45.1(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(@upstash/redis@1.36.1)(kysely@0.28.10)(pg@8.17.1): optionalDependencies: '@electric-sql/pglite': 0.3.15 - '@neondatabase/serverless': 1.0.2 '@opentelemetry/api': 1.9.0 '@types/pg': 8.16.0 '@upstash/redis': 1.36.1 - kysely: 0.28.9 + kysely: 0.28.10 pg: 8.17.1 - postgres: 3.4.8 dunder-proto@1.0.1: dependencies: @@ -15775,7 +15626,7 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - es-toolkit@1.43.0: {} + es-toolkit@1.44.0: {} esast-util-from-estree@2.0.0: dependencies: @@ -16147,9 +15998,9 @@ snapshots: forwarded@0.2.0: {} - framer-motion@12.26.2(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + framer-motion@12.27.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - motion-dom: 12.26.2 + motion-dom: 12.27.0 motion-utils: 12.24.10 tslib: 2.8.1 optionalDependencies: @@ -16467,11 +16318,6 @@ snapshots: hono@4.11.4: {} - html-encoding-sniffer@4.0.0: - dependencies: - whatwg-encoding: 3.1.1 - optional: true - html-escaper@2.0.2: {} html-to-text@9.0.5: @@ -16686,9 +16532,6 @@ snapshots: dependencies: isobject: 3.0.1 - is-potential-custom-element-name@1.0.1: - optional: true - is-promise@4.0.0: {} is-stream@2.0.1: {} @@ -16761,34 +16604,6 @@ snapshots: dependencies: argparse: 2.0.1 - jsdom@27.3.0(bufferutil@4.1.0): - dependencies: - '@acemir/cssom': 0.9.31 - '@asamuzakjp/dom-selector': 6.7.6 - cssstyle: 5.3.7 - data-urls: 6.0.0 - decimal.js: 10.6.0 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - is-potential-custom-element-name: 1.0.1 - parse5: 8.0.0 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 6.0.0 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 8.0.1 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 15.1.0 - ws: 8.19.0(bufferutil@4.1.0) - xml-name-validator: 5.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - jsesc@3.1.0: {} json-bigint@1.0.0: @@ -16827,7 +16642,7 @@ snapshots: klona@2.0.6: {} - knip@5.81.0(@types/node@25.0.9)(typescript@5.9.3): + knip@5.82.0(@types/node@25.0.9)(typescript@5.9.3): dependencies: '@nodelib/fs.walk': 1.2.8 '@types/node': 25.0.9 @@ -16846,7 +16661,7 @@ snapshots: knitwork@1.3.0: {} - kysely@0.28.9: {} + kysely@0.28.10: {} langium@3.3.1: dependencies: @@ -16864,7 +16679,7 @@ snapshots: leva@0.10.1(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@stitches/react': 1.2.8(react@19.2.3) '@use-gesture/react': 10.3.1(react@19.2.3) @@ -17244,9 +17059,6 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - mdn-data@2.12.2: - optional: true - media-chrome@4.17.2(react@19.2.3): dependencies: ce-la-react: 0.3.2(react@19.2.3) @@ -17643,15 +17455,15 @@ snapshots: module-details-from-path@1.0.4: {} - motion-dom@12.26.2: + motion-dom@12.27.0: dependencies: motion-utils: 12.24.10 motion-utils@12.24.10: {} - motion@12.26.2(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + motion@12.27.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - framer-motion: 12.26.2(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + framer-motion: 12.27.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) tslib: 2.8.1 optionalDependencies: '@emotion/is-prop-valid': 1.4.0 @@ -17714,7 +17526,7 @@ snapshots: dependencies: '@next/env': 16.1.3 '@swc/helpers': 0.5.15 - baseline-browser-mapping: 2.9.14 + baseline-browser-mapping: 2.9.15 caniuse-lite: 1.0.30001764 postcss: 8.4.31 react: 19.2.3 @@ -17915,11 +17727,6 @@ snapshots: dependencies: entities: 6.0.1 - parse5@8.0.0: - dependencies: - entities: 6.0.1 - optional: true - parseley@0.12.1: dependencies: leac: 0.6.0 @@ -18109,10 +17916,7 @@ snapshots: dependencies: xtend: 4.0.2 - postgres@3.4.8: - optional: true - - posthog-js@1.327.0: + posthog-js@1.328.0: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.208.0 @@ -18120,7 +17924,7 @@ snapshots: '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-logs': 0.208.0(@opentelemetry/api@1.9.0) '@posthog/core': 1.10.0 - '@posthog/types': 1.327.0 + '@posthog/types': 1.328.0 core-js: 3.47.0 dompurify: 3.3.1 fflate: 0.4.8 @@ -18217,9 +18021,6 @@ snapshots: end-of-stream: 1.4.5 once: 1.4.0 - punycode@2.3.1: - optional: true - puppeteer-core@24.35.0(bufferutil@4.1.0): dependencies: '@puppeteer/browsers': 2.11.1 @@ -18557,7 +18358,7 @@ snapshots: '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.8)(react@19.2.3)(redux@5.0.1))(react@19.2.3) clsx: 2.1.1 decimal.js-light: 2.5.1 - es-toolkit: 1.43.0 + es-toolkit: 1.44.0 eventemitter3: 5.0.1 immer: 10.2.0 react: 19.2.3 @@ -18856,11 +18657,6 @@ snapshots: safer-buffer@2.1.2: {} - saxes@6.0.0: - dependencies: - xmlchars: 2.2.0 - optional: true - scheduler@0.27.0: {} schema-utils@4.3.3: @@ -19210,9 +19006,6 @@ snapshots: react: 19.2.3 use-sync-external-store: 1.6.0(react@19.2.3) - symbol-tree@3.2.4: - optional: true - tabbable@6.4.0: {} tagged-tag@1.0.0: {} @@ -19255,19 +19048,19 @@ snapshots: ansi-escapes: 7.2.0 supports-hyperlinks: 4.4.0 - terser-webpack-plugin@5.3.16(@swc/core@1.15.3)(esbuild@0.25.12)(webpack@5.104.0(@swc/core@1.15.3)(esbuild@0.25.12)): + terser-webpack-plugin@5.3.16(@swc/core@1.15.3)(esbuild@0.25.12)(webpack@5.104.1(@swc/core@1.15.3)(esbuild@0.25.12)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 serialize-javascript: 6.0.2 - terser: 5.45.0 - webpack: 5.104.0(@swc/core@1.15.3)(esbuild@0.25.12) + terser: 5.46.0 + webpack: 5.104.1(@swc/core@1.15.3)(esbuild@0.25.12) optionalDependencies: '@swc/core': 1.15.3 esbuild: 0.25.12 - terser@5.45.0: + terser@5.46.0: dependencies: '@jridgewell/source-map': 0.3.11 acorn: 8.15.0 @@ -19353,11 +19146,6 @@ snapshots: tr46@0.0.3: {} - tr46@6.0.0: - dependencies: - punycode: 2.3.1 - optional: true - trim-lines@3.0.1: {} trough@2.2.0: {} @@ -19374,15 +19162,34 @@ snapshots: tslib@2.8.1: {} - tsx@4.21.0: - dependencies: - esbuild: 0.27.2 - get-tsconfig: 4.13.0 - optionalDependencies: - fsevents: 2.3.3 + tunnel@0.0.6: {} + + turbo-darwin-64@2.7.5: optional: true - tunnel@0.0.6: {} + turbo-darwin-arm64@2.7.5: + optional: true + + turbo-linux-64@2.7.5: + optional: true + + turbo-linux-arm64@2.7.5: + optional: true + + turbo-windows-64@2.7.5: + optional: true + + turbo-windows-arm64@2.7.5: + optional: true + + turbo@2.7.5: + optionalDependencies: + turbo-darwin-64: 2.7.5 + turbo-darwin-arm64: 2.7.5 + turbo-linux-64: 2.7.5 + turbo-linux-arm64: 2.7.5 + turbo-windows-64: 2.7.5 + turbo-windows-arm64: 2.7.5 tw-animate-css@1.4.0: {} @@ -19596,18 +19403,18 @@ snapshots: react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - vite-tsconfig-paths@6.0.4(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2)): + vite-tsconfig-paths@6.0.4(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)): dependencies: debug: 4.4.3(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) optionalDependencies: - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - typescript - vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2): + vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -19620,23 +19427,22 @@ snapshots: fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.30.2 - terser: 5.45.0 - tsx: 4.21.0 + terser: 5.46.0 yaml: 2.8.2 vitest-browser-react@2.0.2(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vitest@4.0.17): dependencies: react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(jsdom@27.3.0(bufferutil@4.1.0))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.46.0)(yaml@2.8.2) optionalDependencies: '@types/react': 19.2.8 '@types/react-dom': 19.2.3(@types/react@19.2.8) - vitest@4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(jsdom@27.3.0(bufferutil@4.1.0))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2): + vitest@4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(@vitest/browser-playwright@4.0.17)(jiti@2.6.1)(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(terser@5.46.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.17 - '@vitest/mocker': 4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.17(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.17 '@vitest/runner': 4.0.17 '@vitest/snapshot': 4.0.17 @@ -19653,13 +19459,12 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 '@types/node': 25.0.9 - '@vitest/browser-playwright': 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(playwright@1.57.0)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.45.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.17) - jsdom: 27.3.0(bufferutil@4.1.0) + '@vitest/browser-playwright': 4.0.17(bufferutil@4.1.0)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(playwright@1.57.0)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.17) transitivePeerDependencies: - jiti - less @@ -19690,11 +19495,6 @@ snapshots: vscode-uri@3.0.8: {} - w3c-xmlserializer@5.0.0: - dependencies: - xml-name-validator: 5.0.0 - optional: true - walk-up-path@4.0.0: {} watchpack@2.4.4: @@ -19720,14 +19520,11 @@ snapshots: webidl-conversions@3.0.1: {} - webidl-conversions@8.0.1: - optional: true - webpack-sources@3.3.3: {} webpack-virtual-modules@0.6.2: {} - webpack@5.104.0(@swc/core@1.15.3)(esbuild@0.25.12): + webpack@5.104.1(@swc/core@1.15.3)(esbuild@0.25.12): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -19751,7 +19548,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.3.16(@swc/core@1.15.3)(esbuild@0.25.12)(webpack@5.104.0(@swc/core@1.15.3)(esbuild@0.25.12)) + terser-webpack-plugin: 5.3.16(@swc/core@1.15.3)(esbuild@0.25.12)(webpack@5.104.1(@swc/core@1.15.3)(esbuild@0.25.12)) watchpack: 2.5.1 webpack-sources: 3.3.3 transitivePeerDependencies: @@ -19767,12 +19564,6 @@ snapshots: whatwg-mimetype@4.0.0: {} - whatwg-url@15.1.0: - dependencies: - tr46: 6.0.0 - webidl-conversions: 8.0.1 - optional: true - whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -19797,17 +19588,17 @@ snapshots: wordwrap@1.0.0: {} - workflow@4.0.1-beta.48(@aws-sdk/client-sts@3.962.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(magicast@0.5.1)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3): + workflow@4.0.1-beta.48(@aws-sdk/client-sts@3.971.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(magicast@0.5.1)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3): dependencies: - '@workflow/astro': 4.0.0-beta.22(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) - '@workflow/cli': 4.0.1-beta.48(@aws-sdk/client-sts@3.962.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/astro': 4.0.0-beta.22(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) + '@workflow/cli': 4.0.1-beta.48(@aws-sdk/client-sts@3.971.0)(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@workflow/core': 4.0.1-beta.39(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/errors': 4.0.1-beta.13 - '@workflow/next': 4.0.1-beta.44(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)) - '@workflow/nitro': 4.0.1-beta.43(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) - '@workflow/nuxt': 4.0.1-beta.32(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0)(magicast@0.5.1) + '@workflow/next': 4.0.1-beta.44(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)(next@16.1.3(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)) + '@workflow/nitro': 4.0.1-beta.43(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) + '@workflow/nuxt': 4.0.1-beta.32(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0)(magicast@0.5.1) '@workflow/rollup': 4.0.0-beta.7 - '@workflow/sveltekit': 4.0.0-beta.37(@aws-sdk/client-sts@3.962.0)(@opentelemetry/api@1.9.0) + '@workflow/sveltekit': 4.0.0-beta.37(@aws-sdk/client-sts@3.971.0)(@opentelemetry/api@1.9.0) '@workflow/typescript-plugin': 4.0.1-beta.4(typescript@5.9.3) ms: 2.1.3 optionalDependencies: @@ -19863,12 +19654,6 @@ snapshots: dependencies: os-paths: 4.4.0 - xml-name-validator@5.0.0: - optional: true - - xmlchars@2.2.0: - optional: true - xtend@4.0.2: {} y18n@5.0.8: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..c996c008 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,25 @@ +packages: + - "apps/*" + - "packages/*" + +overrides: + next: "16.1.3" + react: "19.2.3" + react-dom: "19.2.3" + "@types/react": "19.2.8" + "@types/react-dom": "19.2.3" + +publicHoistPattern: + - "@sparticuz/chromium" + - puppeteer-core + +onlyBuiltDependencies: + - "@posthog/cli" + - "@swc/core" + - "bufferutil" + - "core-js" + - "esbuild" + - "msw" + - "protobufjs" + - "puppeteer" + - "sharp" diff --git a/tsconfig.json b/tsconfig.json index 38276450..18566b4d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,27 +13,6 @@ "resolveJsonModule": true, "isolatedModules": true, "jsx": "react-jsx", - "incremental": true, - "types": [ - "@testing-library/jest-dom", - "vitest/globals", - "vitest-browser-react" - ], - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./*"] - } - }, - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts", - ".next/dev/types/**/*.ts" - ], - "exclude": ["node_modules"] + "incremental": true + } } diff --git a/turbo.json b/turbo.json new file mode 100644 index 00000000..961c9384 --- /dev/null +++ b/turbo.json @@ -0,0 +1,87 @@ +{ + "$schema": "https://turborepo.dev/schema.json", + "ui": "tui", + "tasks": { + "build": { + "dependsOn": ["^build"], + "inputs": ["$TURBO_DEFAULT$", ".env*"], + "outputs": [".next/**", "!.next/cache/**"], + "env": [ + "BETTER_AUTH_SECRET", + "BLOB_READ_WRITE_TOKEN", + "BLOB_SIGNING_SECRET", + "CRON_SECRET", + "DATABASE_URL", + "DYNADOT_API_KEY", + "EDGE_CONFIG", + "EXTERNAL_USER_AGENT", + "GITHUB_CLIENT_ID", + "GITHUB_CLIENT_SECRET", + "GITLAB_CLIENT_ID", + "GITLAB_CLIENT_SECRET", + "GOOGLE_CLIENT_ID", + "GOOGLE_CLIENT_SECRET", + "INNGEST_EVENT_KEY", + "INNGEST_SIGNING_KEY", + "IPLOCATE_API_KEY", + "LOGO_DEV_PUBLISHABLE_KEY", + "POLAR_ACCESS_TOKEN", + "POLAR_WEBHOOK_SECRET", + "REDIS_URL", + "RESEND_API_KEY", + "RESEND_FROM_EMAIL", + "UPSTASH_REDIS_REST_TOKEN", + "UPSTASH_REDIS_REST_URL", + "VERCEL_CLIENT_ID", + "VERCEL_CLIENT_SECRET" + ] + }, + "dev": { + "dependsOn": ["^build"], + "persistent": true, + "cache": false + }, + "check-types": { + "dependsOn": ["^check-types"], + "outputs": [] + }, + "lint": { + "dependsOn": ["^lint"], + "outputs": [] + }, + "format": { + "cache": false + }, + "test": { + "dependsOn": ["^build"], + "env": ["CI"] + }, + "test:coverage": { + "dependsOn": ["^build"], + "outputs": ["coverage/**"], + "env": ["CI"] + }, + "db:generate": { + "cache": false + }, + "db:push": { + "cache": false + }, + "db:migrate": { + "cache": false + }, + "db:studio": { + "persistent": true, + "cache": false + } + }, + "globalDependencies": ["**/.env*"], + "globalEnv": [ + "CI", + "NODE_ENV", + "VERCEL", + "VERCEL_ENV", + "VERCEL_URL", + "npm_lifecycle_event" + ] +} diff --git a/workflows/shared/revalidation/index.ts b/workflows/shared/revalidation/index.ts deleted file mode 100644 index 2e2f3a10..00000000 --- a/workflows/shared/revalidation/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./schedule-batch";