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";